Hey,
I stumbled upon this very interesting paper on atmosphereic scattering using precomputation:
http://www-ljk.imag.fr/Publications/Bas ... index.html (PDF) and
http://evasion.inrialpes.fr/~Eric.Brune ... tering.zip (source). The results are pretty impressive and as source is available so I don't think its very difficult to get it to run in ogre.
The demo runs fine under linux, too. I don't think I will find the time to do it myself right now but maybe I can find the time next week. Would this be a worthy addition to Caleum?
cdleonard
16-01-2009 06:54:49
It would be very nice to have an alternate implementation of a SkyDome; one that properly accounts for height above the ground. Simply making a class which wraps parameters would work nicely.
Their shaders are all written in glsl; those have to be somehow ported for inclusion in Caelum.
I tried to look at the demo but it didn't work for me. Probably because I have an ATI card? I did eventually managed to get the c++ and glsl code to compile but it hangs inside the driver somehow.
xadh00m
16-01-2009 12:43:30
It did not work for me either... they use geometry shader which are not supported on my current machine.
I also have issues with the tiffio lib. It seems that the distribution of the code was not very motivated...
xad
Sorry to read you both had these problems with getting the demo to run. All I had to do (using gentoo linux and gcc 4.3.2, tiff 3.8.2-r5, opegl 7.0, glut 1.0, glew 1.5.1, glu 7.0), was to include <cstring>, comment out line 679 ('::exit' has not been declared) and compile with "gcc Main.cpp -o main -lGL -lGLU -lGLEW -lglut -ltiff".
I have a 8800gt, so I didn't have problems with geometry shaders. It's true that in order to keep directx compatibility the GLSL stuff would have to cg'ed. I'm not sure it would be a pleasant experience...
cdleonard
20-01-2009 07:07:03
Sorry to read you both had these problems with getting the demo to run. All I had to do (using gentoo linux and gcc 4.3.2, tiff 3.8.2-r5, opegl 7.0, glut 1.0, glew 1.5.1, glu 7.0), was to include <cstring>, comment out line 679 ('::exit' has not been declared) and compile with "gcc Main.cpp -o main -lGL -lGLU -lGLEW -lglut -ltiff".
I did all that; but it still froze for me. I also had to modify the glsl files a bit; it seems ATI's glsl compiler is less tolerant of fragment program constructs in vertex programs.
I have a 8800gt, so I didn't have problems with geometry shaders. It's true that in order to keep directx compatibility the GLSL stuff would have to cg'ed. I'm not sure it would be a pleasant experience...
Seems like a very fun way to learn the equivalences between glsl and cg/hlsl. A variant of the original glsl sources could
probably still be used in OpenGL mode; at least for comparison.