Visualization Library

A lightweight C++ OpenGL middleware for 2D/3D graphics
[Home] [Tutorials] [All Classes] [Grouped Classes]
Public Member Functions | Protected Attributes

vl::Material Class Reference

RenderState wrapping the OpenGL function glMaterial() and glColorMaterial(), see also http://www.opengl.org/sdk/docs/man/xhtml/glMaterial.xml and http://www.opengl.org/sdk/docs/man/xhtml/glColorMaterial.xml for more information. More...

#include <Shader.hpp>

Inheritance diagram for vl::Material:
vl::RenderState vl::Object

List of all members.

Public Member Functions

 Material ()
virtual const char * className ()
 Returns the name of the class.
virtual ERenderState type () const
virtual void apply (const Camera *, OpenGLContext *ctx) const
 The parameter cameara is NULL if we are disabling the state, non-NULL if we are enabling it.
void setTransparency (float alpha)
void setFrontTransparency (float alpha)
void setBackTransparency (float alpha)
void setFrontFlatColor (const fvec4 &color)
void setBackFlatColor (const fvec4 &color)
void setFlatColor (const fvec4 &color)
void setAmbient (fvec4 color)
void setDiffuse (fvec4 color)
void setSpecular (fvec4 color)
void setEmission (fvec4 color)
void setShininess (float shininess)
void setFrontAmbient (fvec4 color)
void setFrontDiffuse (fvec4 color)
void setFrontSpecular (fvec4 color)
void setFrontEmission (fvec4 color)
void setFrontShininess (float shininess)
fvec4 frontAmbient () const
fvec4 frontDiffuse () const
fvec4 frontSpecular () const
fvec4 frontEmission () const
float frontShininess () const
void setBackAmbient (fvec4 color)
void setBackDiffuse (fvec4 color)
void setBackSpecular (fvec4 color)
void setBackEmission (fvec4 color)
void setBackShininess (float shininess)
fvec4 backAmbient () const
fvec4 backDiffuse () const
fvec4 backSpecular () const
fvec4 backEmission () const
float backShininess () const
void setColorMaterial (EPolygonFace face, EColorMaterial color)
EPolygonFace colorMaterialFace () const
EColorMaterial colorMaterial () const
void setColorMaterialEnabled (bool enabled)
bool colorMaterialEnabled () const

Protected Attributes

fvec4 mFrontAmbient
fvec4 mFrontDiffuse
fvec4 mFrontSpecular
fvec4 mFrontEmission
fvec4 mBackAmbient
fvec4 mBackDiffuse
fvec4 mBackSpecular
fvec4 mBackEmission
float mBackShininess
float mFrontShininess
EPolygonFace mColorMaterialFace
EColorMaterial mColorMaterial
bool mColorMaterialEnabled

Detailed Description

RenderState wrapping the OpenGL function glMaterial() and glColorMaterial(), see also http://www.opengl.org/sdk/docs/man/xhtml/glMaterial.xml and http://www.opengl.org/sdk/docs/man/xhtml/glColorMaterial.xml for more information.

See also:
Shader, Effect, Actor, vl::EN_LIGHTING

Definition at line 472 of file Shader.hpp.


Constructor & Destructor Documentation

Material::Material (  )

Member Function Documentation

virtual const char* vl::Material::className (  ) [inline, virtual]

Returns the name of the class.

Reimplemented from vl::RenderState.

Definition at line 476 of file Shader.hpp.

virtual ERenderState vl::Material::type (  ) const [inline, virtual]

Reimplemented from vl::RenderState.

Definition at line 477 of file Shader.hpp.

References vl::RS_Material.

void Material::apply ( const Camera camera,
OpenGLContext ctx 
) const [virtual]

The parameter cameara is NULL if we are disabling the state, non-NULL if we are enabling it.

Implements vl::RenderState.

Definition at line 382 of file Shader.cpp.

References colorMaterial(), colorMaterialFace(), mBackAmbient, mBackDiffuse, mBackEmission, mBackShininess, mBackSpecular, mColorMaterialEnabled, mFrontAmbient, mFrontDiffuse, mFrontEmission, mFrontShininess, mFrontSpecular, and vl::Vector4< T_Scalar >::ptr().

void Material::setTransparency ( float  alpha )
void Material::setFrontTransparency ( float  alpha )
void Material::setBackTransparency ( float  alpha )
void Material::setFrontFlatColor ( const fvec4 color )
void Material::setBackFlatColor ( const fvec4 color )
void Material::setFlatColor ( const fvec4 color )

Definition at line 376 of file Shader.cpp.

References setBackFlatColor(), and setFrontFlatColor().

void vl::Material::setAmbient ( fvec4  color ) [inline]

Definition at line 487 of file Shader.hpp.

void vl::Material::setDiffuse ( fvec4  color ) [inline]

Definition at line 488 of file Shader.hpp.

void vl::Material::setSpecular ( fvec4  color ) [inline]

Definition at line 489 of file Shader.hpp.

void vl::Material::setEmission ( fvec4  color ) [inline]

Definition at line 490 of file Shader.hpp.

void vl::Material::setShininess ( float  shininess ) [inline]

