[x3d-public] [x3dom-developers] gamma correction standardization

Joe D Williams joedwil at earthlink.net
Thu Dec 10 06:09:20 PST 2015


Does
ColorRGBA
have anything to do with this?
Joe
----- Original Message ----- 
From: "Don Brutzman" <brutzman at nps.edu>
To: "Andreas Plesch" <andreasplesch at gmail.com>; "Limper, Max" 
<max.limper at igd.fraunhofer.de>
Cc: <x3d-public at web3d.org>; <x3dom-developers at lists.sourceforge.net>
Sent: Wednesday, December 09, 2015 8:26 AM
Subject: Re: [x3d-public] [x3dom-developers] gamma correction 
standardization


> Thanks for the discussion of this important topic.
>
> At a minimum this is a candidate capability for X3D v4.
>
> Gamma correction has been added to our "Candidate capabilities"
>
> http://www.web3d.org/wiki/index.php/X3D_version_3.4_Development#Candidate_capabilities
>
> Editorial note: v3.4 efforts are all being promoted to v4.0, we are 
> not pausing for an intermediate version.  8)
>
> 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)
>
>
> On 11/26/2015 5:09 PM, Andreas Plesch wrote:
>> Hi Max,
>>
>> thanks for the clarification. I found this article referred to in 
>> the github issue helpful:
>>
>> http://http.developer.nvidia.com/GPUGems3/gpugems3_ch24.html
>>
>> It argues convincingly for the kind of gamma correction which x3dom 
>> does but is not generally adopted with opengl fixed pipeline apps.
>>
>> 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.
>>
>> 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.
>>
>> -Andreas
>>
>>
>> On Wed, Nov 25, 2015 at 11:59 PM, Limper, Max 
>> <max.limper at igd.fraunhofer.de 
>> <mailto:max.limper at igd.fraunhofer.de>> wrote:
>>
>>     Hi Andreas,
>>
>>     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.
>>
>>     AFAIK, however, there is no commonly used, standardized model 
>> for PBS parameters (yet).
>>
>>     Regards,
>>     Max
>>
>>     Am 25.11.2015 10:25 nachm. schrieb Andreas Plesch 
>> <andreasplesch at gmail.com <mailto:andreasplesch at gmail.com>>:
>>     While exploring differences in rendering between x3dom and 
>> cobweb using
>>     http://andreasplesch.github.io/Library/Viewer/x3dweb.html
>>     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.
>>     This difference can be traced back to the use of gamma 
>> correction for lighting purposes in x3dom introduced here:
>>     https://github.com/x3dom/x3dom/issues/222
>>     and further discussed here:
>>     https://github.com/x3dom/x3dom/issues/487
>>
>>      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 (?).
>>
>>     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.
>>
>>     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 ?
>>
>>     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 ?
>>     Another question is if any other x3d browsers attempt some kind 
>> of gamma correction for shading purposes.
>>
>>     -Andreas
>>
>>     Here is a short example scene, ready to use:
>>
>>     <?xml version="1.0" encoding="UTF-8"?>
>>     <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" 
>> "http://www.web3d.org/specifications/x3d-3.0.dtd">
>>     <X3D profile='Interchange' version='3.0' 
>> xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' 
>> xsd:noNamespaceSchemaLocation =' 
>> http://www.web3d.org/specifications/x3d-3.0.xsd '>
>>     <head>
>>     <meta name='title' content='Figure03.08DefaultSphere.x3d'/>
>>     </head>
>>     <Scene>
>>        <Background groundcolor='0 0 0' />
>>        <NavigationInfo headlight="false" />
>>        <!-- uncomment to disable gamma correction in x3dom -->
>>        <!--
>>        <Environment gammaCorrectionDefault="none"></Environment>
>>        -->
>>        <DirectionalLight direction="0 0 -1" />
>>        <Viewpoint position="0 0 3" orientation="0 0 0 1" />
>>     <Shape>
>>     <Sphere />
>>     <Appearance>
>>     <Material
>>                    ambientIntensity='0.25'
>>                    diffuseColor='0.384722 0.266993 0'
>>                    specularColor='0.757576 0.738847 0.590386'
>>                    shininess='0.0666667'/>
>>     </Appearance>
>>     </Shape>
>>     </Scene>
>>     </X3D>
>>
>>     --
>>     Andreas Plesch
>>     39 Barbara Rd.
>>     Waltham, MA 02453
>> _______________________________________________
>> x3d-public mailing list
>> x3d-public at web3d.org
>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>
> all the best, Don
> -- 
> Don Brutzman  Naval Postgraduate School, Code USW/Br 
> brutzman at nps.edu
> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA 
> +1.831.656.2149
> X3D graphics, virtual worlds, navy robotics 
> http://faculty.nps.edu/brutzman
>
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org 




More information about the x3d-public mailing list