Image Loaders

Image Loader Load an image from the specified file.
Image Loader Advanced Load an image from the specified file directly into a texture. Supports asynchronous operation.
DDS Texture Loader Only loads DDS textures

Image Loader

Creating and using textures is one of the key elements to achieve a great looking scene. There are usually three to four nodes involved into making a geometry use a bitmap file during rendering. The example below shows the nodes that are created (in the Content Editor) when left-dragging the Texture Toolbox entry into the Hierarchy Editor and choosing Image Loader from the selection presented.


Before discussing the individual nodes, there is one important concept that needs to be introduced:

Ventuz distinguishes between Images and Textures. An image is stored on the CPU and is not necessarily related to the rendering process whereas a Texture is usually stored in GPU memory and is optimized for being rendered. Images can be used as input for further transformation or filtering.


The Image Loader itself takes a file name and provides an output of type Image. This image is transformed into a Texture by the Image to Texture node above it. The top-most node is the Texture hierarchy node which takes a Texture as an input and is responsible for activating it during rendering. Finally, to the right of the Texture node is a 2D Mapping node which can be used to manipulate various aspects of the mapping like how much the texture should be scaled before applying it to the object.

Advanced Image Loader

Compared to the standard Image Loader, the Advanced Image Loader has two additional major features. For one, it directly provides a Texture without requiring an Image to Texture node. This saves memory as no image representation has to be stored in memory.

The other key aspect is that the Advanced Image Loader supports asynchronous operation so new images can be loaded while for example background animations keep running. With the standard Image Loader, the scene freezes until the image is completely loaded.

In addition this node can resize images/textures on load and create Mipmaps. Mipmaps can only be generated for square images and provided that the graphics card support Mipmap generation. The GenMipMaps property enables this feature if the former requirements are fulfilled.

If the Resize properties are set to Higher or Lower and the graphics card supports non-power-of-two sized textures, no scaling is applied!


DDS Texture Loader

This is a dedicated loader for DDS (DirectDraw Surface) textures and also directly provides a Texture instead of an Image. 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 the other two image loaders even up to the point where it makes sense to convert used images into DDS outside of Ventuz to improve loading times.
The Levels property specifies how many Mipmap levels of the texture should be loaded - all available (Levels = -1) or 0 to n.