mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-25 15:13:09 +02:00
Fix shader transform errors
This commit is contained in:
parent
9adc437553
commit
28c8cf26f5
2 changed files with 7 additions and 8 deletions
|
@ -128,7 +128,7 @@ void main(void) {
|
||||||
|
|
||||||
vec4 clipPos;
|
vec4 clipPos;
|
||||||
vec4 eyePos = vec4(anchorPoint.xyz + quadPos.xyz, 1.0);
|
vec4 eyePos = vec4(anchorPoint.xyz + quadPos.xyz, 1.0);
|
||||||
<$transformEyeToClip(cam, eyePos, clipPos)$>
|
<$transformEyeToClipPos(cam, eyePos, clipPos)$>
|
||||||
gl_Position = clipPos;
|
gl_Position = clipPos;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -76,11 +76,10 @@ TransformCamera getTransformCamera() {
|
||||||
|
|
||||||
<@func $transformModelToEyePos(cameraTransform, objectTransform, modelPos, eyePos)@>
|
<@func $transformModelToEyePos(cameraTransform, objectTransform, modelPos, eyePos)@>
|
||||||
<!// Equivalent to the following but hoppefully a tad more accurate
|
<!// Equivalent to the following but hoppefully a tad more accurate
|
||||||
//return camera._projection * camera._view * object._model * pos; !>
|
//return camera._view * object._model * pos; !>
|
||||||
{ // transformModelToEyePos
|
{ // transformModelToEyePos
|
||||||
vec4 _worldpos = (<$objectTransform$>._model * <$modelPos$>);
|
vec4 _worldpos = (<$objectTransform$>._model * vec4(<$modelPos$>.xyz, 1.0));
|
||||||
<$eyePos$> = (<$cameraTransform$>._view * _worldpos);
|
<$eyePos$> = (<$cameraTransform$>._view * _worldpos);
|
||||||
// <$eyePos$> = (<$cameraTransform$>._projectionInverse * <$clipPos$>);
|
|
||||||
}
|
}
|
||||||
<@endfunc@>
|
<@endfunc@>
|
||||||
|
|
||||||
|
@ -145,13 +144,13 @@ TransformCamera getTransformCamera() {
|
||||||
|
|
||||||
<@func transformClipToEyeDir(cameraTransform, clipPos, eyeDir)@>
|
<@func transformClipToEyeDir(cameraTransform, clipPos, eyeDir)@>
|
||||||
{ // transformClipToEyeDir
|
{ // transformClipToEyeDir
|
||||||
<$eyeDir$> = vec3(<$cameraTransform$>._projectionInverse * vec4(<$clipPos$>.xyz, 1.0));
|
<$eyeDir$> = vec3(<$cameraTransform$>._projectionInverse * vec4(<$clipPos$>.xyz, 0.0));
|
||||||
}
|
}
|
||||||
<@endfunc@>
|
<@endfunc@>
|
||||||
|
|
||||||
<@func transformEyeToClip(cameraTransform, eyePos, clipPos)@>
|
<@func transformEyeToClipPos(cameraTransform, eyePos, clipPos)@>
|
||||||
{ // transformEyeToClip
|
{ // transformEyeToClipPos
|
||||||
<$clipPos$> = <$cameraTransform$>._projection * <$eyePos$>;
|
<$clipPos$> = <$cameraTransform$>._projection * vec4(<$eyePos$>.xyz, 1.0);
|
||||||
}
|
}
|
||||||
<@endfunc@>
|
<@endfunc@>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue