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.
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.
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.
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 for the Gamma part: The default setting is Auto except for the Material Editor Stages - here the settings depend on the type of the selected Material Stage.
The Not a Color for example is used mostly for Roughness and Specularity Material Stages since the Texture is used without any gamma conversion and these Textures are usually Grayscale. Textures loaded with this option will not be touched or converted internally into any other colorspace which is important when using the HDR-Render Mode.
sRGB defines to use the Texture in the sRGB colorspace, which is the standard for Images, Videos and most Textures.
Gamma2_2 loads the Texture in Gamma 2.2 which is most times needed when using Cubemaps/Environment maps in HDR. Linear loads the Texture in Gamma 1.0.
Normal Map uses a special internal routine to blend the colors between the different MipMap stages to result in normalised Normal Vectors. This makes it possible to have Crisp and correct MipMaps.
At the bottom of the TextureHint drop down menu you find the options for the Alpha. The default is Premultiply by File which detects if a premultiplication is needed. Preserve will never premultiply and keep the alpha as-is. While Always will force a premultiplication.
The ResizeWidth and ResizeHeight can be used to influence the image resize.
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 specifiy 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.