WFX: Difference between revisions
Jump to navigation
Jump to search
(New page: '''Bold''' characters are needed for parsing the file right. Non-bold functions are optional. '''Effect('''name, unk''')''' '''{''' '''FixedFunc()''' '''{''' '''Pass(type, unk)'...) |
No edit summary |
||
Line 1: | Line 1: | ||
'''Bold''' characters are needed for parsing the file right. Non-bold functions are optional. | '''Bold''' characters are needed for parsing the file right. Non-bold functions are optional. | ||
The shaders referenced in the RenderState*()s are references to the [[BLS]] files. | |||
'''Effect( | '''Effect(name, unk)''' // this name is referenced from the app (hardcoded) | ||
'''{''' | '''{''' | ||
'''FixedFunc()''' | '''FixedFunc()''' | ||
Line 12: | Line 13: | ||
AlphaOp0(mode); | AlphaOp0(mode); | ||
AlphaOp1(mode); | AlphaOp1(mode); | ||
RenderStateARGB( | RenderStateARGB(shader, color, color); // see list below | ||
RenderStateF( | RenderStateF(shader, float, float); // float | ||
RenderStateI( | RenderStateI(shader, integer, integer); // see list below | ||
'''}''' | '''}''' | ||
''' }''' | ''' }''' | ||
Line 24: | Line 25: | ||
PixelShader(mode); | PixelShader(mode); | ||
Specular(mode); | Specular(mode); | ||
RenderStateARGB( | RenderStateARGB(shader, color, color); // see list below | ||
RenderStateF( | RenderStateF(shader, float, float); // float | ||
RenderStateI( | RenderStateI(shader, integer, integer); // see list below | ||
'''}''' | '''}''' | ||
''' }''' | ''' }''' |
Revision as of 00:18, 27 April 2009
Bold characters are needed for parsing the file right. Non-bold functions are optional.
The shaders referenced in the RenderState*()s are references to the BLS files.
Effect(name, unk) // this name is referenced from the app (hardcoded) { FixedFunc() { Pass(type, unk) { ColorOp0(mode); ColorOp1(mode); AlphaOp0(mode); AlphaOp1(mode); RenderStateARGB(shader, color, color); // see list below RenderStateF(shader, float, float); // float RenderStateI(shader, integer, integer); // see list below } } Shader() { Pass(type, unk) { VertexShader(mode); PixelShader(mode); Specular(mode); RenderStateARGB(shader, color, color); // see list below RenderStateF(shader, float, float); // float RenderStateI(shader, integer, integer); // see list below } } }
Pass: type
- Default
- Opaque
- AlphaKey
- Alpha
- Add
- Mod
- Mod2x
- ModAdd
- InvSrcAlphaAdd
- InvSrcAlphaOpaque
- SrcAlphaOpaque
- NoAlphaAdd
- ConstantAlpha
*****Op*: mode
- Mod
- Mod2x
- Add
- PassThru
- Decal
- Fade
RenderStateARGB: color
- white
- black
- every value getting a good result with strtoul(string, 0, 0x10)
RenderStateI: integer
- true
- false
- TexGen_Disable
- TexGen_Object
- TexGen_World
- TexGen_View
- TexGen_ViewReflection
- TexGen_ViewNormal
- TexGen_SphereMap
- TS_PassThru
- TS_Affine
- TS_Proj
RenderState: type
- MatDiffuse
- MatEmissive
- MatSpecular
- MatSpecularExp
- NormalizeNormals
- SceneAmbient
- DepthTest
- DepthFunc
- DepthWrite
- ColorWrite
- Culling
- ClipPlaneMask
- Lighting
- TexLodBiasZ // Z=0-7
- TexGenZ // Z=0-7
- TextureShaderZ // Z=0-7
- PointScale
- PointScaleAttenuation
- PointScaleMin
- PointScaleMax
- PointSprite
- ConstBlendAlpha
- Unknown