Deferred Shading Engine test

Started by
22 comments, last by Expandable 18 years ago
OK i have uploaded another version it may fix the problem I dunno, could you retry weasalmongler?

cheers

Luke.
Member of the NeHe team.
Advertisement
It ran, but this is what the monsters and spotlit walls look like (normal maps apparently):
http://cwiki.org/index.php/Image:Kengine.jpg

Specs:
AMD Athlon 1800+
Windows XP
GeForce 6800 GT 256MB
ForceWare 77.77

The 6200 does not support fp16 linear blend (only nearest neighbour), but everything 6600 and higher does. Is fp16 linear blend needed?

I am writing GLSL 1.0 / OpenGL 2.0 software myself, so I don't believe it is a driver problem?
Hmm, strange...

Says my card doesn't support opengl2.0

But...

I can run games like the elder scrolls oblivion?

ATI 200 series express integrated

AMD Athlon 64 3500+

1GB ram
OK, so there are 2 problems:

1) Normal maps being shown instead of diffuse.
2) OpenGL 2.0 detection not working

Number 1 is a big problem, the GLSL shaders are being compiled and run fine. The reason its not working is because a uniform variable wont set. This is really odd as the shader only uses 2 samplers, the first works fine, the second cant be found. I dont understand why, the variable is definately there, the shader works fine on other cards, it just seems to be on the GeForce 6800 GT that it doesnt????

Number 2 is not to do with my code, its something to do with GLEW, i'm sure GLEW just reads the version string from the drivers. This happened to one of my friends but he updated his drivers and it worked fine. Maybe the drivers arent showing support?

If anyone has any ideas why I would be having problems, please let me know, i'm stumped. The shader with the problem is gBufferFillFrag.frag in the shaders folder if anyone wants to see if they can spot the mistake.

Cheers

Luke.
Member of the NeHe team.
My card doesn't support OGL 2.0 so skipped testing this but couldn't you just check with glString or whatever it is instead of using GLEW's function to do this? Or as a fallback if GLEW fails.

"Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety." --Benjamin Franklin

Sorry, I get the same error as last time. :(
Quote:Original post by Kazade
OK, so there are 2 problems:

1) Normal maps being shown instead of diffuse.
2) OpenGL 2.0 detection not working

Number 1 is a big problem, the GLSL shaders are being compiled and run fine. The reason its not working is because a uniform variable wont set. This is really odd as the shader only uses 2 samplers, the first works fine, the second cant be found. I dont understand why, the variable is definately there, the shader works fine on other cards, it just seems to be on the GeForce 6800 GT that it doesnt????

Number 2 is not to do with my code, its something to do with GLEW, i'm sure GLEW just reads the version string from the drivers. This happened to one of my friends but he updated his drivers and it worked fine. Maybe the drivers arent showing support?

If anyone has any ideas why I would be having problems, please let me know, i'm stumped. The shader with the problem is gBufferFillFrag.frag in the shaders folder if anyone wants to see if they can spot the mistake.

Cheers

Luke.


Try using GLee instead of GLEW. That might solve the 2.0 issue for some people.
I have Radeon 9600 and it looked a little weird. There's no ambient lighting on the walls so they are completely black until light shines on them.
Also objects disapper too quickly (too small zFar?).
It looks like this:


On the first shot you can see that walls are completely black but those guys on the left are lit even when there's no light shining on them.

Also first time I run it I got this log file:
Attempted addition of NULL font!Window Initialised SuccessfullyOPENGL 2.0 SUPPORTED!Starting task initialisation....		---- Input		---- System		---- GameCould not open texture file: noshader.tgaCould not open texture file: noshader_bump.tga*************Initialised models***********----- Start of Deferred Shading Initialisation -----     ----- Initialising shading buffers.     ----- Buffers initialised successfully.     ----- Loading G-buffer shader programs. Link successful. The GLSL vertex shader will run in hardware. The GLSL fragment shader will run in hardware. Validation successful.uniform variable name not found! normalMap     ----- G-Buffer shader programs loaded.     ----- Loading light shader programs. Link successful. The GLSL fragment shader will run in hardware. Validation successful.[.\KDeferredShader.cpp line 179] GL Error:invalid operation Link successful. The GLSL fragment shader will run in hardware. Validation successful.     ----- Light shader programs loaded.----- Deferred Shading Initialisation Complete -----*************Physics System Loaded*************Tasks Initialised!uniform variable name not found! normalMapuniform variable name not found! normalMapuniform variable name not found! normalMap... this goes on and on (1 missing uniform for frame?) ...

So I copied those tgas and renamed them to noshader.tga and noshader_bump.tga.
It does not report missing textures anymore but still reports missing uniforms.
Doesn't work correctly, what shows on my screen looks a lot like this screenshot posted above, http://cwiki.org/index.php/Image:Kengine.jpg

Specs:
AMD64 3000+ Venice
512 MB Ram
Geforce 6600GT 128 MB
Forceware 84.21
http://sourceforge.net/projects/pingux/ <-- you know you wanna see my 2D Engine which supports DirectX and OpenGL or insert your renderer here :)
Well that serves me right for rushing it! The uniform variable message in the log comes up on my computer its just where i added something in the wrong place, i've fixed it now. I just noticed, I was including OLD versions of the shaders in the uploaded version, i've updated it now, so it SHOULD be alright now *fingers crossed*

Please could all those who had the normal map problem retry? Cheers guys!

Luke.
Member of the NeHe team.

This topic is closed to new replies.

Advertisement