Jump to content

Trnka

Members
  • Content count

    2
  • Joined

  • Last visited

Community Reputation

1 Neutral

About Trnka

  • Rank
    Peon

Personal Information

  • Name
    O
  1. Hello friends, I was using Arnold for a long time while also playing with Mantra, but until now I never really had a time to dive deep to Mantra. The thing I really adore about Arnold is that in its settings it has this beatiful "Samples calculator". It seems just like a small detail but in my personal experience it was a great help for optimizing heavy renders. So few weeks ago I decided that I would try to create some similar calculator for Mantra. At first I implemented it by Arnold example which works like this (I'm not 100% sure with the equations but in my tests they work ): Camera (AA) Samples = pow(Camera (AA) samples parameter, 2) Diffuse Samples (Min) = pow(Camera (AA) samples parameter, 2) * pow(Diffuse samples parameter, 2) Diffuse Samples (Max) = pow(Camera (AA) samples parameter, 2) * pow(Diffuse samples parameter, 2) + (Diffuse depth parameter - 1) * pow(Camera (AA) samples parameter, 2) Specular Samples (Min) = pow(Camera (AA) samples parameter, 2) * pow(Specular samples parameter, 2) Specular Samples (Max) = pow(Camera (AA) samples parameter, 2) * pow(Specular samples parameter, 2) + (Specular depth parameter - 1) * pow(Camera (AA) samples parameter, 2) Transmission Samples (Min) = pow(Camera (AA) samples parameter, 2) * pow(Transmission samples parameter, 2) Transmission Samples (Max) = pow(Camera (AA) samples parameter, 2) * pow(Transmission samples parameter, 2) + (Transmission depth parameter - 1) * pow(Camera (AA) samples parameter, 2) Total (No lights) Samples (Min) = Sum of all min samples above Total (No lights) Samples (Max) = Sum of all max samples above But soon I realized that Mantra does not work this way. (Well yes, it was silly to think it works the same way ). So after reading a lot about how sampling works in Mantra and talking to my friends I came up with this calculator: ray_count_calculator.hdanc Which counts ray count like this: Camera Samples (Min) = clamp(Pixel samples X parameter, 1, ∞) * clamp(Pixel samples Y parameter, 1, ∞) Camera Samples (Max) = clamp(Pixel samples X parameter, 1, ∞) * clamp(Pixel samples Y parameter, 1, ∞) Diffuse Samples (Min) = clamp(Pixel samples X parameter, 1, ∞) * clamp(Pixel samples Y parameter, 1, ∞) * Diffuse samples parameter * Global multiplier parameter * Min ray samples parameter Diffuse Samples (Max) = clamp(Pixel samples X parameter, 1, ∞) * clamp(Pixel samples Y parameter, 1, ∞) * Diffuse samples parameter * Global multiplier parameter * Max ray samples parameter Reflection Samples (Min) = clamp(Pixel samples X parameter, 1, ∞) * clamp(Pixel samples Y parameter, 1, ∞) * Reflection samples parameter * Global multiplier parameter * Min ray samples parameter Reflection Samples (Max) = clamp(Pixel samples X parameter, 1, ∞) * clamp(Pixel samples Y parameter, 1, ∞) * Reflection samples parameter * Global multiplier parameter * Max ray samples parameter Refraction Samples (Min) = clamp(Pixel samples X parameter, 1, ∞) * clamp(Pixel samples Y parameter, 1, ∞) * Refraction samples parameter * Global multiplier parameter * Min ray samples parameter Refraction Samples (Max) = clamp(Pixel samples X parameter, 1, ∞) * clamp(Pixel samples Y parameter, 1, ∞) * Refraction samples parameter * Global multiplier parameter * Max ray samples parameter Total (No lights) Samples (Min) = Sum of all min samples above Total (No lights) Samples (Max) = Sum of all max samples above While using premise that these parameters in Arnold and Mantra influence the same things: Arnold Camera Samples = Mantra Pixel Samples Arnold Diffuse Samples = Mantra Diffuse Quality Arnold Specular Samples = Mantra Reflection Quality Arnold Transmission Samples = Mantra Refraction Quality Arnold SSS Samples = Mantra SSS Quality But there is a catch: In Arnold if you set Diffuse Samples to 0 you will get black diffuse indirect pass In Arnold if you set Specular Samples to 0 you will get black specular indirect pass In Mantra if you set Diffuse Quality to 0 you still get samples in diffuse indirect pass In Mantra if you set Reflection Quality to 0 you still get samples in reflection indirect pass So I think we can be sure that Mantra pixel samples fire also diff/refl/refr/sss samples - so when having diff/refl/refr/sss parameters set to 0, their corresponding rays cant be 0 (but I really don't know and can't find out how much of them is fired) Also pay attention to the clamping of pixel samples - in my tests pixel samples parameters were always clamped like this: clamp(Pixel samples parameter, 1, ∞) - when using values lower than 1 the result was always the same as when using 1 This catch made my calculator useless It seems that Mantra fires all kinds of rays even when using pixel samples only while Arnold does not. I personally did not expect this behavior and as far as I know it is even not documented. (Or at least I could not find it). I spent few days trying to figure out how these parameters could relate to each other but I did not find any good solution. So in my frustration I decided that it would be probably better to ask you guys if you did not try to create some calculator like this before or to find out how all Mantra parameters relate to each other I think it would be a great help for all Mantra users to find out how Mantra works "under the hood" Thank you very much for any advice and have a nice day.
  2. Hable and ACES tonemapping

    Hello Oskar, thank you very much for such an interesting thread, may I ask you, which tonemapper do you prefer? And how did you generate these LUTs? Thank you very much
×