Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
1
Question by Jeiel · Sep 05, 2013 at 09:52 PM · post effects

Using the Camera Depth Texture with Image Effects.

How can I access the camera depth texture in an image effect shader? I've tried setting up my image effect script like so:

 using UnityEngine;
 using System.Collections;
 
 [ExecuteInEditMode]
 public class ImageEffect : ImageEffectBase
 {
     protected override void Start()
     {
         base.Start();
         camera.depthTextureMode |= DepthTextureMode.DepthNormals;
     }
 
     void OnRenderImage(RenderTexture source, RenderTexture destination)
     {
         Graphics.Blit(source, destination, material);
     }
 }

And my shader code:

 Shader "Custom/DepthNormal" {
     Properties {
         _MainTex ("Render Input", 2D) = "white" {}
     }
 
     SubShader {
         ZTest Always Cull Off ZWrite Off Fog { Mode Off }
         Pass
         {
             CGPROGRAM
                 #pragma vertex vert_img
                 #pragma fragment frag
                 #include "UnityCG.cginc"
 
                 sampler2D _MainTex;
                 sampler2D _CameraDepthNormalTexture;
             
                 float4 frag(v2f_img IN) : COLOR
                 {
                     half4 depthNormal = tex2D(_CameraDepthNormalTexture, IN.uv.xy);
                     float depth = DecodeFloatRG(depthNormal.zw);
                     return half4(depth, depth, depth, 1);
                 }
             ENDCG
         }
     }
 }

I've set the camera to use deferred rendering but I'm not getting any output on my screen, just a blank grey image. Am I setting up the camera depth texture wrongly?

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by lgarczyn · Apr 04, 2020 at 03:17 PM

Very old post, but had the same problem recently.

It looks like a camera won't do a depth pass if the shadows are disabled. Check your frame debugger that a depth pass was made.

If you don't want shadows, you have to set the camera depth mode to Depth.

This will not affect the editor window, so you have to create a script that affects Camera.current and has the [ExecuteAlways] tag if you want it to.

Also make sure that your render texture has a depth buffer. This is vital, as it appears Unity requires the camera render texture and the image effect render texture to have the exact same properties.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

17 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Duplicate Monobehaviour 1 Answer

Exclude skybox from Bloom Effect 4 Answers

Expressions in statements must only be executed for their side-effects 1 Answer

How would I grab the lighting pass in a post process shader for deferred lighting? 0 Answers

1FPS on mobile using slandered bloom and lensflare image effects 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges