Renderer toolkit: "RendererRuntime::TextureAssetCompiler": Added support for texture channel packing. Thought a while about how I want it to work in Unrimp. I implemented something like this years ago using an automatic texture deriving so that artists don't see what's happening in the background. While this was nice, it was also somewhat messy to implement due to additional complex asset dependencies and the resulting derived assets were somewhat intransparent to manage. For Unrimp, I want to keep asset dependencies simple as well as the overall implementation. Hence, this time I decided against an hidden automatic asset deriving process. In Unrimp, one defines texture assets and tells the texture asset compiler about the recipe for texture cooking. My experience on working on commercial video games tells me that a texture layout is specified once during a production, and not changed frequently later on (due to huge asset count). So, total flexibility isn't that important to me for this use-case. This solution is somewhat more technical, but also more transparent and without much magic behind the scene involved. Artists should still be able to use this directly and one could write GUI based tools hiding the internals later on.
Renderer toolkit: "RendererRuntime::TextureAssetCompiler": Added support for texture channel packing. Thought a while about how I want it to work in Unrimp. I implemented something like this years ago using an automatic texture deriving so that artists don't see what's happening in the background. While this was nice, it was also somewhat messy to implement due to additional complex asset dependencies and the resulting derived assets were somewhat intransparent to manage. For Unrimp, I want to keep asset dependencies simple as well as the overall implementation. Hence, this time I decided against an hidden automatic asset deriving process. In Unrimp, one defines texture assets and tells the texture asset compiler about the recipe for texture cooking. My experience on working on commercial video games tells me that a texture layout is specified once during a production, and not changed frequently later on (due to huge asset count). So, total flexibility isn't that important to me for this use-case. This solution is somewhat more technical, but also more transparent and without much magic behind the scene involved. Artists should still be able to use this directly and one could write GUI based tools hiding the internals later on.

cofenberg/unrimp,cofenberg/unrimp