Refactor Vertex Shader input vertex layout to use GPUVertexLayout defined on Vertex Buffer rather than Vertex Shader
#3044 #2667
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
#include "Engine/Graphics/RenderTargetPool.h"
|
||||
#include "Engine/Graphics/Async/GPUSyncPoint.h"
|
||||
#include "Engine/Graphics/Shaders/GPUShader.h"
|
||||
#include "Engine/Graphics/Shaders/GPUVertexLayout.h"
|
||||
#include "Engine/Level/Actors/StaticModel.h"
|
||||
#include "Engine/Level/Scene/SceneRendering.h"
|
||||
#include "Engine/Renderer/ColorGradingPass.h"
|
||||
@@ -767,7 +768,14 @@ bool GlobalSurfaceAtlasPass::Render(RenderContext& renderContext, GPUContext* co
|
||||
for (SceneRendering* scene : renderContext.List->Scenes)
|
||||
surfaceAtlasData.ListenSceneRendering(scene);
|
||||
if (!_vertexBuffer)
|
||||
_vertexBuffer = New<DynamicVertexBuffer>(0u, (uint32)sizeof(AtlasTileVertex), TEXT("GlobalSurfaceAtlas.VertexBuffer"));
|
||||
{
|
||||
auto layout = GPUVertexLayout::Get({
|
||||
{ VertexElement::Types::Position, 0, 0, 0, PixelFormat::R16G16_Float },
|
||||
{ VertexElement::Types::TexCoord0, 0, 0, 0, PixelFormat::R16G16_Float },
|
||||
{ VertexElement::Types::TexCoord1, 0, 0, 0, PixelFormat::R32_UInt },
|
||||
});
|
||||
_vertexBuffer = New<DynamicVertexBuffer>(0u, (uint32)sizeof(AtlasTileVertex), TEXT("GlobalSurfaceAtlas.VertexBuffer"), layout);
|
||||
}
|
||||
|
||||
// Ensure that async objects drawing ended
|
||||
_surfaceAtlasData = &surfaceAtlasData;
|
||||
|
||||
Reference in New Issue
Block a user