public void Resize(int size) { m_Handle?.Dispose(); m_Size = size; m_Desc.SizeInBytes = m_Size; m_Handle = new SharpDX.Direct3D11.Buffer(Context.Instance.Dev, m_Desc); }
public void SetPSUserUniformBuffer <T>(T data) where T : struct { D3D11.Buffer cbuffer = m_PSConstantBuffers[m_PSUserUniformBuffer.Register]; DataBox dataBox = Context.Instance.DevCon.MapSubresource(cbuffer, 0, D3D11.MapMode.WriteDiscard, D3D11.MapFlags.None); Utilities.Write(dataBox.DataPointer, ref data); Context.Instance.DevCon.UnmapSubresource(cbuffer, 0); }
public void SetPSSystemUniformBuffer <T>(T data, int slot) where T : struct { if (m_PSUserUniformBuffer != null) { Debug.Assert(slot != m_PSUserUniformBuffer.Register); } D3D11.Buffer cbuffer = m_PSConstantBuffers[slot]; DataBox dataBox = Context.Instance.DevCon.MapSubresource(cbuffer, 0, D3D11.MapMode.WriteDiscard, D3D11.MapFlags.None); Utilities.Write(dataBox.DataPointer, ref data); Context.Instance.DevCon.UnmapSubresource(cbuffer, 0); }
public unsafe IndexBuffer(uint[] data) { Count = data.Length; var desc = new D3D11.BufferDescription { Usage = D3D11.ResourceUsage.Default, SizeInBytes = sizeof(uint) * Count, BindFlags = D3D11.BindFlags.IndexBuffer, CpuAccessFlags = D3D11.CpuAccessFlags.None, OptionFlags = D3D11.ResourceOptionFlags.None }; DataStream dataStream = new DataStream(desc.SizeInBytes, true, true); foreach (uint i in data) { dataStream.Write(i); } dataStream.Position = 0; m_Handle = new D3D11.Buffer(Context.Instance.Dev, dataStream, desc); }