Overclock.net › Forums › Video Games › Video Games - General › Is the "unlimited detail" engine viable?
New Posts  All Forums:Forum Nav:

# Is the "unlimited detail" engine viable?

Before I go into detail about the "unlimited detail" engine, I want to give a very brief summary about traditional 3D games that you're used to and give you some references to exactly what we're talking about.

Background:

Atomontage Engine (Competitor to "Unlimited Detail" Engine, uses similar technology but also uses traditional rasterization techniques for animating/non-static objects). Here's a video:

Response from Notch (Creator of Minecraft) I'm not sure how to link to a specific post, but look for the post he made on August 2nd, 2011.

Ok, now for the details...

Almost all 3D games (and even many 2D games now) use a rendering method called rasterization. Everything you see in a game that uses rasterization will consist of a set of points called vertices (plural for vertex). Think of a vertex like a 3D point in space. If you want to create a 3D box, you need to have at least 8 vertices, one for each corner of the box. Vertices are grouped into sets of three to form triangles, and triangles are then used to represent every shape and object you see in a game. For example you can make a square using two triangles, and you can make a box out of 6 squares. You can continue making any complex shape you can imagine with triangles. Here's a random example I found on google:

You can see all of the quads (squares) used to make this model, and each of those squares are made of two triangles apiece. At every corner of every square in this image is a vertex. More detailed models require more vertices, and more vertices means slower rendering and more storage space required.

The guys at "unlimited detail" are trying to convince you that you can get rid of the slow render times whenever you add more detail. And to that extent they are correct. However, the method they're describing has other downsides.

Point-cloud rendering

Think of the points in a point cloud just like you would a vertex from our previous discussion. The difference here is that points are not combined to form triangles like with rasterization. Instead points in a point-cloud are given a specific size, think of each point as a sphere, and each point renders like a sphere as well. So instead of rendering a triangle with a texture on it, you can instead render thousands of very small spheres instead. The benefit here is the way they store the points and the algorithm used to render them is efficient enough that many points do not necessarily mean slow rendering. So you can have so many of these points that you can zoom in very closely on objects and still have them be extremely detailed. As you know with traditional games is that if you get your camera very close to something you will see that it consists of a lot of flat areas.

Ok, this sounds great, so what's the catch?

Did you ask yourself what the catch was after watching the "unlimited detail" video? Think about it, there are tens of thousands of incredibly smart people programming games, many with bachelors and masters degrees in computer science and/or mathematics. It isn't like they choose to render things with polygons because they are too stupid to think of other methods like point clouds, they choose polygons because that's the only viable way of doing so at this point.

There are actually multiple "catches". I'll start with the simplest reason first, animations.

Animations (bone and skinned animations)

