<div dir="ltr"><h1 class="gmail-code-line" id="gmail-week-5" style="padding-bottom:0.3em;line-height:1.2;border-color:rgba(255,255,255,0.18);border-bottom:1px solid rgba(255,255,255,0.18);font-weight:normal;font-family:-apple-system,system-ui,"Segoe WPC","Segoe UI",HelveticaNeue-Light,Ubuntu,"Droid Sans",sans-serif;text-decoration-style:initial;text-decoration-color:initial"><span style="color:rgb(0,0,0)">Week 5</span></h1><p class="gmail-code-line" style="font-family:-apple-system,system-ui,"Segoe WPC","Segoe UI",HelveticaNeue-Light,Ubuntu,"Droid Sans",sans-serif;font-size:14px;font-weight:normal;text-decoration-style:initial;text-decoration-color:initial"><span style="color:rgb(0,0,0)">Hi everyone! This is my report for the present week.</span></p><h2 class="gmail-code-line" id="gmail-objectives" style="font-weight:normal;font-family:-apple-system,system-ui,"Segoe WPC","Segoe UI",HelveticaNeue-Light,Ubuntu,"Droid Sans",sans-serif;text-decoration-style:initial;text-decoration-color:initial"><span style="color:rgb(0,0,0)">Objectives</span></h2><p class="gmail-code-line" style="font-family:-apple-system,system-ui,"Segoe WPC","Segoe UI",HelveticaNeue-Light,Ubuntu,"Droid Sans",sans-serif;font-size:14px;font-weight:normal;text-decoration-style:initial;text-decoration-color:initial"><span style="color:rgb(0,0,0)">This week I dealt with Weeks 4-5 objectives:</span></p><ul style="font-family:-apple-system,system-ui,"Segoe WPC","Segoe UI",HelveticaNeue-Light,Ubuntu,"Droid Sans",sans-serif;font-size:14px;font-weight:normal;text-decoration-style:initial;text-decoration-color:initial"><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Test shader functionality. If working, release test build.</span></li><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Evaluate received feedback. Start bug fixes.</span></li></ul><p class="gmail-code-line" style="font-family:-apple-system,system-ui,"Segoe WPC","Segoe UI",HelveticaNeue-Light,Ubuntu,"Droid Sans",sans-serif;font-size:14px;font-weight:normal;text-decoration-style:initial;text-decoration-color:initial"><span style="color:rgb(0,0,0)">I released two builds this week:</span></p><ul style="font-family:-apple-system,system-ui,"Segoe WPC","Segoe UI",HelveticaNeue-Light,Ubuntu,"Droid Sans",sans-serif;font-size:14px;font-weight:normal;text-decoration-style:initial;text-decoration-color:initial"><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">one with the Week 4 features</span></li><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">the other almost mid-week after due to a bug (more on this later!).</span></li></ul><p class="gmail-code-line" style="font-family:-apple-system,system-ui,"Segoe WPC","Segoe UI",HelveticaNeue-Light,Ubuntu,"Droid Sans",sans-serif;font-size:14px;font-weight:normal;text-decoration-style:initial;text-decoration-color:initial"><span style="color:rgb(0,0,0)">Remember that I was partially out on Mon-Tue because of a public class I had to prepare.</span></p><h2 class="gmail-code-line" id="gmail-whats-been-done" style="font-weight:normal;font-family:-apple-system,system-ui,"Segoe WPC","Segoe UI",HelveticaNeue-Light,Ubuntu,"Droid Sans",sans-serif;text-decoration-style:initial;text-decoration-color:initial"><span style="color:rgb(0,0,0)">What's been done</span></h2><ul style="font-family:-apple-system,system-ui,"Segoe WPC","Segoe UI",HelveticaNeue-Light,Ubuntu,"Droid Sans",sans-serif;font-size:14px;font-weight:normal;text-decoration-style:initial;text-decoration-color:initial"><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">In the BA thread, Zanzio found that renders were wildly inconsistent between CPU and GPU. This became noticeably if rendering with both at the same time.</span><ul><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Bug #1 was a precision issue when normalizing the coordinate frame in the presence of low roughness values (Git commit:<span> </span><a href="https://developer.blender.org/rBe267191393fe5dbde91d5b428f4a6adaf6a3fa8f" title="https://developer.blender.org/rBe267191393fe5dbde91d5b428f4a6adaf6a3fa8f" style="text-decoration:none">rBe267191393fe5dbde91d5b428f4a6adaf6a3fa8f</a>).</span></li><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Bug #2, and the true reason for this, was that somehow the GPU kernel was reordering the second set of values. I don't know why it had such an effect, but it's been fixed. Thanks to nirved again for noticing! (Git commit:<span> </span><a href="https://developer.blender.org/rB2d1eef87f6b61a4a2c8ff476d290c9d841661f6b" title="https://developer.blender.org/rB2d1eef87f6b61a4a2c8ff476d290c9d841661f6b" style="text-decoration:none">rB2d1eef87f6b61a4a2c8ff476d290c9d841661f6b</a>)</span></li></ul></li><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Did a bit of cleanup: store and retrieve consistently the values from the stack (Git commit:<span> </span><a href="https://developer.blender.org/rBdc2827fd907d6c3a742ea2292e588521e2be55f9" title="https://developer.blender.org/rBdc2827fd907d6c3a742ea2292e588521e2be55f9" style="text-decoration:none">rBdc2827fd907d6c3a742ea2292e588521e2be55f9</a>).</span></li><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Merged the latest<span> </span><code style="font-family:Menlo,Monaco,Consolas,"Droid Sans Mono","Courier New",monospace,"Droid Sans Fallback";font-size:14px;line-height:19px">master</code><span> </span>commits (Git commits:<span> </span><a href="https://developer.blender.org/rB60a59fbae6b04f59e91f540eabc52102f354cd0a" title="https://developer.blender.org/rB60a59fbae6b04f59e91f540eabc52102f354cd0a" style="text-decoration:none">rB60a59fbae6b04f59e91f540eabc52102f354cd0a</a>,<span> </span><a href="https://developer.blender.org/rB535e2e4ade24801c123017ad5b1fe8e580c1d382" title="https://developer.blender.org/rB535e2e4ade24801c123017ad5b1fe8e580c1d382" style="text-decoration:none">rB535e2e4ade24801c123017ad5b1fe8e580c1d382</a>,<span> </span><a href="https://developer.blender.org/rB535e2e4ade24801c123017ad5b1fe8e580c1d382" title="https://developer.blender.org/rB535e2e4ade24801c123017ad5b1fe8e580c1d382" style="text-decoration:none">rB9b632addd34758035331399e69b3f619bc6d4b16</a>.</span><ul><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Lukas changed the<span> </span><code style="font-family:Menlo,Monaco,Consolas,"Droid Sans Mono","Courier New",monospace,"Droid Sans Fallback";font-size:14px;line-height:19px">linear_rgb_to_gray </code>function signature. (Git commit:<span> </span><a href="https://developer.blender.org/rB535e2e4ade24801c123017ad5b1fe8e580c1d382" title="https://developer.blender.org/rB535e2e4ade24801c123017ad5b1fe8e580c1d382" style="text-decoration:none">rBbd37b18a0d6d33d2be3a2e96d1928356e85a0e2a</a>))</span></li></ul></li></ul><h2 class="gmail-code-line" id="gmail-what-ill-do-later-today-and-during-the-weekend" style="font-weight:normal;font-family:-apple-system,system-ui,"Segoe WPC","Segoe UI",HelveticaNeue-Light,Ubuntu,"Droid Sans",sans-serif;text-decoration-style:initial;text-decoration-color:initial"><span style="color:rgb(0,0,0)">What I'll do later today, and during the weekend</span></h2><p class="gmail-code-line" style="font-family:-apple-system,system-ui,"Segoe WPC","Segoe UI",HelveticaNeue-Light,Ubuntu,"Droid Sans",sans-serif;font-size:14px;font-weight:normal;text-decoration-style:initial;text-decoration-color:initial"><span style="color:rgb(0,0,0)">Today, Brecht, Lukas, nirved and I discussed on IRC the current state of the shader. This is a summary of the proposed changes:</span></p><ul style="font-family:-apple-system,system-ui,"Segoe WPC","Segoe UI",HelveticaNeue-Light,Ubuntu,"Droid Sans",sans-serif;font-size:14px;font-weight:normal;text-decoration-style:initial;text-decoration-color:initial"><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Rename the Roughness parameters to (Longitudinal) "Roughness", "Radial Roughness" and "Undercoat Roughness"</span></li><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Remove the "Physical" parameterization</span></li><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Rename and reorder the rest to "Color" ("Direct coloring") "Melanin" ("Melanin Concentration"), and "Absorption coefficient"</span><ul><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">The latter remains for debugging purposes e.g. if someone wants to use the coefficients straight from the papers</span></li></ul></li><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Remap Melanin concentration to represent:</span><ul><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Melanin -> quantity</span></li><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Melanin Redness -> distribution</span></li><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Brecht asked if Melanin could be done as a percentage of saturation (0 = white, 1 = black). I know it can be done that way (V-Ray), but there is no public, reliable mapping; for example, Tungsten's melanin values have a similar representation, but Bitterli still uses d'Eon's mapping, so the Melanin value is still an absolute concentration quantity.</span></li></ul></li><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Redo the randomization to a relative tolerance</span><ul><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Formula:<span> </span><code style="font-family:Menlo,Monaco,Consolas,"Droid Sans Mono","Courier New",monospace,"Droid Sans Fallback";font-size:14px;line-height:19px">effective_roughness = clamp(roughness * (1.0f + (random - 0.5f) * roughness_randomization/100.0f), 0.0f, 1.0f)</code></span></li><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">i.e. when randomized, the roughness value should be<span> </span><code style="font-family:Menlo,Monaco,Consolas,"Droid Sans Mono","Courier New",monospace,"Droid Sans Fallback";font-size:14px;line-height:19px">roughness ± roughness_randomization%</code>-</span></li></ul></li><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Implement randomization by directly retrieving Hair Info -> Random unless the user sockets a different source.</span><ul><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">This is easy with OSL (<code style="font-family:Menlo,Monaco,Consolas,"Droid Sans Mono","Courier New",monospace,"Droid Sans Fallback";font-size:14px;line-height:19px">geom:curve_random</code>), with SVM... not so much. I do have an idea, thanks to Principled Volume.</span></li></ul></li><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Reorder the sockets as follows:</span><ul><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Color</span></li><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Roughness</span></li><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Azimuthal Roughness</span></li><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Undercoat Roughness</span></li><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">IOR</span></li><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Offset</span></li><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Randomize Color</span></li><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Randomize Roughness</span></li><li class="gmail-code-line" style=""><span style="color:rgb(0,0,0)">Random</span></li></ul></li></ul><h2 class="gmail-code-line" id="gmail-next-up" style="font-weight:normal;font-family:-apple-system,system-ui,"Segoe WPC","Segoe UI",HelveticaNeue-Light,Ubuntu,"Droid Sans",sans-serif;text-decoration-style:initial;text-decoration-color:initial"><span style="color:rgb(0,0,0)">Next up</span></h2><p class="gmail-code-line" style="font-family:-apple-system,system-ui,"Segoe WPC","Segoe UI",HelveticaNeue-Light,Ubuntu,"Droid Sans",sans-serif;font-size:14px;font-weight:normal;text-decoration-style:initial;text-decoration-color:initial"><span style="color:rgb(0,0,0)">If no bugs or feature requests arise in the next weeks, I'll begin porting the existing hair tests to the new shader. I reiterate the previous request for .blend hairstyles for this purpose -- it'll be great if you could post them to the BA thread!</span></p><h2 class="gmail-code-line" id="gmail-questions" style="font-weight:normal;font-family:-apple-system,system-ui,"Segoe WPC","Segoe UI",HelveticaNeue-Light,Ubuntu,"Droid Sans",sans-serif;text-decoration-style:initial;text-decoration-color:initial"><span style="color:rgb(0,0,0)">Questions</span></h2><p class="gmail-code-line" style="font-family:-apple-system,system-ui,"Segoe WPC","Segoe UI",HelveticaNeue-Light,Ubuntu,"Droid Sans",sans-serif;font-size:14px;font-weight:normal;text-decoration-style:initial;text-decoration-color:initial"><span style="color:rgb(0,0,0)">None this week!</span></p><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Lic. Leonardo E. Segovia<br>Departamento de Ciencias e Ingeniería de la Computación<br>Universidad Nacional del Sur<br>San Andrés 800 - Campus Palihue, B8000 Bahía Blanca, Argentina</div>
</div>