Allegorithmic’s ProFX game middleware software is a package focused on the generation of procedural content and effects, particularly including procedural texturing. The company claims that this technology will allow file sizes to be smaller, reducing load times, as well as bandwidth usage.
Company founder and President Dr Sebastien Deguy describes a procedural texture simply as one that is “generated by a program, not painted by hand”, and notes that “procedural textures are defining the way you create the texture – the procedure - while a bitmap texture is a result of that procedure”.
Gamasutra contacted Deguy via email to ask about the technology
and its probable uses and advantages.
How does procedural texturing differ from bitmap texturing?
A bitmap texture has been painted by an artist, and the result is stored as a file saying, for each pixel, the amount of red, green, blue and possibly transparency. A bitmap texture has a fixed resolution. A procedural texture is not stored as a result: a procedural texture is stored as a process. It's like you would record all your brush strokes, effects, etc. and store them in a file.
Do you think procedural texturing will replace bitmapping in the future?
It's very likely that we see a lot of procedural techniques and procedural textures in particular used in a near future, for a lot of reasons, but it won't ever totally replace bitmap textures. I see procedural textures as a tool (an extremely powerful tool actually), fixing a lot of issues, but a tool can't replace artists and their inspiration. It just helps them.
So some artist's creation won't be immediately "storable" and/or "doable" as procedural textures. But, definitely, yes, procedural textures will at some point become undershot.
I kinda see it like going from 2D to 3D: look what happened in the animation market. When 3D came out as a tool, a lot of people wouldn't believe it would be the main way to do animation. It is now. But it hasn't totally replaced 2D. It's just way more efficient for some/most applications.
I believe procedural techniques (textures among others) will have the same impact on the industry, especially the gaming industry where the technical constraints are high.
What are the advantages of procedural textures in terms of compression?
Please let me be precise in that procedural textures do not compress bitmap textures. But indeed, the space needed to store bitmap textures (even compressed) is very high compared to procedural textures.
Let's take an example: if you want to write a thousand "1" in a file, you will store this: "11111111111111111111111111111111111111111111111..."
This is the bitmap file. If you say you need 1Byte per character, you will need 1KB to store the file.
Now the procedure is: "write a thousand 1". This file is way smaller than the bitmap one ("w", "r", "i", "t", "e", space, "a", space, "t", ...): 18Bytes.
Next, if you want to write a bazillion zeros, the difference between the two bitmap files is huge (say 1TB), while the difference between "write a thousand 1" and "write a bazillion 1" is negligible (19 Bytes for the new one).
And most importantly, the size difference between 1TB and 19B is quite important. Of course, the ones in the bitmap form can be compressed quite efficiently, but this is a particular case, while the ratio between procedural and bitmap (even compressed) will remain "infinite" :)
As an example, for ProFX, Allegorithmic's middleware for procedural texturing, the size ratio between the procedural library and the bitmaps generated out of that is 1 for 1110!
Is Pro-FX the only middleware to use procedural textures, and what do you see as comparable competing technologies?
ProFX is the only middleware for procedural textures on next-gen consoles and on PC proposing both an authoring tool and a rendering engine. Moreover, the technology that it is using, which comes from advanced research, is now patented internationally.
Although it is unique in many ways (especially technologically), ProFX is the heir of several procedural texturing techniques used by the industry for quite a while now. I can cite Prof. Ken Perlin as one of the fathers and masters of the discipline of course, for whom I have great respect. And you can also find some authoring programs letting you design procedural textures for various applications that inherit directly from the classical work in Perlin and Fourier-like mathematics.
We can also point out the demo scene, where you could find, for a long time now, procedurally generated textures. I very much love these contests where you would have to generate the most from the less. Very impressive. I used to watch it back in the time on my Atari ST. The procedural techniques were used in ad-hoc tools used by the teams doing the demos. The German team "Farb-rausch" has been quite famous for their work in 2000 on the demo ".theprodukkt".
That was the time I was finishing my work on my PhD, on some new weird mathematical models based on more modern maths. ProFX is based on these new mathematical paradigms, making its strength and unicity, and is now the first out-of-the-lab, industrial and professional tool for procedural textures.
What kind of compatibility does Pro-FX offer with games engines?
ProFX has been plugged and used in Unreal Engine 3 for the Xbox 360 game Roboblitz
. About 95% of the textures of the game are procedural textures, and so the entire game fits within 50MB!
ProFX has also been plugged within Emergent's Gamebryo. Some demos have been produced
Anyway, ProFX is a stand-alone library made to be plugged within any engine. And it is very easy to integrate, according to the developers who did it.
Which hardware is currently supported by Pro-FX?
ProFX currently runs on PC and Xbox 360. The PS3 port is on its way. Please stay tuned on the website
for more info about compatibility.
What benefits does Pro-FX have for developers, and are many developers using it?
The benefits are huge. I truly believe a revolution is on its way. We French love revolutions…
Simply imagine the following: replace at least 70% of your textures by procedural equivalents, weighing nothing. How will you utilize the remaining space? It’s totally up to developers, game designers, producers, artists, etc.: more textures, more sound, more elements for a better gameplay. Or nothing: simply save space and money?
Reduce the loading time of the games - procedural textures are often faster to generate than loading from the devices to the memory ; and this will become more and more true, as the power of CPUs and GPUs increases faster than the capacities of buses.
Distribute your games in a snap over the internet. Give access to more content and new worlds and/or episodes.
Let your players customize simply everything; procedural textures can be regenerated and modified on-the-fly!
See your game evolve with time - same thing here: your textures can be damaged, aged, and so on, interactively, on-the-fly.
As for developers using the tech, the interest is incredible for such a young product; we pre-announced it for the first time at this year's GDC. There is only one I can let you know of right now: Naked Sky Entertainment, for Roboblitz
. Prepare to see more soon.
How will the time evolution texturing work, and when do you anticipate a release for this?
Procedural textures can be recomputed on-the-fly during the execution of the game. So you can modify your texture to make it look more aged. You firstly design two versions of the texture: young and old. Then, according to the time you spend in a level, or whatever you want, the textures are recomputed as in-between states of age
Actually, this feature is already available now with the release 2.0 of ProFX. Because it's quite new and innovative, we would be happy to work closely with a developer interested in using this in a game. That would be a first!
What effect do you think that will have on gaming?
Well, I think we will see several - and big - effects on gaming. Bigger environments will be easier to do, so the game can be quite "infinite" and the world have no limits. "Living" games will provide a fourth dimension to gamers to play with. Kutaragi's statement of 4D games...
Being able to access games faster will also change the way gamers can "connect" with a story. These are few of the effects I know we will see. But I think I have no idea on what artists and the industry overall will do with it. I'm eager to see!