newspeoplefor developersdocumentationdownloads

nAbstractShaderNode Class Reference
[Scene System]

#include <nabstractshadernode.h>

Inheritance diagram for nAbstractShaderNode:

nTransformNode nSceneNode nRoot nObject nNode nReferenced nSignalEmitter nLightNode nMaterialNode nSkyState nBlendShapeNode nCLODShapeNode nMapNode nShapeNode nTerrainGrassNode nTerrainNode nMultiLayeredNode nParticleShapeNode nParticleShapeNode2 nSkinShapeNode nSubdivShapeNode nSwingShapeNode nTextShapeNode List of all members.

Detailed Description

This is the base class for all shader related scene node classes (for instance material and light nodes).

All those classes need to hold named, typed shader variables, as well as texture resource management.

See also nAbstractShaderNode Script Interface

(C) 2003 RadonLabs GmbH

Definition at line 27 of file nabstractshadernode.h.


Public Member Functions

 nAbstractShaderNode ()
 constructor
virtual ~nAbstractShaderNode ()
 destructor
virtual bool SaveCmds (nPersistServer *ps)
 object persistency
virtual bool LoadResources ()
 load resources
virtual void UnloadResources ()
 unload resources
void SetUvPos (uint layer, const vector2 &p)
 set uv position for texture layer
const vector2GetUvPos (uint layer) const
 get uv position for texture layer
void SetUvEuler (uint layer, const vector3 &p)
 set uv euler rotation for texture layer
const vector3GetUvEuler (uint layer) const
 get uv euler rotation for texture layer
void SetUvScale (uint layer, const vector2 &p)
 set uv scale for texture layer
const vector2GetUvScale (uint layer) const
 get uv scale for texture layer
void SetTexture (nShaderState::Param param, const char *texName)
 bind a texture resource to a shader variable
const char * GetTexture (nShaderState::Param param) const
 get texture resource bound to variable
void SetInt (nShaderState::Param param, int val)
 bind a int value to a a shader variable
int GetInt (nShaderState::Param param) const
 get an int value bound to a shader variable
void SetBool (nShaderState::Param param, bool val)
 bind a bool value to a a shader variable
bool GetBool (nShaderState::Param param) const
 get an bool value bound to a shader variable
void SetFloat (nShaderState::Param param, float val)
 bind a float value to a shader variable
float GetFloat (nShaderState::Param param) const
 get a float value bound to a shader variable
void SetVector (nShaderState::Param param, const vector4 &val)
 bind a vector value to a shader variable
const vector4GetVector (nShaderState::Param param) const
 get a vector value bound to a shader variable
nShaderParamsGetShaderParams ()
 get shader params
bool HasParam (nShaderState::Param param)
 returns true, if node possesses the param
int GetNumTextures () const
 get number of textures
const char * GetTextureAt (int index) const
 get texture resource name at index
nShaderState::Param GetTextureParamAt (int index) const
 get texture shader parameter at index
int GetNumParams () const
const char * GetParamNameByIndex (int index) const
const char * GetParamTypeByIndex (int index) const

Protected Member Functions

bool LoadTexture (int index)
 load a texture resource
void UnloadTexture (int index)
 unload a texture resource
virtual bool IsTextureUsed (nShaderState::Param param)
 abstract method: returns always true

Protected Attributes

nArray< TexNodetexNodeArray
transform33 textureTransform [nGfxServer2::MaxTextureStages]
nShaderParams shaderParams

Classes

class  TexNode

Constructor & Destructor Documentation

nAbstractShaderNode::nAbstractShaderNode  ) 
 

constructor

Definition at line 13 of file nabstractshadernode_main.cc.

nAbstractShaderNode::~nAbstractShaderNode  )  [virtual]
 

destructor

Definition at line 21 of file nabstractshadernode_main.cc.


Member Function Documentation

virtual bool nAbstractShaderNode::SaveCmds nPersistServer ps  )  [virtual]
 

object persistency

Reimplemented from nTransformNode.

Reimplemented in nSwingShapeNode, nBlendShapeNode, nLightNode, nMaterialNode, nMultiLayeredNode, nParticleShapeNode, nParticleShapeNode2, nShapeNode, nSkinShapeNode, nSubdivShapeNode, nCLODShapeNode, nTerrainGrassNode, nTerrainNode, and nMapNode.

bool nAbstractShaderNode::LoadResources  )  [virtual]
 

load resources

Load the resources needed by this object.

Reimplemented from nSceneNode.

Reimplemented in nSwingShapeNode, nBlendShapeNode, nMaterialNode, nShapeNode, nTextShapeNode, nCLODShapeNode, nTerrainNode, and nMapNode.

Definition at line 77 of file nabstractshadernode_main.cc.

void nAbstractShaderNode::UnloadResources  )  [virtual]
 

unload resources

Unload the resources if refcount has reached zero.

Reimplemented from nSceneNode.

Reimplemented in nSwingShapeNode, nBlendShapeNode, nMaterialNode, nShapeNode, nTextShapeNode, nCLODShapeNode, and nTerrainNode.

Definition at line 97 of file nabstractshadernode_main.cc.

void nAbstractShaderNode::SetUvPos uint  layer,
const vector2 p
[inline]
 

set uv position for texture layer

Definition at line 142 of file nabstractshadernode.h.

