fix: Added (dirty) VertexLayout

This commit is contained in:
Simon Lübeß
2020-12-01 19:58:48 +01:00
parent 1c58d0986e
commit eea334db18
+15 -15
View File
@@ -73,9 +73,10 @@ namespace GlitchyEngine
RasterizerState _rasterizerState ~ delete _; RasterizerState _rasterizerState ~ delete _;
VertexLayout _vertexLayout ~ delete _;
ID3D11VertexShader* _vertexShader ~ _?.Release(); ID3D11VertexShader* _vertexShader ~ _?.Release();
ID3D11PixelShader* _pixelShader ~ _?.Release(); ID3D11PixelShader* _pixelShader ~ _?.Release();
ID3D11InputLayout* _inputLayout ~ _?.Release();
private Vector3 CircleCoord(float angle) private Vector3 CircleCoord(float angle)
{ {
@@ -106,12 +107,10 @@ namespace GlitchyEngine
// Create Input Layout // Create Input Layout
InputElementDescription[2] elementDescs = .( _vertexLayout = new VertexLayout(_window.Context, new .(
InputElementDescription("POSITION", 0, .R32G32B32_Float, 0), VertexElement("POSITION", 0, .R32G32B32_Float, 0),
InputElementDescription("COLOR", 0, .R8G8B8A8_UNorm, 0) VertexElement("COLOR", 0, .R8G8B8A8_UNorm, 0)
); ), vsCode);
result = Window.Context.[Friend]nativeDevice.CreateInputLayout(&elementDescs, (.)elementDescs.Count, vsCode.GetBufferPointer(), vsCode.GetBufferSize(), &_inputLayout);
vsCode.Release(); vsCode.Release();
@@ -213,27 +212,28 @@ namespace GlitchyEngine
_window.Context.SetRenderTarget(null); _window.Context.SetRenderTarget(null);
_window.Context.BindRenderTargets(); _window.Context.BindRenderTargets();
Window.Context.SetVertexBuffer(0, _vertexBuffer); _window.Context.SetVertexBuffer(0, _vertexBuffer);
Window.Context.SetIndexBuffer(_indexBuffer); _window.Context.SetIndexBuffer(_indexBuffer);
var _immediateContext = Window.Context.[Friend]nativeContext; _window.Context.SetVertexLayout(_vertexLayout);
var _immediateContext = _window.Context.[Friend]nativeContext;
_immediateContext.InputAssembler.SetInputLayout(_inputLayout);
_immediateContext.InputAssembler.SetPrimitiveTopology(.TriangleList); _immediateContext.InputAssembler.SetPrimitiveTopology(.TriangleList);
_immediateContext.VertexShader.SetShader(_vertexShader, null, 0); _immediateContext.VertexShader.SetShader(_vertexShader, null, 0);
Window.Context.SetRasterizerState(_rasterizerState); _window.Context.SetRasterizerState(_rasterizerState);
Window.Context.SetViewport(Window.Context.SwapChain.BackbufferViewport); _window.Context.SetViewport(Window.Context.SwapChain.BackbufferViewport);
_immediateContext.PixelShader.SetShader(_pixelShader, null, 0); _immediateContext.PixelShader.SetShader(_pixelShader, null, 0);
Window.Context.DrawIndexed(3 * 6); _window.Context.DrawIndexed(3 * 6);
_imGuiLayer.ImGuiRender(); _imGuiLayer.ImGuiRender();
Window.Context.SwapChain.Present(); _window.Context.SwapChain.Present();
} }
} }