Declaration for the classes FBShaderManager, FBShader,
FBPropertyListShader and other
subclasses. More...
#include
<kaydaradef.h>
#include <fbsdk/fbcomponent.h>
#include <fbsdk/fbcore.h>
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
|
|
K_FORWARD
(KRenderOptions) |
|
K_FORWARD
(KModelRenderInfo) |
|
K_FORWARD
(IGraphicPrimitives) |
|
FB_FORWARD
(FBShaderManager) |
|
FB_FORWARD
(FBShader) |
|
FB_FORWARD
(FBShaderModelInfo) |
|
FB_FORWARD
(FBRenderOptions) |
|
FBRenderOptions.
|
|
FB_DEFINE_ENUM
(FBSDK_DLL, RenderingPass) |
|
FB_FORWARD
(FBRenderer) |
|
__FB_FORWARD
(FBShader) |
|
FB_DEFINE_COMPONENT
(FBSDK_DLL, Shader) |
|
FB_DEFINE_LIST
(FBSDK_DLL, Shader) |
|
FB_FORWARD
(FBShaderLighted) |
|
FB_DEFINE_COMPONENT
(FBSDK_DLL, ShaderLighted) |
|
FB_FORWARD
(FBShaderShadowLive) |
|
FB_DEFINE_COMPONENT
(FBSDK_DLL, ShaderShadowLive) |
|
FB_DEFINE_ENUM
(FBSDK_DLL, ShadowType) |
|
FB_DEFINE_ENUM
(FBSDK_DLL, ShadowFrameType) |
Detailed Description
Declaration for the classes FBShaderManager, FBShader,
FBPropertyListShader and other
subclasses.
Definition in file fbshader.h.
Define Documentation
#define
FBSDK_DLL K_DLLIMPORT |
Be sure that FBSDK_DLL is defined only once...
Definition at line 50 of file fbshader.h.
#define FBRegisterShader |
( |
|
UniqueNameStr, |
|
|
|
ClassName, |
|
|
|
Label, |
|
|
|
Description, |
|
|
|
IconFilename |
|
) |
|
|
Value:
HIObject RegisterShader##ClassName( HIObject ,char * pName,void * ) \
{ \
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 FBShaderDeclare |
( |
|
ClassName, |
|
|
|
Parent |
|
) |
|
|
Value:
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
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.
{
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
};
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.
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.
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.
Function Documentation
K_FORWARD |
( |
KRenderOptions |
|
) |
|
K_FORWARD |
( |
KModelRenderInfo |
|
) |
|
K_FORWARD |
( |
IGraphicPrimitives |
|
) |
|
FB_DEFINE_ENUM |
( |
FBSDK_DLL |
, |
|
|
RenderingPass |
|
|
) |
|
|
FB_DEFINE_COMPONENT |
( |
FBSDK_DLL |
, |
|
|
Shader |
|
|
) |
|
|
FB_DEFINE_LIST |
( |
FBSDK_DLL |
, |
|
|
Shader |
|
|
) |
|
|
FB_DEFINE_COMPONENT |
( |
FBSDK_DLL |
, |
|
|
ShaderLighted |
|
|
) |
|
|
FB_DEFINE_COMPONENT |
( |
FBSDK_DLL |
, |
|
|
ShaderShadowLive |
|
|
) |
|
|
FB_DEFINE_ENUM |
( |
FBSDK_DLL |
, |
|
|
ShadowType |
|
|
) |
|
|
FB_DEFINE_ENUM |
( |
FBSDK_DLL |
, |
|
|
ShadowFrameType |
|
|
) |
|
|