Skip to content
bboczula edited this page Mar 11, 2024 · 5 revisions

Welcome to the AssetSuite wiki!

Overview

Asset Suite is a simple library that should allow game engine developers to conviniently load assets, like images and meshes, from the hard drive into local memory, so then the developer can upload it to the GPU for further rendering. It should be convinient to use and easy to read, but it might not be the most performant, which shouldn not be too problematic for hobby programmers.

Interface

Asset suite is a library that will allow you to load images and meshes, from the disc to local memory. The procedure is divided into three phases: loading from file, decoding and getting the result to the user. Both meshes and images have their own functions. The main functions are:

  • MeshLoad and ImageLoad - for loading assets from files
  • MeshDecode and ImageDecode - for decoding raw files or compressed images
  • MeshGet and MeshDecode - for returning the result, could have additional flags

Loading file from the disc to memory is really straight forward, it can load both binary files, which is common for images, and text files, which is sometimes how meshes are described. This phase really doesn't to much except for loading, it doesn't even know what are the contenst or even if the contents are correct.

The decode phase is a little bit more complex, it takes the loaded buffer and tries to decode it to a common format, for both images and meshes. For images, it uses one of the provided decoders, like BMP or PNG. For meshes, the decode function retrieves the geometry information, like positions or normals, for all meshes that are provided.

The get phase returns the results. During this phase it is possibly to apply some modifications, like you can flip image or decide if you want an alpha channel or not. For the meshes, additionally you might provide a name of the particular mesh and the format you would like it to be returned.

Memory Management

Clone this wiki locally