gKit2 light
Loading...
Searching...
No Matches
DrawParam Class Reference

#include <draw.h>

Public Member Functions

 DrawParam ()
 constructeur par defaut.
DrawParammodel (const Transform &m)
 modifie la transformation model utilisee pour afficher l'objet.
DrawParamview (const Transform &m)
 modifie la transformation view utilisee pour afficher l'objet.
DrawParamprojection (const Transform &m)
 modifie la transformation projection utilisee pour afficher l'objet.
DrawParamcamera (Orbiter &o)
 utilise les transformations view et projection definies par une camera.
DrawParamcamera (Orbiter &o, const int width, const int height, const float fov)
 utilise les transformations view et projection definies par une camera. parametres explicites de la projection.
DrawParamlight (const Point &p, const Color &c=White())
 eclaire l'objet avec une source ponctuelle, de position p et de couleur c.
DrawParamlight (const bool flag=true)
 active / desactive la source ponctuelle.
DrawParamsun (const Vector &d, const Color &c)
 eclaire l'objet avec une source directionnelle, de direction d et de couleur c.
DrawParamsun (const bool flag=true)
 active / desactive le soleil.
DrawParamsky (const Vector &d, const Color &c)
 eclaire l'objet avec une source hemispherique de couleur c. le zenith se trouve dans la direction d.
DrawParamsky (const bool flag=true)
 active / desactive le ciel
DrawParamtexture (const GLuint t)
 plaque une texture opaque a la surface de l'objet.
DrawParamalpha_texture (const GLuint t, const float a=0.5)
 utilise une texture semi transparente, si l'alpha du texel est plus petit que a, le pixel est transparent. desactive aussi les calculs d'eclairage.
DrawParamshading (const bool flag=true)
 utilise une source de lumire pour eclairer l'objet, ou pas si flag= false.
DrawParammaterial (const Material &material)
 utilise une matiere pour dessiner un objet.
DrawParammaterial (const bool flag=true)
 active / desactive la matiere pour dessiner un objet.
DrawParamdebug_normals (const float s=0.2)
 visualise les normales des sommets des triangles et les normales geometrique des triangles
DrawParamwireframe (const bool flag=true)
 visualise les aretes des triangles.
DrawParamdebug_texcoords (const bool flag=true)
 visualise les coordonnees de textures des sommets des triangles.
void draw (Mesh &mesh)
 dessine l'objet avec l'ensemble des parametres definis.
void draw (Mesh &mesh, const Transform &model)
void draw (const TriangleGroup &group, Mesh &mesh)

Protected Types

enum  : unsigned {
  USE_TEXCOORD = 1 , USE_NORMAL = 2 , USE_COLOR = 4 , USE_TEXTURE = 8 ,
  USE_ALPHATEST = 16 , USE_SHADING = 32 , USE_LIGHT = 64 , USE_SUN = 128 ,
  USE_SKY = 256 , USE_ENVMAP = 512 , USE_MATERIAL = 1024 , DEBUG_NORMALS = 1u << 20 ,
  DEBUG_TEXCOORDS = 1u << 21
}
 flags pour identifier les parametres actifs du draw / generer le shader More...

Protected Member Functions

void draw (const unsigned first, const unsigned count, Mesh &mesh)
unsigned create_flags (const bool use_texcoord, const bool use_normal, const bool use_color)
unsigned update (unsigned &flags, const unsigned option, const bool use=true)
bool flag (const unsigned option)
GLuint create_program (const GLenum primitives, const unsigned flags)
 construit un shader program configure pour l'ensemble d'options.
GLuint create_debug_normals_program (const GLenum primitives, const unsigned flags)
 construit un shader program / debug des normales.
GLuint create_debug_texcoords_program (const GLenum primitives, const unsigned flags)
 construit un shader program / debug des coordonnees de texture.

Protected Attributes

unsigned flags
Transform m_model
Transform m_view
Transform m_projection
Point m_light
Color m_light_color
Vector m_sun
Color m_sun_color
Vector m_sky
Color m_sky_color
GLuint m_texture
GLuint m_envmap
float m_alpha_min
float m_normals_scale
Material m_material

Detailed Description

representation des options / parametres d'un draw. permet de donner tous les parametres d'un draw de maniere flexible.

exemple :

