From b0f0315f12247828dee5becbe261ddde8191475f Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Tue, 10 May 2016 07:30:12 -0400 Subject: [PATCH] Fixed: this now implements 12-byte instancing for output runs. --- Outputs/CRT/Internals/CRTConstants.hpp | 2 +- Outputs/CRT/Internals/Shaders/OutputShader.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Outputs/CRT/Internals/CRTConstants.hpp b/Outputs/CRT/Internals/CRTConstants.hpp index 0d826c553..ad5b1ed07 100644 --- a/Outputs/CRT/Internals/CRTConstants.hpp +++ b/Outputs/CRT/Internals/CRTConstants.hpp @@ -19,7 +19,7 @@ namespace CRT { // or is one of the intermediate buffers that we've used to convert from composite towards RGB. const GLsizei OutputVertexOffsetOfPosition = 0; const GLsizei OutputVertexOffsetOfTexCoord = 4; -const GLsizei OutputVertexOffsetOfTerminators = 6; +const GLsizei OutputVertexOffsetOfTerminators = 8; const GLsizei OutputVertexSize = 12; diff --git a/Outputs/CRT/Internals/Shaders/OutputShader.cpp b/Outputs/CRT/Internals/Shaders/OutputShader.cpp index fc234d321..0cad8c123 100644 --- a/Outputs/CRT/Internals/Shaders/OutputShader.cpp +++ b/Outputs/CRT/Internals/Shaders/OutputShader.cpp @@ -51,12 +51,12 @@ std::unique_ptr OutputShader::make_shader(const char *fragment_met "lateralVarying = lateral - 0.5;" - "vec2 vSrcCoordinates = mix(srcCoordinates, vec2(terminators.y, srcCoordinates.y), longitudinal);" + "vec2 vSrcCoordinates = vec2(mix(srcCoordinates.x, terminators.y, longitudinal), srcCoordinates.y);" "ivec2 textureSize = textureSize(texID, 0);" "iSrcCoordinatesVarying = vSrcCoordinates;" "srcCoordinatesVarying = vec2(vSrcCoordinates.x / textureSize.x, (vSrcCoordinates.y + 0.5) / textureSize.y);" - "vec2 vPosition = mix(position, vec2(terminators.x, position.y), longitudinal);" + "vec2 vPosition = vec2(mix(position.x, terminators.x, longitudinal), position.y);" "vec2 floatingPosition = (vPosition / positionConversion) + lateral * scanNormal;" "vec2 mappedPosition = (floatingPosition - boundsOrigin) / boundsSize;" "gl_Position = vec4(mappedPosition.x * 2.0 - 1.0, 1.0 - mappedPosition.y * 2.0, 0.0, 1.0);"