const vector2 & nAbstractShaderNode::GetUvPos uint  layer  )  const [inline]
 

get uv position for texture layer

Definition at line 153 of file nabstractshadernode.h.

void nAbstractShaderNode::SetUvEuler uint  layer,
const vector3 e
[inline]
 

set uv euler rotation for texture layer

-01-Nov-06 kims Changed to have vector3 in-args for uv animation.

Definition at line 165 of file nabstractshadernode.h.

const vector3 & nAbstractShaderNode::GetUvEuler uint  layer  )  const [inline]
 

get uv euler rotation for texture layer

-01-Nov-06 kims Changed to return vector3 type for uv animation.

Definition at line 177 of file nabstractshadernode.h.

void nAbstractShaderNode::SetUvScale uint  layer,
const vector2 p
[inline]
 

set uv scale for texture layer

Definition at line 188 of file nabstractshadernode.h.

const vector2 & nAbstractShaderNode::GetUvScale uint  layer  )  const [inline]
 

get uv scale for texture layer

Definition at line 199 of file nabstractshadernode.h.

void nAbstractShaderNode::SetTexture nShaderState::Param  param,
const char *  texName
 

bind a texture resource to a shader variable

Definition at line 112 of file nabstractshadernode_main.cc.

const char * nAbstractShaderNode::GetTexture nShaderState::Param  param  )  const
 

get texture resource bound to variable

Definition at line 153 of file nabstractshadernode_main.cc.

void nAbstractShaderNode::SetInt nShaderState::Param  param,
int  val
[inline]
 

bind a int value to a a shader variable

Definition at line 210 of file nabstractshadernode.h.

int nAbstractShaderNode::GetInt nShaderState::Param  param  )  const [inline]
 

get an int value bound to a shader variable

Definition at line 226 of file nabstractshadernode.h.

void nAbstractShaderNode::SetBool nShaderState::Param  param,
bool  val
[inline]
 

bind a bool value to a a shader variable

Definition at line 236 of file nabstractshadernode.h.

bool nAbstractShaderNode::GetBool nShaderState::Param  param  )  const [inline]
 

get an bool value bound to a shader variable

Definition at line 252 of file nabstractshadernode.h.

void nAbstractShaderNode::SetFloat nShaderState::Param  param,
float  val
[inline]
 

bind a float value to a shader variable

Definition at line 262 of file nabstractshadernode.h.

float nAbstractShaderNode::GetFloat nShaderState::Param  param  )  const [inline]
 

get a float value bound to a shader variable

Definition at line 278 of file nabstractshadernode.h.

void nAbstractShaderNode::SetVector nShaderState::Param  param,
const vector4 val
[inline]
 

bind a vector value to a shader variable

Definition at line 288 of file nabstractshadernode.h.

const vector4 & nAbstractShaderNode::GetVector nShaderState::Param  param  )  const [inline]
 

get a vector value bound to a shader variable

Definition at line 304 of file nabstractshadernode.h.

nShaderParams & nAbstractShaderNode::GetShaderParams  ) 
 

get shader params

get nShaderParams from node

Definition at line 192 of file nabstractshadernode_main.cc.

bool nAbstractShaderNode::HasParam nShaderState::Param  param  ) 
 

returns true, if node possesses the param

Returns true, if param is valid

Definition at line 182 of file nabstractshadernode_main.cc.

int nAbstractShaderNode::GetNumTextures  )  const [inline]
 

get number of textures

Definition at line 314 of file nabstractshadernode.h.

const char * nAbstractShaderNode::GetTextureAt int  index  )  const [inline]
 

get texture resource name at index

Definition at line 324 of file nabstractshadernode.h.

nShaderState::Param nAbstractShaderNode::GetTextureParamAt int  index  )  const [inline]
 

get texture shader parameter at index

Definition at line 334 of file nabstractshadernode.h.

int nAbstractShaderNode::GetNumParams  )  const [inline]
 

Definition at line 344 of file nabstractshadernode.h.

const char * nAbstractShaderNode::GetParamNameByIndex int  index  )  const [inline]
 

Definition at line 354 of file nabstractshadernode.h.

const char * nAbstractShaderNode::GetParamTypeByIndex int  index  )  const [inline]
 

Definition at line 363 of file nabstractshadernode.h.

bool nAbstractShaderNode::LoadTexture int  index  )  [protected]
 

load a texture resource

Load a texture resource.

Definition at line 46 of file nabstractshadernode_main.cc.

void nAbstractShaderNode::UnloadTexture int  index  )  [protected]
 

unload a texture resource

Unload a texture resource.

Definition at line 31 of file nabstractshadernode_main.cc.

bool nAbstractShaderNode::IsTextureUsed nShaderState::Param  param  )  [protected, virtual]
 

abstract method: returns always true

Definition at line 172 of file nabstractshadernode_main.cc.


Member Data Documentation

nArray<TexNode> nAbstractShaderNode::texNodeArray [protected]
 

Definition at line 111 of file nabstractshadernode.h.

transform33 nAbstractShaderNode::textureTransform[nGfxServer2::MaxTextureStages] [protected]
 

Definition at line 112 of file nabstractshadernode.h.

nShaderParams nAbstractShaderNode::shaderParams [protected]
 

Definition at line 113 of file nabstractshadernode.h.


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

Copyright © 1999-2005 by the contributing authors. Ideas, requests, problems: Send feedback.