MCPcopy Create free account
hub / github.com/MethanePowered/MethaneKit / Render

Method Render

Apps/02-HelloCube/HelloCubeApp.cpp:259–285  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

257 }
258
259 bool Render() override
260 {
261 if (!GraphicsApp::Render())
262 return false;
263
264 const HelloCubeFrame& frame = GetCurrentFrame();
265
266 // Issue commands for cube rendering
267 META_DEBUG_GROUP_VAR(s_debug_group, "Cube Rendering");
268 frame.render_cmd_list.ResetWithState(m_render_state, &s_debug_group);
269 frame.render_cmd_list.SetViewState(GetViewState());
270#ifdef UNIFORMS_ENABLED
271 frame.render_cmd_list.SetProgramBindings(frame.program_bindings);
272 frame.render_cmd_list.SetVertexBuffers(m_vertex_buffer_set);
273#else
274 frame.render_cmd_list.SetVertexBuffers(frame.vertex_buffer_set);
275#endif
276 frame.render_cmd_list.SetIndexBuffer(m_index_buffer);
277 frame.render_cmd_list.DrawIndexed(Rhi::RenderPrimitive::Triangle);
278 frame.render_cmd_list.Commit();
279
280 // Execute command list on render queue and present frame to screen
281 m_render_cmd_queue.Execute(frame.execute_cmd_list_set);
282 GetRenderContext().Present();
283
284 return true;
285 }
286
287 void OnContextReleased(Rhi::IContext& context) override
288 {

Callers

nothing calls this directly

Calls 9

ResetWithStateMethod · 0.45
SetViewStateMethod · 0.45
SetProgramBindingsMethod · 0.45
SetVertexBuffersMethod · 0.45
SetIndexBufferMethod · 0.45
DrawIndexedMethod · 0.45
CommitMethod · 0.45
ExecuteMethod · 0.45
PresentMethod · 0.45

Tested by

no test coverage detected