Here's a power-point presentation that is easier to understand than what I'm about to say (I didn't create this): http://www-scf.usc.edu/~gamedev/animation.ppt

Here's my description of it:
I'm no graphics programmer but I'll attempt to give a rudimentary description of how animations are handled in traditional rasterization methods. There are two basic types of animations, bone animations and skinned animation. Think of an animating human, they can move their legs, feet, arms, hands, head, etc. At any point where you want to bend an object, like at a knee or elbow you will need what is called a "bone" (not to be entirely confused with an animal bone, "bones" in animations are more like pivot points). Lets just think of a human arm, with two pivot points being a shoulder and an elbow. This means to render the human arm we will need to know the locations of all the vertices in the arm. If we use simple boned animations then all we need to know are the rotations of each pivot, and we can use the location of the human's torso, then use the rotation of the shoulder to determine the location of each point on the upper arm, and then the rotation of the elbow to determine the location of each point in the forearm. I won't go into the math, but usually a GPU will do all of this for you so long as you give it all of the pivot-point rotations.
With boned animations imagine all of the triangles that make up this human mesh to be entirely rigid, or imagine if your skin was concrete and you bent your arm. As you might imagine the triangles would come apart. Due to this bone animations usually did not look very good (Reference FF7 animations if you will). Boned animations are usually limited to things like tires, which can rotate without looking strange like and arm would look if it rotated 180 degrees. Skinned animations actually allows the vertices to move relative to one another such that the mesh can stretch and be flexible. You still need to use the "bones" to determine rotations, but extra calculations allow the vertices to naturally morph somewhat fluidly.

Animations with point-clouds?

The problem with doing this with a point cloud is the sheer number of points. As I said each point has to be recalculated during an animation to be relative to the parent "bone". You can imagine it's a lot more expensive to rotate 500,000 points than it is to rotate 1,000 points.

But it goes further than just the calculation of the positions...

Spatial Partitioning, Sparse voxel octree (a bunch of fancy words?).

I'll try to keep this short. In order to know which part of the game world is in view and need to be rendered, you need to have some way of dividing up the world so you can quickly determine what to send the video card to render. This is done with spatial partitioning, and more specifically for an engine like "unlimited detail", the type of partitioning most likely used is a form of a sparse voxel octree. The wikipedia link is succinct enough that I'll just quote it rather than give my own ramblings:

You can skip this quote entirely if you'd like
Quote:
 The technique varies somewhat, but generally relies on generating and processing the hull of points (sparse voxels) which are visible or may be visible, given the resolution and size of the screen.[1] The main points of the technique are: First, only pixels to be actually displayed need to be computed, with the actual screen resolution limiting the level of voxel detail required, and second, interior voxels --voxels fully enclosed by other, fully opaque voxels-- are unnecessary and thus need not be included in the 3D data set. The first point limits the computational cost during rendering, and the second point limits the amount of 3D voxel data (and thus storage space) required for realistic, high-resolution digital models and/or environments. Because it needs only a small subset of the full voxel data a system does not need to process a massive amount of voxel data at any one time; it can extract data from extremely large data sources of voxels as and when needed. The basic advantage of octrees is that as a hierarchical data structure they need not be fully explored to their full depth, and this allows the system to run on current generation computer hardware. In addition, the octree datastructure permits smoothing of the underlying data, to help with antialiasing.
Part of the process of partitioning is knowing which data in your world belongs in each partition, this means if anything moves then it will need to be recalculated if it wants to remained properly partitioned. Generally you do not want to have many different objects recalculating their partitioning each frame of your game, because it can be very expensive if there are too many. So, once again, imagine those 500,000 points of an animating and moving object trying to recalculate each frame their spatial partitioning. It wouldn't be cheap. This is almost certainly (I'll stake money on it) why the "unlimited detail" videos do not show any moving or animating objects, their entire world thus far is static.

Standard games have much fewer points, and use a less accurate form of spatial partitioning. Rasterization is efficient enough that you can usually send a little bit of extra data to the GPU and it will throw it away if it isn't visible. Because rasterization is that efficient the CPU doesn't have to calculate every single vertex or pixel that may or may not be in view, and thus the CPU overhead is much less for partitioning in your traditional game. Some games don't even need occlusion culling and can get away with sending things to the GPU that aren't even visible behind walls, games like this can often get away with a simple spatial partitioning that eliminates about 75% of objects that aren't near the camera's view, and checks the remaining few objects against the camera's view frustum.

In addition to issues with animation objects, you have to recalculate each point for any moving object (even non animating ones). It is for this reason that destructible environments, or even waving grass becomes extremely expensive.

Ok, enough with rendering/animation issues, what about storage?

Storage space required for points in the world, and issues with having so many points

Most vertices contain a position (generally 3 floats, 96-bit), texture coordinates (2 floats, 64 bits), and if you want normal mapping sometimes the surface normals are baked into the vertex as well (3 floats, 96 bits). In the case of point clouds you would only need color and position, however, you would needs thousands of times more points than you would need if you were using vertices and rasterization, which is why it would require extraordinary amounts of storage.

This data can be compressed while it is on a storage device but not while it's in the world using either VRAM and/or system RAM.

Also, multiplayer online issues...
In addition to storage problems with huge amounts of data, it also means the multiplayer versions of these games could really never have randomized worlds. Games like Minecraft stream the world geometry data to each client, but if the data amount was huge then the bandwidth would need to be equally so.

Floating point accuracy issues...
Another problem you run into while attempting "unlimited detail" is floating point accuracy. If you want to keep getting closer and closer to and object and still have many points close together then at some point a 32-bit floating point number no longer contains enough accuracy to represent the positions for those points. Some ways to help solve this would involve using 64-bit doubles instead of 32-bit floats, or even 128-bit double doubles (extremely rare and unlikely). Using these would give you and extreme amount of accuracy, but then the amount of storage required for some points would be 2-4x as much as usual.

