FBShader Class Reference


Detailed Description

Shader class.

Inheritance diagram for FBShader:
Inheritance graph
[legend]

List of all members.

Public Member Functions

  __init__ (str pName, object pObject=None)
  Protected constructor.
  IObject_Declare (Implementation)
HFBShaderModelInfo  NewShaderModelInfo (HFBRenderOptions pOptions, HIGraphicPrimitives pGPS)
  Create a new shader-model information object.
  DestroyShaderModelInfo (HFBRenderOptions pOptions, HFBShaderModelInfo pInfo)
  Destroy shader-model information object callback.
  ReplaceAll (FBModel pModel)
  Replace all shader in pModel.
  Append (FBModel pModel)
  Append shader to pModel.
bool  ShaderNeedBeginRender ()
  Does the shader need a begin render call.
  ShaderBeginRender (HFBRenderOptions pOptions, HFBShaderModelInfo pInfo)
  Pre-rendering of shaders that is called only one time for a shader instance.
  ShadeModel (HFBRenderOptions pOptions, HFBShaderModelInfo pInfo, FBRenderingPass pPass)
  Real-time shading callback.
  CloneShaderParameter (HFBShader pNewShader)
  Clone shader.
  DetachDisplayContext (HFBRenderOptions pOptions, HFBShaderModelInfo pInfo)
  Detach the display context from the shader.
bool  FbxStore (HFBFbxObject pFbxObject)
  Storage of information into the FBX file format.
bool  FbxRetrieve (HFBFbxObject pFbxObject, HFBRenderer pRenderer)
  Retrieval of information into the FBX file format.
int  GetShaderVersion ()
  Return Shader Version.

Public Attributes

str  ShaderDescription
  Description.
FBPropertyRenderingPass  RenderingPass
  Read Write Property: Rendering pass object are shaded in.

Protected Member Functions

FBRenderingPass  GetRenderingPassNeededForAlpha (FBAlphaSource pTransparency)
  In order to be called at the right passes, a shader must set the result of GetRenderingPassNeededForAlpha() to RenderingPass for a given transparency type.

Protected Attributes

int  mShader_Version

Member Function Documentation

__init__ ( str  pName,
object  pObject = None 
)

Protected constructor.

Parameters:
pName Shader name.
pObject Internal parent object to own shader(default=NULL).

Reimplemented from FBBox.

Reimplemented in FBShaderLighted, and FBShaderShadowLive.

IObject_Declare ( Implementation  )

Reimplemented from FBBox.

HFBShaderModelInfo NewShaderModelInfo ( HFBRenderOptions  pOptions,
HIGraphicPrimitives  pGPS 
)

Create a new shader-model information object.

Parameters:
pOptions Render options.
pInfo Base shader-model information object.
Returns:
Newly allocated shader-model information object.
DestroyShaderModelInfo ( HFBRenderOptions  pOptions,
HFBShaderModelInfo  pInfo 
)

Destroy shader-model information object callback.

Parameters:
pOptions Render options.
pInfo Shader-model information object to destroy.
ReplaceAll ( FBModel  pModel )

Replace all shader in pModel.

Parameters:
pModel Model to replace all shader to.
Append ( FBModel  pModel )

Append shader to pModel.

Parameters:
pModel Model to append shader to.
bool ShaderNeedBeginRender ( )

Does the shader need a begin render call.

Remarks:
Re-implement this function and return true if you need it. This method is called once per shader on each render pass.
ShaderBeginRender ( HFBRenderOptions  pOptions,
HFBShaderModelInfo  pInfo 
)

Pre-rendering of shaders that is called only one time for a shader instance.

Remarks:
ShaderBeginRender is called as many times as the number of models affected by the instance of the shader in a given render pass. (ShaderNeedBeginRender must return true for this function to be called).
ShadeModel ( HFBRenderOptions  pOptions,
HFBShaderModelInfo  pInfo,
FBRenderingPass  pPass 
)

Real-time shading callback.

This is called after all the calls to ShaderBeginRender.

Parameters:
pOptions Render options.
pPass Rendering pass.
pInfo Shader-model information.
CloneShaderParameter ( HFBShader  pNewShader )

Clone shader.

Parameters:
pNewShader Shader to copy data to.
DetachDisplayContext ( HFBRenderOptions  pOptions,
HFBShaderModelInfo  pInfo 
)

Detach the display context from the shader.

Parameters:
pOptions Render options.
pInfo Shader-model information object.
bool FbxStore ( HFBFbxObject  pFbxObject )

Storage of information into the FBX file format.

Parameters:
pFbxObject Object to interface with FBX file format.
Returns:
true if successful, false otherwise.
bool FbxRetrieve ( HFBFbxObject  pFbxObject,
HFBRenderer  pRenderer 
)

Retrieval of information into the FBX file format.

Parameters:
pFbxObject Object to interface with FBX file format.
pRenderer Renderer being restored.
Returns:
true if successful, false otherwise.
int GetShaderVersion ( )

Return Shader Version.

FBRenderingPass GetRenderingPassNeededForAlpha ( FBAlphaSource  pTransparency ) [protected]

In order to be called at the right passes, a shader must set the result of GetRenderingPassNeededForAlpha() to RenderingPass for a given transparency type.

It should not be called at rendering time.

Parameters:
pTransparency Transparency type.
Returns:
a mask of all rendering passes needed for DrawGeometry() to work correctly.

Member Data Documentation

FBPropertyRenderingPass RenderingPass

Read Write Property: Rendering pass object are shaded in.

Set the property to kFBPassFlat if you want to be called at the first pass, kFBPassPostRender at the second pass, kFBPassFlat | kFBPassPostRender at both. The current pass will be the third argument of ShadeModel()


FBShader FBShader FBShader FBShader FBShader FBShader FBShader FBShader FBShader FBShader
FBShader FBShader FBShader FBShader FBShader FBShader FBShader FBShader FBShader FBShader