What is "Specular" and "Diffuse" in the lightRig table in section 2.1.1274 in [MS-OI29500]?

Regina Henschel 151 Reputation points
2024-03-04T23:44:27.0366667+00:00

Hi all,

The table of lightRigs in section 2.1.1274 in [MS-OI29500] has columns "Specular" and "Diffuse". Such columns are missing in section 2.1.1321, which is about legacy lightRigs.

What is the meaning of "Specular" and "Diffuse"? I wonder how a light can be "Specular" and "Diffuse" at the same time.

How are they related to the properties "draw:extrusion-first-light-harsh" and "draw:extrusion-second-light-harsh" in Open Document Format and the corresponding properties "lightharsh" and "lightharsh2" in VML in ISO/IEC 29500-4:2016(E)?

What are the values for the legacy lightRigs?

Office Open Specifications
Office Open Specifications
Office: A suite of Microsoft productivity software that supports common business tasks, including word processing, email, presentations, and data management and analysis.Open Specifications: Technical documents for protocols, computer languages, standards support, and data portability. The goal with Open Specifications is to help developers open new opportunities to interoperate with Windows, SQL, Office, and SharePoint.
119 questions
{count} votes

Accepted answer
  1. Tom Jebo 1,906 Reputation points Microsoft Employee
    2024-03-07T01:40:12.8366667+00:00

    Hi @Regina Henschel ,

    I've discussed this with our graphics team and here are some answers (not necessarily in the order you asked):

    MS-OI29500 2.1.1274 has a table with “Specular” and “Diffuse” columns but the table in 2.1.1321 does not. Why?

          We're not sure why this wasn't documented; it was probably an oversight. I'll file a bug against MS-OI29500 to get these added to 2.1.1321 as well.

    What are the values for 2.1.1321 (legacy light rigs)?

          After reviewing our code, each legacy light rig follows the same pattern: the "Key" light has both specular and diffuse contributions, and the "Fill" light has a diffuse contribution but no specular.  We should update the documentation with this info so I will also file a bug to get this added.

    What do “Specular” and “Diffuse” mean?

          These are common industry terms for 3D lighting.  This wikipedia page has a good overview: Computer graphics lighting - Wikipedia, in section "Lighting Interactions".

    Can a light rig be both “Specular” and “Diffuse”?

          Yes, and that article describes (with an illustration) how a single light can have any contribution of specular, diffuse, and ambient components. 

    How do these relate to ODF’s "draw:extrusion-first-light-harsh" and "draw:extrusion-second-light-harsh"?

          We assume that ODF also presents a choice of preset light configurations, rather than directly exposing lower-level light properties and allowing arbitrarily customizable lights.  If so, this means there is not guaranteed to be a 1:1 match between ODF and OOXML lighting primitives.  But if ODF lights were purposefully modeled after the legacy OOXML lights, then "draw:extrusion-first-light-harsh" and "draw:extrusion-second-light-harsh" could be equivalent, by design, to the OOXML LegacyHarsh lights.

    How do these relate to VML’s "lightharsh" and "lightharsh2"?

          These VML values should provide identical behavior to the OOXML legacy light rigs in 2.1.1321. If you find discrepancies, please let us know.

    Does this help?

    Best regards,
    Tom Jebo
    Microsoft Open Specifications Support

    0 comments No comments

0 additional answers

Sort by: Most helpful