Some might think that another way to attempt to solve this is that you could shrink the size of the world. For example in many games 1.0 units of distance is equal to 1 meter, but you could instead make 1.0 unit of distance equal 100 meters. But while this means the range 0.0-1.0 now can hold the data of a distance of 10000 meters, it also means that every point within that range is now 1/100th as accurate as before.

There are ways around floating point accuracy issues by separating the world into quadrants, that way all of your positions are local to that quadrant.:
http://www.floatingorigin.com/pubs/t...tingOrigin.pdf

Even with methods like the one described in my previous link, it is still incredibly difficult to implement such a scheme that allows you to continue zooming very close to something without losing accuracy. Methods like described in that link are generally for letting you maintain accuracy within large worlds. If you wanted the accuracy for very small distances you'd be forced to implement something like this just to have a normal sized world (1 km x 1 km).

Conclusion

Don't be fooled by the snake-oil presentation that the "Unlimited Detail" team is giving out. This type of tech is nothing new. John Carmack was researching voxel and point-cloud based rendering 15+ years ago. It has a long way to go before it's efficient enough to do everything we can do today in games. Engines like the Atomontage Engine are much more viable, and are likely using techniques that the "Unlimited Detail" Engine will end up having to follow anyway.

I'd love to be wrong, but unless these guys are all absolute geniuses that know something no other game programmers in the world know, then they're running into the same issues that we did when we though about this stuff. And lets be honest, there is mathematically no way to store information about unlimited points without requiring unlimited storage. If you read Notch's post in a link near the top of this post, he mentioned you would need 512 petabytes of storage to store a very basic one-square-kilometer island with only 8 meters of height differential if you had tightly packed points like these guys are claiming. It just doesn't add up unless they're seriously cutting corners (which they likely are), and those cut corners are what keeps this from being useful in today's games and with today's hardware.
Edited by lordikon - 8/3/11 at 10:05pm
 Foldatron (17 items) Mat (10 items) Work iMac (9 items)
CPUMotherboardGraphicsGraphics
i7 950 EVGA x58 3-way SLI EVGA GTX 660ti GTX 275
RAMHard DriveHard DriveHard Drive
3x2GB Corsair Dominator DDR3-1600 80GB Intel X25-M SSD 2TB WD Black 150GB WD Raptor
Hard DriveOSMonitorKeyboard
2x 150GB WD V-raptor in RAID0 Win7 Home 64-bit OEM 55" LED 120hz 1080p Vizio MS Natural Ergonomic Keyboard 4000
PowerCase
750W PC P&C Silencer CoolerMaster 690
CPUGraphicsRAMHard Drive
Intel Core i5 2500S AMD 6770M 8GB (2x4GB) at 1333Mhz 1TB, 7200 rpm
Optical DriveOSMonitorKeyboard
LG 8X Dual-Layer "SuperDrive" OS X Lion 27" iMac screen Mac wireless keyboard
Mouse
Mac wireless mouse
CPUGraphicsRAMHard Drive
i7-2600K AMD 6970M 1GB 16GB PC3-10600 DDR3 1TB 7200rpm
Hard DriveOptical DriveOSMonitor
256GB SSD 8x DL "SuperDrive" OS X 10.7 Lion 27" 2560x1440 iMac display
Monitor
27" Apple thunderbolt display
 Foldatron (17 items) Mat (10 items) Work iMac (9 items)
CPUMotherboardGraphicsGraphics
i7 950 EVGA x58 3-way SLI EVGA GTX 660ti GTX 275
RAMHard DriveHard DriveHard Drive
3x2GB Corsair Dominator DDR3-1600 80GB Intel X25-M SSD 2TB WD Black 150GB WD Raptor
Hard DriveOSMonitorKeyboard
2x 150GB WD V-raptor in RAID0 Win7 Home 64-bit OEM 55" LED 120hz 1080p Vizio MS Natural Ergonomic Keyboard 4000
PowerCase
750W PC P&C Silencer CoolerMaster 690
CPUGraphicsRAMHard Drive
Intel Core i5 2500S AMD 6770M 8GB (2x4GB) at 1333Mhz 1TB, 7200 rpm
Optical DriveOSMonitorKeyboard
LG 8X Dual-Layer "SuperDrive" OS X Lion 27" iMac screen Mac wireless keyboard
Mouse
Mac wireless mouse
CPUGraphicsRAMHard Drive
i7-2600K AMD 6970M 1GB 16GB PC3-10600 DDR3 1TB 7200rpm
Hard DriveOptical DriveOSMonitor
256GB SSD 8x DL "SuperDrive" OS X 10.7 Lion 27" 2560x1440 iMac display
Monitor
27" Apple thunderbolt display
You say cutting corners, I say optimization. It's like DTS versus Dolby Digital, for those of you familiar.

