#include "pch.h" #include "log.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() { using namespace ui; tex.bind(); auto& sampler = tex.has_mips ? NodeImage::m_sampler : NodeImage::m_sampler_mips; sampler.bind(0); glEnable(GL_BLEND); ui::ShaderManager::use(kShader::Texture); ui::ShaderManager::u_int(kShaderUniform::Tex, 0); ui::ShaderManager::u_mat4(kShaderUniform::MVP, m_mvp); NodeImage::m_plane.draw_fill(); sampler.unbind(); tex.unbind(); glDisable(GL_BLEND); }