Sunday, August 14, 2011

Death of the GPU as we Know It?? Re-post from March 19 2008

This is a re-post from March 19 2008 on my old site www.tkarena.com.

Unlimited Polygons A Reality?

Well actually that sub-title is a white lie to get your attention. But don’t be too angry. What this article is about is something even better than unlimited polygons, it’s about unlimited voxels.

The legendary games programmer John Carmack, in an interview on PC Perspective in mid-March 2008 , spoke of a new technology he is working on:


“It involves ray tracing into a sparse voxel octree which is essentially a geometric evolution of the mega-texture technologies that we’re doing today for uniquely texturing entire worlds. It’s clear that what we want to do in the following generation is have unique geometry down to the equivalent of the texel across everything.”



Much of the rest of the interview talks about the future of gaming hardware. Amazingly, a little-known Australian company, Unlimited Detail, claim to have found a way to render voxels in software, without the need to use a hardware graphics accelerator.

Bruce Dell, the inventor and lead developer of Unlimited Detail, has demonstrated the technology to me and explained it to me as best as he can. Before I go on, I would like to make it clear that I have played PC games since the original Doom and I keep up to date with GPU technology. But I'm not a programmer or a games developer. I want to present this information to you for discussion. Whether or not it's even possible for the games industry to implement this technology in their game development is probably up for debate. This is something I'm not an expert on. Bruce Dell fully believes it's possible and I am looking forward to the response to this article. What I do know is that although this technology is able to produce massive amounts of voxels for developers to play with, it doesn't yet provide the full gamut of texture and lighting, physics, shadows, anti-aliasing, motion blur, etc. There is a lot more work that a GPU does than just render polygons. But, if it is possible to use Bruce's mathematical equation and incorporate all of the lovely technology we have grown to expect and admire in our games, then game world developers could be in for a treat.

First, let’s back-track a little to briefly explain polygons, voxels and point cloud data.

Polygons are what is used in the games industry (both PC and console) today. Polygons are two dimensional plane figures composed of straight lines. A pixel, as you know, is a dot on the screen; a voxel can be thought of like a dot on the screen that moves like it is in 3D space. A voxel is a value on a 3D grid. Point cloud data is when you make whole objects out of voxels. Voxels provide more detail than polygons because you get true rounded edges and real geometry instead of flat texture maps.

Have you ever noticed the bases of trees in games today are all hexagons? The number of sides varies depending on the size of the tree, but could involve anywhere from 4-10 sides, then a texture map of bark is stuck on the polygons.

If the tree was made out of voxels it could have been imported from the real world using a laser scanner. The base would be true geometry and every little flake of bark would be real geometry. In a voxel game, each hair of the carpet would be real geometry.

The problem is that computers take time to process each little voxel and so if you make all your characters and your level and every blade of grass and every grain of sand out of voxels, then the computer will take the same amount of time to move a frame as it took the Egyptians to build the pyramids! So at present, the only place voxels are used is in medicine, mining and the sciences.



A Terabyte of Point Cloud Data


This is of a character made of point cloud data. The rather unique creature is made of 1,572,864, 3D atoms. Unlimited Detail admit that they don’t have a graphics artist onboard to create impressive models. That’s a shame since better artwork would help to sell this technology. But whether you like the look of this character or not is not the point of the demo. The character is made of little colored dots. If you look closely at his feet you will see that all the bumps are not flat textures like we normally see in games but rather the bumps are all real geometry. There is not a polygon straight edge to be seen.


This odd looking dinosaur/sci-fi creature is what is called a high point cloud model. There was a 3D mark demo some years ago of a point cloud horse that spun around to test the maths processor of your machine. That horse was roughly 384 000 points where as this model is roughly 1.5 million points. 


Massive Amounts of High Point Cloud Models





This screenshot is of a pyramid made of the high point cloud model. They might all be the same but to the computer, they all had to be processed entirely independent of each other because they are all at slightly different angles in relation to the camera (point of view).





This screenshot shows even more of them. I don’t know if you can see it, but underneath them is their reflections. This, for a polygon system, would double the amount of processing because in polygons, reflections are upside down models.



This is a terabyte worth of them. That’s 1,000,000,000,000 of point cloud data. Now most home PCs don’t have a terabyte of memory available (cache or physical) and neither does Unlimited Detail, so they are just re-accessing the same memory over and over. But it still works out exactly the same as if had they used a real terabyte of points. Unlimited Detail say there’s no reason why they need to have stopped at a terabyte, they could have processed two terabytes or ten terabytes or a terabyte of terabytes, because they say, their system has unlimited power.



Efficiency

The polygon system is a little bit inefficient when it displays multiple objects. When displaying a forest, for example, it makes a tree and then puts another tree in front. The processing of the first tree is wasted because it’s all covered up. Now apply that principle to the leaves of the tree and the blades of grass on the ground and you’ll realize just how inefficient polygons can be.

Advantages For Developers

A topic at the Games Developer Conference last month was how to reduce the high cost of game development. The main expense is graphic art work. The ability to laser scan could be a way to reduce artist hours. Another tactic could be to remove the need for distance models. Unlimited Detail advised us that using laser scanning technology, objects can be scanned in the real world and then imported into the 3D world, using point cloud data models. Currently, to create a model in a games world, it has to be built from scratch, one polygon at a time.

Have you ever played Crysis, Far Cry or any game with really good graphics and noticed that as you get closer to a tree, the tree sort of jumps and a different model of a tree with more polygons replaces it? Games use between 4 and 16 models of each object, at different polygon model sizes. One of the problems with this system is that there is no way to make a smooth transition between models—and people notice the jump. Using voxels, you only need to make an object once.




A Look At Polygon Use Today

Games look good for two reasons. The first is that the polygon count is slowly increasing as new computer hardware becomes able to support the increase. The second reason is that artists are getting better at hiding polygon inadequacies.


This is a tree from Crysis. And no, it’s not on low graphics settings. The tree has 6 sides, though only 3 need to be processed because they face the camera. That’s not the fault of the Crytek artists—they do a fantastic job. It’s just that by today’s standards, there aren’t enough polygons to spare, to remove the hexagon look.



This is a tree base from Oblivion, which uses 10 polygons to make a tree (though only 5 will show at any one time).

According to Unlimited Detail, there was a decision made some time ago that you should use up 65% of your polygons on the characters to keep them round and beautiful and the scraps that fall from the masters table can be given to make the backgrounds. It was a good decision because people are focussing more on the moving objects and main character than they are on background objects.


These are trees from World of Warcraft. As a MMOG, there wasn’t much to spare for the backgrounds because they never know how many players will be in an area at any one point and in MMOGs you have to use as little polygons on the background as possible, so that you are prepared for a worst-case crowd scenario, when multiple characters might need the polygons instead. 



This is a photo of a real tree. We’ve put it here to remind you of the gap between reality and today’s games. You would need millions of polygons to re-create this, but using a scanned image and voxels, the level of reality and detail would be vastly improved.






This of a tree from Unlimited Detail. This is actually some sort of fern tree so the trunk is quite detailed. This is a grey-scale model to give you an idea of the depth of detail. All the coloring has been removed to highlight the geometry.



This is another tree from an Unlimited Detail demo. It’s an odd sci-fi sort of tree, but you can see the geometry in each root and branch, not to mention the grass, plants and leaves. Unlike common trees in games today, they are not clusters of polygons moving slightly to give the illusion of hundreds of leaves, they are hundreds of leaves.




A field of cabbages in Crysis, at a close look, truly demonstrates the tricks used to try and replicate round objects. Although I personally didn't notice this while playing the game, I know in years to come we will look back and laugh at how square these objects are, kind of like how we look at Wolfenstein today.




There just aren’t enough polygons to spare for something as complicated as corrugated iron—so a square with a photo is used instead. Don’t get us wrong, Crysis is brilliant, we are just pointing out how polygon limitations limit the ability for developers to make games realistic.



A rock in Half-Life 2. Look at rocks in general in games. They always have very sharp edges. Now it’s true that some rocks in the real world also have sharp edges but in the real world some rocks also have smooth edges!






These are rocks from an Unlimited Detail demo. These have been hand made—notice how rounded they are with no flat edges.



Here are some screen shots from an Unlimited Detail demo. It looks OK for hand made graphics, but imagine what it would be like if this was developed further, to be able to use laser scanned images?








Conclusion

Point cloud data is much more efficient then polygon data. That’s not in dispute. It’s more accurate and models can be hand made or laser scanned in, but either way the result is that it looks better.

When games are being planned by developers, a decision is made about what polygon count the models need to be. Should they be low, to run on the majority of graphics cards (like World of Warcraft)? Or should they be high and run on only the latest graphics cards (like Crysis)? Unlimited Detail doesn’t require any graphics acceleration. Unlimited Detail claim that this would mean that people wouldn't have to turn the game box over and see if it would run on their system when they shop. Instead, a game programmed using Unlimited Detail would theoretically run regardless of your graphics cards power. I am not 100% sold on this, since a GPU would still be required for physics, lighting, anti-aliasing, motion blur etc etc.

Unlimited Detail also hope to impact the console industry. Bruce Dell imagines that the next wave of consoles could have better graphics than the PS3, but be entirely CPU and Unlimited Detail software based. He says that this would slash production costs and that one console manufacturer is already seriously examining the pros and cons of proceeding in this direction.

Sony spent billions trying to build the cell processor for the PS3. Its job was to squeeze out a few more polygons than its rival. Microsoft spend a few billion each year, as does Nvidia and AMD, to basically find ways to process more polygons. All that R&D money is to have more polygons, so that games can have more realistic geometry. But what if Unlimited Detail can provide unlimited geometry made with unlimited voxels?

It’s like the race for more colors that PCs had fifteen years ago. They started with 2, then they had 4, then 16, then 256 then 16bit, 24bit and finally 32bit. Why didn’t they move on to 64bit? Because our eyes can’t see the difference between 32bit color and 64bit color. The color race was over. It had reached its maximum potential. Likewise, with unlimited voxels the race for geometry would be over. Other features would set games apart like physics, lighting, gameplay, story etc.

John Gatt March 19th 2008
 

No comments:

Post a Comment