Problems with ODF and LibreOffice for 3D-scenes and 3D-objects.

Regina Henschel rb.henschel at t-online.de
Thu May 2 22:55:22 UTC 2024


Hi all,

this is about ODF 19.99 dr3d:lighting-mode, 20.86 dr3d:lighting-mode, 
20.87 dr3d:normals-direction and 20.76 dr3d:backface-culling, and 
LibreOffice D3DSceneTwoSidedLighting, D3DDoubleSided and 
D3DNormalsInvert. If you know them, you can skip the explanation and go 
down to "Problems".

====
ODF has the scene attribute 19.99 dr3d:lighting-mode (values true/false) 
with meaning, "The dr3d:lighting-mode attribute specifies whether 
lighting is used in a three-dimensional scene."
====
ODF has the graphic property 20.86 dr3d:lighting-mode (values 
double-sided/standard) for 3D-objects with meaning,
  "double-sided: the front and back sides of all planes are displayed if 
they are visible from the viewer's perspective."
  "standard: Depending on the value of the dr3d:normals-direction 20.87 
attribute, only the front or only the back side sides of the plane are 
displayed. The opposite sides are not displayed, whether they are 
visible from the viewer's perspective or not."
====
ODF has the graphic property 20.87 dr3d:normals-direction (values 
inverse/normal) for 3D-objects with meaning,
  "inverse: only the back sides of planes are displayed."
  "normal: only the front sides of planes are displayed."
"This graphic property is ignored in case the dr3d:lighting-mode (20.86) 
has the value "double-sided".

The graphic property dr3d:normals-direction is mapped to the property 
D3DNormalsInvert. That is icon "Invert Normals" in the UI.
====
ODF has the graphic property 20.76 dr3d:backface-culling (values 
disabled/enabled) for 3D-objects with meaning, "The 
dr3d:backface-culling attribute specifies whether backface culling is 
enabled."

This graphic property is mapped to the LO property D3DDoubleSided. That 
belongs to the icon "Double-Sided" in the UI.
====


Problems
(1)
LibreOffice maps the 19.99 dr3d:lighting-mode scene attribute to the 
property D3DSceneTwoSidedLighting. That is icon "Double-Sided 
Illumination" in the UI. Actually this determines whether both front and 
back face are affected by the directional lights or only one of them. 
According ODF 19.99 dr3d:lighting-mode should turn lighting in general 
on or off.
(2)
LibreOffice ignores the graphic property 20.86 dr3d:lighting-mode on 
import. It is lost when you open and save a document.
(3)
The relationship between ODF graphic properties 20.76 
dr3d:backface-culling and 20.86 dr3d:lighting-mode is unclear.
(4)
Turning "Double-Sided" off (=backface-culling on) and inverting the 
normals, does not make a back face visible. So backface-culling on/off 
is not a replacement for the missing 20.86 dr3d:lighting-mode.
(5)
The current way D3DSceneTwoSidedLighting and D3DNormalsInvert work 
together has no corresponding attribute or graphic property in ODF.

For testing you can use the "Shell" object from the predefined 
3D-shapes. A cube with an image fill with some transparency is a good 
test candidate too.


Should ODF and LibreOffice be aligned?

If yes, in what steps can this be done?


Kind regards,
Regina


More information about the LibreOffice mailing list