Development news: Geometry shaders, my Ph.D. thesis, cellular texturing
Geometry shaders are implemented in our engine and view3dscene.
Geometry shaders are executed between the vertex and fragment shader. They can change the primitive type (like triangles to points), explode a single primitive into many (maybe adding some intermediate vertexes), remove some primitives and more. We support geometry shaders following modern GLSL version >= 1.50 (since OpenGL 3.2). See the documentation for more details and links to example X3D files.
Interesting demos using geometry shaders are most welcome! You can post them on our forum. Nice demos may be included in our demo models.
Michalis Ph.D. thesis, describing the "compositing shaders" idea, is published here :). There are HTML and PDF versions (45 pages for A4) with the same content.
Various improvements to the idea were implemented lately, most of all: extensions for geometry shaders. They are described in the Chapter 6. "Extensions for geometry shaders". This allows to write robust geometry shaders, that cooperate with renderer internal effects by using special geometryVertexXxx
functions.
As always, comments and tests of our compositing shaders idea are most welcome!
Various new demos added to demo models (only in SVN now), like simple demos of cellular texturing, see demo_models/compositing_shaders/cellular_texturing*.x3dv
.
Various small fixes and enhancements to compositing shaders implementation for texture and light effects. Due to bugs/omissions, previously you could only use there texture/light-specific plugs, like PLUG_light_scale
(for light source) and PLUG_texture_color
(for texture). Now you can also use there:
texture_effect.x3dv
example (in SVN of demo models).PLUG_vertex_object_space
). See new texture_coord_generate.x3dv
(in SVN of demo models).