예제 #1
0
 public void Render(string targetImage, string depthTarget)
 {
     if (cur_cntr == 0)
     {
         indexBuffer.Update();
         paramBuffer.Update();
     }
     Engine.RenderGraph.QueueOp(new GpuOp()
     {
         ColorAttachments = new string[] { targetImage },
         DepthAttachment  = depthTarget,
         PassName         = "TerrainFace_pass",
         Resources        = new string[] {
             Engine.GlobalParameters.Name,
             paramBuffer.Name,
             heightDataBufferName,
         },
         Cmd              = GpuCmd.DrawIndexed,
         IndexCount       = indexCount,
         IndexBuffer      = indexBuffer.Name,
         IndexType        = IndexType.U32,
         PushConstantsLen = pushConstantsLen,
         PushConstants    = pushConstants,
     });
 }
예제 #2
0
 private static void Engine_OnUpdate(double time_ms, double delta_ms)
 {
     planetBuffers.Update();
     planet.Update();
 }
예제 #3
0
 private static void Engine_OnUpdate(double time_ms, double delta_ms)
 {
     vertexBuffer.Update();
     indexBuffer.Update();
     rayIntersections.Update();
 }