Added support for Vertex and Fragment Programs

Support for VertexProgram and FragmentProgram appearance attributes committed to CVS.
Also added a test based on NeHe Lesson 37 ported to Xith3D by JavaCoolDude
and minor modifications to GeomContainer in order to support TexCoord3f…

Current implementation should be treated as preliminary, because of it contains limited
support for different types of parameters, as well as supports only programmable shaders
based on ARB_vertex_program and ARB_fragment_program extension.

If these extensions are unavailable, shader implementations report it to stderr only once, and
the shaders will be blindliy ignored. This is up to application to check avaliability of
these extensions via com.xith3d.render.jogl.OpenGlExtensions or some other way.

Please check new functionality and post here if you have some issues.

Yuri

P.S. I checked additions with JCD’s Phong Lighting (Vertex & Pixel Shaders Accelerated) by direct replacement of his version of xith3d.jar with new one and without recompiling the demo itself, and it worked OK.

Any chance of getting things like lesson37 package out of src directory ? IMHO, entire com.xith3d.test package should go to different directory (maybe inside demo ? - similar to way junit tests are placed now). It will make packaging/moving core classes of xith3d easier.

Yes, sure. This is clear that we should somehow reorganize this part of code, but regarding the packaging, I would prefer to adjust build script to build two separate JAR files - one for Xith3D system classes, another for demos and tests.

As of moving tests away from src directory, I am not sure if this is a good idea. I see source distribution containing all of the code, including demos.

Anyway, alternative opinions are welcome.

Yuri

It already does not contain junit tests. What with demos which need considerable resources, like textures, sounds, movies for animated textures etc ? IMHO, it would be more logical to put code and resources for given demo together in separate dir.
As far as ant is concerned, it is useful for command-line build, but it can be not so obvious for IDEs, which will for example rebuild all demos for rebuild all - it is a lot easier to not add another directory to source path then to remove one package from it :slight_smile:

Right points. If you would reorganize the tests/demos code, how would you suggest to place sources/classes/data/launch files?

Yuri