Mesh objet= { ... };
DrawParam param;
param.light(Point(0, 20, 0), Red());
param.camera(orbiter);
param.draw(objet);
DrawParam & camera(Orbiter &o)
utilise les transformations view et projection definies par une camera.
Definition draw.h:89
void draw(Mesh &mesh)
dessine l'objet avec l'ensemble des parametres definis.
Definition draw.cpp:196
DrawParam & light(const Point &p, const Color &c=White())
eclaire l'objet avec une source ponctuelle, de position p et de couleur c.
Definition draw.h:93
representation d'un objet / maillage.
Definition mesh.h:121
Color Red()
utilitaire. renvoie une couleur rouge.
Definition color.cpp:28
representation d'un point 3d.
Definition vec.h:21

ou de maniere encore plus compacte :

DrawParam().light(Point(0, 20, 0), Red()).model(m).camera(orbiter).draw(objet);
DrawParam()
constructeur par defaut.
Definition draw.h:70

les parametres peuvent etre decrits dans un ordre quelconque, mais DrawParam::draw() doit etre appele en dernier.

Definition at line 66 of file draw.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum : unsigned
protected

flags pour identifier les parametres actifs du draw / generer le shader

Definition at line 136 of file draw.h.

137 {
138 USE_TEXCOORD = 1,
139 USE_NORMAL= 2,
140 USE_COLOR= 4,
141 USE_TEXTURE= 8,
142 USE_ALPHATEST= 16,
143 USE_SHADING= 32,
144 USE_LIGHT= 64,
145 USE_SUN= 128,
146 USE_SKY= 256,
147 USE_ENVMAP= 512,
148 USE_MATERIAL= 1024,
149
150 DEBUG_NORMALS= 1u << 20,
151 DEBUG_TEXCOORDS= 1u << 21
152 };

Constructor & Destructor Documentation

◆ DrawParam()

DrawParam::DrawParam ( )
inline

constructeur par defaut.

Definition at line 70 of file draw.h.

70 : flags( USE_SUN ),
71 m_model(), m_view(), m_projection(),
72 m_light( Point(1, 1, 1) ), m_light_color( White() ),
73 m_sun( normalize( Vector(0.5, 0.25, 0.5) ) ), m_sun_color( Color(1) ),
74 m_sky( normalize( Vector(0, 1, 0) ) ), m_sky_color( Color(0.2) ),
75 m_texture(0),
76 m_alpha_min(0.3),
77 m_normals_scale(0.2),
78 m_material( Color(0.7) )
79 {}
Color White()
utilitaire. renvoie une couleur blanche.
Definition color.cpp:23
Vector normalize(const Vector &v)
renvoie un vecteur unitaire / longueur == 1.
Definition vec.cpp:167

Member Function Documentation

◆ model()

DrawParam & DrawParam::model ( const Transform & m)
inline

modifie la transformation model utilisee pour afficher l'objet.

Definition at line 82 of file draw.h.

82{ m_model= m; return *this; }

◆ view()

DrawParam & DrawParam::view ( const Transform & m)
inline

modifie la transformation view utilisee pour afficher l'objet.

Definition at line 84 of file draw.h.

84{ m_view= m; return *this; }

◆ projection()

DrawParam & DrawParam::projection ( const Transform & m)
inline

modifie la transformation projection utilisee pour afficher l'objet.

Definition at line 86 of file draw.h.

86{ m_projection= m; return *this; }

◆ camera() [1/2]

DrawParam & DrawParam::camera ( Orbiter & o)
inline

utilise les transformations view et projection definies par une camera.

Definition at line 89 of file draw.h.

89{ m_view= o.view(); m_projection= o.projection(); return *this; }
Transform projection(const int width, const int height, const float fov)
fixe la projection reglee pour une image d'aspect width / height, et une demi ouverture de fov degres...
Definition orbiter.cpp:48
Transform view() const
renvoie la transformation vue.
Definition orbiter.cpp:41

◆ camera() [2/2]

DrawParam & DrawParam::camera ( Orbiter & o,
const int width,
const int height,
const float fov )
inline

utilise les transformations view et projection definies par une camera. parametres explicites de la projection.

Definition at line 91 of file draw.h.

91{ m_view= o.view(); m_projection= o.projection(width, height, fov); return *this; }

◆ light() [1/2]

DrawParam & DrawParam::light ( const Point & p,
const Color & c = White() )
inline

eclaire l'objet avec une source ponctuelle, de position p et de couleur c.

Definition at line 93 of file draw.h.

93{ update(flags, USE_LIGHT); m_light= p; m_light_color=c; return *this; }

◆ light() [2/2]

DrawParam & DrawParam::light ( const bool flag = true)
inline

active / desactive la source ponctuelle.