This may or may not directly relate to what you've written here, but this has been on my mind for quite a while. Perhaps you could help clear it up for me.

Why is it that the Automontage engine is given so much praise while Unlimited Detail is given so much flack? No one doubts that automontage is real. Why does skepticism only surround Unlimited Detail?
 2600K (13 items)
CPUMotherboardGraphicsRAM
Intel i7-2600k @ 5v DC Gigabyte GA-Z68XP-UD4 eVGA nVidia 260GTX 216 Corsair Vengeance 8GB (2x4GB) 1600MHz 8-8-8-24
Hard DriveOptical DriveOSMonitor
Intel 320 80GByte SSD Lite-On Blu-ray Drive Windows 7 x64 Ultimate 23" Alienware OptX AW2310
PowerCaseMouse
PC Power & Cooling Silencer 610 EPS12V Cooler Master Centurion Razer Diamondback - Red
 2600K (13 items)
CPUMotherboardGraphicsRAM
Intel i7-2600k @ 5v DC Gigabyte GA-Z68XP-UD4 eVGA nVidia 260GTX 216 Corsair Vengeance 8GB (2x4GB) 1600MHz 8-8-8-24
Hard DriveOptical DriveOSMonitor
Intel 320 80GByte SSD Lite-On Blu-ray Drive Windows 7 x64 Ultimate 23" Alienware OptX AW2310
PowerCaseMouse
PC Power & Cooling Silencer 610 EPS12V Cooler Master Centurion Razer Diamondback - Red
Quote:
 Originally Posted by xDezor You say cutting corners, I say optimization. It's like DTS versus Dolby Digital, for those of you familiar. This may or may not directly relate to what you've written here, but this has been on my mind for quite a while. Perhaps you could help clear it up for me. Why is it that the Automontage engine is given so much praise while Unlimited Detail is given so much flack? No one doubts that automontage is real. Why does skepticism only surround Unlimited Detail?
Pretty sure it's cos a small Australian company made an entirely new graphics technology that will "revolutionise" the graphics industry, and naturally with huge companies backing up DirectX and other graphics tech made by huge huge companies, people will start doubting innovative small companies and question their viability.

Automontage, on the other hand, is a basically a physics engine, and everyone knows physics will always be below graphics in most people's eyes. Hence, it gets less press than the Unlimited Detail engine.

Not sure, but that's my guess.
 My Current Rig (2016) (14 items)
CPUMotherboardGraphicsRAM
i5 6500 @ stock MSI H110i Pro AC Asus GTX 1070 Gaming Strix OC 16Gb DDR4 Corsair Vengeance
Hard DriveHard DriveCoolingOS
1Tb Hitachi 5400RPM 2.5" HDD Intel 540s 240Gb SSD Noctua L9i Windows 10 Home Premium
MonitorKeyboardPowerCase
PX2370 Filco Ninja Brown Switches Silverstone 500W SFX-L Gold Silverstone RVZ02 (Non-Windowed)
MouseAudio
Razer DeathAdder Chroma Bose Companion II
 My Current Rig (2016) (14 items)
CPUMotherboardGraphicsRAM
i5 6500 @ stock MSI H110i Pro AC Asus GTX 1070 Gaming Strix OC 16Gb DDR4 Corsair Vengeance
Hard DriveHard DriveCoolingOS
1Tb Hitachi 5400RPM 2.5" HDD Intel 540s 240Gb SSD Noctua L9i Windows 10 Home Premium
MonitorKeyboardPowerCase
PX2370 Filco Ninja Brown Switches Silverstone 500W SFX-L Gold Silverstone RVZ02 (Non-Windowed)
MouseAudio
Razer DeathAdder Chroma Bose Companion II
Well I think we should hear more details from the guys at Euclideon or whatever the hell it's called before jumping the gun on them. Maybe they found a way to avoid all those problems. They are speaking marketing language. Who knows what they got in store although they got what they wanted: Attention.

