#include "pch.h" #include "log.h" #include "legacy_ui_gl_dispatch.h" #include "node_image_texture.h" #include "shader.h" #include "node_image.h" Node* NodeImageTexture::clone_instantiate() const { return new NodeImageTexture(); } void NodeImageTexture::clone_copy(Node* dest) const { Node::clone_copy(dest); NodeImageTexture* n = static_cast(dest); n->tex = tex; } void NodeImageTexture::draw() { tex ? tex->bind() : pp::legacy::ui_gl::unbind_texture_2d("NodeImageTexture"); 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); NodeImage::m_plane.draw_fill(); sampler.unbind(); pp::legacy::ui_gl::set_blend_enabled(false, "NodeImageTexture"); }