[x3d-public] X3D4 specification review, lighting component

Don Brutzman brutzman at nps.edu
Tue Nov 17 10:21:08 PST 2020


Dick and I are reviewing the X3D4 specification phrasing for Lighting component and came across some issues.  Review and comments welcome.

* Extensible 3D (X3D) Part 1: Architecture and base components
   17 Lighting component
   https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD3/Part01/components/lighting.html

---

1. Intensity range

====================
17.2.1.1 Overview
https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD3/Part01/components/lighting.html#Lightsourcesemantics

[...]
Any node used as a source of illumination is derived from X3DLightNode. All light sources contain an intensity, a color, and an ambientIntensity field. The intensity field specifies the brightness of the direct emission from the light, and the ambientIntensity specifies the intensity of the ambient emission from the light. Light intensity may range from 0.0 (no light emission) to [was: 1.0 (full intensity)] /infinity/.
====================

*Wondering* shouldn't we describe what lighting intensity greater than 1 means?

I had thought that values greater than 1 might be related to High Dynamic Range (HDR) lighting but apparently that is only bit depth, not value range:

* Wikipedia: High Dynamic Range
   https://en.wikipedia.org/wiki/High_dynamic_range

---

2. Terms of reference

It seems like the following terms are not defined precisely: luminance, illuminance, candela, lm, sr, lerp... partial set of potential improvements follows.

* https://en.wikipedia.org/wiki/Luminance

"Luminance is a photometric measure of the luminous intensity per unit area of light travelling in a given direction. It describes the amount of light that passes through, is emitted from, or is reflected from a particular area, and falls within a given solid angle."

"The SI unit for luminance is candela per square metre (cd/m2)"

* https://en.wikipedia.org/wiki/Illuminance

"In photometry, illuminance is the total luminous flux incident on a surface, per unit area. It is a measure of how much the incident light illuminates the surface, wavelength-weighted by the luminosity function to correlate with human brightness perception."

Oxford English Dictionary (used for ISO definitions)
====================
"illuminance:
Physics. The amount of luminous flux per unit area;

luminance:
2. Physics. The amount of luminous flux emitted by unit area of a source into unit solid angle (the objective analogue of subjective brightness).
====================

* https://en.wikipedia.org/wiki/Candela

"The candela (/kænˈdɛlə/ or /kænˈdiːlə/; symbol: cd) is the base unit of luminous intensity in the International System of Units (SI); that is, luminous power per unit solid angle emitted by a point light source in a particular direction. Luminous intensity is analogous to radiant intensity, but instead of simply adding up the contributions of every wavelength of light in the source's spectrum, the contribution of each wavelength is weighted by the standard luminosity function (a model of the sensitivity of the human eye to different wavelengths)"

Lerp function is defined mathematically and as "a standard linear interpolation" but we might note is that 'lerp' is a contraction for linear interpolation.

* https://en.wikipedia.org/wiki/Linear_interpolation

---

3. Missing figure?

17.2.2.3 Common definitions for all lighting models

includes following definitions, shouldn't there be a corresponding figure:

=================
- N = normalized normal vector at this point on geometry. This vector is interpolated from vertex normals specified in a node derived from X3DNormalNode or calculated by the browser. It is modified by the normalTexture providing normals in the tangent space (see X3DOneSidedMaterialNode definition).

- V = normalized vector from point on geometry to viewer's position.
=================

---

4. Prose review.

In section 17.2.2.3 Common definitions for all lighting models
we plan to make several refinements:

- Remove underscore styling for types,
- Use regular X3D types instead of generic, e.g. SFFloat instead of float, SFVec3F instead of vector3, etc.
- Any asterisks should be multiplication symbols
- Consistently referring to "lighting model" or "shading model"
- Avoid "we" and stay in 3rd person

For consistency within spec, change occurrences such as "Material.diffuseTexture" to "Material node /diffuseTexture/ field"

---

We haven't found any functionality that is questionable, we are just improving the prose to improve clarity and match ISO editorial requirements.

These are our comments... feedback please, then we will apply these editorial changes next week.

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



More information about the x3d-public mailing list