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.
`NodeViewport` preview rendering also consumes backend-owned viewport query,
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
for the current headless component matrix; see DEBT-0007 for remaining app
and platform triplet migration.

View File

@@ -436,6 +436,8 @@ mapping to `pp_renderer_gl`.
`NodeViewport` preview rendering now also delegates viewport query,
clear-color query, color-buffer clear mask, and blend-state tokens to
`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
behind the renderer interfaces.

View File

@@ -1,6 +1,7 @@
#include "pch.h"
#include "log.h"
#include "node_image_texture.h"
#include "renderer_gl/opengl_capabilities.h"
#include "shader.h"
#include "node_image.h"
@@ -18,14 +19,14 @@ void NodeImageTexture::clone_copy(Node* dest) const
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;
sampler.bind(0);
glEnable(GL_BLEND);
glEnable(pp::renderer::gl::blend_state());
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);
glDisable(pp::renderer::gl::blend_state());
}