Skip to content

Commit 46d3e49

Browse files
authored
Render reorder (#7177)
Move the rendering of ships with effects to immediately after rendering of ships. This fixes rendering in several edge cases where, currently, additively-rendered items, among others, are incorrectly obscured by ships with effects. This affects anything that doesn't render to the depth buffer -- nebula poofs, particles, lasers, beams, engine glows, etc. Forward-rendered objects (due to transparency) still interact incorrectly with full nebula fog, but that's out of scope for this PR.
1 parent 4dfdddf commit 46d3e49

1 file changed

Lines changed: 8 additions & 8 deletions

File tree

freespace2/freespace.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3514,11 +3514,18 @@ void game_render_frame( camid cid, const vec3d* offset, const matrix* rot_offset
35143514
shadows_render_all(Proj_fov, &Eye_matrix, &Eye_position);
35153515
obj_render_queue_all();
35163516

3517+
// render all ships with shader effects on them
3518+
auto obji = effect_ships.begin();
3519+
for(;obji != effect_ships.end();++obji)
3520+
{
3521+
obj_render(*obji);
3522+
}
3523+
effect_ships.clear();
3524+
35173525
render_shields();
35183526

35193527
if (!Trail_render_override) trail_render_all(); // render missilie trails after everything else.
35203528
particle::render_all(); // render particles after everything else.
3521-
35223529

35233530
beam_render_all(); // render all beam weapons
35243531

@@ -3532,13 +3539,6 @@ void game_render_frame( camid cid, const vec3d* offset, const matrix* rot_offset
35323539

35333540
gr_copy_effect_texture();
35343541

3535-
// render all ships with shader effects on them
3536-
SCP_vector<object*>::iterator obji = effect_ships.begin();
3537-
for(;obji != effect_ships.end();++obji)
3538-
{
3539-
obj_render(*obji);
3540-
}
3541-
effect_ships.clear();
35423542

35433543
// render distortions after the effect framebuffer is copied.
35443544
batching_render_all(true);

0 commit comments

Comments
 (0)