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

Method Render

Apps/06-CubeMapArray/CubeMapArrayApp.cpp:251–276  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

249}
250
251bool CubeMapArrayApp::Render()
252{
253 if (!UserInterfaceApp::Render())
254 return false;
255
256 const CubeMapArrayFrame& frame = GetCurrentFrame();
257
258 // 1) Render cube instances of 'CUBE_MAP_ARRAY_SIZE' count
259 META_DEBUG_GROUP_VAR(s_debug_group, "Cube Instances Rendering");
260 frame.render_cmd_list.ResetWithState(m_render_state, &s_debug_group);
261 frame.render_cmd_list.SetViewState(GetViewState());
262 m_cube_buffers_ptr->Draw(frame.render_cmd_list, frame.cube.program_bindings, 0U, CUBE_MAP_ARRAY_SIZE);
263
264 // 2) Render sky-box after cubes to minimize overdraw
265 m_sky_box.Draw(frame.render_cmd_list, frame.sky_box.program_bindings, GetViewState());
266
267 RenderOverlay(frame.render_cmd_list);
268
269 frame.render_cmd_list.Commit();
270
271 // Execute command list on render queue and present frame to screen
272 GetRenderContext().GetRenderCommandKit().GetQueue().Execute(frame.execute_cmd_list_set);
273 GetRenderContext().Present();
274
275 return true;
276}
277
278void CubeMapArrayApp::OnContextReleased(rhi::IContext& context)
279{

Callers 1

InitMethod · 0.45

Calls 8

GetQueueMethod · 0.80
GetRenderCommandKitMethod · 0.80
ResetWithStateMethod · 0.45
SetViewStateMethod · 0.45
DrawMethod · 0.45
CommitMethod · 0.45
ExecuteMethod · 0.45
PresentMethod · 0.45

Tested by

no test coverage detected