[vtk-developers] hardware shaders

Gary J. Templet gjtempl at sandia.gov
Tue Oct 18 14:38:05 EDT 2005


Hi Tim,

You are correct, the vtkShader* classes assume that you will only link a 
single vertex and a single fragment shader at any one time. This is not 
an inherent limitation of the code, it's just not something that's been 
implemented yet. In fact the XML parsers/readers that handle shaders 
were written with the thought of having multiple shaders (or either 
type) defined in the Material file.

Support for hardware shaders is still in development, but allowing GLSL 
to link multiple shaders is on the list of requirements. A more general 
{Add,Remove}Shader(vtkShader*) member function is a good idea for it's 
implemenation.

It may not map well to Cg, but that shouldn't limit GLSL functionality; 
I think Cg has some capability to facilitate code re-use. If you have 
any more use cases for shaders I'd be happy to hear them.

Thanks,
Gary



Tim Peeters wrote:

> Hello,
>
> I created some VTK classes for managing GLSL shaders to use in my own 
> code a while ago. Today I found out that the VTK 5 sources include 
> support for shaders. I have a remark on the vtkShaderProgram class. It 
> has funtions {Get,Set}{Vertex,Fragment}Shader() and it seems that per 
> shader program only one vertex and one fragment shader are supported. 
> I do not know about Cg, but in GLSL there is no such limit. For 
> example, a shader can be written with a function to do certain 
> lighting calculations and other shaders can then use this function. In 
> order to do this it needs to be possible to link more than one vertex 
> and one fragment shader to a shader program.
>
> Is there a reason for not having a more general 
> {Add,Remove}Shader(vtkShader*) function instead of the current get and 
> set methods for vertex and fragment shaders?
>
> Regards,
> Tim.
> _______________________________________________
> vtk-developers mailing list
> vtk-developers at vtk.org
> http://www.vtk.org/mailman/listinfo/vtk-developers
>
>
>




More information about the vtk-developers mailing list