Definition at line 95 of file draw.h.

95{ update(flags, USE_LIGHT, flag); return *this; }

◆ sun() [1/2]

DrawParam & DrawParam::sun ( const Vector & d,
const Color & c )
inline

eclaire l'objet avec une source directionnelle, de direction d et de couleur c.

Definition at line 97 of file draw.h.

97{ update(flags, USE_SUN); m_sun= d; m_sun_color=c; return *this; }

◆ sun() [2/2]

DrawParam & DrawParam::sun ( const bool flag = true)
inline

active / desactive le soleil.

Definition at line 99 of file draw.h.

99{ update(flags, USE_SUN, flag); return *this; }

◆ sky() [1/2]

DrawParam & DrawParam::sky ( const Vector & d,
const Color & c )
inline

eclaire l'objet avec une source hemispherique de couleur c. le zenith se trouve dans la direction d.

Definition at line 102 of file draw.h.

102{ update(flags, USE_SKY); m_sky= d; m_sky_color=c; return *this; }

◆ sky() [2/2]

DrawParam & DrawParam::sky ( const bool flag = true)
inline

active / desactive le ciel

Definition at line 104 of file draw.h.

104{ update(flags, USE_SKY, flag); return *this; }

◆ texture()

DrawParam & DrawParam::texture ( const GLuint t)
inline

plaque une texture opaque a la surface de l'objet.

Definition at line 107 of file draw.h.

107{ update(flags, USE_TEXTURE, (t > 0)); m_texture= t; return *this; }

◆ alpha_texture()

DrawParam & DrawParam::alpha_texture ( const GLuint t,
const float a = 0.5 )
inline

utilise une texture semi transparente, si l'alpha du texel est plus petit que a, le pixel est transparent. desactive aussi les calculs d'eclairage.

Definition at line 110 of file draw.h.

110{ update(flags, USE_ALPHATEST, (a > 0)); m_alpha_min= a; m_texture= t; return *this; }

◆ shading()

DrawParam & DrawParam::shading ( const bool flag = true)
inline

utilise une source de lumire pour eclairer l'objet, ou pas si flag= false.

Definition at line 113 of file draw.h.

113{ update(flags, USE_SHADING, flag); return *this; }

◆ material() [1/2]

DrawParam & DrawParam::material ( const Material & material)
inline

utilise une matiere pour dessiner un objet.

Definition at line 116 of file draw.h.

116{ update(flags, USE_SHADING | USE_MATERIAL); m_material= material; return *this; }
DrawParam & material(const Material &material)
utilise une matiere pour dessiner un objet.
Definition draw.h:116

◆ material() [2/2]

DrawParam & DrawParam::material ( const bool flag = true)
inline

active / desactive la matiere pour dessiner un objet.

Definition at line 118 of file draw.h.

118{ update(flags, USE_MATERIAL, flag); return *this; }

◆ debug_normals()

DrawParam & DrawParam::debug_normals ( const float s = 0.2)
inline

visualise les normales des sommets des triangles et les normales geometrique des triangles

Definition at line 121 of file draw.h.

121{ update(flags, DEBUG_NORMALS, (s > 0)); m_normals_scale= s; return *this;}

◆ wireframe()

DrawParam & DrawParam::wireframe ( const bool flag = true)
inline

visualise les aretes des triangles.

Definition at line 123 of file draw.h.

123{ update(flags, DEBUG_NORMALS, flag); m_normals_scale= 0; return *this;}

◆ debug_texcoords()

DrawParam & DrawParam::debug_texcoords ( const bool flag = true)
inline

visualise les coordonnees de textures des sommets des triangles.

Definition at line 125 of file draw.h.

125{ update(flags, DEBUG_TEXCOORDS, flag); return *this;}

◆ draw() [1/4]

void DrawParam::draw ( Mesh & mesh)

dessine l'objet avec l'ensemble des parametres definis.

Definition at line 196 of file draw.cpp.

197{
198 if(mesh.index_count())
199 draw(0, mesh.index_count(), mesh);
200 else
201 draw(0, mesh.vertex_count(), mesh);
202}
int vertex_count() const
renvoie le nombre de sommets.
Definition mesh.h:300
int index_count() const
renvoie le nombre d'indices de sommets.
Definition mesh.h:302

◆ draw() [2/4]

void DrawParam::draw ( Mesh & mesh,
const Transform & model )

Definition at line 204 of file draw.cpp.

