mirror of
https://github.com/aharabada/glitchy-engine-beef.git
synced 2026-09-05 21:01:52 +00:00
cbuffers now initialized with default values from shader
This commit is contained in:
@@ -88,8 +88,6 @@ namespace GlitchyEngine
|
||||
{
|
||||
_vertexShader = Shader.FromFile!<VertexShader>(_window.Context, "content\\basicShader.hlsl", "VS");
|
||||
|
||||
_vertexShader.Buffers[0].SetData(Matrix.Identity);
|
||||
|
||||
// Create Input Layout
|
||||
|
||||
_vertexLayout = new VertexLayout(_window.Context, new .(
|
||||
|
||||
@@ -67,7 +67,25 @@ namespace GlitchyEngine.Renderer
|
||||
{
|
||||
GlitchyEngine.Renderer.BufferDescription cBufferDesc = .(bufferDesc.Size, .Constant, .Dynamic, .Write);
|
||||
|
||||
_buffers.Add(bindDesc.BindPoint, StringView(bufferDesc.Name), new Buffer(_context, cBufferDesc), true);
|
||||
let buffer = new Buffer(_context, cBufferDesc);
|
||||
|
||||
_buffers.Add(bindDesc.BindPoint, StringView(bufferDesc.Name), buffer, true);
|
||||
|
||||
// Buffer for default values
|
||||
uint8* rawData = new:ScopedAlloc! uint8[bufferDesc.Size]*;
|
||||
|
||||
// Get default values
|
||||
for(uint32 variable < bufferDesc.Variables)
|
||||
{
|
||||
let variableReflection = bufferReflection.GetVariableByIndex(variable);
|
||||
|
||||
variableReflection.GetDescription(let varDesc);
|
||||
|
||||
if(varDesc.DefaultValue != null)
|
||||
Internal.MemCpy(rawData + varDesc.StartOffset, varDesc.DefaultValue, varDesc.Size);
|
||||
}
|
||||
|
||||
buffer.SetData(Span<uint8>(rawData, bufferDesc.Size));
|
||||
}
|
||||
}
|
||||
reflection.Release();
|
||||
|
||||
Reference in New Issue
Block a user