# 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:

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 | ( | ) |

Definition at line 312 of file Shader.cpp.

References vl::CM_AMBIENT_AND_DIFFUSE, mBackAmbient, mBackDiffuse, mBackEmission, mBackShininess, mBackSpecular, mColorMaterial, mColorMaterialEnabled, mColorMaterialFace, mFrontAmbient, mFrontDiffuse, mFrontEmission, mFrontShininess, mFrontSpecular, vl::PF_FRONT_AND_BACK, and VL_DEBUG_SET_OBJECT_NAME.

## 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 ) |

Definition at line 332 of file Shader.cpp.

References vl::Vector4< T_Scalar >::a(), mBackAmbient, mBackDiffuse, mBackEmission, mBackSpecular, mFrontAmbient, mFrontDiffuse, mFrontEmission, and mFrontSpecular.

void Material::setFrontTransparency | ( | float | alpha ) |

Definition at line 340 of file Shader.cpp.

References vl::Vector4< T_Scalar >::a(), mFrontAmbient, mFrontDiffuse, mFrontEmission, and mFrontSpecular.

Referenced by setFrontFlatColor().

void Material::setBackTransparency | ( | float | alpha ) |

Definition at line 348 of file Shader.cpp.

References vl::Vector4< T_Scalar >::a(), mBackAmbient, mBackDiffuse, mBackEmission, and mBackSpecular.

Referenced by setBackFlatColor().

void Material::setFrontFlatColor | ( | const fvec4 & | color ) |

Definition at line 356 of file Shader.cpp.

References vl::Vector4< T_Scalar >::a(), mFrontAmbient, mFrontDiffuse, mFrontEmission, mFrontShininess, mFrontSpecular, and setFrontTransparency().

Referenced by setFlatColor().

void Material::setBackFlatColor | ( | const fvec4 & | color ) |

Definition at line 366 of file Shader.cpp.

References vl::Vector4< T_Scalar >::a(), mBackAmbient, mBackDiffuse, mBackEmission, mBackShininess, mBackSpecular, and setBackTransparency().

Referenced by setFlatColor().

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

fvec4 vl::Material::mFrontAmbient`[protected]`

Definition at line 524 of file Shader.hpp.

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

fvec4 vl::Material::mFrontDiffuse`[protected]`

Definition at line 525 of file Shader.hpp.

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

fvec4 vl::Material::mFrontSpecular`[protected]`

Definition at line 526 of file Shader.hpp.

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

fvec4 vl::Material::mFrontEmission`[protected]`

Definition at line 527 of file Shader.hpp.

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

fvec4 vl::Material::mBackAmbient`[protected]`

Definition at line 528 of file Shader.hpp.

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

fvec4 vl::Material::mBackDiffuse`[protected]`

Definition at line 529 of file Shader.hpp.

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

fvec4 vl::Material::mBackSpecular`[protected]`

Definition at line 530 of file Shader.hpp.

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

fvec4 vl::Material::mBackEmission`[protected]`

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().

EPolygonFace vl::Material::mColorMaterialFace`[protected]`

Definition at line 535 of file Shader.hpp.

Referenced by Material().

EColorMaterial vl::Material::mColorMaterial`[protected]`

Definition at line 536 of file Shader.hpp.

Referenced by Material().

bool vl::Material::mColorMaterialEnabled`[protected]`

Definition at line 537 of file Shader.hpp.

Referenced by apply(), and Material().

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

- D:/VL/BuildSystem/VL_DISTRO/Visualization_Library_SDK/src/vlGraphics/Shader.hpp
- D:/VL/BuildSystem/VL_DISTRO/Visualization_Library_SDK/src/vlGraphics/Shader.cpp

Visualization Library v2011.05.1142 Reference Documentation
Copyright 2005-2011 Michele Bosi. All rights reserved.
Updated on Thu May 26 2011 22:51:45.
Permission is granted to use this page to write and publish articles regarding Visualization Library.