Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

In this Discussion

On Week 43

edited 2011 Nov 4 in Developers
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.


  • A brief update since I'm now back to work on Doomsday. I resumed refactoring the low-level network code so it runs on Qt. Currently I can successfully run a network game locally, with server info queries and client connecting working nicely. The next step is to try it on the public server and see if anything breaks. If I don't encounter any obvious issues I will start preparations for merging the new code to the master branch, thus incorporating it into the public multiplayer testing.

    The next step after that will be to get rid of cURL (used for talking to the master server).
Sign In or Register to comment.