diff --git a/shader/collada.hlsl b/shader/collada.hlsl index 6ebe92b..67475ae 100644 --- a/shader/collada.hlsl +++ b/shader/collada.hlsl @@ -94,7 +94,7 @@ float4 getView(float4x4 view, float4 position) float4 getProjection(float4x4 projection, float4 viewPosition) { - return mul(projection, viewPosition) * float4(-1, -1, 1, 1); + return mul(projection, viewPosition); } float2 yf(float2 v) diff --git a/shader/minecraft.hlsl b/shader/minecraft.hlsl index b75b924..24e6ff5 100644 --- a/shader/minecraft.hlsl +++ b/shader/minecraft.hlsl @@ -44,7 +44,7 @@ VSOutput VSMain(VSInput input) { VSOutput output = (VSOutput)0; float4 Position = float4(input.Position.xyz + input.BlockPosition, 1.0); - output.Position = mul(Scene.Projection, mul(Scene.View, Position.xzyw)) * float4(-1, -1, 1, 1); + output.Position = mul(Scene.Projection, mul(Scene.View, Position.xzyw)); float2 textureOffset = float2(input.TextureID % 8, input.TextureID / 8) * 16; output.Texture = float4(yf(input.Texture.xy, 16), textureOffset); diff --git a/src/main.cpp b/src/main.cpp index d28d4e4..fd319a6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -79,7 +79,7 @@ XMMATRIX currentProjection() float near_z = 0.1; float far_z = 1000.0; XMMATRIX projection = XMMatrixPerspectiveFovLH(fov_angle_y, aspect_ratio, near_z, far_z); - return projection; + return projection * XMMatrixScaling(-1, -1, 1); } XMMATRIX currentView(collada::instance_types::node const & camera_node,