Torque3D Documentation / _generateds / materialFeatureTypes.h

materialFeatureTypes.h

Engine/source/materials/materialFeatureTypes.h

More...

Public Enumerations

enum
MaterialFeatureGroup {
  MFG_PreTransform 
  MFG_Transform 
  MFG_PostTransform 
  MFG_PreTexture 
  MFG_Texture 
  MFG_PreLighting 
  MFG_Lighting 
  MFG_PostLighting 
  MFG_PostProcess 
  MFG_Misc = -1
}

Public Functions

DeclareFeatureType(MFT_AccuCoverage )
DeclareFeatureType(MFT_AccuDirection )
DeclareFeatureType(MFT_AccuMap )
DeclareFeatureType(MFT_AccuScale )
DeclareFeatureType(MFT_AccuSpecular )
DeclareFeatureType(MFT_AccuStrength )
DeclareFeatureType(MFT_AlphaTest )

This feature is used to do alpha test clipping in the shader which can be faster on SM3 and is needed when the render state alpha test is not available.

DeclareFeatureType(MFT_CubeMap )
DeclareFeatureType(MFT_DeferredEmptySpec )
DeclareFeatureType(MFT_DeferredMatInfoFlags )
DeclareFeatureType(MFT_DeferredSpecMap )
DeclareFeatureType(MFT_DeferredSpecVars )
DeclareFeatureType(MFT_DepthOut )
DeclareFeatureType(MFT_DetailMap )
DeclareFeatureType(MFT_DetailNormalMap )
DeclareFeatureType(MFT_DiffuseColor )
DeclareFeatureType(MFT_DiffuseMap )
DeclareFeatureType(MFT_DiffuseMapAtlas )
DeclareFeatureType(MFT_DiffuseVertColor )

This feature enables vertex coloring for the diffuse channel.

DeclareFeatureType(MFT_EyeSpaceDepthOut )
DeclareFeatureType(MFT_Foliage )
DeclareFeatureType(MFT_ForwardShading )

This feature is used to indicate that the material should use forward shading instead of deferred shading (if applicable)

DeclareFeatureType(MFT_GlossMap )
DeclareFeatureType(MFT_GlowMask )
DeclareFeatureType(MFT_HardwareSkinning )
DeclareFeatureType(MFT_HDROut )

This should be the last feature of any material that renders to a HDR render target.

DeclareFeatureType(MFT_Imposter )
DeclareFeatureType(MFT_ImposterVert )

A special vertex feature which unpacks the imposter vertex so that the rest of the material features can work on it.

DeclareFeatureType(MFT_InterlacedPrePass )
DeclareFeatureType(MFT_isDeferred )
DeclareFeatureType(MFT_IsDXTnm )

This feature does normal map decompression for DXT1/5.

DeclareFeatureType(MFT_IsEmissive )
DeclareFeatureType(MFT_IsSinglePassParaboloid )

This feature is queried from the MFT_ParaboloidVertTransform feature to detect if it needs to generate a single pass.

DeclareFeatureType(MFT_IsTranslucent )

This feature is only used to detect alpha transparency and does not have any code associtated with it.

DeclareFeatureType(MFT_IsTranslucentZWrite )
DeclareFeatureType(MFT_LightbufferMRT )

This feature causes MFT_ToneMap and MFT_LightMap to output their light color to the second render-target.

DeclareFeatureType(MFT_LightMap )
DeclareFeatureType(MFT_MinnaertShading )
DeclareFeatureType(MFT_NormalMap )
DeclareFeatureType(MFT_NormalMapAtlas )
DeclareFeatureType(MFT_NormalsOut )

This feature causes MFT_NormalMap to set the world space normal vector to the output color rgb.

DeclareFeatureType(MFT_OverlayMap )
DeclareFeatureType(MFT_ParaboloidVertTransform )

A special transform with paraboloid warp used in shadow and reflection rendering.

DeclareFeatureType(MFT_Parallax )
DeclareFeatureType(MFT_ParticleNormal )
DeclareFeatureType(MFT_PixSpecular )
DeclareFeatureType(MFT_PrePassConditioner )
DeclareFeatureType(MFT_RenderTarget1_Zero )

This feature outputs black to RenderTarget3.

