<div dir="ltr"><div>Hi Joe,<br><br></div>I think what it means practically is that the equations provided here:<br><div><div><div><br><a href="http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/lighting.html#Lightingequations">http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/lighting.html#Lightingequations</a><br><br></div><div>and perhaps elsewhere in the standard are not meant to be directly used with RGBA values provided as colors explicitly or in the form of images. The reason is that these equations assume that intensities have a more physical (linear) meaning rather than the human perception based (gamma encoded) meaning in which they are (typically) given.<br><br></div><div>To make a point and provoke response one may say that the equations are wrong in the way they are given. The good news is that the fix is easy as pointed out in the nvidia article.<br></div><div><br></div><div>I would love to be corrected by somebody with more experience with gamma and color management since this is definitely a pretty opaque topic to most and something I am not very familiar with.<br><br></div><div>-Andreas<br></div><div><br></div><div><br></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Dec 10, 2015 at 9:09 AM, Joe D Williams <span dir="ltr"><<a href="mailto:joedwil@earthlink.net" target="_blank">joedwil@earthlink.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Does<br>
ColorRGBA<br>
have anything to do with this?<br>
Joe<br>
----- Original Message ----- From: "Don Brutzman" <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>><br>
To: "Andreas Plesch" <<a href="mailto:andreasplesch@gmail.com" target="_blank">andreasplesch@gmail.com</a>>; "Limper, Max" <<a href="mailto:max.limper@igd.fraunhofer.de" target="_blank">max.limper@igd.fraunhofer.de</a>><br>
Cc: <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>>; <<a href="mailto:x3dom-developers@lists.sourceforge.net" target="_blank">x3dom-developers@lists.sourceforge.net</a>><br>
Sent: Wednesday, December 09, 2015 8:26 AM<br>
Subject: Re: [x3d-public] [x3dom-developers] gamma correction standardization<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thanks for the discussion of this important topic.<br>
<br>
At a minimum this is a candidate capability for X3D v4.<br>
<br>
Gamma correction has been added to our "Candidate capabilities"<br>
<br>
<a href="http://www.web3d.org/wiki/index.php/X3D_version_3.4_Development#Candidate_capabilities" rel="noreferrer" target="_blank">http://www.web3d.org/wiki/index.php/X3D_version_3.4_Development#Candidate_capabilities</a><br>
<br>
Editorial note: v3.4 efforts are all being promoted to v4.0, we are not pausing for an intermediate version.  8)<br>
<br>
This was a major topic early on, with Maureen Stone and others.  It will be great to revisit and consider what improvements can be practically pursued.  Appreciate your "looking" at the right challenges!   8)<br>
<br>
<br>
On 11/26/2015 5:09 PM, Andreas Plesch wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Max,<br>
<br>
thanks for the clarification. I found this article referred to in the github issue helpful:<br>
<br>
<a href="http://http.developer.nvidia.com/GPUGems3/gpugems3_ch24.html" rel="noreferrer" target="_blank">http://http.developer.nvidia.com/GPUGems3/gpugems3_ch24.html</a><br>
<br>
It argues convincingly for the kind of gamma correction which x3dom does but is not generally adopted with opengl fixed pipeline apps.<br>
<br>
It may be that opengl fixed pipeline lighting was formulated without considering in what kind of color space colors/intensities would need to be provided to the pipeline but implicitly assuming a linear space ? This is just a guess. If this is the case, then indeed the gamma correction discussed in the article and applied in x3dom would be preferable, eg. lead to colors which are truer to their appearance outside of the pipeline.<br>
<br>
Although there might not be a large appetite for x3d to have an opinion on gamma correction since it would likely complicate browser programming and would need to be somehow backward compatible, I thought it still is something to be at least aware of.<br>
<br>
-Andreas<br>
<br>
<br>
On Wed, Nov 25, 2015 at 11:59 PM, Limper, Max <<a href="mailto:max.limper@igd.fraunhofer.de" target="_blank">max.limper@igd.fraunhofer.de</a> <mailto:<a href="mailto:max.limper@igd.fraunhofer.de" target="_blank">max.limper@igd.fraunhofer.de</a>>> wrote:<br>
<br>
    Hi Andreas,<br>
<br>
    I think the current lighting equations match well with the fixed function pipeline from traditional OpenGL. Modern renderers for games, for example, use physically-based shading (PBS) models, which are a bit more realistic than the (not energy-preserving) phong model.<br>
<br>
    AFAIK, however, there is no commonly used, standardized model for PBS parameters (yet).<br>
<br>
    Regards,<br>
    Max<br>
