summaryrefslogtreecommitdiffstats
path: root/Scripts/Impostors.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Scripts/Impostors.cs')
-rw-r--r--Scripts/Impostors.cs8
1 files changed, 6 insertions, 2 deletions
diff --git a/Scripts/Impostors.cs b/Scripts/Impostors.cs
index e52452b..e1447b6 100644
--- a/Scripts/Impostors.cs
+++ b/Scripts/Impostors.cs
@@ -161,6 +161,8 @@ public class Impostors : MonoBehaviour
if (isDepth)
{
depthBlitMat.SetTexture("_DepthTex", depthOnlyRT);
+ depthBlitMat.SetFloat("_Near", cam.nearClipPlane);
+ depthBlitMat.SetFloat("_Far", cam.farClipPlane);
Graphics.Blit(null, linearDepthRT, depthBlitMat);
RenderTexture.active = linearDepthRT;
}
@@ -437,7 +439,7 @@ public class Impostors : MonoBehaviour
(new TextureExportSettings("albedo", mipmaps: true, sRGB: true, alphaTransparency: true), "_Impostors_Atlas"),
(new TextureExportSettings("normal", mipmaps: true, sRGB: false), "_Impostors_Normal_Atlas"),
(new TextureExportSettings("metallic_gloss", mipmaps: true, sRGB: false), "_Impostors_Metallic_Gloss_Atlas"),
- (new TextureExportSettings("depth", isEXR: true, mipmaps: false, sRGB: false, filter: FilterMode.Bilinear, uncompressed: true), "_Impostors_Depth_Atlas")
+ (new TextureExportSettings("depth", isEXR: false, mipmaps: false, sRGB: false, filter: FilterMode.Bilinear, uncompressed: true), "_Impostors_Depth_Atlas")
};
// Dilate RGB to prevent dark halos from texture filtering
@@ -484,6 +486,8 @@ public class Impostors : MonoBehaviour
impostorMaterial.SetTexture(exportSettings[i].materialProp, textures[i]);
impostorMaterial.SetInt("_Impostors_Grid_Resolution", gridResolution);
impostorMaterial.SetFloat("_Impostors_Sphere_Radius", sphere_radius_);
+ impostorMaterial.SetFloat("_Impostors_Near_Clip", nearClippingDistance);
+ impostorMaterial.SetFloat("_Impostors_Far_Clip", sphere_radius_ * 2f + nearClippingDistance);
impostorMaterial.SetFloat("_Impostors_Enabled", 1);
impostorMaterial.SetFloat("_Impostors_Parallax", 1);
impostorMaterial.SetFloat("_Cull", (float)UnityEngine.Rendering.CullMode.Front);
@@ -492,7 +496,7 @@ public class Impostors : MonoBehaviour
impostorObject = GameObject.CreatePrimitive(PrimitiveType.Quad);
impostorObject.name = "Impostor";
impostorObject.transform.SetParent(transform, false);
- impostorObject.transform.localScale = Vector3.one;
+ impostorObject.transform.localScale = Vector3.one * sphere_radius_ * 2.0f;
DestroyImmediate(impostorObject.GetComponent<Collider>());
impostorObject.GetComponent<MeshRenderer>().sharedMaterial = impostorMaterial;