Didn't get much done today; just some brief testing of DirectQ's refresh rate changing (it worked).
There are a few things I want to get stuck into shortly, however, so this is the deep breath before.
RMQ is having a review of it's 2D GUI code. The stuff originally inherited from QuakeSpasm by way of Fitz (or should that be the other way around?) was fundamentally fine (although I would have done it differently, and subsequently made some changes in that direction) but it was heavily geared around drawing a classic Quake layout.
That's just not going to cut it for the next thing I want to get started on, which is CSQC. Yes, I'm beginning to get the itch here, and enforcing a 320x48 viewport at bottom-center of the screen for drawing the status bar is not suitable for cases where CSQC may be used at any time to draw anything at any location on-screen (and with the engine not able to predict it in advance).
The classic Quake layout is going to remain in RMQ for sure, but the backend code behind it needs to be made more general; that includes management of which parts of the screen get drawn on, how scaling is handled, and so on.
So this is a pre-requisite for using CSQC to do this kind of stuff.
(While doing this I had a nice moment of technical epiphany where I realised that you didn't actually need either a projection or modelview matrix to draw your 2D GUI - the transform required is a single MAD instruction rather than 4 DP4s - a micro-optimization for sure but I think it's neat.)
Meanwhile other things are marching on, being wrapped-up, etc. More info about them as they become more solid.
DirectQ work is now slowing down after my recent "get stuck into the video code" fit. I still want to do something about the texture loader (with hindsight I view certain behaviours of it and the decisions behind them as being mistaken) but I'm uncertain if that's going to be in the upcoming release or the one after it.
My current thinking is that if it goes 7 days without any major changes then it'll be close to ready for release, which means that if I don't get started on that work by this time next week, it'll most likely be the one after that gets the texture loader fixup.
That one, of course, will be the D3D11 one.
Friday, January 20, 2012
Update - 20th January 2012
Posted by
mhquake
at
12:42 AM
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment