Sponsored by Sony Pictures
Watch a scene from 2012, in theaters November 13 view!
whowillsurvive2012.com - Get ready for the biggest event in history – the end of time. How will you survive? 2012- opening 11/13
60 Comments
- ravuya, on 10/12/2007, -2/+21Procedural textures aren't new -- we've had them in the demoscene since probably the dawn of realtime texture mapping (~1989-1991). It's precalculated so there's no significant performance penalty.
- duke_nate, on 10/12/2007, -3/+19So much for Sony NEEDING all 50 gigs of that bluray disc for PS3 games.....
- mookieXL, on 10/12/2007, -0/+12that game was kkrieger.
http://212.202.219.162/kkrieger
96KB... - justice7, on 10/12/2007, -2/+13RTFA
- bitcloud, on 10/12/2007, -1/+12Yeah I remember they were the next big thing in 1990...
Procedural textures are also useful for CGI work, but you end up generally getting a better result from painting... Having said that though, if your procedural textures are being generated using a sufficiently sophisticated simulation (lets say you procedurally generate tile textures and make the grime levels greater around areas close to the corners etc, or you have road textures and then procedurally simulate cars driving on those roads and use the resulting scuffed road, you have something you couldn't paint manually)
Procedural textures in a lot of games look tosh because they are based upon quick and dirty fractals - it gives a very "uniform" non-uniformity... more advanced simulation gives more advanced procedural textures... - fgsfds, on 10/12/2007, -0/+10It's being dug down because he said that the older methods are unrealistic without commenting on the alleged new methods. That means that he's commenting without reading the article, and is off-topic.
- wush, on 10/12/2007, -1/+9It's a really interesting technology. But I don't think limited texture storage capacity is why we don't have graphics like that on a phone (page 3) ;-)
- tuxidomasx, on 10/12/2007, -1/+7i hope people also recognize the ability of procedural textures to scale.
why does Halo 1 look funky on HD? part of the problem was that the textures were optimized for the original resolution (NTSC). And when you display that on an HD monitor, the textures have to stretch to cover the extra area (upscaled), making for a not-so-optimal image.
if i'm not mistaken, procedural textures dont have this problem-- the textures can be generated on the fly to fit whatever resolution you're using. - hansamurai, on 10/12/2007, -0/+6I'm no expert on this, but I have some experience with 3D graphics and textures. Basically, you're going to be calculating things either way, whether you grab a bitmap or generate it on the fly, because there is a lot of manipulation in placing a texture on the screen. You have to scale it correctly, rotate it to the right angle, multiply it, stretch it, mipmap anti-aliasing, etc. Not saying one way is definitely faster than the other, just saying that it's more complicated than grabbing an image from memory/hard-drive/disc and slapping it on the screen.
- blackmariah, on 10/12/2007, -1/+7khaq7: The programming time isn't as much as you'd think. It's far easier to build a graphical interface and let the artists put the textures together. This is how most 3d apps with procedural textures work, and it'll probably be the same for games soon, if it isn't already.
- grumbel, on 10/12/2007, -1/+6kkrieger needed to fit into exaktly 96kb, so a lot of optimizations simply couldn't be done. Normal games on the other side aren't restricted to 96kb, so they can optimize as much as they want and the performance hit will be much smaller, if at all noticable.
- wush, on 10/12/2007, -2/+7The one they mentioned about five times in the article?
- distrbnce, on 10/12/2007, -1/+6Hm, textures shouldn't be too hard, but I played one game a few years ago that was all procedural. It was a full FPS that was like less than 1 MB. Particle effects and everything, and it made my (modest) PC chug.
It was interesting, but I came away thinking saving the space wasn't worth wasting the processing power.
As I said though, keeping it to one element (particularly the one that takes the most space) sounds very cool. - brkn, on 10/12/2007, -0/+5But with more complex procedurals comes more CPU time required to render them. It's nothing new, though perhaps it's nice if this is now becoming available to games developers too. It's just a matter of trading off what's the right tool for the job - i.e. visual quality issues aside, if you've got plenty of memory/bandwidth, image textures might be best, but if you're limited by memory with lots of CPU power, then perhaps procedurals would be better.
That's on the technical side anyway, but another 'cost' is that of creating them. Some materials are easier to create procedurally than others. Sometimes using a preset and doing some tweaking is acceptable, but other times it can be much easier for a texture artist to get the look he wants by painting it. Of course it's also fairly common at least in the CG world to use a combination of both. Like procedural textures for low level grit or bumps with image textures on top to define the look more specifically. And heck, it's also not uncommon that one will use a procedural, 'bake' (render) it out to an image and then use it as the basis for a new image texture to work further by painting.
ravuya: I think in the older demoscene stuff they'd be precalculated and then stored as image buffers in memory, but for things like in the demo movies in the article, it looks like they're being dynamically rendered on the GPU. - noouch, on 10/12/2007, -1/+5As cool as the procedural approach to texture creation is and as much as I look forward to seeing it become more popular, I have to say that you still can't replace painted bitmap textures 100%. There are just some things that need to be created with precision, not automation.
- khag7, on 10/12/2007, -1/+5Benefits:
- Quicker loading times
- More detailed graphics
- Less space on the disk
- This + BluRay could lead to putting 20 games on one disk :-D
Drawbacks
- Coding time (but once textures are already coded they can be sold to other developers or even given away free, yeah right, meaning instead of coding your own textures you can buy them which will actually save time and money since you don't need to code your own textures)
- Purchasing textures increases price (but not as much as it would increase if you had to pay someone to code textures for you) - The_Pope, on 10/12/2007, -1/+5Yeah, that's the crux of precedural texturing. It's "cheaper" code wise than storing 2GB of JPGs on disk and having to read them into graphics memory
- fluoro, on 10/12/2007, -0/+4Yes, you can get scratches on the surfaces and all that stuff. Dude, it's all just done in multiple passes and rendered with multitexturing features. You generate a tile or whatever in one pass, do another pass that generates some scratching stuff (maybe render in some tangent space and use it as a bumpmap layer), render another pass for dirt or something, another pass that varies the specularity of it or something.. etc.
- junk, on 10/12/2007, -0/+4I think Will Wright was on the right track hooking up with Demo Scene developers for Spore. As far as pure tech goes I find this stuff fascinating, probably because the math involved is so far beyond my reach.
- hansamurai, on 10/12/2007, -4/+7But... but... Blu-Ray!
- pozzoe, on 10/12/2007, -0/+3I was thinking this could be very useful for open source gaming since there are more programmers than artists in the os community.
I wonder if something has been done using this.
I saw some projects using procedural tree generation. I wonder if there is some open source project trying to implement this... guess is time for me to learn wavelets! - JGailor, on 10/12/2007, -0/+3Written procedural textures before. They're fun, and you can make them do all kinds of crazy things that it's harder to do with bitmaps, like bending and warping with your surfaces.
Makes me miss the days when I was a graphics programmer. Of course being treated like slave labor by your managers sours the experience. - flipmeat, on 10/12/2007, -0/+3 Good shaders often incorporate both methods to good effect. Bitmap A and Bitmap B mixed with a procedural checkerboard give you that marble floor, for supporting all your chrome spheres! :-)
The farthest I've ever seen procedurals taken was the app Mojoworld, by Pandromeda. Entire, detailed, fractal planets you can render pics of, that fit in under 300k. The crinkly bits in the fjords are procedural, the rippling water with coast-hugging waves and sea foam are procedural, as are the sky, clouds, and the shading of the terrain.
If you are sick of Bryce or Terragen (both good in their own way), Mojoworld is for you.
If you get into Mojoworld, you'll want a faster machine. It's notable for the UI paradigm being - exploration. You can walk, fly a plane, or pilot a superfast UFO. You go looking for nice spots, then you hit Render. Good user community at 3dcommune, register at pandromeda.com to try the free mini-version.
Sorry for the plug, I have no affiliation, I just love the thing. - Sartori, on 10/12/2007, -1/+4It's more expensive code-wise to do procedural textures - they require processing. Loading a bitmap requires memory, but little or no processing outside of the GPU.
- vlurk, on 10/12/2007, -0/+3Exactly: the processor(s) will "render" the textures before it puts it into VRAM, since no GPU actually has what it takes to render scenes with procedural textures. Although it could change in the future of course: all modern GPUs now handle textures compression so it just seems probable that they will handle procedural textures one day.
- SaxxonPike, on 10/12/2007, -0/+3The difference between how demosceners code and how average game programmers code is this:
Demosceners are always looking for the best way to stretch the limits of the machine, even if it involves spending another 5 hours to shave off 10k off the executable size.
Your average game programmer is on more of a stricter timeframe, so they'll code something and cross their fingers. If it works as intended, it's good. They get paid regardless. Some of the better programmers will go back and optimize their code a bit if they have time, but generally they aren't grinding their teeth to push the machine's boundaries and still make it look good. - wush, on 10/12/2007, -0/+2It's not so much storing the same data in a different way. It's storing the high-level steps required to generate the texture, rather than the colour value of each pixel. Creating the texture would generally happen only once (when the game/level loads) and the product would just be a normal texture as far as the graphics card is concerned. It has to be represented as a full-fat bitmap at some point before it's drawn.
- LordofShadows, on 10/12/2007, -0/+2Seeing how you are generating the pixels in realtime, every frame, in the pixel shader I would assume that one may want to use that shading power on something else.
kudos for thinking outside of the box though. - ollj, on 10/12/2007, -1/+3This is so priceless, i read "we're big fat scammers" everywhere between the lines.
They claim they do be the proffesionals who did it first AND claim to be the ones that did it with modern "new math" methods instesad of the previous ones with "old math".
Hmmm, old math, thats where pi=3 , right?
They NEVER made a decent demo. If they did the would would know it by now!
The demo of the crytec (farcry) engine for example was GREAT for its time, there are 64k demos with real time raytracing (downsampled), while these scammers have NOTHING!
Lets not forget that these guys are liing and contradicting their own statements.
This is just the commercialising of an old art form of the demoscene: "worshipping the algorythm instead of making the data" but they totally fail to get the point of DEMONSTRATING anything. - opnotic, on 10/12/2007, -1/+3You know, as of a couple of days ago, bit-tech.net has earned a bookmark and rss feed from me. I've read their articles for years when they were linked off other sites, but I think they have entered my 10 daily sites to check list now.
- EmmSee, on 10/12/2007, -1/+3I'm not even a programmer and this was a damn good read. Impressive stuff.
- Aumaden, on 10/12/2007, -0/+2Here's some incredible examples of what can be done with procedural textures:
http://www.theprodukkt.com/demoscene
The first one, .farbrausch, is under 64K and runs for several minutes, complete with procedural audio. - jrbrewin, on 10/12/2007, -0/+2procedural audio, textures, geometry. and is several years old. as always, commercials are lagging behind demo scene.
- Ascus, on 10/12/2007, -0/+1Many of the the textures used today are procedural, they are just done at the artists station edited and saved as static textures.
But anyone that questions the need for more CPU/GPU power, the can look here/ This actually has unlimited potential for use. More am ore games are using genreated elements vs hand drawn ones, the only limit is how much they have to pre-generate and how much they can do on the fly. - rgov, on 10/12/2007, -1/+2Procedural textures also take much longer to produce. Each texture could take days to get to look "just right," and months if you want it to age, deform, crack, etc. Game makers will have to buy into Allegorithmic's technology in order to keep production times down, but will they be able to make procedural textures for every single game?
It seems to me that while we'll get higher quality textures at smaller sizes, we'll get more uniformity in that the same wood and tile algorithms will be used over and over again. While the random mold, knots, cracks, etc. will make no bathroom floor identical, you'll probably get some deja vu... - rgov, on 10/12/2007, -0/+1It's really not too complicated. Although I haven't made anything so photorealistic, it really boils down to coming up with a system of generating a good texture every time, going through the exact same steps (mentally and physically) that a normal texture artist would do. It boils down to a lot of probability, a good random number generator, a Perlin noise generator, and some persistence to perfect the procedure.
Gamasutra has a good intro to procedural textures, but you need a (free) account: http://www.gamasutra.com/features/19980501/mmxtexturing_01.htm ... use it to make some simple marble-esque textures (although they don't look wonderful, it gives you an idea of how they work). - vlurk, on 10/12/2007, -0/+1Well, probably that most good games will have a mix of both: procedural textures are handy for simple elements in your scene. I can't see why you couldn't use procedural textures for light bulbs, doors and tiles and at the same time regular bitmap textures for your character. And it doesn't have too look repetitive even for simpler elements: you can have more than one procedural texture map for the same object or use pixel shaders with variable parameters that add "imperfections" to a surface for more realism and diversity.
- raptordrew, on 10/12/2007, -0/+1Oh my God, that bathroom isn't picture of the real thing? *...drools...*
- spooq, on 10/12/2007, -0/+1The bathroom render isn't great.
http://www.maxwellrender.com/img/gallery/architecture/interiors/pics/2.jpg
This one is better, although it's got the usual Maxwell grainyness. Makes it look a bit like a magazine photo blown up. - Snarfy, on 10/12/2007, -0/+1"But with more complex procedurals comes more CPU time required to render them."
It only requires time to generate the textures. Once they are generated, they render in the same time as any other texture. - idonthack, on 10/12/2007, -0/+1Don't get your hopes up, it's not real time (yet).
- sgreger1, on 10/12/2007, -1/+2Ive used procedural textures for a long time, i remember older programs like dark tree etc. They work quite wqell in CG work, and I could see how they could increase the performance of in-game graphics but its not exactly a revolutionary concept. People hear its made with math and they are like oooohhh ahhhhhh but its really not that complicated.
- bigz, on 10/12/2007, -0/+1graphics on phones are definitely improving though. :-)
- CharacterTD, on 10/12/2007, -7/+8I work with high-end 3d graphics and animation... procedural textures are a standard element to any 3d package but they are not very realistic at all. The best all procedurals I can think of is a lot of the N64 games... especially mario64. Great games... but not realistic(not necessarily bad) You can't get scratches in surfaces, blemishes on faces, etc with procedurals. Painting a texture will always be the end result if you want quality.
- jeznav, on 10/12/2007, -0/+0@rgov
An excerpt from gamasutra.com
Procedural Textures:
* Infinite resolution; can be changed on the fly.
* Actually 3D
* Very CPU intensive
* Almost no bandwidth requirements
* Large variety of natural textures without image map storage
* Hard to control
* Can't handle certain cases: people, pictures on the wall, cola can labels, etc.
Traditional Texture Mapping:
* Simple calculation
* Represents 2D data
* Memory intensive, very high bandwidth
* Each texture is loaded explicitly from memory
* Different resolutions require loading different textures
* Can handle and manipulate any data captured by camera or drawing - Sartori, on 10/12/2007, -0/+0It's a straight trade of time for space - time taken to generate the procedural texture, either on CPU or GPU, to the space you can use to pre-generate the texture (possibly with procedural tools) onto a storage medium and just load it in. Like most useful things, procedural texturing isn't a silver bullet.
I've been more interested in procedural content of other kinds, such as procedural terrain and procedural cities. Google around, you'll find loads of interesting tech demos and research papers about them. In my opinion, using procedural techniques to generate game worlds which are then tweaked and tuned by hand and stored on large media are probably a good practical compromise. - kaffiene, on 10/12/2007, -2/+2WTF is this about "the company behind procedural textures???" Procedural textures have been around for ages. Ray tracers have been using this technique almost as long as they've existed (e.g.: Renderman uses this approach for textures)
Jesus Digg submitters are clueless sometimes! - Asianwaste, on 10/12/2007, -2/+1Looks good, but needs to tweak the lighting a bit. Everything looks like it has a glossy shine to it, even the dank dirty stuff. Other than that looks outstanding.
- Jerc, on 10/12/2007, -1/+0You're quite funny...
Roboblitz seems like a good "demo" to me. You'll find other on their website.
You don't know how it really works, you don't know the code behind it, so don't talk like that about things you don't know. - RomaGluskin, on 10/12/2007, -5/+4I'm sorry, but this is pretty stupid.
The article says that "old methods" use the Fourier transform, and their new shiny method uses Wavelets.
The thing is that JPEG is essentially Fourier transform, and JPEG2000 is Wavelet. Just ask anyone involved in signal processing.
So why do they store textures as bitmaps in the first place? And why make up a fake name and make people think you're working hard on a conversion to this new format when you're essentially just doing a conversion to JPEG2000 ? -
Show 51 - 60 of 60 discussions



What is Digg?
Catch all of your favorite Digg shows in one place, including Digg Dialogg, Diggnation, The Digg Reel and More!