Just broken the back of the performance loss with Render to Texture, we're right back up to full speed now. The secret is to not use Automatic Mipmap Generation, but instead get the surface for every mipmap level in the chain and render to that.
One would have thought that would be slower, but it's not - throw logic out the window. I can only guess that Automatic Mipmap Generation is one of those "non-features" which looks great on paper (or in a CHM file), but presumably involves a lot of moving of texture data between video memory and system memory and back. Or else the card I'm currently working on (Intel 965) sends it through a software emulation path.
Either way, go figure.
Postscript
I'd like to get some performance metrics between this method and the "official" method (automatic generation) on a Real Card before utterly committing to this. Depending on how it pans out, I might set up the engine to do this for me and select the best method at startup time.
Friday, December 26, 2008
Fun with Render to Texture
Posted by
mhquake
at
4:00 PM
Subscribe to:
Post Comments (Atom)
3 comments:
I'm working on a project based on Quake engine. Right now I'm not concerned with engines, and I'm still trying the ones available. I'm working on level design and texture editing, so a final engine is not required.
However, I've been reading your blog since the very first post, and I see you're serious about what you're doing. I just tested your DirectQ 1.1 and I'd like to show you some bugs I've found. I know the engine is still in bug fixing and constant development, however I thought some user feedback might be helpful.
Here is the link to the screenshots page. You will also find a .zip file wit the screenshots and my current configuration (system, DirectX, GL)
http://www.butterflymedia.ro/studios/
I played a little with DarkPlaces engine, and I've spoken with LordHavoc, but he's got other priorities, and the Quake engine is still to be developed and more features added.
As I initially told you, I've still got time to play with diferrent engines, as I'm putting the most of my efforts into architecture details.
Some of the features I'd like added are some modern engine characteristics that should be there by default. I don't imply that you should bloat your code and add hundreds of eye candy details. What I would like is full dynamic shadows, reflective water and skyboxes.
That's all for now.
Cheers for the feedback.
These are all bugs from the original Quake which have been inherited. I think I can fix some of the shadowing ones, but right now finishing what I've started on other things is the priority.
The others would require a fairly substantial rewrite of the whole lighting system, including the original lightmap generation program.
Skyboxes will come, but I'm not certain about the other two.
Thanks for your answer. I'm really glad about the new external textures feature.
I'll keep an eye on you.
Post a Comment