This is a revisit on an old demo I did back in January:
It seems people with some ATI cards (X1600 possibly X1800) were having trouble with my demo. I was hoping some owners of these cards (or just other ATI/AMD card owners) could try the demo again.
If the lighting is still broken, could you do me a huge favor and see if updating this shader file lightingLIDefer.shd with this change on line 174:
lightIndex += 0.5/256.0;
(just before the comment // Lookup the Light position)
and see if this fixes the issue. (Note the file is read only when it is uncompressed - so you will have to unset the read only flag on the file properties)
I could when I get home, but it will be on a 3650? IIRC…
Does you application compatible with linux? I can’t compile it with the makefile you provide.
Some errors like this:
…/Framework3/OpenGL/OpenGLApp.h:23:38: erreur: X11/extensions/xf86vmode.h : file not found
I get some errors with your framework too.
I’d glad to test it as a poor owner of a Radeon X1600 mobility.
Thanks everyone so far.
@ dletozeun - In theory I think it should compile on Linux as I don’t think I do anything special - and I use the http://www.humus.ca/ framework which does compile on linux. However - I have no current means of updating the makefile for testing. If you cannot, I will see what I can track down.
What do you want me to look for? I ran it on the Gf’s Radeon 3650 under XP with latest 8.6 or 8.7 drivers and it ran fine… But the lights have a circle around the other perimeter maybe the textures are supposed to be like that?
There is a screen shot on the website if you are wondering what it is supposto look like:
(Screenshot is from the static lights option)
If it looks much different from this, you could email me or post a screen shot. (email is in the readme.txt)
It seems to be ok on Radeon 3870 X2 with 8.7 drivers. In the precision test there are two horizontal red lines, probably on GPU boundaries.
Here are some SS of what I see. First one is the non modified version and the second is the change you wanted done…
The error seen by Mars_999 is very similar to this
Thanks for that - looks like I will be putting a note about ATI in the readme.txt (at least until the driver bug is fixed)
Best of luck! I would bet GL3.0 drivers will be running better than current ones… Sad.
I have uploaded a new version that I tested compiling on Linux.
The missing include errors you are getting are probably caused by you not having the X11 development headers installed.
The new version link:
Thanks sqrt[-1] but this not even better. For X11 you are right. In fact I had the X11 dev packages installed but not extensions one… so I had fun to find the good one.
Then, I have many errors with the framework and I don’t talk about warnings (that should be due to last compiler, I had more warnings with my old projects too).
I have errors especially in OpenGLExtensions header, something like invalid use of GLvoid, I don’t understand. So I tried some very bad hardcore things, integrating GLEW to load opengl extensions and remove the recalcitrant lines in the OpenGLExtensions header.
This resolved this problem and now I have problems with the App.cpp at this line (894):
As you see I tried to cast to GLfloat* since I had a conversion error from float* to GLfloat* (Yes this is weird). But In fact I realize that projectionMatrix is a vec4? Which looks like GLSL data type. I don’t know how the framework manage shaders, but it looks like you write function directly in the source file in a GLSL syntax…
So, sorry, I did went more further waiting the 1.3 version
Thanks, for all your efforts in trying - I did not expect you to do anything other than type “make” and say - “I get these errors”.
My Linux development experience is very limited - but all I know is I can download the above zip, type “make” in the deferred lighting directory and it compiles and works. I am using PCLinuxOS 2007 so perhaps I have made some assumption somewhere?
That GLfloat->float cast error makes no sense to me - the mat4 type is from the Humus framework that has a float conversion operator. It almost seems like you do not have the OpenGL headers installed - but that makes no sense at all.
I might post on the Linux forum and see if any other Linux people can point out the error.