DeclareFeatureType(MFT_RenderTarget2_Zero )
DeclareFeatureType(MFT_RenderTarget3_Zero )
DeclareFeatureType(MFT_RTLighting )
DeclareFeatureType(MFT_SkyBox )
DeclareFeatureType(MFT_SpecularMap )
DeclareFeatureType(MFT_SubSurface )
DeclareFeatureType(MFT_TexAnim )
DeclareFeatureType(MFT_ToneMap )
DeclareFeatureType(MFT_UseInstancing )

If defined then this shader should use hardware mesh instancing.

DeclareFeatureType(MFT_VertLit )
DeclareFeatureType(MFT_VertLitTone )
DeclareFeatureType(MFT_VertTransform )

The standard vertex transform.

DeclareFeatureType(MFT_Visibility )

Detailed Description

Public Enumerations

MaterialFeatureGroup

Enumerator

MFG_PreTransform

One or more pre-transform features are allowed at any one time and are executed in order to each other.

MFG_Transform

Only one transform feature is allowed at any one time.

MFG_PostTransform
MFG_PreTexture

The features that need to occur before texturing takes place.

Usually these are features that will manipulate or generate texture coords.

MFG_Texture

The different diffuse color features including textures and colors.

MFG_PreLighting
MFG_Lighting
MFG_PostLighting
MFG_PostProcess

Final features like fogging.

MFG_Misc = -1

Miscellaneous features that require no specialized ShaderFeature object and are just queried as flags.

Public Functions

DeclareFeatureType(MFT_AccuCoverage )

DeclareFeatureType(MFT_AccuDirection )

DeclareFeatureType(MFT_AccuMap )

DeclareFeatureType(MFT_AccuScale )

DeclareFeatureType(MFT_AccuSpecular )

DeclareFeatureType(MFT_AccuStrength )

DeclareFeatureType(MFT_AlphaTest )

This feature is used to do alpha test clipping in the shader which can be faster on SM3 and is needed when the render state alpha test is not available.

DeclareFeatureType(MFT_CubeMap )

DeclareFeatureType(MFT_DeferredEmptySpec )

DeclareFeatureType(MFT_DeferredMatInfoFlags )

DeclareFeatureType(MFT_DeferredSpecMap )

DeclareFeatureType(MFT_DeferredSpecVars )

DeclareFeatureType(MFT_DepthOut )

DeclareFeatureType(MFT_DetailMap )

DeclareFeatureType(MFT_DetailNormalMap )

DeclareFeatureType(MFT_DiffuseColor )

DeclareFeatureType(MFT_DiffuseMap )

DeclareFeatureType(MFT_DiffuseMapAtlas )

DeclareFeatureType(MFT_DiffuseVertColor )

This feature enables vertex coloring for the diffuse channel.

DeclareFeatureType(MFT_EyeSpaceDepthOut )

DeclareFeatureType(MFT_Fog )

DeclareFeatureType(MFT_Foliage )

DeclareFeatureType(MFT_ForwardShading )

This feature is used to indicate that the material should use forward shading instead of deferred shading (if applicable)

DeclareFeatureType(MFT_GlossMap )

DeclareFeatureType(MFT_GlowMask )

DeclareFeatureType(MFT_HardwareSkinning )

DeclareFeatureType(MFT_HDROut )

This should be the last feature of any material that renders to a HDR render target.

It converts the high dynamic range color into the correct HDR encoded format.

DeclareFeatureType(MFT_Imposter )

DeclareFeatureType(MFT_ImposterVert )

A special vertex feature which unpacks the imposter vertex so that the rest of the material features can work on it.

DeclareFeatureType(MFT_InterlacedPrePass )

DeclareFeatureType(MFT_isDeferred )

DeclareFeatureType(MFT_IsDXTnm )

This feature does normal map decompression for DXT1/5.

DeclareFeatureType(MFT_IsEmissive )

DeclareFeatureType(MFT_IsSinglePassParaboloid )

This feature is queried from the MFT_ParaboloidVertTransform feature to detect if it needs to generate a single pass.

DeclareFeatureType(MFT_IsTranslucent )

This feature is only used to detect alpha transparency and does not have any code associtated with it.


DeclareFeatureType(MFT_IsTranslucentZWrite )

DeclareFeatureType(MFT_LightbufferMRT )

This feature causes MFT_ToneMap and MFT_LightMap to output their light color to the second render-target.

DeclareFeatureType(MFT_LightMap )

DeclareFeatureType(MFT_MinnaertShading )

DeclareFeatureType(MFT_NormalMap )

DeclareFeatureType(MFT_NormalMapAtlas )

