confusing dr3d:lighting-mode

Regina Henschel rb.henschel at t-online.de
Thu Jul 28 20:19:10 UTC 2016


Hi,

comments inline.

Armin Le Grand schrieb:
> Hi Regina,
>
> yes, looks irritating. I took a look and it seems that the attribute is
> used in two different scenarios.
>
> When used in 'style-graphic-properties-attlist' it is
>
>              <optional>
>                  <attribute name="dr3d:lighting-mode">
>                      <choice>
>                          <value>standard</value>
>                          <value>double-sided</value>
>                      </choice>
>                  </attribute>
>              </optional>
>
> while in 'dr3d-scene-attlist' it is
>
>              <optional>
>                  <attribute name="dr3d:lighting-mode">
>                      <ref name="boolean"/>
>                  </attribute>
>              </optional>
>
> In the 1st case it is used as object attribute for each SdrObject (but
> only of use when it is a 3D object) and in the style hierarchy to define
> if double-sided lighting is applied. This is equivalent to the button in
> the 3D dialog (Tab 'GeometryÄ, Button 'Double-Sided'). Mostly useful for
> non-closed 3D objects.
>
> In the 2nd case it is used for 3D Scene objects only and defines if
> lighting is applied at all to the whole scene. If applied, flat, phong
> or gourard is used, if not, the objects are rendered without lighting
> calculations in their FillStyle definitions. This is also in the 3D
> dialog, see Tab 'Textures' the 'Mode' switches.


That does not fit to my experiments. The Button "Double-Sided" sets the 
attribute dr3d:backface-culling. The Button "Double-Sided Illumination" 
sets the attribute dr3d:lighting-mode in the boolean version.

I do not find any UI or code which corresponds to the dr3d:lighting-mode 
in the double-sided/standard version.

'Textures'>'Mode' is total different in my experiments. It corresponds 
to the attribute dr3d:texture-mode, which has the values "blend", 
"modulate" and "replace" in ODF. Whatever that means, it seems, it is 
not what LibreOffice does, but LibreOffice writes this attribute. 
Anyway, "Textures" is another matter.

>
> Something must have run out of order though, the original 'Mode' was not
> a bool but had three states (as the 3D dialog shows). Someone at some
> time must have changed it to bool, but probably forgot to cleanup the 3D
> dialog.

There is indeed something wrong with 'Textures'. Formerly "Mode" had two 
states, now it has three, but I cannot use the third, right choice.

>
> I am not sure if the attribute is allowed to be used with the same name
> in two scenarios (maybe valid), but probably not with two different data
> types (?) so one probably should be renamed.
>
> And the 3D dialog should be corrected...

Not only the dialog. It seems to me, that the whole 3D is a mess in 
regard to ODF. And it will be hard to get ODF and LibreOffice 
implementation aligned.

Kind regard
Regina





More information about the LibreOffice mailing list