From 7e5f84bda6ae6d45f2c400b67cdafb45ab04ff8b Mon Sep 17 00:00:00 2001 From: yoyofr Date: Wed, 12 Nov 2025 09:31:01 +0100 Subject: [PATCH] Set vertex_point_size uniform for all uses of the untextured vertex shader Only custom waves set the point size to 2, default waveforms still render the 2x2 pattern when using dots. Other draw calls aren't affected as they only draw lines/triangles, but it's good practice to not leave the uniform in an undefined state. Signed-off-by: Kai Blaschke --- src/libprojectM/MilkdropPreset/Border.cpp | 1 + src/libprojectM/MilkdropPreset/CustomShape.cpp | 2 ++ src/libprojectM/MilkdropPreset/CustomWaveform.cpp | 1 + src/libprojectM/MilkdropPreset/DarkenCenter.cpp | 1 + src/libprojectM/MilkdropPreset/Filters.cpp | 1 + src/libprojectM/MilkdropPreset/Waveform.cpp | 1 + 6 files changed, 7 insertions(+) diff --git a/src/libprojectM/MilkdropPreset/Border.cpp b/src/libprojectM/MilkdropPreset/Border.cpp index 57b34c7cf..e8e20750c 100644 --- a/src/libprojectM/MilkdropPreset/Border.cpp +++ b/src/libprojectM/MilkdropPreset/Border.cpp @@ -35,6 +35,7 @@ void Border::Draw(const PerFrameContext& presetPerFrameContext) m_presetState.untexturedShader.Bind(); m_presetState.untexturedShader.SetUniformMat4x4("vertex_transformation", PresetState::orthogonalProjection); + m_presetState.untexturedShader.SetUniformFloat("vertex_point_size", 1.0f); std::array vertices{}; for (int border = 0; border < 2; border++) diff --git a/src/libprojectM/MilkdropPreset/CustomShape.cpp b/src/libprojectM/MilkdropPreset/CustomShape.cpp index d88a1e946..755d85529 100644 --- a/src/libprojectM/MilkdropPreset/CustomShape.cpp +++ b/src/libprojectM/MilkdropPreset/CustomShape.cpp @@ -253,6 +253,7 @@ void CustomShape::Draw() m_presetState.untexturedShader.Bind(); m_presetState.untexturedShader.SetUniformMat4x4("vertex_transformation", PresetState::orthogonalProjection); + m_presetState.untexturedShader.SetUniformFloat("vertex_point_size", 1.0f); glBindVertexArray(m_vaoIdUntextured); glDrawArrays(GL_TRIANGLE_FAN, 0, sides + 2); @@ -271,6 +272,7 @@ void CustomShape::Draw() m_presetState.untexturedShader.Bind(); m_presetState.untexturedShader.SetUniformMat4x4("vertex_transformation", PresetState::orthogonalProjection); + m_presetState.untexturedShader.SetUniformFloat("vertex_point_size", 1.0f); glVertexAttrib4f(1, static_cast(*m_perFrameContext.border_r), diff --git a/src/libprojectM/MilkdropPreset/CustomWaveform.cpp b/src/libprojectM/MilkdropPreset/CustomWaveform.cpp index d9d0937f6..d676d3bc9 100644 --- a/src/libprojectM/MilkdropPreset/CustomWaveform.cpp +++ b/src/libprojectM/MilkdropPreset/CustomWaveform.cpp @@ -184,6 +184,7 @@ void CustomWaveform::Draw(const PerFrameContext& presetPerFrameContext) m_presetState.untexturedShader.Bind(); m_presetState.untexturedShader.SetUniformMat4x4("vertex_transformation", PresetState::orthogonalProjection); + m_presetState.untexturedShader.SetUniformFloat("vertex_point_size", m_drawThick ? 2.0f : 1.0f); auto iterations = (m_drawThick && !m_useDots) ? 4 : 1; diff --git a/src/libprojectM/MilkdropPreset/DarkenCenter.cpp b/src/libprojectM/MilkdropPreset/DarkenCenter.cpp index 5e5efac74..0038d40a6 100644 --- a/src/libprojectM/MilkdropPreset/DarkenCenter.cpp +++ b/src/libprojectM/MilkdropPreset/DarkenCenter.cpp @@ -46,6 +46,7 @@ void DarkenCenter::Draw() m_presetState.untexturedShader.Bind(); m_presetState.untexturedShader.SetUniformMat4x4("vertex_transformation", PresetState::orthogonalProjection); + m_presetState.untexturedShader.SetUniformFloat("vertex_point_size", 1.0f); glDrawArrays(GL_TRIANGLE_FAN, 0, 6); diff --git a/src/libprojectM/MilkdropPreset/Filters.cpp b/src/libprojectM/MilkdropPreset/Filters.cpp index 9c70904a1..d3acd56e9 100644 --- a/src/libprojectM/MilkdropPreset/Filters.cpp +++ b/src/libprojectM/MilkdropPreset/Filters.cpp @@ -31,6 +31,7 @@ void Filters::Draw() m_presetState.untexturedShader.Bind(); m_presetState.untexturedShader.SetUniformMat4x4("vertex_transformation", PresetState::orthogonalProjection); + m_presetState.untexturedShader.SetUniformFloat("vertex_point_size", 1.0f); glBindVertexArray(m_vaoID); glVertexAttrib4f(1, 1.0, 1.0, 1.0, 1.0); diff --git a/src/libprojectM/MilkdropPreset/Waveform.cpp b/src/libprojectM/MilkdropPreset/Waveform.cpp index 80e09e406..eefcd5752 100644 --- a/src/libprojectM/MilkdropPreset/Waveform.cpp +++ b/src/libprojectM/MilkdropPreset/Waveform.cpp @@ -56,6 +56,7 @@ void Waveform::Draw(const PerFrameContext& presetPerFrameContext) m_presetState.untexturedShader.Bind(); m_presetState.untexturedShader.SetUniformMat4x4("vertex_transformation", PresetState::orthogonalProjection); + m_presetState.untexturedShader.SetUniformFloat("vertex_point_size", 1.0f); glBindVertexArray(m_vaoID); glBindBuffer(GL_ARRAY_BUFFER, m_vboID);