DeclareFeatureType(MFT_NormalsOut )

This feature causes MFT_NormalMap to set the world space normal vector to the output color rgb.

DeclareFeatureType(MFT_OverlayMap )

DeclareFeatureType(MFT_ParaboloidVertTransform )

A special transform with paraboloid warp used in shadow and reflection rendering.

DeclareFeatureType(MFT_Parallax )

DeclareFeatureType(MFT_ParticleNormal )

DeclareFeatureType(MFT_PixSpecular )

DeclareFeatureType(MFT_PrePassConditioner )

DeclareFeatureType(MFT_RenderTarget1_Zero )

This feature outputs black to RenderTarget3.

DeclareFeatureType(MFT_RenderTarget2_Zero )

DeclareFeatureType(MFT_RenderTarget3_Zero )

DeclareFeatureType(MFT_RTLighting )

DeclareFeatureType(MFT_SkyBox )

DeclareFeatureType(MFT_SpecularMap )

DeclareFeatureType(MFT_SubSurface )

DeclareFeatureType(MFT_TexAnim )

DeclareFeatureType(MFT_ToneMap )

DeclareFeatureType(MFT_UseInstancing )

If defined then this shader should use hardware mesh instancing.

DeclareFeatureType(MFT_VertLit )

DeclareFeatureType(MFT_VertLitTone )

DeclareFeatureType(MFT_VertTransform )

The standard vertex transform.

DeclareFeatureType(MFT_Visibility )

  1
  2//-----------------------------------------------------------------------------
  3// Copyright (c) 2012 GarageGames, LLC
  4//
  5// Permission is hereby granted, free of charge, to any person obtaining a copy
  6// of this software and associated documentation files (the "Software"), to
  7// deal in the Software without restriction, including without limitation the
  8// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
  9// sell copies of the Software, and to permit persons to whom the Software is
 10// furnished to do so, subject to the following conditions:
 11//
 12// The above copyright notice and this permission notice shall be included in
 13// all copies or substantial portions of the Software.
 14//
 15// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 16// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 17// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 18// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 19// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 20// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 21// IN THE SOFTWARE.
 22//-----------------------------------------------------------------------------
 23
 24#ifndef _MATERIALFEATURETYPES_H_
 25#define _MATERIALFEATURETYPES_H_
 26
 27#ifndef _FEATURETYPE_H_
 28#include "shaderGen/featureType.h"
 29#endif
 30
 31
 32///
 33enum MaterialFeatureGroup
 34{
 35   /// One or more pre-transform features are 
 36   /// allowed at any one time and are executed
 37   /// in order to each other.
 38   MFG_PreTransform,
 39
 40   /// Only one transform feature is allowed at
 41   /// any one time.
 42   MFG_Transform,
 43
 44   /// 
 45   MFG_PostTransform,
 46
 47   /// The features that need to occur before texturing
 48   /// takes place.  Usually these are features that will
 49   /// manipulate or generate texture coords.
 50   MFG_PreTexture,
 51
 52   /// The different diffuse color features including
 53   /// textures and colors.
 54   MFG_Texture,
 55
 56   /// 
 57   MFG_PreLighting,
 58
 59   /// 
 60   MFG_Lighting,
 61
 62   /// 
 63   MFG_PostLighting,
 64
 65   /// Final features like fogging.
 66   MFG_PostProcess,
 67
 68   /// Miscellaneous features that require no specialized 
 69   /// ShaderFeature object and are just queried as flags.
 70   MFG_Misc = -1,
 71};
 72
 73/// If defined then this shader should use hardware mesh instancing.
 74DeclareFeatureType( MFT_UseInstancing );
 75
 76/// The standard vertex transform.
 77DeclareFeatureType( MFT_VertTransform );
 78
 79/// A special transform with paraboloid warp used 
 80/// in shadow and reflection rendering.
 81DeclareFeatureType( MFT_ParaboloidVertTransform );
 82
 83/// This feature is queried from the MFT_ParaboloidVertTransform 
 84/// feature to detect if it needs to generate a single pass.
 85DeclareFeatureType( MFT_IsSinglePassParaboloid );
 86
 87/// This feature does normal map decompression for DXT1/5.
 88DeclareFeatureType( MFT_IsDXTnm );
 89
 90DeclareFeatureType( MFT_TexAnim );
 91DeclareFeatureType( MFT_Parallax );
 92
 93DeclareFeatureType( MFT_DiffuseMap );
 94DeclareFeatureType( MFT_OverlayMap );
 95DeclareFeatureType( MFT_DetailMap );
 96DeclareFeatureType( MFT_DiffuseColor );
 97DeclareFeatureType( MFT_DetailNormalMap );
 98DeclareFeatureType( MFT_Imposter );
 99
