Logging start Change AppTitle on Sigel. Many Objects Pixel Format: bits: accum: depth: stencil: Init extensions GL_ARB_shadow exists GL_ARB_shadow_ambient not exists GL_ARB_vertex_shader exists GL_ARB_fragment_shader exists GL_ARB_shader_objects exists GL_ARB_shading_language_100 exists GL_EXT_gpu_shader4 not exists glGenBuffersARB init glBindBufferARB init glBufferDataARB init glDeleteBuffersARB init glDrawRangeElements init glCompressedTexImage2D init glDrawArraysInstancedEXT not init glDrawElementsInstancedEXT not init glActiveTexture init glCreateShaderObjectARB init glCreateProgramObjectARB init glAttachObjectARB init glDetachObjectARB init glDeleteObjectARB init glShaderSourceARB init glCompileShaderARB init glLinkProgramARB init glValidateProgramARB init glUseProgramObjectARB init glGetObjectParameterivARB init glGetInfoLogARB init glUniform1fARB init glGetUniformLocationARB init wglSwapIntervalEXT init wglGetSwapIntervalEXT init Init extensions success Max Anistropic Level:8 Max Tex units:4 VENDOR:NVIDIA Corporation RENDERER:GeForce FX 5200/AGP/SSE2 VERSION:2.1.2 Init succes by params (1024,768,32,1) Tank.s3m 901 1198 601 tart 512 512 tart 512 512 tart 512 512 Tor.s3m 546 1000 500 Vertex Shader loaded: varying vec2 texCoord; void main(void) { texCoord = gl_MultiTexCoord0.xy; gl_Position = ftransform(); } < Pixel Shader loaded: uniform sampler2D Texture0; varying vec2 texCoord; void main(void) { float gray=dot(texture2D( Texture0, texCoord ).rgb,vec3(0.3,0.59,0.11)); gl_FragColor = vec4(gray,gray,gray,1.0); } < Vertex Shader Compile Success Pixel Shader Compile Success Program Link Success Program Validate Success Vertex Shader loaded: // Vertex shader for bump mapping in surface local coordinates vec3 LightPosition=vec3(0,40,40); // eye space position of light attribute vec3 rm_Tangent; varying vec3 LightDir; // interpolated surface local coordinate light direction varying vec3 ViewDir; // interpolated surface local coordinate view direction void main(void) { vec3 b, n, t, pos, lightVec, r, v; // Do standard vertex stuff gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; gl_TexCoord[0] = gl_MultiTexCoord0; // Compute the binormal n = normalize(gl_NormalMatrix * gl_Normal); t = normalize(gl_NormalMatrix * rm_Tangent); //rm_Tangent b = cross(n, t); // Transform light position into surface local coordinates v.x = dot(LightPosition, t); v.y = dot(LightPosition, b); v.z = dot(LightPosition, n); LightDir = normalize(v); pos = vec3 (gl_ModelViewMatrix * gl_Vertex); v.x = dot(pos, t); v.y = dot(pos, b); v.z = dot(pos, n); ViewDir = normalize(v); } < Pixel Shader loaded: // Fragment Shader: Bump mapping using normal map. uniform sampler2D Texture1; uniform sampler2D Texture0; float DiffuseFactor=0.7, SpecularFactor=0.8; varying vec3 LightDir; // interpolated surface local coordinate light direction varying vec3 ViewDir; // interpolated surface local coordinate view direction void main (void) { vec3 norm, r, color; float intensity, spec, d; vec3 c; // Fetch normal from normal map c = vec3(texture2D(Texture0, vec2 (gl_TexCoord[0]))); norm = vec3(texture2D(Texture1, vec2 (gl_TexCoord[0]))); norm = (norm - 0.5) * 2.0; intensity = max(dot(LightDir, norm), 0.0) * DiffuseFactor; // Compute specular reflection component d = 2.0 * dot(LightDir, norm); r = d * norm; r = LightDir - r; spec = pow(max(dot(r, ViewDir), 0.0) , 6.0) * SpecularFactor; intensity += min (spec, 1.0); // Compute final color value color = clamp(c.rgb * intensity, 0.0, 1.0); // Write out final fragment color gl_FragColor = vec4 (color, 1.0); } < Vertex Shader Compile Success Pixel Shader Compile Success Program Link Success Program Validate Success Vertex Shader loaded: varying vec2 texCoord; void main(void) { texCoord = gl_MultiTexCoord0.xy; gl_Position = ftransform(); } < Pixel Shader loaded: uniform sampler2D Texture0; varying vec2 texCoord; void main(void) { vec3 c=texture2D( Texture0, dot(gl_FragCoord.xy,vec2(0.01,0.01)) ).rgb; vec3 c2=texture2D( Texture0,texCoord); gl_FragColor = vec4(mix(c,c2,0.5),1.0); } < Vertex Shader Compile Success Pixel Shader Compile Success Program Link Success Program Validate Success Средний фпс:42 Триугольников в сек:5514346 DeInit Logging closed