jak-project/game/graphics/opengl_renderer/Warp.cpp

27 lines
982 B
C++
Raw Normal View History

2023-04-16 18:05:35 -04:00
#include "Warp.h"
Warp::Warp(const std::string& name, int id, std::shared_ptr<Generic2> generic)
: BucketRenderer(name, id), m_generic(generic) {}
2023-04-16 18:05:35 -04:00
void Warp::draw_debug_window() {
m_generic->draw_debug_window();
2023-04-16 18:05:35 -04:00
}
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,
2023-04-16 18:05:35 -04:00
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::WARP);
2023-04-16 18:05:35 -04:00
}
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);
}