Refactor Vertex Shader input vertex layout to use GPUVertexLayout defined on Vertex Buffer rather than Vertex Shader
#3044 #2667
This commit is contained in:
@@ -33,7 +33,7 @@
|
||||
|
||||
// Meta macros used by shaders parser
|
||||
#define META_VS(isVisible, minFeatureLevel)
|
||||
#define META_VS_IN_ELEMENT(type, index, format, slot, offset, slotClass, stepRate, isVisible)
|
||||
#define META_VS_IN_ELEMENT(type, index, format, slot, offset, slotClass, stepRate, isVisible) // [Deprecated in v1.10]
|
||||
#define META_HS(isVisible, minFeatureLevel)
|
||||
#define META_HS_PATCH(inControlPoints)
|
||||
#define META_DS(isVisible, minFeatureLevel)
|
||||
|
||||
@@ -18,8 +18,6 @@ struct VS2PS
|
||||
Texture2D SceneDepthTexture : register(t0);
|
||||
|
||||
META_VS(true, FEATURE_LEVEL_ES2)
|
||||
META_VS_IN_ELEMENT(POSITION, 0, R32G32B32_FLOAT, 0, ALIGN, PER_VERTEX, 0, true)
|
||||
META_VS_IN_ELEMENT(COLOR, 0, R8G8B8A8_UNORM, 0, ALIGN, PER_VERTEX, 0, true)
|
||||
VS2PS VS(float3 Position : POSITION, float4 Color : COLOR)
|
||||
{
|
||||
VS2PS output;
|
||||
|
||||
@@ -42,7 +42,6 @@ struct PixelInput
|
||||
// Vertex shader function for grid rendering
|
||||
META_VS(true, FEATURE_LEVEL_ES2)
|
||||
META_VS_IN_ELEMENT(POSITION, 0, R32G32B32_FLOAT, 0, ALIGN, PER_VERTEX, 0, true)
|
||||
META_VS_IN_ELEMENT(TEXCOORD, 0, R16G16_FLOAT, 1, ALIGN, PER_VERTEX, 0, true)
|
||||
VertexOutput VS_Grid(ModelInput input)
|
||||
{
|
||||
VertexOutput output;
|
||||
|
||||
@@ -40,9 +40,6 @@ struct AtlasVertexOutput
|
||||
|
||||
// Vertex shader for Global Surface Atlas rendering (custom vertex buffer to render per-tile)
|
||||
META_VS(true, FEATURE_LEVEL_SM5)
|
||||
META_VS_IN_ELEMENT(POSITION, 0, R16G16_FLOAT, 0, ALIGN, PER_VERTEX, 0, true)
|
||||
META_VS_IN_ELEMENT(TEXCOORD, 0, R16G16_FLOAT, 0, ALIGN, PER_VERTEX, 0, true)
|
||||
META_VS_IN_ELEMENT(TEXCOORD, 1, R32_UINT, 0, ALIGN, PER_VERTEX, 0, true)
|
||||
AtlasVertexOutput VS_Atlas(AtlasVertexInput input)
|
||||
{
|
||||
AtlasVertexOutput output;
|
||||
|
||||
@@ -23,11 +23,6 @@ META_CB_END
|
||||
Texture2D Image : register(t0);
|
||||
|
||||
META_VS(true, FEATURE_LEVEL_ES2)
|
||||
META_VS_IN_ELEMENT(POSITION, 0, R32G32_FLOAT, 0, ALIGN, PER_VERTEX, 0, true)
|
||||
META_VS_IN_ELEMENT(TEXCOORD, 0, R16G16_FLOAT, 0, ALIGN, PER_VERTEX, 0, true)
|
||||
META_VS_IN_ELEMENT(COLOR, 0, R32G32B32A32_FLOAT, 0, ALIGN, PER_VERTEX, 0, true)
|
||||
META_VS_IN_ELEMENT(TEXCOORD, 1, R32G32B32A32_FLOAT, 0, ALIGN, PER_VERTEX, 0, true)
|
||||
META_VS_IN_ELEMENT(TEXCOORD, 2, R32G32B32A32_FLOAT, 0, ALIGN, PER_VERTEX, 0, true)
|
||||
VS2PS VS(Render2DVertex input)
|
||||
{
|
||||
VS2PS output;
|
||||
|
||||
@@ -16,30 +16,22 @@ META_CB_END
|
||||
|
||||
// Vertex Shader for screen space quad rendering
|
||||
META_VS(true, FEATURE_LEVEL_ES2)
|
||||
META_VS_IN_ELEMENT(POSITION, 0, R32G32_FLOAT, 0, ALIGN, PER_VERTEX, 0, true)
|
||||
META_VS_IN_ELEMENT(TEXCOORD, 0, R32G32_FLOAT, 0, ALIGN, PER_VERTEX, 0, true)
|
||||
Quad_VS2PS VS(float2 Position : POSITION0, float2 TexCoord : TEXCOORD0)
|
||||
{
|
||||
Quad_VS2PS output;
|
||||
|
||||
output.Position = float4(Position, 0, 1);
|
||||
output.TexCoord = TexCoord;
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
// Vertex Shader function for postFx materials rendering
|
||||
META_VS(true, FEATURE_LEVEL_ES2)
|
||||
META_VS_IN_ELEMENT(POSITION, 0, R32G32_FLOAT, 0, ALIGN, PER_VERTEX, 0, true)
|
||||
META_VS_IN_ELEMENT(TEXCOORD, 0, R32G32_FLOAT, 0, ALIGN, PER_VERTEX, 0, true)
|
||||
MaterialVertexOutput VS_PostFx(float2 Position : POSITION0, float2 TexCoord : TEXCOORD0)
|
||||
{
|
||||
MaterialVertexOutput output;
|
||||
|
||||
output.Position = float4(Position, 0, 1);
|
||||
output.WorldPosition = output.Position.xyz;
|
||||
output.TexCoord = TexCoord;
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
|
||||
@@ -112,7 +112,6 @@ float3 GetVolumeUV(float3 worldPosition, float4x4 worldToClip)
|
||||
// Vertex shader that writes to a range of slices of a volume texture
|
||||
META_VS(true, FEATURE_LEVEL_SM5)
|
||||
META_FLAG(VertexToGeometryShader)
|
||||
META_VS_IN_ELEMENT(TEXCOORD, 0, R32G32_FLOAT, 0, ALIGN, PER_VERTEX, 0, true)
|
||||
Quad_VS2GS VS_WriteToSlice(float2 TexCoord : TEXCOORD0, uint LayerIndex : SV_InstanceID)
|
||||
{
|
||||
Quad_VS2GS output;
|
||||
|
||||
Reference in New Issue
Block a user