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