ShaderGenerator

Inheritance:

Methods of ShaderGenerator:

Methods of TypedObject:

ShaderGenerator
ShaderGenerator::ShaderGenerator(PointerTo< GraphicsStateGuardian > gsg);

Description: Create a ShaderGenerator. This has no state, except possibly to cache certain results. The parameter that must be passed is the GSG to which the shader generator belongs.

getClassType
static TypeHandle ShaderGenerator::get_class_type(void);

Undocumented function.

synthesizeShader
virtual ConstPointerTo< RenderAttrib > ShaderGenerator::synthesize_shader(RenderState const *rs);

Description: This is the routine that implements the next-gen fixed function pipeline by synthesizing a shader. It also takes care of setting up any buffers needed to produce the requested effects.
Currently supports:
- flat colors
- vertex colors
- lighting
- normal maps, but not multiple
- gloss maps, but not multiple
- glow maps, but not multiple
- materials, but not updates to materials
- 2D textures
- all texture stage modes, including combine modes
- color scale attrib
- light ramps (for cartoon shading)
- shadow mapping
Not yet supported:
- 3D textures, cube textures
- dot3_rgb and dot3_rgba combine modes
- texgen
- texmatrix
- fog
Potential optimizations
- omit attenuation calculations if attenuation off

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.