205{
206 m_model= model;
207 draw(mesh);
208}
DrawParam & model(const Transform &m)
modifie la transformation model utilisee pour afficher l'objet.
Definition draw.h:82

◆ draw() [3/4]

void DrawParam::draw ( const TriangleGroup & group,
Mesh & mesh )

Definition at line 210 of file draw.cpp.

211{
212 draw(group.first, group.n, mesh);
213}
int first
premier triangle du groupe
Definition mesh.h:105
int n
nombre de triangles du groupe
Definition mesh.h:106

◆ draw() [4/4]

void DrawParam::draw ( const unsigned first,
const unsigned count,
Mesh & mesh )
protected

Definition at line 215 of file draw.cpp.

216{
217 bool use_texture= m_texture;
218 if(flag(USE_MATERIAL))
219 use_texture= use_texture || m_material.diffuse_texture || m_material.specular_texture || m_material.ns_texture;
220 bool use_texcoord= use_texture && mesh.has_texcoord();
221 bool use_normal= mesh.has_normal();
222 bool use_color= mesh.has_color();
223
224 Transform mv= m_view * m_model;
225 Transform mvp= m_projection * mv;
226
227 GLuint program= 0;
228 if(flag(DEBUG_TEXCOORDS))
229 {
230 program= create_debug_texcoords_program( mesh.primitives(), create_flags(use_texcoord, use_normal, use_color) );
231 if(program > 0)
232 {
233 use_color= false;
234 use_normal= false;
235 use_texcoord= true;
236 update(flags, USE_LIGHT | USE_TEXTURE | USE_ALPHATEST, false);
237
238 glUseProgram(program);
239 //~ program_use_texture(program, "diffuse_color", 0, m_debug_texture);
240 program_uniform(program, "mvpMatrix", mvp);
241 program_uniform(program, "mvMatrix", mv);
242
243 mesh.draw(first, count, program);
244 return;
245 }
246 }
247
248 //
249 program= create_program( mesh.primitives(), create_flags(use_texcoord, use_normal, use_color) );
250 assert(program > 0);
251
252 glUseProgram(program);
253 if(!use_color)
254 program_uniform(program, "mesh_color", mesh.default_color());
255
256 program_uniform(program, "mvpMatrix", mvp);
257
258 // utiliser une texture, elle ne sera visible que si le mesh a des texcoords...
259 if(use_texcoord && m_texture > 0)
260 program_use_texture(program, "diffuse_texture", 0, m_texture);
261
262 if(flag(USE_ALPHATEST))
263 program_uniform(program, "alpha_min", m_alpha_min);
264
265 if(flag(USE_SHADING))
266 {
267 if(use_normal)
268 program_uniform(program, "normalMatrix", mv.normal()); // transforme les normales dans le repere camera.
269 if(!use_normal || flag(USE_LIGHT | USE_MATERIAL))
270 program_uniform(program, "mvMatrix", mv);
271
272 if(flag(USE_MATERIAL))
273 {
274 program_uniform(program, "diffuse_color", m_material.diffuse);
275 program_uniform(program, "specular_color", m_material.specular);
276 program_uniform(program, "ns", m_material.ns);
277
278 if(use_texcoord)
279 {
280 // texture blanche uniforme par defaut
281 static GLuint white_texture= 0;
282 if(white_texture == 0)
283 {
284 ImageData data(16, 16, 4);
285 for(unsigned y= 0; y < data.height; y++)
286 for(unsigned x= 0; x < data.width; x++)
287 {
288 unsigned char *pixel= data.pixels.data() + data.offset(x, y);
289 for(unsigned i= 0; i < data.channels; i++)
290 pixel[i]= 255;
291 }
292
293 white_texture= make_texture(0, data);
294 }
295
296 if(m_material.diffuse_texture > 0)
297 program_use_texture(program, "diffuse_texture", 0, m_material.diffuse_texture);
298 else
299 program_use_texture(program, "diffuse_texture", 0, white_texture);
300
301 if(m_material.specular_texture > 0)
302 program_use_texture(program, "specular_texture", 1, m_material.specular_texture);
303 else
304 program_use_texture(program, "specular_texture", 1, white_texture);
305
306 if(m_material.specular_texture > 0)
307 program_use_texture(program, "ns_texture", 2, m_material.specular_texture);
308 else
309 program_use_texture(program, "ns_texture", 2, white_texture);
310 }
311 }
312
313 if(flag(USE_LIGHT))
314 {
315 program_uniform(program, "light", m_view(m_light)); // transforme la position de la source dans le repere camera, comme les normales
316 program_uniform(program, "light_color", m_light_color);
317 }
318 if(flag(USE_SUN))
319 {
320 program_uniform(program, "sun", m_view(m_sun)); // transforme la direction de la source dans le repere camera, comme les normales
321 program_uniform(program, "sun_color", m_sun_color);
322 }
323 if(flag(USE_SKY))
324 {
325 program_uniform(program, "sky", m_view(m_sky)); // transforme la direction de la source dans le repere camera, comme les normales
326 program_uniform(program, "sky_color", m_sky_color);
327 }
328 }
329
330 mesh.draw(first, count, program);
331
332 // dessine les normales par dessus...
333 if(flag(DEBUG_NORMALS))
334 {
335 program= create_debug_normals_program( mesh.primitives(), create_flags(use_texcoord, use_normal, use_color) );
336 if(program > 0)
337 {
338 use_color= false;
339 use_normal= true;
340 use_texcoord= false;
341 update(flags, USE_SHADING | USE_LIGHT | USE_TEXTURE | USE_ALPHATEST, false);
342
343 static float scale= 1;
344 if(key_state('p') || key_state(SDLK_KP_PLUS))
345 scale+= 0.005f;
346 if(key_state('m') || key_state(SDLK_KP_MINUS))
347 scale-= 0.005f;
348 if(scale < 0.1f)
349 scale= 0.1f;
350
351 glUseProgram(program);
352 program_uniform(program, "mvpMatrix", mvp);
353 program_uniform(program, "normalMatrix", mv.normal()); // transforme les normales dans le repere camera.
354 program_uniform(program, "scale", scale * m_normals_scale);
355
356 mesh.draw(first, count, program);
357 }
358 }
359}
GLuint create_program(const GLenum primitives, const unsigned flags)
construit un shader program configure pour l'ensemble d'options.
Definition draw.cpp:115
GLuint create_debug_texcoords_program(const GLenum primitives, const unsigned flags)
construit un shader program / debug des coordonnees de texture.
Definition draw.cpp:165
GLuint create_debug_normals_program(const GLenum primitives, const unsigned flags)
construit un shader program / debug des normales.
Definition draw.cpp:153
Color default_color() const
renvoie la couleur par defaut du mesh, utilisee si les sommets n'ont pas de couleur associee.
Definition mesh.h:293
void draw(const GLuint program)
dessine l'objet avec un shader program.
Definition mesh.cpp:757
GLenum primitives() const
renvoie le type de primitives.
Definition mesh.h:345
int key_state(const SDL_Keycode key)
renvoie l'etat d'une touche du clavier. cf la doc SDL2 pour les codes.
Definition window.cpp:53
GLuint make_texture(const int unit, const int width, const int height, const GLenum texel_type, const GLenum data_format, const GLenum data_type)
creation de textures filtrables / mipmaps
Definition texture.cpp:10
void program_use_texture(const GLuint program, const char *uniform, const int unit, const GLuint texture, const GLuint sampler)
configure le pipeline et le shader program pour utiliser une texture, et des parametres de filtrage,...
Definition uniforms.cpp:198
Transform normal() const
renvoie la transformation a appliquer aux normales d'un objet transforme par la matrice m.
Definition mat.cpp:181

