Tests for improvement in rendering

Regina Henschel rb.henschel at t-online.de
Tue Nov 9 22:26:10 UTC 2021


Hi Tomaž,

your dump works in principle. I can read the xml-file and build the 
assertXPath.

For example, I am able to write a test about the material properties 
'specular' and 'specularIntensity' of an object. Such is needed to 
verify correct values in case of material 'Metal'.

But while creating a test about material 'Matte', I have seen this problem:
The method createNewSdrLightingAttribute() in 
/core/svx/source/sdr/primitive2d/sdrattributecreator.cxx collects the 
lights. But it does not record, which light it is. So in my case the 
dump writes e.g.

<lights>
      <light color="#aaaaaa" directionVectorX="0" directionVectorY="0" 
specular="1"/>
      <light color="#383838" directionVectorX="0" directionVectorY="0" 
specular="0"/>
      <light color="#464646" directionVectorX="0" directionVectorY="0" 
specular="0"/>
<lights>

I cannot see which lights they are.
The old wrong solution has used light 1, light 2 and light 3.
The new working solution uses light 2, light 3 and light 4.

I would need to test, that light 1 (which is always a spot light) is not 
used. Using light 1 had produced the error, that the appearance was not 
'Matte'.

I could test, that the third color has the correct value, but that would 
only test indirectly, what the fix does. Shall I do it nevertheless?

Kind regards,
Regina



Tomaž Vajngerl schrieb am 08.11.2021 um 16:33:
> Hi Regina,
> 
> On Fri, Nov 5, 2021 at 10:01 AM Tomaž Vajngerl <quikee at gmail.com 
> <mailto:quikee at gmail.com>> wrote:
> 
>     Hi Regina,
> 
>     I guess rendering the shape to primitives and then dumping the
>     primitives to an xml and asserting the values should do it, however
>     the Primitive2dXmlDump will probably need to be extended for 3D
>     primitives. I'll try to make a test that will cover some of the
>     rendering aspects for fontworks.
> 
> 
> I have extended the Primitive2dXmlDump [1] so it also should be able to 
> dump 3D primitives (and introduced Primitive3dXmlDump for that). The key 
> here is the ScenePrimitive2D, which is the 2D "surface" on which the 3D 
> scene is rendered to.
> 
> With this you should be able to write tests for fontwork objects and 
> also other 3D objects. As an example I've added testFontWorks 
> (svx/qa/unit/svdraw.cxx). Tell me if there is something missing.
> 
>   [1]: https://gerrit.libreoffice.org/c/core/+/124804
> 
> Best regard,
> Tomaž
> 



More information about the LibreOffice mailing list