You make interesting points though. I took some basic programming courses during engineering school and above from all you said I think floating point accuracy is most relevant as a problem for this kind of technology. Nice post
 Game/Workstation (13 items)
CPUMotherboardGraphicsRAM
Intel Core i5 2500k @ 4.5 Ghz Gigabyte GA-Z68X-UD3P EVGA GTX460 SSC+ 8GB Corsair Vengeance DDR3 @1600Mhz
Hard DriveMonitorPowerCase
1TB WD Caviar Black SATA 6GB/s Samsung T220 1680x1050 XFX PRO Core Series 650W HAF 912 Plus
 Game/Workstation (13 items)
CPUMotherboardGraphicsRAM
Intel Core i5 2500k @ 4.5 Ghz Gigabyte GA-Z68X-UD3P EVGA GTX460 SSC+ 8GB Corsair Vengeance DDR3 @1600Mhz
Hard DriveMonitorPowerCase
1TB WD Caviar Black SATA 6GB/s Samsung T220 1680x1050 XFX PRO Core Series 650W HAF 912 Plus
So far, it looks pretty solid. However, like all new things, I would want it to be tested in a real-world application.
Edited by snelan - 8/3/11 at 11:32pm
 The Intel Fun Build (13 items)
CPUMotherboardGraphicsRAM
i7 3770k Gigabyte Z77-UD5H-WB Golden GTX 670 Windforce 3X 2 x 4GB GSkill RipJawsX
Hard DriveCoolingOSMonitor
OCZ Vertex 4 64GB- WD Caviar Black 1TB Noctua NH-D14 Windows 7 Dell U2311H IPS
KeyboardPowerCaseMouse
xArmor iOne U9BL MX Blues Seasonic x750 LIAN LI PC-T60B Logitech G500
Audio
Modded JVC HA-RX900
 The Intel Fun Build (13 items)
CPUMotherboardGraphicsRAM
i7 3770k Gigabyte Z77-UD5H-WB Golden GTX 670 Windforce 3X 2 x 4GB GSkill RipJawsX
Hard DriveCoolingOSMonitor
OCZ Vertex 4 64GB- WD Caviar Black 1TB Noctua NH-D14 Windows 7 Dell U2311H IPS
KeyboardPowerCaseMouse
xArmor iOne U9BL MX Blues Seasonic x750 LIAN LI PC-T60B Logitech G500
Audio
Modded JVC HA-RX900
so how can anyone oppose this or even try to put it down? It looks amazing, beyond anything of this generation
 Zeek's (14 items)
CPUMotherboardGraphicsRAM
Phenom II X4 B55 @ 3.4 ASRock 880gm-le XFX 4850 1gb 2x4gb ddr3 HyperX 1600MHz
Hard DriveHard DriveOptical DriveOS
Transcend SSD WD Caviar Black ASUS dvd-rw Windows 7 Ult 64bit
PowerCase
OCZ 500w StealthXtreamII NZXT Alpha + custom top fan
 Zeek's (14 items)
CPUMotherboardGraphicsRAM
Phenom II X4 B55 @ 3.4 ASRock 880gm-le XFX 4850 1gb 2x4gb ddr3 HyperX 1600MHz
Hard DriveHard DriveOptical DriveOS
Transcend SSD WD Caviar Black ASUS dvd-rw Windows 7 Ult 64bit
PowerCase
OCZ 500w StealthXtreamII NZXT Alpha + custom top fan
Wow, a good, rational post followed by, for the most part, a bunch of drivel.

Anyway, I was suspicious of these guys last year when they released their first video. I didn't know anything of voxels at that point except for one article about them and a game that was released using voxels, I forget the name of the game but it was a pretty fun game.

