XE8 and TCustomMesh

XE8 and TCustomMesh

I am playing with the trial and found a breaking change. It happens when you specify vertex coordinates as in the real world, let's say in millimeters, and you do not care to normalize them. Previously you could do that: leave Width, Height and Depth at 1.0 and scale the object, so that it did show up with about the same size next to an unscaled TCube, which has vertex cordinate values in the normalized range between -0.5 and 0.5.

In XE8 it appears as if Delhpi does automatically normalize the vertex coordinate values of a TCustomMesh, in all three axis. I can tell because I have a feature in my app to stretch the coordinate values to fit inside a unit cube. This will of course change the shape of the object, but makes it easier to keep everything in view and/or apply default values for texture coordinates.

In my special case, the app starts up using a value of 0.06 for scaling the normal mesh and 12.0 for the normalized mesh (factor 200). Now when I compile with XE8 the custom mesh is only a small dot on the screen. I have to scale it up (factor 200) and then it looks like my normalized view. To get going in XE8 I changed the default scaling, but it looks as if I have lost a feature, or in other words the control over the look of my 3D objects, in particular the shape!

Are there any new properties which I am not aware of? What was the reason for the breaking change? Did it happen in an attempt to improve hit testing / picking? Or is it related to intermediate work in preparation for a future feature, the orthographic Camera?

(So far I have only tested on Windows. Since I am playing with the trial version I cannot diff the FMX source.)

Comments