fbshader.h File Reference


Detailed Description

fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h fbshader.h
Declaration for the classes FBShaderManager, FBShader, FBPropertyListShader and other subclasses.

Definition in file fbshader.h.

#include <kaydaradef.h>
#include <fbsdk/fbcomponent.h>
#include <fbsdk/fbcore.h>

Include dependency graph for fbshader.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


Classes

class   FBShaderManager
  Shader manager. More...
class   FBShaderModelInfo
class   FBRenderOptions
class   FBShader
  Shader class. More...
class   FBPropertyListShader
  PropertyList: Shader More...
class   FBShaderLighted
  Lighted shader class. More...
class   FBShaderShadowLive
  Shader Shadow Live class. More...

Defines

#define  FBSDK_DLL   K_DLLIMPORT
  Be sure that FBSDK_DLL is defined only once.
#define  FBRegisterShader(UniqueNameStr, ClassName, Label, Description, IconFilename)
  Shader class registration.
#define  FBShaderDeclare(ClassName, Parent)
  Shader class declaration.
#define  FBShaderImplementation(ThisComponent)   FBClassImplementation( ThisComponent )
  Shader class implementation.

Enumerations

enum   FBRenderingPass {
   kFBPassInvalid = 0,
   kFBPassPreRender = 1 << 0,
   kFBPassFlat = 1 << 1,
   kFBPassLighted = 1 << 2,
   kFBPassMatte = 1 << 3,
   kFBPassZTranslucent = 1 << 4,
   kFBPassZTranslucentAlphaTest = 1 << 5,
   kFBPassTranslucent = 1 << 6,
   kFBPassAddColor = 1 << 7,
   kFBPassTranslucentZSort = 1 << 8,
   kFBPassPostRender = 1 << 9
}
  Rendering Pass. More...
enum   FBAlphaSource {
   kFBAlphaSourceNoAlpha,
   kFBAlphaSourceAccurateAlpha,
   kFBAlphaSourceTransluscentAlpha,
   kFBAlphaSourceMatteAlpha,
   kFBAlphaSource2DTransparency,
   kFBAlphaSourceAdditiveAlpha,
   kFBAlphaSourceTransluscentZSortAlpha
}
  Shader transparency computation. More...
enum   FBShadowType {
   kFBShadowTypeShadowPlanar,
   kFBShadowTypeShadowProjectiveTexture,
   kFBShadowTypeLightMapProjectiveTexture,
   kFBShadowTypeZShadowProjectiveTexture,
   kFBShadowTypeZLightMapProjectiveTexture
}
  Shadow types. More...
enum   FBShadowFrameType {
   kFBShadowFrameTypeShadowReceiver,
   kFBShadowFrameTypeShadowCaster,
   kFBShadowFrameTypeShadowCubeMap
}
  Shadow calculation methods. More...

Functions

  FB_FORWARD (FBRenderOptions)
  FBRenderOptions.

Define Documentation

#define FBRegisterShader ( UniqueNameStr,
ClassName,
Label,
Description,
IconFilename   ) 

Value:

HIObject RegisterShader##ClassName( HIObject /*pOwner*/,char * pName,void * /*pData*/) \
    { \
      ClassName *Class = new ClassName( pName ); \
        Class->UniqueName = UniqueNameStr; \
        Class->ShaderDescription = Description; \
        if (Class->FBCreate()) { \
            return Class->GetHIObject(); \
        } else { \
            delete Class; \
            return NULL; \
        } \
    } \
    FBLibraryModule( ClassName )    \
    {   \
        FBRegisterObject( ClassName##R1,"renderer/usershader/ogl",Label,Description,RegisterShader##ClassName,true, IconFilename ); \
        FBRegisterObject( ClassName##R2,"FbxStorable/Shader",UniqueNameStr,Description,RegisterShader##ClassName,true, IconFilename );  \
    }
Shader class registration.
Parameters:
UniqueNameStr  Unique name.
ClassName  Shader class name.
Label  Short description.
Description  Long description.
IconFilename  Name of the file containing the icon.

Definition at line 71 of file fbshader.h.

#define FBSDK_DLL   K_DLLIMPORT

Be sure that FBSDK_DLL is defined only once.

..

Definition at line 50 of file fbshader.h.

#define FBShaderDeclare ( ClassName,
Parent   ) 

Value:

FBClassDeclare( ClassName,Parent); \
  public: \
    ClassName(char * pName):Parent(pName) { FBClassInit; } \
  private:
Shader class declaration.
Parameters:
ClassName  Shader class name.
Parent  Class parent.

Definition at line 94 of file fbshader.h.

#define FBShaderImplementation ( ThisComponent   )     FBClassImplementation( ThisComponent )

Shader class implementation.

Parameters:
ThisComponent  Class to implement.

Definition at line 103 of file fbshader.h.


Enumeration Type Documentation

enum FBAlphaSource

Shader transparency computation.

There are different way to compute transparency, and this lists the supported options.

Enumerator:
kFBAlphaSourceNoAlpha  No transparency.
kFBAlphaSourceAccurateAlpha  Accurate Transparency.
kFBAlphaSourceTransluscentAlpha  Translucent.
kFBAlphaSourceMatteAlpha  Matte.
kFBAlphaSource2DTransparency  2D Transparency.
kFBAlphaSourceAdditiveAlpha  Additive Transparency.
kFBAlphaSourceTransluscentZSortAlpha  Translucent(Models Z Sort).

Definition at line 364 of file fbshader.h.

enum FBRenderingPass

Rendering Pass.

Use with FBShader::RenderingPass properties to make the shader be called at any pass. Passes will be called in the order of the enum.

Enumerator:
kFBPassInvalid  No pass selected.
kFBPassPreRender  Before anything.
kFBPassFlat  Lighting off.
kFBPassLighted  Lighting on.
kFBPassMatte  Alpha > 0.5 will show up.
kFBPassZTranslucent  Writes to depth buffer.
kFBPassZTranslucentAlphaTest  Writes to depth buffer where Alpha > 0.5.
kFBPassTranslucent  Models are blended.
kFBPassAddColor  Models are blended additively.
kFBPassTranslucentZSort  Models are sorted and blended.
kFBPassPostRender  After everything.

Definition at line 346 of file fbshader.h.

enum FBShadowFrameType

Shadow calculation methods.

Enumerator:
kFBShadowFrameTypeShadowReceiver  Bases the shadow calculation on the shadow of the receiver.
kFBShadowFrameTypeShadowCaster  Bases the shadow calculation on the shadow of the caster.
kFBShadowFrameTypeShadowCubeMap  Undocumented or unsupported.

Definition at line 621 of file fbshader.h.

enum FBShadowType

Shadow types.

The different types of shadow mapping.

Enumerator:
kFBShadowTypeShadowPlanar  Use this shadow type to create darkened shadow areas only on planar surfaces.
kFBShadowTypeShadowProjectiveTexture  Uses a texture projection to create a shadow.
kFBShadowTypeLightMapProjectiveTexture  Uses a texture projection as a shadow.
kFBShadowTypeZShadowProjectiveTexture  Similar to the Projective Shadow, except that it uses a boolean algorithm to create a self-shadow.
kFBShadowTypeZLightMapProjectiveTexture  Similar to the Projective Light Map except that it uses a boolean algorithm to create a self-shadow.

Definition at line 609 of file fbshader.h.


Function Documentation

FB_FORWARD ( FBRenderOptions   ) 

FBRenderOptions.


Please send us your comments about this page.