16 #ifndef SHADERGENERATOR_H 17 #define SHADERGENERATOR_H 19 #include "pandabase.h" 20 #include "graphicsStateGuardianBase.h" 21 #include "graphicsOutputBase.h" 23 #include "shaderAttrib.h" 24 #include "renderState.h" 25 #include "renderAttrib.h" 73 CPT(
RenderAttrib) create_shader_attrib(
const string &txt);
75 static const string combine_mode_as_string(CPT(
TextureStage) stage,
76 TextureStage::CombineMode c_mode,
bool alpha,
short texindex);
77 static const string combine_source_as_string(CPT(
TextureStage) stage,
78 short num,
bool alpha,
bool single_value,
short texindex);
79 static const string texture_type_as_string(Texture::TextureType ttype);
87 void reset_register_allocator();
88 const char *alloc_vreg();
89 const char *alloc_freg();
118 bool _separate_ambient_diffuse;
120 int _map_index_normal;
121 int _map_index_height;
123 int _map_index_gloss;
124 bool _map_height_in_alpha;
126 bool _out_primary_glow;
127 bool _out_aux_normal;
131 bool _have_alpha_test;
132 bool _have_alpha_blend;
133 bool _calc_primary_alpha;
134 bool _subsume_alpha_test;
135 bool _disable_alpha_write;
137 int _num_clip_planes;
138 bool _use_shadow_filter;
140 bool _need_material_props;
141 bool _need_world_position;
142 bool _need_world_normal;
143 bool _need_eye_position;
144 bool _need_eye_normal;
145 bool _auto_normal_on;
149 bool _auto_shadow_on;
152 void clear_analysis();
162 static void init_type() {
164 register_type(_type_handle,
"ShaderGenerator",
165 TypedObject::get_class_type());
168 return get_class_type();
170 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
176 #include "shaderGenerator.I" 178 #endif // SHADERGENERATOR_H A light shining from infinitely far away in a particular direction, like sunlight.
static void init_type()
This function is declared non-inline to work around a compiler bug in g++ 2.96.
This is the base class for a number of render attributes (other than transform) that may be set on sc...
Represents a texture object, which is typically a single 2-d image but may also represent a 1-d or 3-...
A base class for things which need to inherit from both TypedObject and from ReferenceCount.
A light source that seems to illuminate all points in space at once.
This is our own Panda specialization on the default STL vector.
The ShaderGenerator is a device that effectively replaces the classic fixed function pipeline with a ...
A light originating from a single point in space, and shining in a particular direction, with a cone-shaped falloff.
Defines the way an object appears in the presence of lighting.
This represents a unique collection of RenderAttrib objects that correspond to a particular renderabl...
This is a base class for the GraphicsStateGuardian class, which is itself a base class for the variou...
An abstract base class for GraphicsOutput, for all the usual reasons.
TypeHandle is the identifier used to differentiate C++ class types.
Defines the properties of a named stage of the multitexture pipeline.
NodePath is the fundamental system for disambiguating instances, and also provides a higher-level int...
A light originating from a single point in space, and shining in all directions.
Indicates which set of lights should be considered "on" to illuminate geometry at this level and belo...