Move image texture node state mapping to renderer gl
This commit is contained in:
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|
||||||
|
|||||||
@@ -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());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user