internal void Clear() { if (m_instanceBuffer != null) { m_instanceBuffer.Release(); } m_instanceBuffer = null; }
internal unsafe void Transfer() { var array = m_perInstance.ToArray(); fixed(void *ptr = array) { var intPtr = new IntPtr(ptr); m_instanceBuffer = new MyStructuredBuffer(m_perInstance.Count, sizeof(MyPerInstanceData), ResourceUsage.Default, CpuAccessFlags.None, intPtr); } }
internal override unsafe void SendToGpu() { { var array = m_pageTable.ToArray(); fixed(void *ptr = array) { var intPtr = new IntPtr(ptr); m_indirectionBuffer = new MyStructuredBuffer(m_pageTable.Count, sizeof(MyInstancingTableEntry), ResourceUsage.Default, CpuAccessFlags.None, intPtr); } } { var array = m_perInstance.ToArray(); fixed(void *ptr = array) { var intPtr = new IntPtr(ptr); m_instanceBuffer = new MyStructuredBuffer(m_perInstance.Count, sizeof(MyPerInstanceData), ResourceUsage.Default, CpuAccessFlags.None, intPtr); } } { var array = m_indicesList.ToArray(); fixed(void *ptr = array) { var intPtr = new IntPtr(ptr); m_indicesBuffer = new MyStructuredBuffer(m_indicesList.Count, sizeof(uint), ResourceUsage.Default, CpuAccessFlags.None, intPtr); } } { var array = m_vertexPositionList.ToArray(); fixed(void *ptr = array) { var intPtr = new IntPtr(ptr); m_vertexPositionBuffer = new MyStructuredBuffer(m_vertexPositionList.Count, sizeof(MyVertexFormatPositionHalf4), ResourceUsage.Default, CpuAccessFlags.None, intPtr); } } { var array = m_vertexNormalList.ToArray(); fixed(void *ptr = array) { var intPtr = new IntPtr(ptr); m_vertexNormalBuffer = new MyStructuredBuffer(m_vertexNormalList.Count, sizeof(MyVertexFormatTexcoordNormalTangent), ResourceUsage.Default, CpuAccessFlags.None, intPtr); } } }
internal void Release() { if (m_VB_positions != null) { m_VB_positions.Release(); m_VB_rest.Release(); m_IB.Release(); } m_VB_positions = null; m_VB_rest = null; m_IB = null; }
internal override void Clear() { if (m_indirectionBuffer != null) { m_indirectionBuffer.Release(); m_instanceBuffer.Release(); m_vertexPositionBuffer.Release(); m_vertexNormalBuffer.Release(); } m_indirectionBuffer = null; m_instanceBuffer = null; m_vertexPositionBuffer = null; m_vertexNormalBuffer = null; }
internal unsafe void Transfer() { var array = m_perInstance.ToArray(); fixed (void* ptr = array) { var intPtr = new IntPtr(ptr); m_instanceBuffer = new MyStructuredBuffer(m_perInstance.Count, sizeof(MyPerInstanceData), ResourceUsage.Default, CpuAccessFlags.None, intPtr); } }
internal unsafe void MoveToGPU() { m_VB_positions = new MyStructuredBuffer(m_vertexPositionList.Count, sizeof(MyVertexFormatPositionHalf4), ResourceUsage.Default, CpuAccessFlags.None); m_VB_rest = new MyStructuredBuffer(m_vertexList.Count, sizeof(MyVertexFormatTexcoordNormalTangent), ResourceUsage.Default, CpuAccessFlags.None); m_IB = new MyStructuredBuffer(m_indicesList.Count, sizeof(uint), ResourceUsage.Default, CpuAccessFlags.None); }
internal override unsafe void SendToGpu() { { var array = m_pageTable.ToArray(); fixed (void* ptr = array) { var intPtr = new IntPtr(ptr); m_indirectionBuffer = new MyStructuredBuffer(m_pageTable.Count, sizeof(MyInstancingTableEntry), ResourceUsage.Default, CpuAccessFlags.None, intPtr); } } { var array = m_perInstance.ToArray(); fixed (void* ptr = array) { var intPtr = new IntPtr(ptr); m_instanceBuffer = new MyStructuredBuffer(m_perInstance.Count, sizeof(MyPerInstanceData), ResourceUsage.Default, CpuAccessFlags.None, intPtr); } } { var array = m_indicesList.ToArray(); fixed (void* ptr = array) { var intPtr = new IntPtr(ptr); m_indicesBuffer = new MyStructuredBuffer(m_indicesList.Count, sizeof(uint), ResourceUsage.Default, CpuAccessFlags.None, intPtr); } } { var array = m_vertexPositionList.ToArray(); fixed (void* ptr = array) { var intPtr = new IntPtr(ptr); m_vertexPositionBuffer = new MyStructuredBuffer(m_vertexPositionList.Count, sizeof(MyVertexFormatPositionHalf4), ResourceUsage.Default, CpuAccessFlags.None, intPtr); } } { var array = m_vertexNormalList.ToArray(); fixed (void* ptr = array) { var intPtr = new IntPtr(ptr); m_vertexNormalBuffer = new MyStructuredBuffer(m_vertexNormalList.Count, sizeof(MyVertexFormatTexcoordNormalTangent), ResourceUsage.Default, CpuAccessFlags.None, intPtr); } } }
internal override void Clear() { if (m_indirectionBuffer != null) { m_indirectionBuffer.Release(); m_instanceBuffer.Release(); m_indicesBuffer.Release(); m_vertexPositionBuffer.Release(); m_vertexNormalBuffer.Release(); } m_indirectionBuffer = null; m_instanceBuffer = null; m_indicesBuffer = null; m_vertexPositionBuffer = null; m_vertexNormalBuffer = null; }
internal void Release() { if(m_VB_positions != null) { m_VB_positions.Release(); m_VB_rest.Release(); m_IB.Release(); } m_VB_positions = null; m_VB_rest = null; m_IB = null; }