diff --git a/Assets/Shaders/ShinyHighlight_FS.glsl b/Assets/Shaders/ShinyHighlight_FS.glsl index 8d7f4a90..bb41a0fb 100644 --- a/Assets/Shaders/ShinyHighlight_FS.glsl +++ b/Assets/Shaders/ShinyHighlight_FS.glsl @@ -78,8 +78,14 @@ void main() outEntityID = In2.eid; lightLayerIndices = In2.lightLayerIndex; - float vpHeight = float (In2.screenSpacePos.y) - MatProp.data[In2.materialIndex].highlightPosition; - vpHeight = float (int (vpHeight) % genericDataBuffer.data.viewportHeight); + // float vpHeight = float (In2.screenSpacePos.y) - MatProp.data[In2.materialIndex].highlightPosition; + // bring the frame of reference to the object's screen space pos + int scale = 470; + float vpHeight = float (In2.screenSpacePos.y); + float relativePos = float(int (-MatProp.data[In2.materialIndex].highlightPosition) % scale) - float (scale / 2); + vpHeight += relativePos; + + // vpHeight = float (int (vpHeight) % genericDataBuffer.data.viewportHeight); float scanlineScale = MatProp.data[In2.materialIndex].thickness * (1.0f - In2.screenSpacePos.z) * 100.0f; float lowerLimit = vpHeight - scanlineScale; diff --git a/Assets/Shaders/ShinyHighlight_FS.shshaderb b/Assets/Shaders/ShinyHighlight_FS.shshaderb index 408bba83..dc59dbde 100644 Binary files a/Assets/Shaders/ShinyHighlight_FS.shshaderb and b/Assets/Shaders/ShinyHighlight_FS.shshaderb differ