Even back then I realized that they were using the same model or same couple of models repeated in all their demonstrations, now I read the limitation of voxels that forces them to limit themselves to the same few models in a scene. The other thing that makes one suspicious, whether you have a technical software background or not, is the use of marketing speak and grandiose claims without any proof or concrete information to back it up. When they tried to imply that Nvidia and AMD had a vested interest in keeping this technology down or suppressing it, as they did in their video last year, I knew it was highly suspect. If their engine worked the way they said it did then Nvidia or AMD wouldn't be able to do anything, just release the engine for lic. and let game developers go to town.

Anyone willing to do the research and read up on this and look at the evidence in the video itself you can see they are obviously overselling their technology.
 SBD: (18 items)
CPUMotherboardGraphicsRAM
i7-3770k Gigabyte ga-z77x-up4 tb EVGA GTX 980 SC 32GB G.SKILL Trident X F3-1600C7Q-32GTX
Hard DriveHard DriveOptical DriveCooling
Samsung 840 Pro 256GB SSD Western Digtal 2TB RE4 Plextor 24x DL Burner ThermalTake Water 2.0 Extreme
OSMonitorMonitorKeyboard
Windows 7 Pro 64-bit Acer XB270HU 2560x1440, IPS-type panel, 144hz, ... EIZO FG2421 1920x1080 VA 120Hz QuickFire Cherry Blue
Lepa G1000 1kw Corsair 550D Logitech G400 Roccat Taito
AudioAudio
Xonar Essence ST Niles SI-275 Amplifier
 SBD: (18 items)
CPUMotherboardGraphicsRAM
i7-3770k Gigabyte ga-z77x-up4 tb EVGA GTX 980 SC 32GB G.SKILL Trident X F3-1600C7Q-32GTX
Hard DriveHard DriveOptical DriveCooling
Samsung 840 Pro 256GB SSD Western Digtal 2TB RE4 Plextor 24x DL Burner ThermalTake Water 2.0 Extreme
OSMonitorMonitorKeyboard
Windows 7 Pro 64-bit Acer XB270HU 2560x1440, IPS-type panel, 144hz, ... EIZO FG2421 1920x1080 VA 120Hz QuickFire Cherry Blue
Lepa G1000 1kw Corsair 550D Logitech G400 Roccat Taito
AudioAudio
Xonar Essence ST Niles SI-275 Amplifier
Quote:
 Originally Posted by xDezor You say cutting corners, I say optimization. It's like DTS versus Dolby Digital, for those of you familiar. This may or may not directly relate to what you've written here, but this has been on my mind for quite a while. Perhaps you could help clear it up for me. Why is it that the Automontage engine is given so much praise while Unlimited Detail is given so much flack? No one doubts that automontage is real. Why does skepticism only surround Unlimited Detail?
The Automontage guys don't try and skirt around the issue, they seem to not only recognize the limitations of voxel/point-cloud, but also work around them. They still have some huge hurdles to overcome, but as you can see in their videos they're still using polygon-based mesh for moving and animated objects. One of the biggest criticisms I have with the unlimited detail videos is there is absolutely nothing moving, but I've heard nothing from them about how they are going to solve that problem.

Regardless, I'm even somewhat skeptical about the Automontage engine. How do they plan to solve the issue of storage/memory requirements to store so many points?

Voxel-based games are nothing new, I remember playing some as a kid, like Comanche and Xenobots/Ultrabots. They manage a decent looking environment for the time.

.

Also there is Voxelstein 3D.
 Foldatron (17 items) Mat (10 items) Work iMac (9 items)
CPUMotherboardGraphicsGraphics
i7 950 EVGA x58 3-way SLI EVGA GTX 660ti GTX 275
RAMHard DriveHard DriveHard Drive
3x2GB Corsair Dominator DDR3-1600 80GB Intel X25-M SSD 2TB WD Black 150GB WD Raptor
Hard DriveOSMonitorKeyboard
2x 150GB WD V-raptor in RAID0 Win7 Home 64-bit OEM 55" LED 120hz 1080p Vizio MS Natural Ergonomic Keyboard 4000
PowerCase
750W PC P&C Silencer CoolerMaster 690
CPUGraphicsRAMHard Drive
Intel Core i5 2500S AMD 6770M 8GB (2x4GB) at 1333Mhz 1TB, 7200 rpm
Optical DriveOSMonitorKeyboard
LG 8X Dual-Layer "SuperDrive" OS X Lion 27" iMac screen Mac wireless keyboard
Mouse
Mac wireless mouse
CPUGraphicsRAMHard Drive
i7-2600K AMD 6970M 1GB 16GB PC3-10600 DDR3 1TB 7200rpm
Hard DriveOptical DriveOSMonitor
256GB SSD 8x DL "SuperDrive" OS X 10.7 Lion 27" 2560x1440 iMac display
Monitor
27" Apple thunderbolt display
 Foldatron (17 items) Mat (10 items) Work iMac (9 items)
