mirror of
https://github.com/open-goal/jak-project
synced 2026-08-04 17:19:49 -04:00
35 lines
1.1 KiB
C++
35 lines
1.1 KiB
C++
#include "Warp.h"
|
|
|
|
Warp::Warp(const std::string& name, int id) : BucketRenderer(name, id), m_generic(name, id) {}
|
|
|
|
Warp::~Warp() {}
|
|
|
|
void Warp::draw_debug_window() {
|
|
m_generic.draw_debug_window();
|
|
}
|
|
|
|
void Warp::render(DmaFollower& dma, SharedRenderState* render_state, ScopedProfilerNode& prof) {
|
|
m_fb_copier.copy_now(render_state->render_fb_w, render_state->render_fb_h,
|
|
render_state->render_fb_x, render_state->render_fb_y,
|
|
render_state->render_fb);
|
|
render_state->texture_pool->move_existing_to_vram(m_warp_src_tex, m_tbp);
|
|
m_generic.render_in_mode(dma, render_state, prof, Generic2::Mode::NORMAL);
|
|
}
|
|
|
|
void Warp::init_shaders(ShaderLibrary& shaders) {
|
|
m_generic.init_shaders(shaders);
|
|
}
|
|
|
|
void Warp::init_textures(TexturePool& tex_pool, GameVersion version) {
|
|
TextureInput in;
|
|
// point to fb copier's texture.
|
|
in.gpu_texture = m_fb_copier.texture();
|
|
in.w = 32;
|
|
in.h = 32;
|
|
in.debug_page_name = "PC-WARP";
|
|
in.debug_name = "PC-WARP";
|
|
in.id = tex_pool.allocate_pc_port_texture(version);
|
|
m_warp_src_tex = tex_pool.give_texture_and_load_to_vram(in, m_tbp);
|
|
|
|
m_generic.init_textures(tex_pool, version);
|
|
} |