private void RunLoadGeometryToBuffer(SceneParser sceneParser, ref CommandBuffer commands, ref ComputeBuffer triangleDataBuffer) { PipelineMaterialToBuffer.MaterialsToBuffer(sceneParser.GetMaterials(), ref commands); LoadBufferWithTriangles(sceneParser, triangleDataBuffer: ref triangleDataBuffer); }
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()); } }
private void InitSceneParsing() { m_sceneParser = SceneParser.Instance; }