CPUMotherboardGraphicsGraphics
i7 950 EVGA x58 3-way SLI EVGA GTX 660ti GTX 275
RAMHard DriveHard DriveHard Drive
3x2GB Corsair Dominator DDR3-1600 80GB Intel X25-M SSD 2TB WD Black 150GB WD Raptor
Hard DriveOSMonitorKeyboard
2x 150GB WD V-raptor in RAID0 Win7 Home 64-bit OEM 55" LED 120hz 1080p Vizio MS Natural Ergonomic Keyboard 4000
PowerCase
750W PC P&C Silencer CoolerMaster 690
CPUGraphicsRAMHard Drive
Intel Core i5 2500S AMD 6770M 8GB (2x4GB) at 1333Mhz 1TB, 7200 rpm
Optical DriveOSMonitorKeyboard
LG 8X Dual-Layer "SuperDrive" OS X Lion 27" iMac screen Mac wireless keyboard
Mouse
Mac wireless mouse
CPUGraphicsRAMHard Drive
i7-2600K AMD 6970M 1GB 16GB PC3-10600 DDR3 1TB 7200rpm
Hard DriveOptical DriveOSMonitor
256GB SSD 8x DL "SuperDrive" OS X 10.7 Lion 27" 2560x1440 iMac display
Monitor
27" Apple thunderbolt display
Quote:
 Originally Posted by lordikon Think about it, there are tens of thousands of incredibly smart people programming games, many with bachelors and masters degrees in computer science and/or mathematics. It isn't like they choose to render things with polygons because they are too stupid to think of other methods like point clouds, they choose polygons because that's the only viable way of doing so at this point.
There are quite a few guys with one or more PhDs developing the technology as well.

Quote:
 Originally Posted by lordikon Storage space required for points in the world, and issues with having so many points Most vertices contain a position (generally 3 floats, 96-bit), texture coordinates (2 floats, 64 bits), and if you want normal mapping sometimes the surface normals are baked into the vertex as well (3 floats, 96 bits). In the case of point clouds you would only need color and position, however, you would needs thousands of times more points than you would need if you were using vertices and rasterization, which is why it would require extraordinary amounts of storage. This data can be compressed while it is on a storage device but not while it's in the world using either VRAM and/or system RAM.
A possible way to reduce storage is on-the-fly compression or storing points as cluster... then apply factors to account for the slight position differences. Not exact but might be good enough?
Edited by DuckieHo - 8/4/11 at 7:11am
 Once again... (13 items)
CPUMotherboardGraphicsRAM
i7 920 [4.28GHz, HT] Asus P6T + Broadcom NetXtreme II VisionTek HD5850 [900/1200] + Galaxy GT240 2x4GB G.Skill Ripjaw X [1632 MHz]
Hard DriveOSMonitorKeyboard
Intel X25-M 160GB + 3xRAID0 500GB 7200.12 Window 7 Pro 64 Acer H243H + Samsung 226BW XARMOR-U9BL
Antec Truepower New 750W Li Lian PC-V2100 [10x120mm fans] Logitech G9 X-Trac Pro
 Once again... (13 items)
CPUMotherboardGraphicsRAM
i7 920 [4.28GHz, HT] Asus P6T + Broadcom NetXtreme II VisionTek HD5850 [900/1200] + Galaxy GT240 2x4GB G.Skill Ripjaw X [1632 MHz]
Hard DriveOSMonitorKeyboard
Intel X25-M 160GB + 3xRAID0 500GB 7200.12 Window 7 Pro 64 Acer H243H + Samsung 226BW XARMOR-U9BL
Antec Truepower New 750W Li Lian PC-V2100 [10x120mm fans] Logitech G9 X-Trac Pro
Quote:
 Originally Posted by DuckieHo There are quite a few guys with one or more PhDs developing the technology as well. A possible way to reduce storage is on-the-fly compression or storing points as cluster... then apply factors to account for the slight position differences. Not exact but might be good enough?
