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_DebugViz )
DeclareFeatureType(MFT_DeferredConditioner )
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_GlowMap )
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_InterlacedDeferred )
DeclareFeatureType(MFT_InvertRoughness )
DeclareFeatureType(MFT_isBackground )
DeclareFeatureType(MFT_IsBC3nm )

This two feature do normal map decompression for DXT5/3dc.

DeclareFeatureType(MFT_IsBC5nm )
DeclareFeatureType(MFT_isDeferred )
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_MatInfoFlags )
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_ORMConfigVars )
DeclareFeatureType(MFT_OrmMap )
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_ReflectionProbes )
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_StaticCubemap )
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_DebugViz )

DeclareFeatureType(MFT_DeferredConditioner )

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_GlowMap )

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_InterlacedDeferred )

DeclareFeatureType(MFT_InvertRoughness )

DeclareFeatureType(MFT_isBackground )

DeclareFeatureType(MFT_IsBC3nm )

This two feature do normal map decompression for DXT5/3dc.

DeclareFeatureType(MFT_IsBC5nm )

DeclareFeatureType(MFT_isDeferred )

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_MatInfoFlags )

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_ORMConfigVars )

DeclareFeatureType(MFT_OrmMap )

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_ReflectionProbes )

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_StaticCubemap )

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 two feature do normal map decompression for DXT5/3dc
 88DeclareFeatureType( MFT_IsBC3nm );
 89DeclareFeatureType( MFT_IsBC5nm );
 90
 91DeclareFeatureType( MFT_TexAnim );
 92DeclareFeatureType( MFT_Parallax );
 93
 94DeclareFeatureType( MFT_DiffuseMap );
 95DeclareFeatureType( MFT_OverlayMap );
 96DeclareFeatureType( MFT_DetailMap );
 97DeclareFeatureType( MFT_DiffuseColor );
 98DeclareFeatureType( MFT_DetailNormalMap );
 99DeclareFeatureType( MFT_Imposter );
100
101DeclareFeatureType( MFT_AccuMap );
102DeclareFeatureType( MFT_AccuScale );
103DeclareFeatureType( MFT_AccuDirection );
104DeclareFeatureType( MFT_AccuStrength );
105DeclareFeatureType( MFT_AccuCoverage );
106DeclareFeatureType( MFT_AccuSpecular );
107
108/// This feature enables vertex coloring for the diffuse channel.
109DeclareFeatureType( MFT_DiffuseVertColor );
110
111/// This feature is used to do alpha test clipping in
112/// the shader which can be faster on SM3 and is needed
113/// when the render state alpha test is not available.
114DeclareFeatureType( MFT_AlphaTest );
115
116DeclareFeatureType( MFT_NormalMap );
117DeclareFeatureType( MFT_RTLighting );
118
119DeclareFeatureType( MFT_IsEmissive );
120DeclareFeatureType( MFT_SubSurface );
121DeclareFeatureType( MFT_LightMap );
122DeclareFeatureType( MFT_ToneMap );
123DeclareFeatureType( MFT_VertLit );
124DeclareFeatureType( MFT_VertLitTone );
125
126DeclareFeatureType( MFT_StaticCubemap );
127DeclareFeatureType( MFT_CubeMap );
128DeclareFeatureType( MFT_InvertRoughness );
129DeclareFeatureType( MFT_OrmMap );
130DeclareFeatureType( MFT_ORMConfigVars );
131
132DeclareFeatureType( MFT_GlowMap );
133
134DeclareFeatureType( MFT_ReflectionProbes );
135
136/// This feature is only used to detect alpha transparency
137/// and does not have any code associtated with it. 
138DeclareFeatureType( MFT_IsTranslucent );
139
140///
141DeclareFeatureType( MFT_IsTranslucentZWrite );
142
143/// This feature causes MFT_NormalMap to set the world
144/// space normal vector to the output color rgb.
145DeclareFeatureType( MFT_NormalsOut );
146
147DeclareFeatureType( MFT_MinnaertShading );
148DeclareFeatureType( MFT_GlowMask );
149DeclareFeatureType( MFT_Visibility );
150DeclareFeatureType( MFT_EyeSpaceDepthOut );
151DeclareFeatureType( MFT_DepthOut );
152DeclareFeatureType( MFT_Fog );
153
154/// This should be the last feature of any material that
155/// renders to a HDR render target.  It converts the high
156/// dynamic range color into the correct HDR encoded format.
157DeclareFeatureType( MFT_HDROut );
158
159DeclareFeatureType( MFT_DebugViz );
160
161///
162DeclareFeatureType( MFT_DeferredConditioner );
163DeclareFeatureType( MFT_InterlacedDeferred );
164
165/// This feature causes MFT_ToneMap and MFT_LightMap to output their light color
166/// to the second render-target
167DeclareFeatureType( MFT_LightbufferMRT );
168
169/// This feature outputs black to RenderTarget3
170DeclareFeatureType( MFT_RenderTarget1_Zero );
171DeclareFeatureType( MFT_RenderTarget2_Zero );
172DeclareFeatureType( MFT_RenderTarget3_Zero );
173
174DeclareFeatureType( MFT_Foliage );
175
176// Texture atlasing features
177DeclareFeatureType( MFT_DiffuseMapAtlas );
178DeclareFeatureType( MFT_NormalMapAtlas );
179
180// Particle features
181DeclareFeatureType( MFT_ParticleNormal );
182
183/// This feature is used to indicate that the material should use forward shading
184/// instead of deferred shading (if applicable)
185DeclareFeatureType( MFT_ForwardShading );
186
187/// A special vertex feature which unpacks the imposter vertex
188/// so that the rest of the material features can work on it.
189DeclareFeatureType( MFT_ImposterVert );
190
191DeclareFeatureType( MFT_HardwareSkinning );
192
193
194// Deferred Shading
195DeclareFeatureType( MFT_isDeferred );
196DeclareFeatureType( MFT_isBackground );
197DeclareFeatureType( MFT_SkyBox );
198DeclareFeatureType( MFT_MatInfoFlags );
199#endif // _MATERIALFEATURETYPES_H_
200