# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NL3D::CPSMaterial Class Reference

this contains material of a particle, this doesn't initiliaze anything, this just give the abylity to change the blending mode. More...

#include <ps_particle_basic.h>

Inheritance diagram for NL3D::CPSMaterial:

NL3D::CPSDot NL3D::CPSFanLight NL3D::CPSQuad NL3D::CPSRibbon NL3D::CPSRibbonLookAt NL3D::CPSShockWave NL3D::CPSTailDot NL3D::CPSFace NL3D::CPSFaceLookAt List of all members.

Public Types

enum  TBlendingMode { add, modulate, alphaBlend, alphaTest }
 this enum summarize the useful modes for blending to the framebuffer. More...


Public Methods

 CPSMaterial ()
 ===================================================================================. More...

void serialMaterial (NLMISC::IStream &f) throw (NLMISC::EStream)
 ===================================================================================. More...

void setBlendingMode (CPSMaterial::TBlendingMode mode)
 ===================================================================================. More...

CPSMaterial::TBlendingMode getBlendingMode (void) const
 ===================================================================================. More...

void forceModulateConstantColor (bool force, const NLMISC::CRGBA &col=NLMISC::CRGBA::White)
 ===================================================================================. More...

void forceTexturedMaterialStages (uint numStages)
 ===================================================================================. More...


Protected Attributes

CMaterial _Mat

Detailed Description

this contains material of a particle, this doesn't initiliaze anything, this just give the abylity to change the blending mode.

Definition at line 773 of file ps_particle_basic.h.


Member Enumeration Documentation

enum NL3D::CPSMaterial::TBlendingMode
 

this enum summarize the useful modes for blending to the framebuffer.

Enumeration values:
add 
modulate 
alphaBlend 
alphaTest 

Definition at line 780 of file ps_particle_basic.h.


Constructor & Destructor Documentation

NL3D::CPSMaterial::CPSMaterial  
 

===================================================================================.

Definition at line 483 of file ps_particle_basic.cpp.


Member Function Documentation

void NL3D::CPSMaterial::forceModulateConstantColor bool    force,
const NLMISC::CRGBA   col = NLMISC::CRGBA::White
 

===================================================================================.

This is not compatible with multitextureing, however.

Parameters:
force  true to force constant color modulation

Definition at line 553 of file ps_particle_basic.cpp.

References _Mat, and forceTexturedMaterialStages.

Referenced by NL3D::CPSRibbonLookAt::displayRibbons, NL3D::CPSShockWave::draw, and NL3D::CPSQuad::updateMatBeforeRendering.

void NL3D::CPSMaterial::forceTexturedMaterialStages uint    numStages
 

===================================================================================.

  • If a texture was present for a given stage it still is
    • If a texture wasn't present, it create a dummy white texture there
    • Above numStages, textures are disabled. It can be used to do extra math with stages that have no textures (required by the driver)

Definition at line 578 of file ps_particle_basic.cpp.

References _Mat, and NL3D::IDRV_MAT_MAXTEXTURES.

Referenced by NL3D::CPSDot::draw, forceModulateConstantColor, and NL3D::CPSFanLight::setupMaterial.

CPSMaterial::TBlendingMode NL3D::CPSMaterial::getBlendingMode void    const
 

===================================================================================.

Definition at line 531 of file ps_particle_basic.cpp.

References _Mat, add, alphaBlend, alphaTest, modulate, and nlassert.

Referenced by NL3D::CPSTailDot::hasTransparentFaces, NL3D::CPSShockWave::hasTransparentFaces, NL3D::CPSRibbonLookAt::hasTransparentFaces, NL3D::CPSRibbon::hasTransparentFaces, NL3D::CPSQuad::hasTransparentFaces, NL3D::CPSFanLight::hasTransparentFaces, and NL3D::CPSDot::hasTransparentFaces.

void NL3D::CPSMaterial::serialMaterial NLMISC::IStream   f throw (NLMISC::EStream)
 

===================================================================================.

Definition at line 491 of file ps_particle_basic.cpp.

void NL3D::CPSMaterial::setBlendingMode CPSMaterial::TBlendingMode    mode
 

===================================================================================.

Definition at line 500 of file ps_particle_basic.cpp.

References _Mat, add, alphaBlend, alphaTest, and modulate.


Member Data Documentation

CMaterial NL3D::CPSMaterial::_Mat [protected]
 

Definition at line 808 of file ps_particle_basic.h.

Referenced by NL3D::CPSRibbon::CPSRibbon, NL3D::CPSTailDot::displayRibbons, NL3D::CPSRibbonLookAt::displayRibbons, NL3D::CPSRibbon::displayRibbons, NL3D::CPSShockWave::draw, NL3D::CPSDot::draw, forceModulateConstantColor, forceTexturedMaterialStages, getBlendingMode, NL3D::CPSShockWave::init, NL3D::CPSQuad::init, NL3D::CPSFanLight::init, NL3D::CPSDot::init, setBlendingMode, NL3D::CPSTailDot::setupGlobalColor, NL3D::CPSFanLight::setupMaterial, NL3D::CPSRibbon::setupTexturedGlobalColor, NL3D::CPSRibbon::setupTextureMatrix, NL3D::CPSShockWave::setupUFactor, NL3D::CPSRibbon::setupUntexturedGlobalColor, NL3D::CPSTailDot::step, NL3D::CPSRibbonLookAt::step, NL3D::CPSRibbon::step, NL3D::CPSRibbonLookAt::updateMatAndVbForColor, NL3D::CPSShockWave::updateMatAndVbForTexture, NL3D::CPSQuad::updateMatAndVbForTexture, NL3D::CPSQuad::updateMatBeforeRendering, NL3D::CPSTailDot::updateMaterial, NL3D::CPSRibbon::updateTexturedMaterial, and NL3D::CPSRibbon::updateUntexturedMaterial.


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