Definition at line 491 of file Shader.hpp.

void vl::Material::setFrontAmbient ( fvec4  color ) [inline]

Definition at line 493 of file Shader.hpp.

void vl::Material::setFrontDiffuse ( fvec4  color ) [inline]

Definition at line 494 of file Shader.hpp.

void vl::Material::setFrontSpecular ( fvec4  color ) [inline]

Definition at line 495 of file Shader.hpp.

void vl::Material::setFrontEmission ( fvec4  color ) [inline]

Definition at line 496 of file Shader.hpp.

void vl::Material::setFrontShininess ( float  shininess ) [inline]

Definition at line 497 of file Shader.hpp.

fvec4 vl::Material::frontAmbient (  ) const [inline]

Definition at line 498 of file Shader.hpp.

fvec4 vl::Material::frontDiffuse (  ) const [inline]

Definition at line 499 of file Shader.hpp.

fvec4 vl::Material::frontSpecular (  ) const [inline]

Definition at line 500 of file Shader.hpp.

fvec4 vl::Material::frontEmission (  ) const [inline]

Definition at line 501 of file Shader.hpp.

float vl::Material::frontShininess (  ) const [inline]

Definition at line 502 of file Shader.hpp.

void vl::Material::setBackAmbient ( fvec4  color ) [inline]

Definition at line 504 of file Shader.hpp.

void vl::Material::setBackDiffuse ( fvec4  color ) [inline]

Definition at line 505 of file Shader.hpp.

void vl::Material::setBackSpecular ( fvec4  color ) [inline]

Definition at line 506 of file Shader.hpp.

void vl::Material::setBackEmission ( fvec4  color ) [inline]

Definition at line 507 of file Shader.hpp.

void vl::Material::setBackShininess ( float  shininess ) [inline]

Definition at line 508 of file Shader.hpp.

fvec4 vl::Material::backAmbient (  ) const [inline]

Definition at line 509 of file Shader.hpp.

fvec4 vl::Material::backDiffuse (  ) const [inline]

Definition at line 510 of file Shader.hpp.

fvec4 vl::Material::backSpecular (  ) const [inline]

Definition at line 511 of file Shader.hpp.

fvec4 vl::Material::backEmission (  ) const [inline]

Definition at line 512 of file Shader.hpp.

float vl::Material::backShininess (  ) const [inline]

Definition at line 513 of file Shader.hpp.

void vl::Material::setColorMaterial ( EPolygonFace  face,
EColorMaterial  color 
) [inline]

Definition at line 517 of file Shader.hpp.

EPolygonFace vl::Material::colorMaterialFace (  ) const [inline]

Definition at line 518 of file Shader.hpp.

Referenced by apply().

EColorMaterial vl::Material::colorMaterial (  ) const [inline]

Definition at line 519 of file Shader.hpp.

Referenced by apply().

void vl::Material::setColorMaterialEnabled ( bool  enabled ) [inline]

Definition at line 520 of file Shader.hpp.

bool vl::Material::colorMaterialEnabled (  ) const [inline]

Definition at line 521 of file Shader.hpp.


Member Data Documentation

Definition at line 524 of file Shader.hpp.

Referenced by apply(), Material(), setFrontFlatColor(), setFrontTransparency(), and setTransparency().

Definition at line 525 of file Shader.hpp.

Referenced by apply(), Material(), setFrontFlatColor(), setFrontTransparency(), and setTransparency().

Definition at line 526 of file Shader.hpp.

Referenced by apply(), Material(), setFrontFlatColor(), setFrontTransparency(), and setTransparency().

Definition at line 527 of file Shader.hpp.

Referenced by apply(), Material(), setFrontFlatColor(), setFrontTransparency(), and setTransparency().

Definition at line 528 of file Shader.hpp.

Referenced by apply(), Material(), setBackFlatColor(), setBackTransparency(), and setTransparency().

Definition at line 529 of file Shader.hpp.

Referenced by apply(), Material(), setBackFlatColor(), setBackTransparency(), and setTransparency().

Definition at line 530 of file Shader.hpp.

Referenced by apply(), Material(), setBackFlatColor(), setBackTransparency(), and setTransparency().

Definition at line 531 of file Shader.hpp.

Referenced by apply(), Material(), setBackFlatColor(), setBackTransparency(), and setTransparency().

float vl::Material::mBackShininess [protected]

Definition at line 532 of file Shader.hpp.

Referenced by apply(), Material(), and setBackFlatColor().

float vl::Material::mFrontShininess [protected]

Definition at line 533 of file Shader.hpp.

Referenced by apply(), Material(), and setFrontFlatColor().

Definition at line 535 of file Shader.hpp.

Referenced by Material().

Definition at line 536 of file Shader.hpp.

Referenced by Material().

Definition at line 537 of file Shader.hpp.

Referenced by apply(), and Material().


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

Visualization Library v2011.05.1144 Reference Documentation
Copyright 2005-2011 Michele Bosi. All rights reserved.
Updated on Tue Sep 13 2011 21:59:17.
Permission is granted to use this page to write and publish articles regarding Visualization Library.