Route UI and VR shader setup through helpers

This commit is contained in:
2026-06-13 06:04:25 +02:00
parent 20ecffa18c
commit d7c88e6653
7 changed files with 104 additions and 37 deletions

View File

@@ -1,5 +1,8 @@
#pragma once
#include "shader.h"
#include "util.h"
namespace pp::panopainter {
struct LegacyStrokePreviewCopySize {
@@ -7,6 +10,36 @@ struct LegacyStrokePreviewCopySize {
int height = 0;
};
struct LegacyVrColorUniforms {
glm::vec4 color { 1.0f };
glm::mat4 mvp { 1.0f };
};
struct LegacyVrStrokePreviewUniforms {
int texture_slot = 0;
float alpha = 1.0f;
bool draw_outline = false;
glm::vec4 color { 1.0f };
glm::mat4 mvp { 1.0f };
};
inline void setup_legacy_vr_color_shader(const LegacyVrColorUniforms& uniforms) noexcept
{
ShaderManager::use(kShader::Color);
ShaderManager::u_vec4(kShaderUniform::Col, uniforms.color);
ShaderManager::u_mat4(kShaderUniform::MVP, uniforms.mvp);
}
inline void setup_legacy_vr_stroke_preview_shader(const LegacyVrStrokePreviewUniforms& uniforms) noexcept
{
ShaderManager::use(kShader::StrokePreview);
ShaderManager::u_int(kShaderUniform::Tex, uniforms.texture_slot);
ShaderManager::u_float(kShaderUniform::Alpha, uniforms.alpha);
ShaderManager::u_int(kShaderUniform::DrawOutline, uniforms.draw_outline);
ShaderManager::u_vec4(kShaderUniform::Col, uniforms.color);
ShaderManager::u_mat4(kShaderUniform::MVP, uniforms.mvp);
}
template <
typename SetupCheckerboard,
typename DrawPlane,