-
Thanks to Matthias (Free Pascal meets SDL) we now support “mirrored repeat” mode for textures, for both glTF and X3D models. We also support X3D TTexturePropertiesNode.BoundaryModeS/T/R properties, which allow to request a wrapping mode — clamp, repeat, or mirrored repeat. (see TBoundaryMode)
The way you would request it in Pascal is by creating and adjusting
TTexturePropertiesNode
like this:TextureProperties := TTexturePropertiesNode.Create; TextureProperties.BoundaryModeS := bmMirroredRepeat; TextureProperties.BoundaryModeT := bmMirroredRepeat; MyImageTexture.TextureProperties := TextureProperties;
You can experiment with the example code that builds a mesh using Pascal to add there
TextureProperties
as above.Example X3D file utilizing it is in demo-models, file texturing_advanced/texture_boundary_modes.x3dv.
Example glTF file using this is in Khronos glTF-Sample-Models, open glTF or GLB in dir 2.0/TextureSettingsTest.
-
Another related fix is that we fixed the default values of
TTexturePropertiesNode.MinificationFilter
,TTexturePropertiesNode.MagnificationFilter
. By default, they now indicate to use minification/magnification specified inMyScene.RenderOptions
, which means that merely adding aTTexturePropertiesNode
doesn’t make the filtering uglier. This was fixed in X3D 4.0 some time ago (after my request) and CGE now follows, so we have a saner default.
The documentation about TextureProperties node was extended to mention it all.