Yea, all of this seems like a tremendous amount of work just to increase detail at very close distances. I rarely play games where I stop and get very close to something just to see if I can notice the flat surfaces or the pixels in a texture. I wonder if all of this work is really worth it in the end, especially considering the hurdles that will need to be overcome?

In addition to all of things I originally mentioned, I didn't even gloss over some major features we enjoy in games today, like shadow mapping. With rasterization, shadow mapping often requires drawing parts of a scene more than once, and taking the results from those extra draws and converting them into shadows. I'm curious how they would even begin to implement dynamic shadowing into a voxel/point-cloud engine?

I also didn't go into some things like Notch happened to mention, like rotations. Notice the trees in the "unlimited detail" are all rotated the exact same way. And things like repeating architecture stands out as well. Games today often reuse textures and mesh as well, but it seems like they're forced to do this to a much greater extent. They do show scenes that entirely organic and unique, so of course that is possible, but all of that unique data comes at the cost of storage and memory usage I would imagine.
Edited by lordikon - 8/4/11 at 8:07am
 Foldatron (17 items) Mat (10 items) Work iMac (9 items)
CPUMotherboardGraphicsGraphics
i7 950 EVGA x58 3-way SLI EVGA GTX 660ti GTX 275
RAMHard DriveHard DriveHard Drive
3x2GB Corsair Dominator DDR3-1600 80GB Intel X25-M SSD 2TB WD Black 150GB WD Raptor
Hard DriveOSMonitorKeyboard
2x 150GB WD V-raptor in RAID0 Win7 Home 64-bit OEM 55" LED 120hz 1080p Vizio MS Natural Ergonomic Keyboard 4000
PowerCase
750W PC P&C Silencer CoolerMaster 690
CPUGraphicsRAMHard Drive
Intel Core i5 2500S AMD 6770M 8GB (2x4GB) at 1333Mhz 1TB, 7200 rpm
Optical DriveOSMonitorKeyboard
LG 8X Dual-Layer "SuperDrive" OS X Lion 27" iMac screen Mac wireless keyboard
Mouse
Mac wireless mouse
CPUGraphicsRAMHard Drive
i7-2600K AMD 6970M 1GB 16GB PC3-10600 DDR3 1TB 7200rpm
Hard DriveOptical DriveOSMonitor
256GB SSD 8x DL "SuperDrive" OS X 10.7 Lion 27" 2560x1440 iMac display
Monitor
27" Apple thunderbolt display
 Foldatron (17 items) Mat (10 items) Work iMac (9 items)
CPUMotherboardGraphicsGraphics
i7 950 EVGA x58 3-way SLI EVGA GTX 660ti GTX 275
RAMHard DriveHard DriveHard Drive
3x2GB Corsair Dominator DDR3-1600 80GB Intel X25-M SSD 2TB WD Black 150GB WD Raptor
Hard DriveOSMonitorKeyboard
2x 150GB WD V-raptor in RAID0 Win7 Home 64-bit OEM 55" LED 120hz 1080p Vizio MS Natural Ergonomic Keyboard 4000
PowerCase
750W PC P&C Silencer CoolerMaster 690
CPUGraphicsRAMHard Drive
Intel Core i5 2500S AMD 6770M 8GB (2x4GB) at 1333Mhz 1TB, 7200 rpm
Optical DriveOSMonitorKeyboard
LG 8X Dual-Layer "SuperDrive" OS X Lion 27" iMac screen Mac wireless keyboard
Mouse
Mac wireless mouse
CPUGraphicsRAMHard Drive
i7-2600K AMD 6970M 1GB 16GB PC3-10600 DDR3 1TB 7200rpm
Hard DriveOptical DriveOSMonitor
256GB SSD 8x DL "SuperDrive" OS X 10.7 Lion 27" 2560x1440 iMac display
Monitor
27" Apple thunderbolt display
New Posts  All Forums:Forum Nav:
Return Home
Back to Forum: Video Games - General
• Is the "unlimited detail" engine viable?
Overclock.net › Forums › Video Games › Video Games - General › Is the "unlimited detail" engine viable?