Fix waveform being offsync
This commit is contained in:
@@ -22,7 +22,8 @@ float getAmplitude(vec2 pixel) {
|
||||
float pixelID = floor((pixel.y+pixelOffset)/3.0);
|
||||
|
||||
// TODO: INVESTIGATE THE 1.+ AND WHY IT WORKS (SRSLY I GOT NO CLUE) -lunar
|
||||
vec2 wavePixel = vec2(mod(pixelID, waveformSize.x), 1.0+floor(pixelID/waveformSize.x));
|
||||
// Somehow using 0.999 instead of 1.0 fixes weird glitches on some systems -Ne_Eo
|
||||
vec2 wavePixel = vec2(mod(pixelID, waveformSize.x), 0.999+floor(pixelID/waveformSize.x));
|
||||
vec4 waveData = texture2D(waveformTexture, wavePixel / waveformSize);
|
||||
|
||||
int id = int(mod(wavePixel.x, 3.0));
|
||||
|
||||
@@ -5,6 +5,7 @@ import flixel.util.FlxColor;
|
||||
import funkin.backend.shaders.CustomShader;
|
||||
import funkin.backend.system.Conductor;
|
||||
import openfl.display.BitmapData;
|
||||
import openfl.display.ShaderInput;
|
||||
|
||||
class CharterWaveformHandler extends FlxBasic {
|
||||
public var ampsNeeded:Float = 0;
|
||||
@@ -69,7 +70,9 @@ class CharterWaveformHandler extends FlxBasic {
|
||||
|
||||
var waveShader:CustomShader = new CustomShader("engine/editorWaveforms");
|
||||
waveShader.data.waveformSize.value = [waveData.width, waveData.height];
|
||||
waveShader.data.waveformTexture.input = waveData;
|
||||
var waveformInput:ShaderInput<BitmapData> = cast waveShader.data.waveformTexture;
|
||||
waveformInput.input = waveData;
|
||||
waveformInput.filter = NEAREST; // force it to be nearest, incase someone changed it
|
||||
waveShader.data.textureRes.value = [0, 0];
|
||||
waveShader.data.pixelOffset.value = [0];
|
||||
waveShader.data.lowDetail.value = [Options.charterLowDetailWaveforms];
|
||||
|
||||
Reference in New Issue
Block a user