On Week 43
This week I continued working on the resource subsystem in ringzero. The namespace implementations for the Textures and Fonts collections were rewritten to use PathDirectorys (similar to the work done on Materials last week) and accordingly all identifier references to these objects now use Resource URIs.
The Materials subsystem saw some further optimizations this week. In current releases of Doomsday materials are transformed according to the current render context and as such, snapshots had to be taken each time a new derivation of a material was needed for render. In ringzero this mechanism has been redesigned, with the engine managing a set of MaterialVariants tuned for each render context. The introduction of variant materials allowed for the snapshots to be cached and each is now updated only once per render frame.
I also addressed a few of the outstanding regressions, namely; mismanagement of sky textures, and two memory leaks in the console and bindings subsystems.
The next step for this work is the joining of the resource locator with the Materials, Textures and Fonts collections. Once completed, Doomsday will have a single unified interface for locating resources (be they from files on the local file system or "virtual" resources) addressable through URIs.
So my plan for the coming week is to continue the resource subsystem refactoring work.
The Materials subsystem saw some further optimizations this week. In current releases of Doomsday materials are transformed according to the current render context and as such, snapshots had to be taken each time a new derivation of a material was needed for render. In ringzero this mechanism has been redesigned, with the engine managing a set of MaterialVariants tuned for each render context. The introduction of variant materials allowed for the snapshots to be cached and each is now updated only once per render frame.
I also addressed a few of the outstanding regressions, namely; mismanagement of sky textures, and two memory leaks in the console and bindings subsystems.
The next step for this work is the joining of the resource locator with the Materials, Textures and Fonts collections. Once completed, Doomsday will have a single unified interface for locating resources (be they from files on the local file system or "virtual" resources) addressable through URIs.
So my plan for the coming week is to continue the resource subsystem refactoring work.
Comments
The next step after that will be to get rid of cURL (used for talking to the master server).