Route thumbnail and node image texture setup through helpers
This commit is contained in:
@@ -3031,15 +3031,19 @@ Image Canvas::thumbnail_generate(int w, int h)
|
||||
copy_framebuffer_to_texture_2d(0, 0, 0, 0, w, h);
|
||||
|
||||
// draw the grid
|
||||
ShaderManager::use(kShader::Checkerboard);
|
||||
ShaderManager::u_mat4(kShaderUniform::MVP, plane_mvp);
|
||||
pp::panopainter::setup_legacy_canvas_draw_merge_checkerboard_shader(
|
||||
pp::panopainter::LegacyCanvasDrawMergeCheckerboardUniforms {
|
||||
.mvp = plane_mvp,
|
||||
});
|
||||
m_face_plane.draw_fill();
|
||||
|
||||
// now blend with the background
|
||||
apply_canvas_capability(blend_state(), true);
|
||||
ShaderManager::use(kShader::Texture);
|
||||
ShaderManager::u_int(kShaderUniform::Tex, 0);
|
||||
ShaderManager::u_mat4(kShaderUniform::MVP, glm::ortho(-.5f, .5f, -.5f, .5f, -1.f, 1.f));
|
||||
pp::panopainter::setup_legacy_canvas_draw_merge_texture_shader(
|
||||
pp::panopainter::LegacyCanvasDrawMergeTextureUniforms {
|
||||
.mvp = glm::ortho(-.5f, .5f, -.5f, .5f, -1.f, 1.f),
|
||||
.texture_slot = 0,
|
||||
});
|
||||
m_sampler.bind(0); // linear
|
||||
m_plane.draw_fill();
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "pch.h"
|
||||
#include "legacy_canvas_draw_merge_services.h"
|
||||
#include "log.h"
|
||||
#include "legacy_ui_gl_dispatch.h"
|
||||
#include "node_image.h"
|
||||
@@ -109,13 +110,14 @@ void NodeImage::draw()
|
||||
ShaderManager::use(kShader::Atlas);
|
||||
ShaderManager::u_vec2(kShaderUniform::Tof, m_off);
|
||||
ShaderManager::u_vec2(kShaderUniform::Tsz, m_sz);
|
||||
ShaderManager::u_int(kShaderUniform::Tex, 0);
|
||||
ShaderManager::u_mat4(kShaderUniform::MVP, m_mvp * glm::scale(glm::vec3(m_scale, 1.f)));
|
||||
}
|
||||
else
|
||||
{
|
||||
ShaderManager::use(kShader::Texture);
|
||||
pp::panopainter::setup_legacy_canvas_draw_merge_texture_shader(
|
||||
{.mvp = m_mvp * glm::scale(glm::vec3(m_scale, 1.f)), .texture_slot = 0});
|
||||
}
|
||||
ShaderManager::u_int(kShaderUniform::Tex, 0);
|
||||
ShaderManager::u_mat4(kShaderUniform::MVP, m_mvp * glm::scale(glm::vec3(m_scale, 1.f)));
|
||||
m_plane.draw_fill();
|
||||
sampler.unbind();
|
||||
pp::legacy::ui_gl::set_blend_enabled(false, "NodeImage");
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "pch.h"
|
||||
#include "legacy_canvas_draw_merge_services.h"
|
||||
#include "log.h"
|
||||
#include "legacy_ui_gl_dispatch.h"
|
||||
#include "node_image_texture.h"
|
||||
@@ -23,9 +24,7 @@ void NodeImageTexture::draw()
|
||||
auto& sampler = tex && tex->has_mips ? NodeImage::m_sampler_mips : NodeImage::m_sampler;
|
||||
sampler.bind(0);
|
||||
pp::legacy::ui_gl::set_blend_enabled(true, "NodeImageTexture");
|
||||
ShaderManager::use(kShader::Texture);
|
||||
ShaderManager::u_int(kShaderUniform::Tex, 0);
|
||||
ShaderManager::u_mat4(kShaderUniform::MVP, m_mvp);
|
||||
pp::panopainter::setup_legacy_canvas_draw_merge_texture_shader({.mvp = m_mvp, .texture_slot = 0});
|
||||
NodeImage::m_plane.draw_fill();
|
||||
sampler.unbind();
|
||||
pp::legacy::ui_gl::set_blend_enabled(false, "NodeImageTexture");
|
||||
|
||||
Reference in New Issue
Block a user