mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 11:26:18 -04:00
[jak2] fix alpha test in lightning (#2204)
fixes the lightning fade out effect seen when jak touches the electric gate.
This commit is contained in:
parent
a02a75525d
commit
e41ca8903e
|
@ -94,7 +94,16 @@ void Generic2::render_in_mode(DmaFollower& dma,
|
|||
// the next pass is to look at all of that data, and figure out the best order to draw it
|
||||
// using OpenGL
|
||||
auto p = prof.make_scoped_child("setup");
|
||||
setup_draws();
|
||||
switch (mode) {
|
||||
case Mode::NORMAL:
|
||||
setup_draws(true);
|
||||
break;
|
||||
case Mode::LIGHTNING:
|
||||
setup_draws(false);
|
||||
break;
|
||||
default:
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
|
|
|
@ -39,7 +39,7 @@ class Generic2 : public BucketRenderer {
|
|||
static_assert(sizeof(Vertex) == 32);
|
||||
|
||||
private:
|
||||
void determine_draw_modes();
|
||||
void determine_draw_modes(bool enable_at);
|
||||
void build_index_buffer();
|
||||
void link_adgifs_back_to_frags();
|
||||
void draws_to_buckets();
|
||||
|
@ -47,7 +47,7 @@ class Generic2 : public BucketRenderer {
|
|||
void process_matrices();
|
||||
void process_dma(DmaFollower& dma, u32 next_bucket);
|
||||
void process_dma_lightning(DmaFollower& dma, u32 next_bucket);
|
||||
void setup_draws();
|
||||
void setup_draws(bool enable_at);
|
||||
void do_draws(SharedRenderState* render_state, ScopedProfilerNode& prof);
|
||||
void do_draws_for_alpha(SharedRenderState* render_state,
|
||||
ScopedProfilerNode& prof,
|
||||
|
|
|
@ -4,14 +4,14 @@
|
|||
* Main function to set up Generic2 draw lists.
|
||||
* This function figures out which vertices belong to which draw settings.
|
||||
*/
|
||||
void Generic2::setup_draws() {
|
||||
void Generic2::setup_draws(bool enable_at) {
|
||||
if (m_next_free_frag == 0) {
|
||||
return;
|
||||
}
|
||||
m_gs = GsState();
|
||||
link_adgifs_back_to_frags();
|
||||
process_matrices();
|
||||
determine_draw_modes();
|
||||
determine_draw_modes(enable_at);
|
||||
draws_to_buckets();
|
||||
final_vertex_update();
|
||||
build_index_buffer();
|
||||
|
@ -26,10 +26,10 @@ void Generic2::setup_draws() {
|
|||
* settings, the tbp (texture vram address), and the "vertex flags" that need to be set for each
|
||||
* vertex. This information is used in later steps.
|
||||
*/
|
||||
void Generic2::determine_draw_modes() {
|
||||
void Generic2::determine_draw_modes(bool enable_at) {
|
||||
// initialize draw mode
|
||||
DrawMode current_mode;
|
||||
current_mode.set_at(true);
|
||||
current_mode.set_at(enable_at);
|
||||
current_mode.set_alpha_test(DrawMode::AlphaTest::GEQUAL);
|
||||
current_mode.set_aref(0x26);
|
||||
current_mode.set_alpha_fail(GsTest::AlphaFail::FB_ONLY);
|
||||
|
|
Loading…
Reference in a new issue