<br>
    Am 25.11.2015 10:25 nachm. schrieb Andreas Plesch <<a href="mailto:andreasplesch@gmail.com" target="_blank">andreasplesch@gmail.com</a> <mailto:<a href="mailto:andreasplesch@gmail.com" target="_blank">andreasplesch@gmail.com</a>>>:<br>
    While exploring differences in rendering between x3dom and cobweb using<br>
    <a href="http://andreasplesch.github.io/Library/Viewer/x3dweb.html" rel="noreferrer" target="_blank">http://andreasplesch.github.io/Library/Viewer/x3dweb.html</a><br>
    it becomes quickly obvious that materials in cobweb tend to appear darker with more contrast. For example the material used in the example scene below looks more like copper on my screen in x3dom but golden in cobweb.<br>
    This difference can be traced back to the use of gamma correction for lighting purposes in x3dom introduced here:<br>
    <a href="https://github.com/x3dom/x3dom/issues/222" rel="noreferrer" target="_blank">https://github.com/x3dom/x3dom/issues/222</a><br>
    and further discussed here:<br>
    <a href="https://github.com/x3dom/x3dom/issues/487" rel="noreferrer" target="_blank">https://github.com/x3dom/x3dom/issues/487</a><br>
<br>
     From what I understand the main point is that although colors in image files and materials are already gamma encoded and do not need special treatment for decoding to display on a typical screen, when it comes to lighting well known equations assume that colors and their intensities are provided in a linear (non gamma encoded) space. This means that colors in lighting need to be decoded (linearized) first, then light processed, and finally re-encoded for delivery to the display system. x3dom does that by default and has a special environment node attribute to switch off this kind of gamma treatment (gammaCorrectionDefault="none"). Switched off, x3dom looks very similar to cobweb; a look which perhaps some regard as more traditional (?).<br>
<br>
    These differences point to a need to standardize gamma treatment since currently the standard seems quiet and allows for quite different interpretations of how lighting equations are applied.<br>
<br>
    On the other hand, it may well be that it is out of the scope of the x3d specification to be more precise about how colors should appear. After all, the trend is to custom shaders which do their own processing anyways. Is there a newer or emerged standard shading/material model replacing the current (Phong?) shading ?<br>
<br>
    As a first step it would be necessary to determine what assumptions the lighting equations given in the current standard make in order to claim that they are somewhat realistic. Are these equations opengl derived ?<br>
    Another question is if any other x3d browsers attempt some kind of gamma correction for shading purposes.<br>
<br>
    -Andreas<br>
<br>
    Here is a short example scene, ready to use:<br>
<br>
    <?xml version="1.0" encoding="UTF-8"?><br>
    <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "<a href="http://www.web3d.org/specifications/x3d-3.0.dtd" rel="noreferrer" target="_blank">http://www.web3d.org/specifications/x3d-3.0.dtd</a>"><br>
    <X3D profile='Interchange' version='3.0' xmlns:xsd='<a href="http://www.w3.org/2001/XMLSchema-instance" rel="noreferrer" target="_blank">http://www.w3.org/2001/XMLSchema-instance</a>' xsd:noNamespaceSchemaLocation =' <a href="http://www.web3d.org/specifications/x3d-3.0.xsd" rel="noreferrer" target="_blank">http://www.web3d.org/specifications/x3d-3.0.xsd</a> '><br>
    <head><br>
    <meta name='title' content='Figure03.08DefaultSphere.x3d'/><br>
    </head><br>
    <Scene><br>
       <Background groundcolor='0 0 0' /><br>
       <NavigationInfo headlight="false" /><br>
       <!-- uncomment to disable gamma correction in x3dom --><br>
       <!--<br>
       <Environment gammaCorrectionDefault="none"></Environment><br>
       --><br>
       <DirectionalLight direction="0 0 -1" /><br>
       <Viewpoint position="0 0 3" orientation="0 0 0 1" /><br>
    <Shape><br>
    <Sphere /><br>
    <Appearance><br>
    <Material<br>
                   ambientIntensity='0.25'<br>
                   diffuseColor='0.384722 0.266993 0'<br>
                   specularColor='0.757576 0.738847 0.590386'<br>
                   shininess='0.0666667'/><br>
    </Appearance><br>
    </Shape><br>
    </Scene><br>
    </X3D><br>
<br>
    --<br>
    Andreas Plesch<br>
    39 Barbara Rd.<br>
    Waltham, MA 02453<br>
_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</blockquote>
<br>
all the best, Don<span class="HOEnZb"><font color="#888888"><br>
-- <br>
Don Brutzman  Naval Postgraduate School, Code USW/Br <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><br>
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA <a href="tel:%2B1.831.656.2149" value="+18316562149" target="_blank">+1.831.656.2149</a><br>
X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman" rel="noreferrer" target="_blank">http://faculty.nps.edu/brutzman</a><br>
<br>
_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a> <br>
</font></span></blockquote>
<br>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature">Andreas Plesch<br>39 Barbara Rd.<br>Waltham, MA 02453</div>
</div>