Move image texture node state mapping to renderer gl

This commit is contained in:
2026-06-02 08:15:36 +02:00
parent 2a3402e991
commit 3823a612ae
3 changed files with 8 additions and 3 deletions

View File

@@ -169,6 +169,8 @@ Known local toolchain state:
texture target, RGBA pixel format, and unsigned-byte component mapping. texture target, RGBA pixel format, and unsigned-byte component mapping.
`NodeViewport` preview rendering also consumes backend-owned viewport query, `NodeViewport` preview rendering also consumes backend-owned viewport query,
clear-color query, color-buffer clear mask, and blend-state tokens. clear-color query, color-buffer clear mask, and blend-state tokens.
`NodeImageTexture` preview drawing also consumes backend-owned fallback 2D
texture bind and blend-state tokens.
- `windows-msvc-vcpkg-headless` validates manifest install/configure/build/test - `windows-msvc-vcpkg-headless` validates manifest install/configure/build/test
for the current headless component matrix; see DEBT-0007 for remaining app for the current headless component matrix; see DEBT-0007 for remaining app
and platform triplet migration. and platform triplet migration.

View File

@@ -436,6 +436,8 @@ mapping to `pp_renderer_gl`.
`NodeViewport` preview rendering now also delegates viewport query, `NodeViewport` preview rendering now also delegates viewport query,
clear-color query, color-buffer clear mask, and blend-state tokens to clear-color query, color-buffer clear mask, and blend-state tokens to
`pp_renderer_gl`. `pp_renderer_gl`.
`NodeImageTexture` preview drawing now delegates its fallback 2D texture bind
target and blend-state tokens to `pp_renderer_gl`.
The existing renderer classes are not yet fully The existing renderer classes are not yet fully
behind the renderer interfaces. behind the renderer interfaces.

View File

@@ -1,6 +1,7 @@
#include "pch.h" #include "pch.h"
#include "log.h" #include "log.h"
#include "node_image_texture.h" #include "node_image_texture.h"
#include "renderer_gl/opengl_capabilities.h"
#include "shader.h" #include "shader.h"
#include "node_image.h" #include "node_image.h"
@@ -18,14 +19,14 @@ void NodeImageTexture::clone_copy(Node* dest) const
void NodeImageTexture::draw() void NodeImageTexture::draw()
{ {
tex ? tex->bind() : glBindTexture(GL_TEXTURE_2D, 0); tex ? tex->bind() : glBindTexture(pp::renderer::gl::texture_2d_target(), 0);
auto& sampler = tex && tex->has_mips ? NodeImage::m_sampler_mips : NodeImage::m_sampler; auto& sampler = tex && tex->has_mips ? NodeImage::m_sampler_mips : NodeImage::m_sampler;
sampler.bind(0); sampler.bind(0);
glEnable(GL_BLEND); glEnable(pp::renderer::gl::blend_state());
ShaderManager::use(kShader::Texture); ShaderManager::use(kShader::Texture);
ShaderManager::u_int(kShaderUniform::Tex, 0); ShaderManager::u_int(kShaderUniform::Tex, 0);
ShaderManager::u_mat4(kShaderUniform::MVP, m_mvp); ShaderManager::u_mat4(kShaderUniform::MVP, m_mvp);
NodeImage::m_plane.draw_fill(); NodeImage::m_plane.draw_fill();
sampler.unbind(); sampler.unbind();
glDisable(GL_BLEND); glDisable(pp::renderer::gl::blend_state());
} }