Refactor the XCAA vertex shaders themselves, now that the common XCAA
infrastructure has been refactored
This commit is contained in:
parent
dc5e3a0093
commit
7e0d003a95
|
@ -67,15 +67,14 @@ void main() {
|
||||||
leftNormalAngle,
|
leftNormalAngle,
|
||||||
rightNormalAngle,
|
rightNormalAngle,
|
||||||
uEmboldenAmount)) {
|
uEmboldenAmount)) {
|
||||||
controlPointPosition = dilatePosition(controlPointPosition,
|
controlPointPosition = computeECAAPosition(controlPointPosition,
|
||||||
controlPointNormalAngle,
|
controlPointNormalAngle,
|
||||||
uEmboldenAmount);
|
uEmboldenAmount,
|
||||||
controlPointPosition = hintPosition(controlPointPosition, uHints);
|
uHints,
|
||||||
controlPointPosition = transformVertexPositionAffine(controlPointPosition,
|
|
||||||
pathTransformST,
|
pathTransformST,
|
||||||
pathTransformExt);
|
pathTransformExt,
|
||||||
controlPointPosition = transformVertexPosition(controlPointPosition, uTransform);
|
uTransform,
|
||||||
controlPointPosition = convertClipToScreenSpace(controlPointPosition, uFramebufferSize);
|
uFramebufferSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
float depth = convertPathIndexToViewportDepthValue(pathID);
|
float depth = convertPathIndexToViewportDepthValue(pathID);
|
||||||
|
|
|
@ -50,11 +50,11 @@ void main() {
|
||||||
pathTransformST,
|
pathTransformST,
|
||||||
pathTransformExt,
|
pathTransformExt,
|
||||||
uTransform)) {
|
uTransform)) {
|
||||||
controlPointPosition = transformVertexPositionAffine(controlPointPosition,
|
controlPointPosition = transformECAAPositionToScreenSpace(controlPointPosition,
|
||||||
pathTransformST,
|
pathTransformST,
|
||||||
pathTransformExt);
|
pathTransformExt,
|
||||||
controlPointPosition = transformVertexPosition(controlPointPosition, uTransform);
|
uTransform,
|
||||||
controlPointPosition = convertClipToScreenSpace(controlPointPosition, uFramebufferSize);
|
uFramebufferSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
float depth = convertPathIndexToViewportDepthValue(pathID);
|
float depth = convertPathIndexToViewportDepthValue(pathID);
|
||||||
|
|
|
@ -28,25 +28,22 @@ void main() {
|
||||||
|
|
||||||
vec4 transformST = fetchFloat4Data(uPathTransformST, pathID, uPathTransformSTDimensions);
|
vec4 transformST = fetchFloat4Data(uPathTransformST, pathID, uPathTransformSTDimensions);
|
||||||
|
|
||||||
vec2 upperLeftPosition = hintPosition(aUpperLeftPosition, uHints);
|
vec2 upperLeftPosition = computeMCAAPosition(aUpperLeftPosition,
|
||||||
vec2 lowerRightPosition = hintPosition(aLowerRightPosition, uHints);
|
uHints,
|
||||||
|
transformST,
|
||||||
upperLeftPosition = transformVertexPositionST(upperLeftPosition, transformST);
|
uTransformST,
|
||||||
lowerRightPosition = transformVertexPositionST(lowerRightPosition, transformST);
|
uFramebufferSize);
|
||||||
|
vec2 lowerRightPosition = computeMCAAPosition(aLowerRightPosition,
|
||||||
upperLeftPosition = transformVertexPositionST(upperLeftPosition, uTransformST);
|
uHints,
|
||||||
lowerRightPosition = transformVertexPositionST(lowerRightPosition, uTransformST);
|
transformST,
|
||||||
|
uTransformST,
|
||||||
upperLeftPosition = convertClipToScreenSpace(upperLeftPosition, uFramebufferSize);
|
uFramebufferSize);
|
||||||
lowerRightPosition = convertClipToScreenSpace(lowerRightPosition, uFramebufferSize);
|
|
||||||
|
|
||||||
vec4 roundedExtents = vec4(floor(upperLeftPosition.x), ceil(upperLeftPosition.y),
|
|
||||||
ceil(lowerRightPosition));
|
|
||||||
|
|
||||||
vec2 position = mix(roundedExtents.xy, roundedExtents.zw, aQuadPosition);
|
|
||||||
position = convertScreenToClipSpace(position, uFramebufferSize);
|
|
||||||
float depth = convertPathIndexToViewportDepthValue(pathID);
|
|
||||||
gl_Position = vec4(position, depth, 1.0);
|
|
||||||
|
|
||||||
vHorizontalExtents = vec2(upperLeftPosition.x, lowerRightPosition.x);
|
vHorizontalExtents = vec2(upperLeftPosition.x, lowerRightPosition.x);
|
||||||
|
|
||||||
|
vec4 extents = vec4(upperLeftPosition.x, ceil(upperLeftPosition.y), lowerRightPosition);
|
||||||
|
vec2 position = computeXCAAClipSpaceQuadPosition(extents, aQuadPosition, uFramebufferSize);
|
||||||
|
float depth = convertPathIndexToViewportDepthValue(pathID);
|
||||||
|
|
||||||
|
gl_Position = vec4(position, depth, 1.0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,10 +45,11 @@ void main() {
|
||||||
transformST,
|
transformST,
|
||||||
uTransformST,
|
uTransformST,
|
||||||
uHints)) {
|
uHints)) {
|
||||||
controlPointPosition = hintPosition(aControlPointPosition, uHints);
|
controlPointPosition = computeMCAAPosition(controlPointPosition,
|
||||||
controlPointPosition = transformVertexPositionST(controlPointPosition, transformST);
|
uHints,
|
||||||
controlPointPosition = transformVertexPositionST(controlPointPosition, uTransformST);
|
transformST,
|
||||||
controlPointPosition = convertClipToScreenSpace(controlPointPosition, uFramebufferSize);
|
uTransformST,
|
||||||
|
uFramebufferSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
float depth = convertPathIndexToViewportDepthValue(pathID);
|
float depth = convertPathIndexToViewportDepthValue(pathID);
|
||||||
|
|
Loading…
Reference in New Issue