Esempio n. 1
0
 private void RunLoadGeometryToBuffer(SceneParser sceneParser, ref CommandBuffer commands, ref ComputeBuffer triangleDataBuffer)
 {
     PipelineMaterialToBuffer.MaterialsToBuffer(sceneParser.GetMaterials(),
                                                ref commands);
     LoadBufferWithTriangles(sceneParser,
                             triangleDataBuffer: ref triangleDataBuffer);
 }
Esempio n. 2
0
        private void LoadBufferWithTriangles(SceneParser sceneParser, ref ComputeBuffer triangleDataBuffer)
        {
            int triCount = sceneParser.GetTriangles().Count;

            triangleDataBuffer?.Release();

            if (triCount > 0)
            {
                triangleDataBuffer = new ComputeBuffer(triCount, RTTriangle_t.GetSize());
                triangleDataBuffer.SetData(sceneParser.GetTriangles());
            }
            else
            {
                triangleDataBuffer = new ComputeBuffer(1, RTTriangle_t.GetSize());
            }
        }
Esempio n. 3
0
 private void InitSceneParsing()
 {
     m_sceneParser = SceneParser.Instance;
 }