Announcement

Collapse
No announcement yet.

Linear Workflow

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Linear Workflow

    Hallo,

    I'm confused about the usage of Vray. In the last days I have learned, that I must use the sRGB output, if I want to get the right fresnel reflections. Also I have read Gijs "linear workflow" tutorial: if I use the sRGB output, than I must correct the gamma of my textures. But if I use the Rhino standard materials, than I can not do it. Also I'm not so happy to set gamma 0.45 allways. This is not a simple workflow.

    I think, it's time to find a way, that all this gamma stuff is bring to a simple solution. My wishes are:
    - I would like to work in sRGB mode without to manipulate the famebuffer after every new start of rhino
    - I would like to use my textures without to set a special gamma (maybe a global gamma option could help here)
    - I would like to set the color, so that it looks like in the rendering like in the color chooser

    Vray for Rhino should work in physical correct mode without the user must read special tutorials and set careful gamma values for textures and colors.

    -Micha
    www.simulacrum.de - visualization for designer and architects

  • #2
    Linear Workflow

    That's why I always ask for an option to change the gamma of all color choosers I see you figured it out too.

    I don't really mind the 0.455 thing, but a global option would be nice. But then note that most of your hdri's will need a 2.2 gamma correction, since hdri's are in linear space already. The best thing would be to completely work in linear, also in photoshop etc so all your textures will be in linear space and you don't need the 0.455 correction.

    The whole gamme thing is not a basic setting, it confuses a lot of people so I don't know if it should be a default setting.

    You can also use the gamma option in the color mapping instead of the srgb button. This will cause vray to take enough samples in dark areas too, because with the srgb button vray actually samples an image much darker than you are looking at. So if you experience low quality in dark regions, this could help. Downside is that you burn in the gamma, instead of when using srgb you keep your image linear but it's only altered for display purposes.

    Anyway I'm glad you want a gamma corrected interface too I know use my second monitor at gamma 2.2 correction on the video card and put my color choosers on that screen Then you can correctly choose your colors.
    Aversis 3D | Download High Quality HDRI Maps | Vray Tutorials | Free Texture Maps

    Comment


    • #3
      Linear Workflow

      The best thing would be to completely work in linear, also in photoshop etc so all your textures will be in linear space and you don't need the 0.455 correction
      I hope you don't mean I should convert my thousands of textures to 16bit images.

      You can also use the gamma option in the color mapping instead of the srgb button. This will cause vray to take enough samples in dark areas too, because with the srgb button vray actually samples an image much darker than you are looking at. So if you experience low quality in dark regions, this could help.
      Ah, very interesting. I have seen this effect. So, I will stick on this Gamma 2.2 method.

      Downside is that you burn in the gamma, instead of when using srgb you keep your image linear but it's only altered for display purposes.
      But if somebody need a linear image, than he is a professional power user and can save the image as hdr and correct the gamma per postwork without loss.

      My suggestion: Joe implement a "linear workflow" option, that internal set all colors and textures at gamma 0.45. The default gamma is 2.2. Than VfR would work like the known easy-to-use-but-very-slow render engine.
      So, every user could open VfR and start to render physical correct reflections, colors and textures. The rhino color chooser would work perfect without extra option. I wonder me, that we must discuss about it. Should be standard or?

      What is the source for all this gamma problems? All textures and colors are gamma correct per default, but the lighting is calculated linear. If we adjust the gamma of the rendering with value 2.2, than we apply a second gamma correction to all textures and colors. Could Vlados help here? Improve the Vray core engine for that purpose? How do Maxwell handle this problem? I can not remember me on problems with texture gammas, the whole engine is set to gamma 2.2.
      www.simulacrum.de - visualization for designer and architects

      Comment


      • #4
        Linear Workflow

        The theory say: the brightest material can diffuse reflect max. 80% of the incoming light. So, if I want to render a white object, I must set the color value at (200,200,200). The same for textures, I use the multiplier 0.8. Problem: allways if I set a color, I must take my pocket calculater and multiply the V value of the HSV color parameters.
        I have thought, I could use global options to get the effect. So I have used the GI multiplier and set both at 0.8. My problem is now, if I render the LC pass, than Vray use the 0.8 corrected colors. This is good, but if in the scene are direct light than in the final pass the light of the direct light is calculated with 100%. Look at the example image: only in the bright light is a lighting jump visible.
        The LC is a very useful fast preview, so I can not use my 0.8 multiplier for both GI engines. If I use the multiplier for the secondary engine only, it works, but this is not physical correct. The real world dosn't devide in GI and direct light and reflections.

        Best would be, if the "linear workflow" flag would enable, that all colors and textures are internal multiplied with 0.8. We could call the "linear workflow" flag "physical correct linear workflow" too.

        www.simulacrum.de - visualization for designer and architects

        Comment


        • #5
          Linear Workflow

          Yeah, the gi multipliers only affect the GI bounced light, not your actual colors. But your 0.8 method is not really correct imo. Why would you multiply a dark color with 0.8 too?? The only thing it should do is to tone down colors that are really too bright (more than 80%). You say the max is 80% reflectance, but a color 20,20,20 doesn't have that anyways, so why lower it even more?

          Take care with the name LWF because it has many meanings, and what we describe here is not LWF it's just a gamma 2.2 correction on your renderings.

          LWF would be if your complete workflow stays linear. So your textures are linear too etc and you use the srgb button and not the 2.2 option in color mapping.
          That explains why I said that comment about linear textures in my previous post, I didn't say you had to use this method, but that is what it's based on, it assumes you have your textures linear too or else you need to recorrect them in the 3d app.


          Instead of making a lot of this stuff default, I think it would be best if we could choose some default settings ourselves. For example a default for loading textures at a specific gamma (so in your case you would set it to 0.455). The normal vray options are easily set as you want, just do all the settings and overwrite your rhino template file.

          To summarize, I think we need the options that max has:
          -global 'display gamma' option, this affects all color swatches, color choosers, mat preview, texture preview.
          -global gamma value for loading textures

          That's it actually, all the rest you can customize yourself by using rhino template file.
          Aversis 3D | Download High Quality HDRI Maps | Vray Tutorials | Free Texture Maps

          Comment


          • #6
            Linear Workflow

            Yeah, the gi multipliers only affect the GI bounced light, not your actual colors. But your 0.8 method is not really correct imo. Why would you multiply a dark color with 0.8 too?? The only thing it should do is to tone down colors that are really too bright (more than 80%). You say the max is 80% reflectance, but a color 20,20,20 doesn't have that anyways, so why lower it even more?
            I think, a multiplier is the best way. How will you handle it? You can not cut all values above 80%.
            Example: I need a texture of bookcover. The bookcover is white with a photo at the front. The exposure of my camera works like a multiplier and ideal I should make, that the white is (200,200,200), but most photos of a white object are white (255,255,255). We could say the photo show approx. 120% intensity values. A multiplier could correct it. A black of (20,20,20) will be (16,16,16). It's ok, because the camera has multiply all color values befor with 120% too.

            A global multiplier is necessary for colors and textures. If a user like to render a white colored room, he could set (255,255,255), but Vray internal use (200,200,200). If we use 80% of a white color, than we must do the same for a medium red color too, because without correction the red is to bright in comparsion to the white. In my red/black car test I had this problem. The red without correction was to bright in comparsion the corrected white ground.

            That a correction of white values is necessary for interiors in GI mode, this is known. But in the real world an object dosn't send 80% GI light and 100% light to the human eye/camera. My usage of maxwell has learn me: use (200,200,200) for white objects. And this has an effect not only for GI. Like in the real world, the GI bleeding and the direct view are at max. 80%.


            To summarize, I think we need the options that max has:
            -global 'display gamma' option, this affects all color swatches, color choosers, mat preview, texture preview.
            -global gamma value for loading textures
            So I could global set 0.45 and all texures, also the rhino materials use it. If I like, I can change the gamma at the texture dialog of the Vray materials. So we need an additional "use global gamma" option for the texture dialog.

            What did you mean with "loading textures"?
            www.simulacrum.de - visualization for designer and architects

            Comment


            • #7
              Linear Workflow

              I mean what you say You simply specify what gamma correction your textures will use by default. So instead of 1.0 now it will have 0.45 for example. If then you loaded a hdri map which needs to be 1 instead of 0.45 you can easily change it back to 1.

              You're right about the 0.8 thing. But the highest priority is for the display gamma option, this is essential to use LWF inside rhino. All other things said make life easier, but the display gamma is simply a must.
              Aversis 3D | Download High Quality HDRI Maps | Vray Tutorials | Free Texture Maps

              Comment


              • #8
                Linear Workflow

                ... I totaly agree with you. The global gamma option is extremly important, it's the base for any rendering.
                www.simulacrum.de - visualization for designer and architects

                Comment


                • #9
                  Linear Workflow

                  We're open for all suggestions. I'll ask Corey to explain to me in detail the "linear workflow" stuff and we can work out what the best way is ( as far as UI ) to accomplish this task.
                  Best regards,
                  Joe Bacigalupa
                  Developer

                  Chaos Group

                  Comment


                  • #10
                    Linear Workflow

                    Micha, I am quite certain that Maxwell works linear internally as well: It has a gamma correction in the render dialog, which is similar to using the sRGB button if it is set to 2.2. And also it will have a texture correction internally without doubt.

                    One thing to note, and this is probably the most important thing: no matter if you care about this LWF thing or not, Vray ALWAYS makes lighting calculations in linear space and it assumes the following 2 things:

                    1 that all input is linear (colors, texures)
                    2 that the output image is either used in a linear workflow or that it is gamma corrected for displaying the image (ifs your system is native PC (uncalibrated it is the monitors native gamma (most likely somewhere between 2.2 and 2.6), standard mac is 1.8, a calibrated monitor will be most likely 2.2)

                    Furthermore you don't need to correct your textures in photoshop in order to use them in Vray, you can use the override gamma option in the bitmap loader and set it to 1/2.2 (assuming that your texture as a baked-in gamma of 2.2)

                    So, basically it is all very simple if you follow these few steps:
                    -use gamma override in bitmap loader (ideally this could be a global setting for non-hdr bitmap files as suggested by Wouter)
                    -use either the global gamma setting or use the sRGB preview if you want to keep your output linear.
                    You can contact StudioGijs for 3D visualization and 3D modeling related services and on-site training.

                    Comment


                    • #11
                      Linear Workflow

                      ... so we can not use rhino material textures now and colors are double corrected too.
                      www.simulacrum.de - visualization for designer and architects

                      Comment


                      • #12
                        Linear Workflow

                        Micha, what do you mean by rhino material textures?

                        anyhow, when I wrote Vray assumes textures and colors to be linear, I mean that things are interpreted as being linear. Vray itself can not determine if a color or texture has been corrected.

                        Colors from the color picker will therefore indeed be corrected twice. One workaround for this is to use textures for everything. Even for simple colors use a small colored patch and apply gamma correction in the bitmap loader.

                        You could also use a conversion table, but especially in the darker tones, it becomes more and more inaccurate, since you cannot define colors in floating point numbers.

                        So, like Wouter said we need (and I quote)

                        -global 'display gamma' option, this affects all color swatches, color choosers, mat preview, texture preview.
                        -global gamma value for loading textures
                        You can contact StudioGijs for 3D visualization and 3D modeling related services and on-site training.

                        Comment


                        • #13
                          Linear Workflow

                          I think micha means standard rhino materials, not vray materials. They don't have this gamma loading option.

                          Sometimes it's easier to use rhino materials, for example for low poly people so you simply place it's texture with the rhino interface instead of making 20 different vray materials. I think the best way to handle this is to make a gamma 1.0 version of these textures in photoshop, you can use batch mode for that to convert a complete folder.
                          Aversis 3D | Download High Quality HDRI Maps | Vray Tutorials | Free Texture Maps

                          Comment


                          • #14
                            Linear Workflow

                            Converting of textures from gamma 2.2 to gamma 1 in photoshop can be a temporary solution only. The goal should be, that the user must not touch the textures. Like Maxwell, VfR should support an easy workflow with gamma 2.2 textures and output.

                            What means "global gamma value for loading textures"? Why two gamma options?
                            www.simulacrum.de - visualization for designer and architects

                            Comment


                            • #15
                              Linear Workflow

                              Now you have a 'local' option to load a texture with a specific gamma, you do it per texture that you load. If it is global, you set it as a default value for all your texture you load.

                              You can't do it automatically like Gijs already said. Vray cannot know if your texture is gamma 2.2 or gamma 1.0. Almost all hdri's will be gamma 1.0 so if you specify a global gamma 2.2 you still need to locally recorrect the hdri to 1.0 again.

                              Also if you work completely in linear space, all your texture will be linear too. Not many people will do that, but it is better since photoshop does more correct calculations for blurs etc on linear images.

                              In other words, you must have the global option for loading textures, but keep the local option too!

                              The second gamma option is the display gamma option, and this is used to gamma 2.2 correct your color swatches so you can choose colors and have them show up as expected in the rendering. If you want, you can indeed make it only one option, or say if you specify a display gamma of 2.2 that all your textures will have this correction automatically. (but still you need to be able to change it locally too)
                              Aversis 3D | Download High Quality HDRI Maps | Vray Tutorials | Free Texture Maps

                              Comment

                              Working...
                              X