100DeclareFeatureType( MFT_AccuMap );
101DeclareFeatureType( MFT_AccuScale );
102DeclareFeatureType( MFT_AccuDirection );
103DeclareFeatureType( MFT_AccuStrength );
104DeclareFeatureType( MFT_AccuCoverage );
105DeclareFeatureType( MFT_AccuSpecular );
106
107/// This feature enables vertex coloring for the diffuse channel.
108DeclareFeatureType( MFT_DiffuseVertColor );
109
110/// This feature is used to do alpha test clipping in
111/// the shader which can be faster on SM3 and is needed
112/// when the render state alpha test is not available.
113DeclareFeatureType( MFT_AlphaTest );
114
115DeclareFeatureType( MFT_NormalMap );
116DeclareFeatureType( MFT_RTLighting );
117
118DeclareFeatureType( MFT_IsEmissive );
119DeclareFeatureType( MFT_SubSurface );
120DeclareFeatureType( MFT_LightMap );
121DeclareFeatureType( MFT_ToneMap );
122DeclareFeatureType( MFT_VertLit );
123DeclareFeatureType( MFT_VertLitTone );
124
125DeclareFeatureType( MFT_CubeMap );
126DeclareFeatureType( MFT_PixSpecular );
127DeclareFeatureType( MFT_SpecularMap );
128DeclareFeatureType( MFT_GlossMap );
129
130/// This feature is only used to detect alpha transparency
131/// and does not have any code associtated with it. 
132DeclareFeatureType( MFT_IsTranslucent );
133
134///
135DeclareFeatureType( MFT_IsTranslucentZWrite );
136
137/// This feature causes MFT_NormalMap to set the world
138/// space normal vector to the output color rgb.
139DeclareFeatureType( MFT_NormalsOut );
140
141DeclareFeatureType( MFT_MinnaertShading );
142DeclareFeatureType( MFT_GlowMask );
143DeclareFeatureType( MFT_Visibility );
144DeclareFeatureType( MFT_EyeSpaceDepthOut );
145DeclareFeatureType( MFT_DepthOut );
146DeclareFeatureType( MFT_Fog );
147
148/// This should be the last feature of any material that
149/// renders to a HDR render target.  It converts the high
150/// dynamic range color into the correct HDR encoded format.
151DeclareFeatureType( MFT_HDROut );
152
153///
154DeclareFeatureType( MFT_PrePassConditioner );
155DeclareFeatureType( MFT_InterlacedPrePass );
156
157/// This feature causes MFT_ToneMap and MFT_LightMap to output their light color
158/// to the second render-target
159DeclareFeatureType( MFT_LightbufferMRT );
160
161/// This feature outputs black to RenderTarget3
162DeclareFeatureType( MFT_RenderTarget1_Zero );
163DeclareFeatureType( MFT_RenderTarget2_Zero );
164DeclareFeatureType( MFT_RenderTarget3_Zero );
165
166DeclareFeatureType( MFT_Foliage );
167
168// Texture atlasing features
169DeclareFeatureType( MFT_DiffuseMapAtlas );
170DeclareFeatureType( MFT_NormalMapAtlas );
171
172// Particle features
173DeclareFeatureType( MFT_ParticleNormal );
174
175/// This feature is used to indicate that the material should use forward shading
176/// instead of deferred shading (if applicable)
177DeclareFeatureType( MFT_ForwardShading );
178
179/// A special vertex feature which unpacks the imposter vertex
180/// so that the rest of the material features can work on it.
181DeclareFeatureType( MFT_ImposterVert );
182
183DeclareFeatureType( MFT_HardwareSkinning );
184
185
186// Deferred Shading
187DeclareFeatureType( MFT_isDeferred );
188DeclareFeatureType( MFT_SkyBox );
189DeclareFeatureType( MFT_DeferredSpecMap );
190DeclareFeatureType( MFT_DeferredSpecVars );
191DeclareFeatureType( MFT_DeferredMatInfoFlags );
192DeclareFeatureType( MFT_DeferredEmptySpec );
193#endif // _MATERIALFEATURETYPES_H_
194