◆ create_flags()

unsigned DrawParam::create_flags ( const bool use_texcoord,
const bool use_normal,
const bool use_color )
protected

Definition at line 172 of file draw.cpp.

173{
174 unsigned options= flags;
175 update(options, USE_TEXCOORD, use_texcoord);
176 update(options, USE_NORMAL, use_normal);
177 update(options, USE_COLOR, use_color);
178
179 return options;
180}

◆ update()

unsigned DrawParam::update ( unsigned & flags,
const unsigned option,
const bool use = true )
protected

Definition at line 182 of file draw.cpp.

183{
184 if(use)
185 flags= flags | option;
186 else
187 flags= flags & ~option;
188 return flags;
189}

◆ flag()

bool DrawParam::flag ( const unsigned option)
protected

Definition at line 191 of file draw.cpp.

192{
193 return flags & option;
194}

◆ create_program()

GLuint DrawParam::create_program ( const GLenum primitives,
const unsigned flags )
protected

construit un shader program configure pour l'ensemble d'options.

Definition at line 115 of file draw.cpp.

116{
117 std::string definitions;
118
119 if(flags & USE_TEXCOORD)
120 definitions.append("#define USE_TEXCOORD\n");
121 if(flags & USE_NORMAL)
122 definitions.append("#define USE_NORMAL\n");
123 if(flags & USE_COLOR)
124 definitions.append("#define USE_COLOR\n");
125
126 if((flags & USE_TEXCOORD) && (flags & USE_ALPHATEST))
127 definitions.append("#define USE_ALPHATEST\n");
128
129 if(flags & USE_SHADING)
130 {
131 definitions.append("#define USE_SHADING\n");
132
133 if(flags & USE_MATERIAL)
134 definitions.append("#define USE_MATERIAL\n");
135 if((flags & USE_LIGHT))
136 definitions.append("#define USE_LIGHT\n");
137 if(flags & USE_SUN)
138 definitions.append("#define USE_SUN\n");
139 if(flags & USE_SKY)
140 definitions.append("#define USE_SKY\n");
141 }
142
143 //~ printf("--\n%s", definitions.c_str());
144 const char *filename= smart_path("data/shaders/mesh.glsl");
145 bool use_mesh_color= (primitives == GL_POINTS || primitives == GL_LINES || primitives == GL_LINE_STRIP || primitives == GL_LINE_LOOP);
146 if(use_mesh_color)
147 filename= smart_path("data/shaders/mesh_color.glsl");
148
149 PipelineProgram *cache= PipelineCache::manager().find(filename, definitions.c_str());
150 return cache->program;
151}
PipelineProgram * find(const char *filename, const char *definitions="")
renvoie un shader program compile. et l'ajoute dans le cache...
Definition program.h:69
static PipelineCache & manager()
acces au singleton.
Definition program.h:130
const char * smart_path(const char *filename)
renvoie le chemin(path) vers le fichier 'filename' apres l'avoir cherche dans un repertoire standard....
Definition window.cpp:448

