Route UI and VR shader setup through helpers
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user