Texture Loader | Loads an image or a DDS texture from the specified file directly and provides it as texture. |
Creating and using textures is one of the key elements to achieve a great looking scene. Usually you can use only the Material Node since it has an own Texture Loader Property Group. But at times you might need to use a Texture Property instead of a Loader, e.g. when you need to use dynamic Textures on your Material. Then the Texture Loader Node comes in handy. It loads a defined Asset and provides it as a Texture that can be bound by the Material Node directly but also can used in a logic first (e.g. Value Switch Nodes).
An overview of all supported image file formats can be found on the Supported Formats page.
The Texture Loader is able to load both, images and DDS (DirectDraw Surface) textures.
The main advantage of using DDS files is that they are very similar to what the graphics card uses internally to store textures and therefore loading performance is better than with an image file even up to the point where it makes sense to convert used images into DDS outside of Ventuz to improve loading times.
The ASync Boolean enables asynchronous loading so that the renderer is not stalled when the Node needs to load a texture. This is especially useful when you want to change the File Path during Runtime.
If UseOrientation is enabled the texture is rotated accordingly to EXIF metadata in the image file.
In addition this node can resize images/textures on load and create Mipmaps. The GenMipMaps property enables this feature.
Please note that the GenMipMaps property only affects loading of standard image types, like PNG and JPG. It will not be taken into account when loading image types like DDS and VZT. DDS and VZT images already contain mipmaps, and these mipmaps are used as provided, ignoring the settings in the Texture Loader node.
The Color Space property defines how Ventuz converts the texture to the Project Color Space. Per default, Auto reads out the meta-data of the file. With the specific settings for primaries and transfer function, this can be manually overwritten. Unspecified does not convert any color data. For the most used formats / usecases there are presets to select.
With the TextureHint you can specify how to treat color and alpha values for the loaded Image, Texture or Video.
The TextureHint drop down menu has the following options available:
Gamma
Alpha
Other
The ResizeWidth and ResizeHeight can be used to influence the resulting texture size.
If the Resize properties are set to Auto a texture is only resized to the nearest power of 2 size if this is required by the graphics card.
One or more ColorPicker items can be added to the TextureLoader via the Custom Model. Adding a ColorPicker item adds a new input property to specify x and y position of the color to be picked on the texture. A new output property provides the color of the selected pixel.
Note that the texture in the picker is scaled down to 128x128 pixels.
On the output side the node provides the resulting Texture and its Width & Height.
If metadata is included in the image it will be provided in JSON format for EXIF and IPTC and in XML format for XMP: EXIFJson, IPTCJson, XMPXml.
The Loaded and Failed events inform about the success of loading.