mirror of
https://github.com/projectM-visualizer/projectm.git
synced 2026-02-04 10:25:29 +00:00
Fix some default waveform rendering bugs
All waves were rendered upside-down, breaking presets requiring the wave to be at the top or bottom due to warp movement. Using the flipped transformation matrix for drawing will take care of this globally. Also fixed two small mistakes regarding operators. Signed-off-by: Kai Blaschke <kai.blaschke@kb-dev.net>
This commit is contained in:
@ -41,7 +41,7 @@ void Waveform::Draw(const PerFrameContext& presetPerFrameContext)
|
||||
|
||||
auto shader = m_presetState.untexturedShader.lock();
|
||||
shader->Bind();
|
||||
shader->SetUniformMat4x4("vertex_transformation", PresetState::orthogonalProjection);
|
||||
shader->SetUniformMat4x4("vertex_transformation", PresetState::orthogonalProjectionFlipped);
|
||||
shader->SetUniformFloat("vertex_point_size", 1.0f);
|
||||
|
||||
// Additive wave drawing (vice overwrite)
|
||||
|
||||
@ -17,7 +17,7 @@ void Line::GenerateVertices(const PresetState& presetState, const PerFrameContex
|
||||
|
||||
m_wave1Vertices.resize(m_samples);
|
||||
|
||||
ClipWaveformEdges(1.57f + m_mysteryWaveParam);
|
||||
ClipWaveformEdges(1.57f * m_mysteryWaveParam);
|
||||
|
||||
for (int i = 0; i < m_samples; i++)
|
||||
{
|
||||
|
||||
@ -71,7 +71,7 @@ auto WaveformMath::GetVertices(const PresetState& presetState,
|
||||
|
||||
m_mysteryWaveParam = static_cast<float>(*presetPerFrameContext.wave_mystery);
|
||||
|
||||
if (UsesNormalizedMysteryParam() && (m_mysteryWaveParam < 1.0f || m_mysteryWaveParam > 1.0f))
|
||||
if (UsesNormalizedMysteryParam() && (m_mysteryWaveParam < -1.0f || m_mysteryWaveParam > 1.0f))
|
||||
{
|
||||
m_mysteryWaveParam = m_mysteryWaveParam * 0.5f + 0.5f;
|
||||
m_mysteryWaveParam -= std::floor(m_mysteryWaveParam);
|
||||
|
||||
Reference in New Issue
Block a user