◆ create_debug_normals_program()

GLuint DrawParam::create_debug_normals_program ( const GLenum primitives,
const unsigned flags )
protected

construit un shader program / debug des normales.

Definition at line 153 of file draw.cpp.

154{
155 const char *filename= smart_path("data/shaders/normals.glsl");
156 bool use_mesh_color= (primitives == GL_POINTS || primitives == GL_LINES || primitives == GL_LINE_STRIP || primitives == GL_LINE_LOOP);
157 if(use_mesh_color)
158 // pas la peine, les normales ne sont definies que pour les triangles...
159 return 0;
160
161 PipelineProgram *cache= PipelineCache::manager().find(filename);
162 return cache->program;
163}

◆ create_debug_texcoords_program()

GLuint DrawParam::create_debug_texcoords_program ( const GLenum primitives,
const unsigned flags )
protected

construit un shader program / debug des coordonnees de texture.

Definition at line 165 of file draw.cpp.

166{
167 const char *filename= smart_path("data/shaders/texcoords.glsl");
168 PipelineProgram *cache= PipelineCache::manager().find(filename);
169 return cache->program;
170}

Member Data Documentation

◆ flags

unsigned DrawParam::flags
protected

Definition at line 154 of file draw.h.

◆ m_model

Transform DrawParam::m_model
protected

Definition at line 167 of file draw.h.

◆ m_view

Transform DrawParam::m_view
protected

Definition at line 168 of file draw.h.

◆ m_projection

Transform DrawParam::m_projection
protected

Definition at line 169 of file draw.h.

◆ m_light

Point DrawParam::m_light
protected

Definition at line 171 of file draw.h.

◆ m_light_color

Color DrawParam::m_light_color
protected

Definition at line 172 of file draw.h.

◆ m_sun

Vector DrawParam::m_sun
protected

Definition at line 174 of file draw.h.

◆ m_sun_color

Color DrawParam::m_sun_color
protected

Definition at line 175 of file draw.h.

◆ m_sky

Vector DrawParam::m_sky
protected

Definition at line 176 of file draw.h.

◆ m_sky_color

Color DrawParam::m_sky_color
protected

Definition at line 177 of file draw.h.

◆ m_texture

GLuint DrawParam::m_texture
protected

Definition at line 179 of file draw.h.

◆ m_envmap

GLuint DrawParam::m_envmap
protected

Definition at line 180 of file draw.h.

◆ m_alpha_min

float DrawParam::m_alpha_min
protected

Definition at line 181 of file draw.h.

◆ m_normals_scale

float DrawParam::m_normals_scale
protected

Definition at line 182 of file draw.h.

◆ m_material

Material DrawParam::m_material
protected

Definition at line 184 of file draw.h.


The documentation for this class was generated from the following files: