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
0
Question by Lad-Ty · Jul 19, 2020 at 09:22 AM · post processingdiffusebuffersamplingdeffered

Sampling Diffuse GBuffer in Deferred HDRP Post Process

Hi, I really need to be able to read diffuse buffer for the post-process effect I'm working on with HDRP Deferred rendering.
I'm implementing SSAO+SSGI (screen space global illumination) and I need to be able to bounce light even at surfaces that are fully shadowed/black in the scene. And to properly light them up this way, I need to know their (diffuse) color.
Sadly I have no luck accessing it, the buffer is fully black and I have no idea why, what else should I include (.hlsl) or how else to sample it in the .shader. I've had some luck with this: "TEXTURE2D_X(_GBufferTexture0); + LOAD_TEXTURE2D_X(_GBufferTexture0, positionSS);" , but only when reading _GBufferTexture1. Which I believe is supposed to be specular color, while I need to be able to read _GBufferTexture0 - diffuse, which returns nothing.

I have also tried using macros I found in the DebugViewMaterialGBuffer.shader and/or Lit.hlsl

 float4 GetDiffuseColor(float2 positionSS) {
     BSDFData bsdfData;
     BuiltinData builtinData;
     DECODE_FROM_GBUFFER(positionSS, UINT_MAX, bsdfData, builtinData);
     return float4(GetDiffuseOrDefaultColor(bsdfData, 1).rgb, 1);
 }

But same result -> all black. So I'd like to know, how can I actually sample diffuse buffer in HDRP PostProcess when using Deferred shading? Currently I can only work with the colors from source RT, which is fine for well lit scenes but not when trying to light up dark areas, there you lose a lot of color info, making the effect very dull and ineffective. alt text Currently I can only achieve the middle image, which does not really make it look like the light is actually bouncing and lighting other surfaces. The 3rd image is "artifically boosted" to resemble what I think it should approximately look like, but for now I'm just adding a bit of white to any sampled color so even black surfaces show up. Wouldn't make sense for example to fully shadowed green surface, that would look like the original color is dark grey (even the blue cylinder is obviously not color correct in the darker places) :/
Really hoping I could get some help on this because no help in unity forum, nor unity support email. I'm starting to think it's a bug and the gbuffer0 is not available for hdrp post processes :-| though I still hope I'm just missing something...

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

0 Replies

· Add your reply
  • Sort: 

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

129 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 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 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 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 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 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 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 avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Post effect shader similar to "Shannara Chronicles" intro's edge smoke effect 0 Answers

Universal Render Pipeline grey screen on android 0 Answers

Here's a tip for animating post-processing 0 Answers

Custom URP Postprocessing 0 Answers

Some with post processing. 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