• 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 tstoff · Jan 13 at 10:09 PM · rendering

Raw HDR Rendering

Hi all!

I am currently using Unity for simulation purposes. The images I am producing have specular reflections which are saturated in the output JPG images that are rendered. I was wondering if it is possible in Unity to render images to a raw output format which contains the actual intensity values at that pixel without saturation or clipping. Currently I am rendering like so:

     RenderTexture rt = new RenderTexture(w, h, 24);
     cam.targetTexture = rt;
     cam.Render();

     Texture2D img = new Texture2D(w, h);
     RenderTexture.active = rt;
     img.ReadPixels(new Rect(0, 0, w, h), 0, 0);
     img.Apply();

Many thanks!

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
1
Best Answer

Answer by Namey5 · Jan 14 at 09:38 AM

You'll need to specify an HDR texture format for both the render texture and output texture if you want to store HDR values;

 //Cache the current active RTs
 RenderTexture prevCam = cam.targetTexture;
 RenderTexture prevActive = RenderTexture.active;
 
 //Use GetTemporary() and ReleaseTemporary() if the RT doesn't need to exist over multiple frames
 //Use ARGBHalf format for both textures (16-bit floating point/channel)
 RenderTexture rt = RenderTexture.GetTemporary (w, h, 24, RenderTextureFormat.ARGBHalf);
 cam.targetTexture = rt;
 cam.Render();
 RenderTexture.active = rt;
 
 //Also set equivalent HDR format here
 Texture2D img = new Texture2D(w, h, TextureFormat.RGBAHalf);
 img.ReadPixels(new Rect(0, 0, w, h), 0, 0);
 img.Apply();
 
 //Cleanup RTs
 cam.targetTexture = prevCam;
 RenderTexture.active = prevActive;
 RenderTexture.ReleaseTemporary (rt);

If you are going to then encode to a format to save on disk, you'll need to use an HDR format (EXR is the main one supported by Unity with a function overload to handle encoding for you).

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.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

128 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

Related Questions

Copy result of pass to another pass of the same shader 1 Answer

Unity 3D Issues? 0 Answers

HD Render Pipeline 1 Answer

Text Mesh Pro rendering/performance issue 1 Answer

LWRP Transparent shader graph has see-through shadows 0 Answers

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges