move arbtri under new pipeline system
This commit is contained in:
parent
fde02a1dc7
commit
0a123efc55
@ -379,9 +379,13 @@ draw_world_triles :: (cam: *Camera, world: *World) {
|
||||
}
|
||||
|
||||
draw_level_editor :: () {
|
||||
cam := get_level_editor_camera();
|
||||
draw_sky(*get_level_editor_camera(), *world.conf);
|
||||
draw_world_triles(*cam, *world);
|
||||
camtask := Rendering_Task_Set_Camera.{type = .SET_CAMERA, camera = get_level_editor_camera()};
|
||||
add_rendering_task(camtask);
|
||||
skytask := Rendering_Task_Sky.{type = .SKY, worldConfig = *world.conf};
|
||||
add_rendering_task(skytask);
|
||||
groundtask := Rendering_Task_Ground.{type = .GROUND, world = *world};
|
||||
add_rendering_task(groundtask);
|
||||
// draw_world_triles(*cam, *world);
|
||||
}
|
||||
|
||||
draw_level_editor_ui :: (theme: *GR.Overall_Theme) {
|
||||
|
||||
@ -254,11 +254,12 @@ draw_material_tab :: (theme: *GR.Overall_Theme, area: GR.Rect) {
|
||||
|
||||
|
||||
draw_trile_editor :: () {
|
||||
draw_sky(*get_trile_editor_camera());
|
||||
|
||||
draw_trile();
|
||||
}
|
||||
|
||||
draw_trile :: () {
|
||||
return; // @ToDo: Implement this using the new drawing commands.
|
||||
if is_in_reflection_pass then return; // We don't want to double update the buffer.
|
||||
|
||||
if editor_current_trile == null then return;
|
||||
|
||||
20
src/main.jai
20
src/main.jai
@ -138,30 +138,16 @@ frame :: () {
|
||||
GR.getrect_handle_event(event);
|
||||
}
|
||||
|
||||
sgl_defaults();
|
||||
sgl_matrix_mode_projection();
|
||||
sgl_ortho(0.0, sapp_widthf(), sapp_heightf(), 0.0, -1.0, +1.0);
|
||||
|
||||
tick_ui();
|
||||
|
||||
// This populates our render task queue.
|
||||
if !in_editor_view then game_draw();
|
||||
|
||||
ui_clear_mouse_occluders();
|
||||
ui_pass();
|
||||
draw_editor();
|
||||
render();
|
||||
// sg_begin_pass(*(sg_pass.{ action = state.pass_action_clear, attachments = gPipelines.plane.attachments}));
|
||||
// is_in_reflection_pass = true;
|
||||
// draw_editor();
|
||||
// is_in_reflection_pass = false;
|
||||
// sg_end_pass();
|
||||
|
||||
// sg_begin_pass(*(sg_pass.{ action = state.pass_action_clear, swapchain = cast,force(sg_swapchain) sglue_swapchain() }));
|
||||
// draw_editor();
|
||||
// if !in_editor_view then game_draw();
|
||||
// ui_clear_mouse_occluders();
|
||||
// ui_pass();
|
||||
// sg_end_pass();
|
||||
// sg_commit();
|
||||
|
||||
input_per_frame_event_and_flag_update();
|
||||
#if MEM_DEBUG {
|
||||
memory_visualizer_per_frame_update();
|
||||
|
||||
@ -110,7 +110,6 @@ layer : s32 = 0;
|
||||
|
||||
flush_arb_commands :: () {
|
||||
sfons_flush(state.fons); // All the text has been drawn, now flush it to the atlas.
|
||||
|
||||
layer = 0;
|
||||
if debug_arb_flush then print(" --- !BEGIN FLUSH! ---- \n");
|
||||
for arbTriState.command_list {
|
||||
|
||||
@ -72,8 +72,18 @@ backend_process_command_buckets :: () {
|
||||
for render_command_buckets.main {
|
||||
backend_handle_command(it);
|
||||
}
|
||||
// 3.2 Draw the UI. @ToDo: This should probably happen after post processing once we have that.
|
||||
// Also, it's kind of stupid that this has it's own command system. It should be moved to using the
|
||||
// same backend commands we are using for other rendering.
|
||||
sgl_defaults();
|
||||
sgl_matrix_mode_projection();
|
||||
sgl_ortho(0.0, sapp_widthf(), sapp_heightf(), 0.0, -1.0, +1.0);
|
||||
arb_tri_flush();
|
||||
|
||||
// End the main pass
|
||||
sg_end_pass();
|
||||
|
||||
|
||||
sg_commit();
|
||||
|
||||
array_reset_keeping_memory(*render_command_buckets.setup);
|
||||
|
||||
@ -405,5 +405,4 @@ render_ui :: () {
|
||||
|
||||
ui_pass :: () {
|
||||
render_ui(); // Generates commands that are handled in arb_tri_flush
|
||||
arb_tri_flush();
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user