diff --git a/CodeWalker.Core/World/Camera.cs b/CodeWalker.Core/World/Camera.cs
index 528fa29..18431bc 100644
--- a/CodeWalker.Core/World/Camera.cs
+++ b/CodeWalker.Core/World/Camera.cs
@@ -24,8 +24,8 @@ namespace CodeWalker.World
public float FieldOfView;// 1.0f;
public float FieldOfViewFactor = 0.5f / (float)Math.Tan(/*FieldOfView*/ 1.0f * 0.5f);
public float AspectRatio = 1920.0f / 1080.0f;
- public float ZNear = 0.5f;
- public float ZFar = 12000.0f;
+ public float ZNear = 0.01f;
+ public float ZFar = 100000.0f;
public Entity FollowEntity = null;
public Vector3 LocalLookAt = Vector3.ForwardLH;
public float VOffset = 0.0f;
@@ -176,15 +176,15 @@ namespace CodeWalker.World
{
if (IsMapView)
{
- ProjMatrix = Matrix.OrthoRH(AspectRatio * OrthographicSize, OrthographicSize, 1.0f, 3000.0f);
+ ProjMatrix = Matrix.OrthoRH(AspectRatio * OrthographicSize, OrthographicSize, 3000.0f, 1.0f);
}
else if (IsOrthographic)
{
- ProjMatrix = Matrix.OrthoRH(AspectRatio * OrthographicSize, OrthographicSize, ZNear, ZFar);
+ ProjMatrix = Matrix.OrthoRH(AspectRatio * OrthographicSize, OrthographicSize, ZFar, ZNear);
}
else
{
- ProjMatrix = Matrix.PerspectiveFovRH(FieldOfView, AspectRatio, ZNear, ZFar);
+ ProjMatrix = Matrix.PerspectiveFovRH(FieldOfView, AspectRatio, ZFar, ZNear);
}
//ProjMatrix._33/=ZFar;
//ProjMatrix._43/=ZFar;
@@ -301,8 +301,8 @@ namespace CodeWalker.World
Planes[1] = Plane.Normalize(new Plane((vp.M14 - vp.M11), (vp.M24 - vp.M21), (vp.M34 - vp.M31), (vp.M44 - vp.M41)));
Planes[2] = Plane.Normalize(new Plane((vp.M14 - vp.M12), (vp.M24 - vp.M22), (vp.M34 - vp.M32), (vp.M44 - vp.M42)));
Planes[3] = Plane.Normalize(new Plane((vp.M14 + vp.M12), (vp.M24 + vp.M22), (vp.M34 + vp.M32), (vp.M44 + vp.M42)));
- Planes[4] = Plane.Normalize(new Plane((vp.M13), (vp.M23), (vp.M33), 0.0f));//(vp.M43));
- Planes[5] = Plane.Normalize(new Plane((vp.M14 - vp.M13), (vp.M24 - vp.M23), (vp.M34 - vp.M33), (vp.M44 - vp.M43)));
+ Planes[4] = Plane.Normalize(new Plane((vp.M14 - vp.M13), (vp.M24 - vp.M23), (vp.M34 - vp.M33), (vp.M44 - vp.M43)));
+ Planes[5] = Plane.Normalize(new Plane((vp.M13), (vp.M23), (vp.M33), 0.0f));//(vp.M43));
}
//public bool ContainsSphere(ref Vector3 c, float cls, float r)
diff --git a/Forms/ModelForm.cs b/Forms/ModelForm.cs
index 9cd6a95..f6cbeb2 100644
--- a/Forms/ModelForm.cs
+++ b/Forms/ModelForm.cs
@@ -430,8 +430,6 @@ namespace CodeWalker.Forms
camera.TargetDistance = rad * 1.6f;
camera.CurrentDistance = rad * 1.6f;
- camera.ZFar = Math.Min(rad * 200.0f, 12000.0f);
- camera.ZNear = Math.Min(camera.ZFar * 5e-5f, 0.5f);
camera.UpdateProj = true;
}
diff --git a/PedsForm.cs b/PedsForm.cs
index 0dbd457..9ef4142 100644
--- a/PedsForm.cs
+++ b/PedsForm.cs
@@ -491,8 +491,6 @@ namespace CodeWalker.Peds
camera.TargetDistance = rad * 1.2f;
camera.CurrentDistance = rad * 1.2f;
- camera.ZFar = Math.Min(rad * 200.0f, 12000.0f);
- camera.ZNear = Math.Min(camera.ZFar * 5e-5f, 0.5f);
camera.UpdateProj = true;
}
diff --git a/Rendering/DirectX/DXManager.cs b/Rendering/DirectX/DXManager.cs
index e38d480..bc099af 100644
--- a/Rendering/DirectX/DXManager.cs
+++ b/Rendering/DirectX/DXManager.cs
@@ -322,11 +322,11 @@ namespace CodeWalker.Rendering
public void ClearRenderTarget(DeviceContext ctx)
{
ctx.ClearRenderTargetView(targetview, clearcolour);
- ctx.ClearDepthStencilView(depthview, DepthStencilClearFlags.Depth, 1.0f, 0);
+ ctx.ClearDepthStencilView(depthview, DepthStencilClearFlags.Depth, 0.0f, 0);
}
public void ClearDepth(DeviceContext ctx)
{
- ctx.ClearDepthStencilView(depthview, DepthStencilClearFlags.Depth, 1.0f, 0);
+ ctx.ClearDepthStencilView(depthview, DepthStencilClearFlags.Depth, 0.0f, 0);
}
public void SetDefaultRenderTarget(DeviceContext ctx)
{
diff --git a/Rendering/ShaderManager.cs b/Rendering/ShaderManager.cs
index 355342a..ad58aca 100644
--- a/Rendering/ShaderManager.cs
+++ b/Rendering/ShaderManager.cs
@@ -176,16 +176,16 @@ namespace CodeWalker.Rendering
{
BackFace = new DepthStencilOperationDescription()
{
- Comparison = Comparison.LessEqual,
+ Comparison = Comparison.GreaterEqual,
DepthFailOperation = StencilOperation.Zero,
FailOperation = StencilOperation.Zero,
PassOperation = StencilOperation.Zero,
},
- DepthComparison = Comparison.LessEqual,
+ DepthComparison = Comparison.GreaterEqual,
DepthWriteMask = DepthWriteMask.All,
FrontFace = new DepthStencilOperationDescription()
{
- Comparison = Comparison.LessEqual,
+ Comparison = Comparison.GreaterEqual,
DepthFailOperation = StencilOperation.Zero,
FailOperation = StencilOperation.Zero,
PassOperation = StencilOperation.Zero
diff --git a/Rendering/Utils/GpuBuffers.cs b/Rendering/Utils/GpuBuffers.cs
index eb1b211..353ce4b 100644
--- a/Rendering/Utils/GpuBuffers.cs
+++ b/Rendering/Utils/GpuBuffers.cs
@@ -380,7 +380,7 @@ namespace CodeWalker.Rendering
context.ClearRenderTargetView(MSRTV, colour);
if (UseDepth)
{
- context.ClearDepthStencilView(MSDSV, DepthStencilClearFlags.Depth, 1.0f, 0);
+ context.ClearDepthStencilView(MSDSV, DepthStencilClearFlags.Depth, 0.0f, 0);
}
}
else
@@ -388,7 +388,7 @@ namespace CodeWalker.Rendering
context.ClearRenderTargetView(RTV, colour);
if (UseDepth)
{
- context.ClearDepthStencilView(DSV, DepthStencilClearFlags.Depth, 1.0f, 0);
+ context.ClearDepthStencilView(DSV, DepthStencilClearFlags.Depth, 0.0f, 0);
}
}
}
@@ -398,11 +398,11 @@ namespace CodeWalker.Rendering
if (!UseDepth) return;
if (Multisampled)
{
- context.ClearDepthStencilView(MSDSV, DepthStencilClearFlags.Depth, 1.0f, 0);
+ context.ClearDepthStencilView(MSDSV, DepthStencilClearFlags.Depth, 0.0f, 0);
}
else
{
- context.ClearDepthStencilView(DSV, DepthStencilClearFlags.Depth, 1.0f, 0);
+ context.ClearDepthStencilView(DSV, DepthStencilClearFlags.Depth, 0.0f, 0);
}
}
diff --git a/VehicleForm.cs b/VehicleForm.cs
index 4068a08..e610a7c 100644
--- a/VehicleForm.cs
+++ b/VehicleForm.cs
@@ -441,8 +441,6 @@ namespace CodeWalker.Vehicles
camera.TargetDistance = rad * 1.6f;
camera.CurrentDistance = rad * 1.6f;
- camera.ZFar = Math.Min(rad * 200.0f, 12000.0f);
- camera.ZNear = Math.Min(camera.ZFar * 5e-5f, 0.5f);
camera.UpdateProj = true;
}
diff --git a/WorldForm.Designer.cs b/WorldForm.Designer.cs
index e886aed..b8201d1 100644
--- a/WorldForm.Designer.cs
+++ b/WorldForm.Designer.cs
@@ -1698,7 +1698,7 @@ namespace CodeWalker
this.FarClipUpDown.Size = new System.Drawing.Size(114, 20);
this.FarClipUpDown.TabIndex = 61;
this.FarClipUpDown.Value = new decimal(new int[] {
- 12000,
+ 100000,
0,
0,
0});
@@ -1736,10 +1736,10 @@ namespace CodeWalker
this.NearClipUpDown.Size = new System.Drawing.Size(114, 20);
this.NearClipUpDown.TabIndex = 59;
this.NearClipUpDown.Value = new decimal(new int[] {
- 5,
+ 1,
0,
0,
- 65536});
+ 131072});
this.NearClipUpDown.ValueChanged += new System.EventHandler(this.NearClipUpDown_ValueChanged);
//
// label31
diff --git a/WorldForm.resx b/WorldForm.resx
index 70dd9c9..1ea334c 100644
--- a/WorldForm.resx
+++ b/WorldForm.resx
@@ -240,6 +240,14 @@ ufo
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB4SURBVDhP3ZC7DcAgDEQZKTMwHOvSIFriS7BlEB+HMic9
QJbvFThLUkpXzjkSpaeuzMPlEELx3jdsBauyCHBY6UWYPQI93KEljQD3jL6EGzN6x0bASyNYwkKU8Udm
gd6TMnIikDJyIqjVNz8T7FgKrAwFX6lVinM3aJ05lWDPRRcAAAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB0SURBVDhP7ZNBCoAgEEXnSJ3BqxmetNpaMLhVv5DNRJS2
+ CxIeuvA9XSjtg5mHEILPxB6U7JyLxphmSkDK1o5x9dst87SUfTXwRsYsA+paT0BGDGsVOJ92hdz3Bz4f
+ wGPC48uu7w5IGd+gBlpRMgYCnRwyESUj3CsQkYNFDwAAAABJRU5ErkJggg==
@@ -261,12 +269,13 @@ ufo
WBXYx9R1nV75RuyHKrrnzCcGjE1u9ZyD4BugoZigQ9xrngAAAABJRU5ErkJggg==
-
+
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB0SURBVDhP7ZNBCoAgEEXnSJ3BqxmetNpaMLhVv5DNRJS2
- CxIeuvA9XSjtg5mHEILPxB6U7JyLxphmSkDK1o5x9dst87SUfTXwRsYsA+paT0BGDGsVOJ92hdz3Bz4f
- wGPC48uu7w5IGd+gBlpRMgYCnRwyESUj3CsQkYNFDwAAAABJRU5ErkJggg==
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPrZBBEsIgEAR5Gy/wFV55T/wHr+KgHuCKNsVY
+ ZI2JiU7VVIVlp7OL+1mllIr7cb8Ie++PQwQYITnnM24NWxoBgsQYm/l+gk699bMsRA4h1JTSPsg0Xert
+ em/mGwh3vW1Z7MvIABSWqXG3+iZHAEw1m4wD49oVANgVOL/VeSgeDAiX1mpWeKy9BIQiI+OxWQF77tG5
+ 2Fc729BmeElf/3lNhORe+oecewDObEqX49RqCgAAAABJRU5ErkJggg==
@@ -295,15 +304,6 @@ ufo
EcMw2DzPDMEke9AsYBrHs10vN4I1QqImwwDcFyMjQGaBHr5Bo8nEoYCnCQTGzVeI4oj6fIi+KHgoPBhC
4knCjTww9vxfbIUQNDEyiGIZ8t6tW/k0vC/AOpuiueNOLwVkUeylvju9FJCg8E1vM/2PlTv5UoervVTJ
uQAAAABJRU5ErkJggg==
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPrZBBEsIgEAR5Gy/wFV55T/wHr+KgHuCKNsVY
- ZI2JiU7VVIVlp7OL+1mllIr7cb8Ie++PQwQYITnnM24NWxoBgsQYm/l+gk699bMsRA4h1JTSPsg0Xert
- em/mGwh3vW1Z7MvIABSWqXG3+iZHAEw1m4wD49oVANgVOL/VeSgeDAiX1mpWeKy9BIQiI+OxWQF77tG5
- 2Fc729BmeElf/3lNhORe+oecewDObEqX49RqCgAAAABJRU5ErkJggg==
@@ -389,6 +389,17 @@ ufo
4BJN+IjGo5O8ZJndGVhKxpjWWts551aih0fre+0BLaVchRAezPB2NXSSV/gVwXGYPJiVUt6ns1ghCDjn
UQG86w3FToVgDcWCWS9Fvi/Ao0RVAcwUjwpyhzmf4n8BFApS5HZRwRuONGMbrIJ1JIN8O2QAAAAASUVO
RK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEvSURBVDhP3dK/K0dRGMfxKxRJopCSEkLya/guUhQRmQwG
+ WfwIkYySgYUSKUKJlOK/MBoMFMofYLUIsfJ+f3NuF3+A8tRree5zP/fcc070f6oHT/jAPTqQj6WvXvCM
+ TZQgG3H58gFGcYVLtGIN15jBNDbwiGNUIg4pQx8GsQuHhrCDW8yjHyns4Q0DcCXpykM5bFzgHGPYxw1G
+ UIVMtMHfWUUj4nIg/KurGIYrSAZYOXDGlbhXcZlegUO8Yxzb+BlQAwNW0G0jVAYK0AwHtnCEOyQDZvGC
+ ObTbKIIvLMA9WIYDizhFMsDjfsAZptCA9JcdfoVBvryOSbgCe4HPTuCz+BQMKEUvJmCy96ET1ehCuAf2
+ 5ZF+uwdZKEYtmuBGFSIXhtejBe5PHX7dxL+qKPoEppRHcXOtiDsAAAAASUVORK5CYII=
@@ -424,17 +435,6 @@ ufo
rp3fhGJScIRLzKMLFTC9cMIu3nCDVUyjB6WkYA93mEWbAyH9cMImPuA+rWMA31YwBU82kF6BS32Er/aO
M8zAh+OEghpcwQ2bg3uwBW8ewFd7xQkm0IA4oaAS7bh2KHjBIZbhV/D6GJkFphrdcIP8lFrAGPwPOjCO
QdQiTqrAWNICd7gPnUj+xBKaU9dxfhTkjwV/FxU+AbsiGnc46OYIAAAAAElFTkSuQmCC
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEvSURBVDhP3dK/K0dRGMfxKxRJopCSEkLya/guUhQRmQwG
- WfwIkYySgYUSKUKJlOK/MBoMFMofYLUIsfJ+f3NuF3+A8tRree5zP/fcc070f6oHT/jAPTqQj6WvXvCM
- TZQgG3H58gFGcYVLtGIN15jBNDbwiGNUIg4pQx8GsQuHhrCDW8yjHyns4Q0DcCXpykM5bFzgHGPYxw1G
- UIVMtMHfWUUj4nIg/KurGIYrSAZYOXDGlbhXcZlegUO8Yxzb+BlQAwNW0G0jVAYK0AwHtnCEOyQDZvGC
- ObTbKIIvLMA9WIYDizhFMsDjfsAZptCA9JcdfoVBvryOSbgCe4HPTuCz+BQMKEUvJmCy96ET1ehCuAf2
- 5ZF+uwdZKEYtmuBGFSIXhtejBe5PHX7dxL+qKPoEppRHcXOtiDsAAAAASUVORK5CYII=