About Id's Megatextures and modularity
I found a paper on Intel's site. It's from someone at Id Software.
I think it's pretty close to what's behind the cool MegaTexture name.
..basically a very optimized progressive-JPEG-like (edit: actually streams but it's not progressive in the "progressive JPEG" sense) streaming and decompression in real-time. Something very close to what I'm doing recently (as a task in a project, not as a full blown research).
For my implementation I decided to put an extra effort and make it easy to use outside the main application. This means that I'm going hide all my "nice" support classes and types and only expose the bare minimum for anyone to use the proposed functionality.
I set the goal of making a DLL out of this progressive CODEC, but more DLLs for the future.
The reason for a DLL rather than a LIB is that static linking can be pretty tricky. For example I have a global new and delete overload because I normally need 16/64 bytes aligned memory.
It's nice to be able to use a lot of my common library, but it wouldn't be nice to force headers and symbols onto other potential users.
Thinking in a DLL way also makes it easy to write at least one clean class that is easy to understand and document. The class exported in the DLL header is a bare-bones interface with a pointer to an actual hidden implementation class (aka PIMPL).
...basically I'm talking about modularity ! ..back from the dead.. saving the day where the OOP abuse complicates APIs.
cool


dlls
i remember having to use dlls as wrappers for xbox and xbox360 versions of d3dx libraries. it was impossible to statically link both of them because they were using some incompatible versions of c runtime....
5+10=15
Let's spice it up a little ...
I think that paper was written/released as the results of some of the work they did in Quake Wars: Enemy Territory. It's pretty interesting though. One annoying thing about DLLs (at least under Windows) is that if by some chance you end up with the wrong version, it can cause a lot of headaches. It's generally a good idea to have some kind of "version check" requirement upon loading/initialization. That way, if someone fails to update, it won't be such a pain tracking down the problem.
Let's add a little controversy:
Ray Tracing in Games: A Story from The Other Side
DLL Hell is possibly going
DLL Hell is possibly going to be surpassed by Manifest Hell 8)
As for the Ray Tracing article, I didn't really read it yet. The images however don't look so good.. it's no wonder since Ray Tracing, as game programmers think of it, is not really being used for any quality rendering.
I think that 3D programmers in games tend to be very ignorant of actual quality rendering (me included, but trying to improve !).. what happens for offline rendering is substantially more complex than just implementing ray tracing.
I'm tired of reading of people that say that they just need faster computers for ray tracing.. the question is not if a computer is fast enough for something, but if another algorithm is going to be faster on the same computer.
The gap will stay until the basic architecture changes.. and when it does, I think that ray tracing as is it's still going to be too dumb to be effective: too much brute force, very little math..
Oh yeah, those "manifests"
Oh yeah, those "manifests" ... I completely forgot about that. It makes me feel like I'm taking inventory of what I'll be shipping in an airplane or a ship. 8P
In regards to the ray traced images, it's natural to (currently) not see such high quality rendering (compared to what today's rasterization does). But roughly about 10 years ago (or so), the best rasterization had to offer was things like 3Dfx's and nVidia's TNTs offerings. If people continue to working on bringing raytracing to real-time, then perhaps we'll see very high quality images in the not too distant future.
Off line rendering definitely beats anything realtime in quality; time is a limited resource when it comes to rendering (realtime or off line).
I agree with you about better algorithms instead of faster computers. Unfortunately (with the way the market works) it seems that faster (insert whatever) is what's currently winning.
I guess we'll see what Larrabee can do eventually. Whatever happens future-wise, the reality seems that nVidia, ATI, and Intel have stock performances to meet and something will be done. It seems ATI's new efforts will be Cinema 2.0.
One interesting thing about all this is that it seems that not as much R&D is being done in the realm of animation. It's going to look kind of awkward having these realistic vistas with characters that animate unnaturally.
Uncanny Zombie Valley
I agree on the animation unbalance problem. Games look stupid because they are animated stupid (and because of stupid AI too).
Animation is another of those problems that are too far away from the average game programmer Joe.
"Don't worry about what
"Don't worry about what anybody else is going to do… The best way to predict the future is to invent it." - Alan Kay
Mr. Kaz, we've got work to do!!! 8P
hhhhmmmm if you two start
hhhhmmmm if you two start inventing the future....
I see a lot of miniskirts
I see a lot of miniskirts and cute girls !!
This is very much the way I
This is very much the way I think !!!
wooooo
Hahaha ... would we cause
Hahaha ... would we cause the world to come to an end? 8P
yeah, it will be a world
yeah, it will be a world full of raytraced short skirts.
Post new comment