Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Geek Culture / Unlimited Detail Technology

Author
Message
castek
17
Years of Service
User Offline
Joined: 15th Aug 2007
Location: Right behind you!
Posted: 11th Mar 2010 20:21 Edited at: 11th Mar 2010 20:23
Unlimited Detail Technology. New tech allows unlimited detail in video games!
Super cool!

http://www.youtube.com/watch?v=Q-ATtrImCx4

The main web site http://unlimiteddetailtechnology.com/

David R
21
Years of Service
User Offline
Joined: 9th Sep 2003
Location: 3.14
Posted: 11th Mar 2010 20:37 Edited at: 11th Mar 2010 20:40
Consider me extremely skeptical

Especially when the video notes that raytracing is 'difficult to animate' ....

Also, the algorithm doesn't make any sense to me. It hides points which aren't in view / can't be shown. Isn't that just 'potential visibility', something which nearly all CG is based on?

09-f9-11-02-9d-74-e3-5b-d8-41-56-c5-63-56-88-c0
thenerd
16
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 11th Mar 2010 20:51 Edited at: 12th Mar 2010 01:13
Quote: "also, the algorithm doesn't make any sense to me. It hides points which aren't in view / can't be shown."

It doesn't exactly hide them, quite the opposite. The algorithm seems to be more than that, but on the actual website they don't explain much more than in the video, I think they want to keep that secret until they release something.

That is genius!!!!! (the idea at least)

having a serach algorithm to find which points to draw, I can see how that would work really well.



zzz
19
Years of Service
User Offline
Joined: 13th Nov 2005
Location: Sweden
Posted: 11th Mar 2010 20:58 Edited at: 11th Mar 2010 20:59
It's a really neat idea. It'll be interesting to see how this develops.

lazerus
17
Years of Service
User Offline
Joined: 30th Apr 2008
Location:
Posted: 11th Mar 2010 21:03
If thats the case, then our modeling skills are useless since we will enter the age of subfurfing everthing and so the noobs will seamlessly blend with the experienced

I still stand by less is more. Just think about the processor needed to create those models. It might rendered that quickly but the likes of max maya would really strugle to create it.

Ehh sould be interesting anyway. Good find.

Gil Galvanti
20
Years of Service
User Offline
Joined: 22nd Dec 2004
Location: Texas, United States
Posted: 11th Mar 2010 21:14 Edited at: 11th Mar 2010 21:15
Just saw this on Digg. Looks impressive and is a cool concept. I'm a bit confused on how modeling would work using this technique, considering our method for modeling objects now is to construct it out of polygons and textures, which doesn't seem compatible with a software that apparently doesn't use either.


Oolite
19
Years of Service
User Offline
Joined: 28th Sep 2005
Location: Middle of the West
Posted: 11th Mar 2010 21:19
Caught this on Polycount, I'm sceptical as well but wouldn't mind seeing this working. The video isn't presented in a good way and felt a little like a joke to me.

Quote: "Also, the algorithm doesn't make any sense to me. It hides points which aren't in view / can't be shown. Isn't that just 'potential visibility', something which nearly all CG is based on?"

I was annoyed some people chose to comment about this, i'm pretty sure that technology now does this with polygons and isn't anything new. Not drawing things that aren't on the screen isn't brand new technology
The one thing i think is weird about this, how do you go about creating textures for these models that are made of points? Surely its a step back graphics wise. Is it a case of colouring individual points. So if i wanted to create the words "SWAT" on the back of a character, i'd have to place white points in the shape of the letters on my characters back. This seems a bit counterproductive. I hope they presented their technology much better than this video is presented, if they did i think we have figured out why they didn't get anyone behind them.

lazerus
17
Years of Service
User Offline
Joined: 30th Apr 2008
Location:
Posted: 11th Mar 2010 21:29
Quote: "The one thing i think is weird about this, how do you go about creating textures for these models that are made of points?

"


UV mapping as per usual would do this. The selection tools would be far more advanced though. It would be like using the magic wand tool or a area select tool with a filter to smooth off the curves, like feathering. Then its just be a case of flattening and drawing on your texture. Though map sizes would need to greatly increase duse to the sheer detail in each model, at a guess, that guy pointed out the tree had millions of polies so i would think 10240x10240 maps.

David R
21
Years of Service
User Offline
Joined: 9th Sep 2003
Location: 3.14
Posted: 11th Mar 2010 21:35 Edited at: 11th Mar 2010 21:38
Quote: "The video isn't presented in a good way and felt a little like a joke to me."


Yeah, that's the other thing that made me immediately think "snake oil"

Also, I'm not saying this is the case all the time, but a lot of these sort of innovations come from academia, or cite academia (watch the hyper voxel videos or the sparse voxel octree videos, for example). It seemed odd to me that something so groundbreaking (to the point where it is almost impossible via other means) has no connection to any research, research papers or large CG corporations.

"If it seems too good to be true, it probably is"

09-f9-11-02-9d-74-e3-5b-d8-41-56-c5-63-56-88-c0
Rudolpho
19
Years of Service
User Offline
Joined: 28th Dec 2005
Location: Sweden
Posted: 11th Mar 2010 23:39
Ok... so they can search through "unlimited" data.
Doubt that, but still so, doesn't the data about these "unlimited" points have to be stored somewhere to begin with? Or does it build it all on the fly? Or even, it just "exists" to begin with, since it's "unlimited"?

Sorry, just can't see how it could possibly work out

Dr Tank
16
Years of Service
User Offline
Joined: 1st Apr 2009
Location: Southampton, UK
Posted: 12th Mar 2010 00:06
Cunning. I guess objects have a tree of points to "search" through. I can kind of see how this would work, but I imagine a big problem will be storing enough points in memory.

Can't really see this replacing a good conventional system that soon. The guy talks about LOD "popup", but if the system is done well, this doesn't have to be evident.

Anyway it's going to be cool having super amazing graphics on my Xbox 720.

Indicium
16
Years of Service
User Offline
Joined: 26th May 2008
Location:
Posted: 12th Mar 2010 00:28
This is the biggest load of BS ever. Come on!

Quote: "Fig 1.1 showed a tree base from one of today’s games with 3 flat sides, Fig 1.3 shows a tree base made on Unlimited Detail with 300,000 flat sides, the polygon tree needs special high powered graphics cards and multi-core computers to run it. The Unlimited Detail tree will run on anything from a PC to a mobile phone and no special graphics cards are needed. (See Fig 1.4)"


Get real!

Windows 7 32-Bit Home Premium Intel Pentium Dual-Core @ 1.46Ghz 2038mb RAM
Fallout
22
Years of Service
User Offline
Joined: 1st Sep 2002
Location: Basingstoke, England
Posted: 12th Mar 2010 00:49
I really have no idea. The presentation of the video made it sound like a complete farce. The theory, sounds vaguely plausible though. You can easily store a 3D coord+colour in 16bytes, so with 1GB ram, you can store ALOT of points. Storing the info, and reading it on the fly wouldn't be a problem, imo. The issue is converting that point data to "drawn pixels". I also wonder how you could dynamically cast shadows etc.

I am leaning on the side of scepticism, but would love it to be plausible.

Radical hamsters skipping furiously into the blue ether, questioning their very existence while breathing out the bitter fog of smoked haddock.
AndrewT
18
Years of Service
User Offline
Joined: 11th Feb 2007
Location: MI, USA
Posted: 12th Mar 2010 00:52 Edited at: 12th Mar 2010 01:00
Quote: "The theory, sounds vaguely plausible though. You can easily store a 3D coord+colour in 16bytes, so with 1GB ram, you can store ALOT of points."


Yes, but can you store unlimited points?

∞ points * 16 bytes = ∞ bytes! That's a lot of space.

One question I have is how on Earth this is more efficient than polygons. The narrator in the video seems to be unaware of the fact that polygons are stored as points as well. The only difference between this new system and polygonal rendering is that this system requires a massive number of points for something that can be represented almost as well with polygons.

And what if the camera is to zoom in on something? Naturally the space between the points will increase and there will no longer be a point for every pixel anymore. To fix this, even more points will have to be added. Something as simple as a cube will require thousands of points, and if the camera is going to be zooming in on it that number will quickly shoot into the hundreds of thousands. Now imagine an entire level comprised of these points. It is apparent that a truly enormous number of points will be required to represent the simplest of scenes--something on the order of billions of billions of billions of points. I simply don't see how this is feasible.

i like orange
Fallout
22
Years of Service
User Offline
Joined: 1st Sep 2002
Location: Basingstoke, England
Posted: 12th Mar 2010 01:08 Edited at: 12th Mar 2010 01:09
I think the algorithm, if it exists, will select the point which is closest to the pixel you're rendering. Therefore, you could store a cube in 1 single point. From a distance, where the cube is 1 pixel big, it'd look perfect. When you zoom in and it fills half the screen, the algorithm would probably render it as a weird blob with completely non cube like geometry.

I am only speculating, but I dont think there would ever be spaces between points. It'd simply choose the most appropriate point for each pixel, and draw it. Again though, I am guessing. This whole thing could still be a load of made up rubbish.

As for 'unlimited data', that is a ridiculous claim. It does make it sound big headed and stupid, and totally discredits itself. However, with modern hard disks, you could load a lot of data on the fly, theoretically allowing a world with as many points as your hard disk can hold.

Either way, the more I think about this, the more sceptical I am.

Radical hamsters skipping furiously into the blue ether, questioning their very existence while breathing out the bitter fog of smoked haddock.
AndrewT
18
Years of Service
User Offline
Joined: 11th Feb 2007
Location: MI, USA
Posted: 12th Mar 2010 01:24 Edited at: 12th Mar 2010 01:24
Quote: "I am only speculating, but I dont think there would ever be spaces between points. It'd simply choose the most appropriate point for each pixel, and draw it. Again though, I am guessing. This whole thing could still be a load of made up rubbish."


That's what I assumed, but this would still result in a *severe* decrease in quality, and the number of points required to prevent this decrease is astronomically high.

Take a look at this cube:



Based on its dimensions on the screen, it would require about 46,000 to render accurately using this new method. Fairly ridiculous, but it gets worse.

This cube:



...would require closer to 740,000 points to render accurately. Now imagine standing closer to it in-game. Imagine getting ten times closer. This would result in a 100 times increase in the number of points required to render it accurately--around 74,000,000 points. For a cube. Now think about an entire level, in which the player can walk anywhere, at look anything, walk up to walls which will fill the screen. We're talking about trillions and trillions of points. 10^12 points * 16 bytes = 1.6 ^ 10^13 bytes = 1.6 * 10^10 kilobytes = 1.6 * 10^7 megabytes = 1.6 * 10^4 gigabytes = 16 TB. Oh boy.

And then there's the tiny issue of actually creating all of this infinitely detailed media.

i like orange
DJ Almix
19
Years of Service
User Offline
Joined: 25th Feb 2006
Location: Freedom
Posted: 12th Mar 2010 01:29
So basiclly no one actually knows the technical stuff behind this? What's the date on the video? Also they have a website what's it say about this on there?

bitJericho
22
Years of Service
User Offline
Joined: 9th Oct 2002
Location: United States
Posted: 12th Mar 2010 02:22 Edited at: 12th Mar 2010 02:25
Quote: "Just saw this on Digg. Looks impressive and is a cool concept. I'm a bit confused on how modeling would work using this technique, considering our method for modeling objects now is to construct it out of polygons and textures, which doesn't seem compatible with a software that apparently doesn't use either."


I imagine you would model as usual, (or, more recommended, modeling using nurbs), and then just export it to create the point cloud data. I imagine pros would have special laser scanning equipment, just like they do now for poly modeling.

As for the technology, this may be a way off, and it may never appear, but it looks sweet.

Quote: "...would require closer to 740,000 points to render accurately. Now imagine standing closer to it in-game. Imagine getting ten times closer. This would result in a 100 times increase in the number of points required to render it accurately--around 74,000,000 points. For a cube. Now think about an entire level, in which the player can walk anywhere, at look anything, walk up to walls which will fill the screen. We're talking about trillions and trillions of points. 10^12 points * 16 bytes = 1.6 ^ 10^13 bytes = 1.6 * 10^10 kilobytes = 1.6 * 10^7 megabytes = 1.6 * 10^4 gigabytes = 16 TB. Oh boy."


Perhaps they use some sort of compression technique to get around this.

TechLord
22
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 12th Mar 2010 09:38
I hope its legitimate, and if they're able to pull it off in software, imagine what hardware acceleration will do.

Fallout
22
Years of Service
User Offline
Joined: 1st Sep 2002
Location: Basingstoke, England
Posted: 12th Mar 2010 11:19
@AndrewT

Looking at it in that simple approach, I completely agree. You would end up with weird undetailed blobs without enough point data. So much for 'Unlimited Detail Technology'.

However, there might be more clever stuff behind it, that we're not aware of. For example, perhaps points can be generated procedurally? Perhaps you can define a cube primitive, and the engine calculates what points need to exist, per pixel. Perhaps as Jerico2day said there is a compression algorithm.

I do recall the video saying something about field of view and perspective, and how all points where calculated in relation to each other. Perhaps that holds the explanation.

Having said all that, until something more concrete emerges, or they actually explain the technology in more detail, I will continue to be skeptical.

Radical hamsters skipping furiously into the blue ether, questioning their very existence while breathing out the bitter fog of smoked haddock.
PAGAN_old
19
Years of Service
User Offline
Joined: 28th Jan 2006
Location: Capital of the Evil Empire
Posted: 12th Mar 2010 11:58
duude, its like ... super-voxels

dont hate people who rip you off,cheat and get away with it, learn from them
Kevin Picone
22
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 12th Mar 2010 12:03
It's obviously Voxel based.

If you could get rid of the mountain of that data and algorithmically generate the 'detail' levels (think fractal zoom), then maybe.

BiggAdd
Retired Moderator
20
Years of Service
User Offline
Joined: 6th Aug 2004
Location: != null
Posted: 12th Mar 2010 18:05
How on earth would you animate that amount of data? Not to mention you can't really pull off physics very well, as your super detailed media would be let down by low resolution collision meshes.

Sid Sinister
19
Years of Service
User Offline
Joined: 10th Jul 2005
Location:
Posted: 12th Mar 2010 18:48
I'll wait to see how this develops before passing a ton of judgement on it, but here's my take:

It's interesting how they get rid of polygons and essentially rely on 'atoms' as the guy said. Of course they are actually pixels, but the building blocks to the objects are no longer polygons, but... I actually don't know. I'm pretty sure he said atoms.

You can give atoms a lot of different properties. Get a group of them together and you can make an object that inherits those properties. Have 10,000 atoms than make up a pebble? Each weighs 2 units? You now have a pebble that weighs 20,000 unites. You can now run that through physics.

Occlusion would be better IMO. You wouldn't have to worry about if the whole object is behind something, just don't show the atoms per say that are behind something.

Animation... still haven't worked that one out yet. That will be an issue and a huge change in how artists work.

Quote: "∞ points * 16 bytes = ∞ bytes! That's a lot of space."


Yes, but that's theoretical. No game is unlimited. It has scope.

And considering that much of the objects and textures in game are repeated, all you would need is one and then you can instantiate it. All those blades of grass could be one model. They don't all look the same because wind properties could be different on each one, or the way it's facing.

Inheritance would be key in a world like this. Taking the basic build blocks of objects and deriving other objects from them would speed things up. It gives me a headache just thinking about it though.

"If I have seen a little further it is by standing on the shoulders of Giants" - Isaac Newton
Current Project: http://strewnfield.wordpress.com/ (Last updated 06/11/09)
The Master Dinasty
16
Years of Service
User Offline
Joined: 14th Sep 2008
Location: Valhalla
Posted: 12th Mar 2010 19:01
Well now i am skeptical...

Quote: " howed a tree base from one of today’s games with 3 flat sides, Fig 1.3 shows a tree base made on Unlimited Detail with 300,000 flat sides, the polygon tree needs special high powered graphics cards and multi-core computers to run it. The Unlimited Detail tree will run on anything from a PC to a mobile phone and no special graphics cards are needed "


Yeah right...


-Massap2

We are the magnificent Masters, builders of pyramids.
TechLord
22
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 12th Mar 2010 19:22 Edited at: 12th Mar 2010 19:24
Quote: "I do recall the video saying something about field of view and perspective, and how all points where calculated in relation to each other. Perhaps that holds the explanation."
I would agree. I speculate the algo revolves around pixel bliting using a high performance sort on point cloud data. If a point literally equals a pixel then I rationalize how point occlusion and (32 bit ARGB) pixel color manipulation can produce a fully textured unlimited detail 3D imagery.

Quote: "..would require closer to 740,000 points to render accurately. Now imagine standing closer to it in-game. Imagine getting ten times closer. This would result in a 100 times increase in the number of points required to render it accurately--around 74,000,000 points. For a cube. Now think about an entire level, in which the player can walk anywhere, at look anything, walk up to walls which will fill the screen. We're talking about trillions and trillions of points. 10^12 points * 16 bytes = 1.6 ^ 10^13 bytes = 1.6 * 10^10 kilobytes = 1.6 * 10^7 megabytes = 1.6 * 10^4 gigabytes = 16 TB. Oh boy."


The Unlimited3D Algo is not rendering points, its rendering pixels thus a 1600 x 900 Resolution = 1440000 pixels.

Quote: "How on earth would you animate that amount of data?"

I wonder this too as the demo vids use static geometry. Maybe that's all it is good for, which is still a breakthrough.

Keo C
17
Years of Service
User Offline
Joined: 3rd Aug 2007
Location: Somewhere between here and there.
Posted: 12th Mar 2010 20:00
From the website :
Quote: "The result is a perfect pure bug free 3D engine that gives Unlimited Geometry running super fast, and it's all done in software."

Riiiight...


Image made by the overworked Biggadd.
BiggAdd
Retired Moderator
20
Years of Service
User Offline
Joined: 6th Aug 2004
Location: != null
Posted: 12th Mar 2010 20:38
Quote: "You now have a pebble that weighs 20,000 unites. You can now run that through physics."


Yeh but you couldn't do that in real time. calculating collisions with thousands of points is not feasible in real time.

AndrewT
18
Years of Service
User Offline
Joined: 11th Feb 2007
Location: MI, USA
Posted: 12th Mar 2010 20:46
Quote: "The Unlimited3D Algo is not rendering points, its rendering pixels thus a 1600 x 900 Resolution = 1440000 pixels."


Yes, but these points still have to be stored somewhere, unless, as many have suggested, they are procedurally generated at runtime, which would hugely change the methods used to create game art.

i like orange
heyufool1
16
Years of Service
User Offline
Joined: 14th Feb 2009
Location: My quiet place
Posted: 12th Mar 2010 21:07
It seems like a decent idea, but the website and videos seem very low quality for technology that could completely change the game development industry. So I'm not sure about this...

"So hold your head up high and know, it's not the end of the road"
My blog!
Zotoaster
20
Years of Service
User Offline
Joined: 20th Dec 2004
Location: Scotland
Posted: 12th Mar 2010 21:17
Well, to be fair, the video does say that they are still looking for funding. I'm not saying it's legit, I'm just saying that it doesn't necessarily take a multinational corporation with shiny videos to do this. It could have just been a bunch of very clever indie programmers, who just don't happen to present themselves so well.

"everyone forgets a semi-colon sometimes." - Phaelax
heyufool1
16
Years of Service
User Offline
Joined: 14th Feb 2009
Location: My quiet place
Posted: 12th Mar 2010 21:19
Quote: "Well, to be fair, the video does say that they are still looking for funding. I'm not saying it's legit, I'm just saying that it doesn't necessarily take a multinational corporation with shiny videos to do this. It could have just been a bunch of very clever indie programmers, who just don't happen to present themselves so well."

True, still skeptical though

"So hold your head up high and know, it's not the end of the road"
My blog!
Sid Sinister
19
Years of Service
User Offline
Joined: 10th Jul 2005
Location:
Posted: 12th Mar 2010 21:38 Edited at: 12th Mar 2010 21:41
Quote: "Yeh but you couldn't do that in real time. calculating collisions with thousands of points is not feasible in real time.
"


Here's a theory. It's probably not perfect, and it requires some setup, but I'll give this issue a go.

How do we check for collision now? We use rays. Rays are slow. So how do we make this process faster? We set up a 2x2 grid of the map. Furthermore, we break each box up into smaller grids. We then use quick calculations to see what grid (and grid layer) our player is in and only check that part of the map for collision and not the rest.

This same theory can be applied to a brick object with 500,000 atoms. All of those atoms don't need to be thought of all of the time.

Hypothetically speaking, if we have several normal polygon boxes inside a 10 yard radius, on perfectly flat ground, and we simulate a vertical up and down jerking of the ground, why would we need to run separate physicals calculations on each box? Couldn't all of it be reduced by simply grouping those objects together and then running the physics on the group?

Back to our brick example, which consists of 500,000. A brick, obviously, is comprised of many atoms that are bound together to create one entity - the brick. Just like my normal polygon box example above, they are treated as a whole but comprised of the individual. So to run physics on this brick, you are really dealing with one object.

Now, the argument might be, you'd still need to worry about moving around all the other atoms if the brick is say... thrown. Thus the calculations still need to be ran on all of them. I would disagree. I'm not entirely sure on the math behind it, but you could probably use some sort of mathematics, like the one in the rotation expansion for DBP, to simplify all of it.

Since I don't know the facts on the math, I'll argue this: It's already being done to a degree in normal polygon graphics. To manually create a cube you would make 6 separate faces, each having 4 vertices. That's 24 vertices. What happens when you bring those faces together to form the cube and weld? Those corners become one and you end up with 8 vertices. They are still there, IIRC. The vert just has more properties than it would if it were alone.

So I start to think that each of these atoms could be used like a vert. When we rotate an object, we don't rotate verts, we rotate the object and the verts follow. The same sort of math will be done.

Also, if have a box 5 units wide... how does the space in between the box get filled in? How do those lines get drawn, shaded in and eventually textured? That area in between the vertices still has to be calculated when physics is applied. One face of that 5 unit wide box really has to worry about 25 units of space (5^2). What if a bullet hits the center? What if all that in between was called atoms?

Speaking of bullets, and coming around full circle from my opening grid example, what if that 500,000 atom object get's shot? What about collision and the breaking apart of the brick? What about the shrapnel? Normally we use that grid approach to reduce calculations along a plane, but we can apply that same technique three dimensionally on the brick object. A bullet hits the top left quadrant of the front of the brick? Apply the usual calculations as you would now to simulate bullet damage in games, delete the relevant atoms and leave the rest in tact.

I speculate, of course. Now I get several of you telling me I'm wrong

"If I have seen a little further it is by standing on the shoulders of Giants" - Isaac Newton
Current Project: http://strewnfield.wordpress.com/ (Last updated 06/11/09)
lazerus
17
Years of Service
User Offline
Joined: 30th Apr 2008
Location:
Posted: 12th Mar 2010 22:02
Would it not be the equivlient of particles physics in max or blender?

The difference they would need to account though is the solid shapes. I mean you could just increase rigidity of the atoms on that perticular object and remove the flexability. It would just mean assigning specific weight and strength values along with a elasticity value. Most objects would be 1, the lowest value but you could have alot of fun with it in high numbers.

Brittle or break threshold, in other words gravitionl strength/bondings as a parameter of the object could work to the end that sid pointed out, about bullet damamge.

Idea two/

Sid has the right idea anyway, but i think it would be easier to use a LOD stage of the model in the actualy impact. sort of a replacement, or rather a invisable area around the model where a basic'er lod stage is in use, which could interact with the world.

I dunno im not a programmer. If its feasable great, if its got holes. ehh lol.

Alucard94
17
Years of Service
User Offline
Joined: 9th Jul 2007
Location: Stockholm, Sweden.
Posted: 12th Mar 2010 22:57
Honestly in the end, as much as you break it down, it still probably won't catch on. I don't see what's so practical about this method or what direct improvements it might bring to the table.


Alucard94, lacking proper intelligence.
TechLord
22
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 12th Mar 2010 23:36
Quote: "
Yeh but you couldn't do that in real time. calculating collisions with thousands of points is not feasible in real time."
Collision? I did not see or hear anything about collision in their video or website. So I'm not sure how collision came into the picture (hehe, pun intended), but, maybe a similar search algo is applicable.

Quote: "I don't see what's so practical about this method or what direct improvements it might bring to the table."
If it works as described, it will mean greater realism with detail without performance impact or concerns that are associated with the two. I welcome a new paradigm in rendering 3D, if its makes life easier.

Kevin Picone
22
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 12th Mar 2010 23:58 Edited at: 13th Mar 2010 02:31
Turns out there's a bunch of tech demo's on you tube, like this for example
http://www.youtube.com/watch?v=HScYuRhgEJw


Apparently Unlimited Detail Technology is most probably based upon,
Sparse Voxel Octrees

There's an actual example from a fellow at nvidia.com

http://www.tml.tkk.fi/~samuli/
Demo With source -> http://code.google.com/p/efficient-sparse-voxel-octrees/

Sid Sinister
19
Years of Service
User Offline
Joined: 10th Jul 2005
Location:
Posted: 13th Mar 2010 00:53
Quote: " i think it would be easier to use a LOD stage of the model in the actualy impact."


Good point



Thanks for the link. Incredible research he has there.

"If I have seen a little further it is by standing on the shoulders of Giants" - Isaac Newton
Current Project: http://strewnfield.wordpress.com/ (Last updated 06/11/09)
flashing snall
19
Years of Service
User Offline
Joined: 8th Oct 2005
Location: Boston
Posted: 13th Mar 2010 01:45
Thats really cool.

C0wbox
18
Years of Service
User Offline
Joined: 6th Jun 2006
Location: 0,50,-150
Posted: 13th Mar 2010 02:09
Just to clarify for those of you missing the point about all this:

When rendering a whole scene, or a cube or whatever - it may be apparently made of millions of little balls or whatever we want to call them. But what UDT is doing is using a search algorithm.

- That's the interesting part and the part that makes it worthwhile. Because after all, we've had voxels for ages so just crediting UDT on that is false. UDT only grabs the dots/balls closest to the camera and only runs the search algorithm a maximum of x.resolution*y.resolution.

So yeh, the slowdown will be in file sizes and memory accessing but as far as rendering is concerned it will be faster and more detailed than polygons as it's only got to apply a search to indexed dots/balls in the memory to find which are closer and which is the best to occupy the pixel it is querying for.

Again, for those who payed attention to the video, just ignore this because he does mention it, but doesn't go on about it too much.
Benjamin
22
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 13th Mar 2010 02:10
Quote: "it's only got to apply a search to indexed dots/balls in the memory to find which are closer and which is the best to occupy the pixel it is querying for"


Only?
BiggAdd
Retired Moderator
20
Years of Service
User Offline
Joined: 6th Aug 2004
Location: != null
Posted: 13th Mar 2010 03:20
Quote: "Collision? I did not see or hear anything about collision in their video or website. So I'm not sure how collision came into the picture (hehe, pun intended), but, maybe a similar search algo is applicable"


Because most games today rely on collisions/physics?

I made the point that you will have super high resolution models and low resolution collision meshes, which would look a bit naff.

David R
21
Years of Service
User Offline
Joined: 9th Sep 2003
Location: 3.14
Posted: 13th Mar 2010 12:04 Edited at: 13th Mar 2010 12:05
Quote: " But what UDT is doing is using a search algorithm."

Quote: "UDT only grabs the dots/balls closest to the camera and only runs the search algorithm a maximum of x.resolution*y.resolution."


You seem to be under the impression that "doing a search alogrithm" for "only things that the viewpoint can see" (closest and in resolution of the screen) is somehow different from hiding what cannot be seen. They're worded oppositely but they imply the same thing!

And when you think about the inverse (hiding what can't be seen) that's a concept as old as CG itself

Also, saying "it's doing a search algo" is not some magical get out clause. Linearly going through a list of points and deciding whether they can be drawn is technically a 'search algorithm'. And yet if you do it linearly (vs. heaps, octrees etc.) it's an exceptionally slow, stupid system.

"Search algorithm" is a general term (along with lookups etc.). It does not make this technology new or special (or fast for that matter)

09-f9-11-02-9d-74-e3-5b-d8-41-56-c5-63-56-88-c0
dark coder
22
Years of Service
User Offline
Joined: 6th Oct 2002
Location: Japan
Posted: 13th Mar 2010 13:48 Edited at: 13th Mar 2010 13:50
Even if the technology does everything they say it can, what are the advantages of this that can't also be applied to triangle based rendering? The main issue with most currently used rendering systems is you can very easily waste millions of verts because occlusion is usually only done at the mesh level, so you're still pushing verts you aren't using. This would eliminate that, but you could also implement such a system using triangles(ideally with specialized hardware).

Triangles are just groups of 3 points, so I'd contend that they're better than using only points, points like the ones described have a crazy overhead when drawing large flat surfaces and for triangles it's not issue at all. Points are good for very complex detail, but with some good code, triangles can do exactly the same thing and with subdivision it can always look at least as good as the point approach.

So yea, if we get specialized hardware that can take a scene and find only the visible triangles(very similar to what their system proposes) with minimum overhead then the only time their system would be better is if every triangle visible is incredibly small, that is, when the overhead of drawing most of the triangles becomes higher than finding+drawing the points. However, I don't think even this matters at all, because if you found a list of triangles to represent the scene the most you're going to draw is width*height*aa*transparencyLayers(well, technically slightly more so the interpolation wouldn't look strange) and I'm sure GPUs can already handle this without issue.

C0wbox
18
Years of Service
User Offline
Joined: 6th Jun 2006
Location: 0,50,-150
Posted: 13th Mar 2010 14:32 Edited at: 13th Mar 2010 14:32
@ David R
My point was that for models that could be like 5,000,000,000 polygons or something, it will only be "rendering" say, 1024x768 times instead of 5 billion - the number that can't be seen as they're backfaces.

Obviously only retrieving the closest pixel data is going to be quicker than doing depth sorts for polygons.

And yeh I didn't mean the fact they were doing a search algorithm was the good part, but that they were using the way Google does theirs to make it faster, so they don't have to search through all the data.

But don't get me wrong, I am still sceptical about UDT as it will obviously have serious limitations for certain applications:
* Physics (Excluding destructable environments which will be better than polygon versions)
* Collision
* Shaders (Unless they make the shaders affect rendered pixels rather than retrieving from more of the dots/balls)
* Animation
Sven B
20
Years of Service
User Offline
Joined: 5th Jan 2005
Location: Belgium
Posted: 13th Mar 2010 14:58 Edited at: 13th Mar 2010 15:00
Quote: "We can build enormous worlds with huge numbers of points, then compress them down to be very small. The Unlimited Detail engine works out which direction the camera is facing and then searches the data to find only the points it needs to put on the screen it doesn't touch any unneeded points, all it wants is 1024*768 (if that is our resolution) points, one for each pixel of the screen. It has a few tricky things to work out, like: what objects are closest to the camera, what objects cover each other, how big should an object be as it gets further back. But all of this is done by a new sort of method that we call MASS CONNECTED PROCESSING. Mass connected processing is where we have a way of processing masses of data at the same time and then applying the small changes to each part at the end."


Well, it does make sense in my head...
The key to this is obviously the search algorithm and compression ([edit] and mass connected processing). Perhaps it's the combination that makes it powerful, I wouldn't know. The video shows that it's at least possible to make a 3D world, and I don't think they could use highly tuned computers with terrabytes of memory...

Perhaps we're all stuck in the polygon way of thinking and are making problems where a solution isn't far. Who knows, maybe we'll have some kind of new hardware that specializes in this kind of processing (I know it's far-fetched, this technology is still new).

Cheers!
Sven B

David R
21
Years of Service
User Offline
Joined: 9th Sep 2003
Location: 3.14
Posted: 13th Mar 2010 17:04 Edited at: 13th Mar 2010 17:11
Quote: "doesn't touch any unneeded points"


^ That's the part that ceases to make sense. Unless it has knowledge of what needs to be shown for every camera position/angle ahead of time, how can it decide what to show without testing/touching every other remaining point?

The obvious solution is "Oh but it's already sorted etc." - but that leads to the same problem. It must either be sorting them, or it sorts them ahead of time (and again, the latter would require storing the result for every possible viewpoint location/angle

Quote: "My point was that for models that could be like 5,000,000,000 polygons or something, it will only be "rendering" say, 1024x768 times instead of 5 billion - the number that can't be seen as they're backfaces.

Obviously only retrieving the closest pixel data is going to be quicker than doing depth sorts for polygons.

And yeh I didn't mean the fact they were doing a search algorithm was the good part, but that they were using the way Google does theirs to make it faster, so they don't have to search through all the data."


- You can't work out the closest pixels / display the closest pixels without doing some kind of order or sorting. Even some of the most straightforward methods of storing ordered data (e.g. a heap) incur a sort when items are removed

- If the Google analogy implies they're using canned/pre-calculated data, surely that implies data must be stored for every conceivable combination of camera orientations + object positions/angles?

- With such a huge amount of points, I fail to see how querying the [extremely large quantity of] results (rather than recalculating them) reduces overhead enough to make this tech feasible

09-f9-11-02-9d-74-e3-5b-d8-41-56-c5-63-56-88-c0
C0wbox
18
Years of Service
User Offline
Joined: 6th Jun 2006
Location: 0,50,-150
Posted: 13th Mar 2010 17:21
K maybe they're trolling...

I even emailed them with some queries and haven't got a reply yet...
Sid Sinister
19
Years of Service
User Offline
Joined: 10th Jul 2005
Location:
Posted: 13th Mar 2010 18:01
Quote: "And yet if you do it linearly (vs. heaps, octrees"


Octrees... That's the word I was looking for. I could have saved myself a paragraph of writing

Quote: "Unless it has knowledge of what needs to be shown for every camera position/angle ahead of time, how can it decide what to show without testing/touching every other remaining point?"


Of course it wouldn't have knowledge of where every camera position is, but what if we sorted the database quadrant 1 to quadrant 4 it could speed it up. Maybe I'm describing one and the same thing here, but with octrees in game maps, don't you still have to run through the whole level in memory testing each part? What if it didn't have to test the whole database? What if it just knew... okay I'm on quadrant 1, only search quadrant 1 in the database. Or am I just saying the same thing as what octrees really do anyway?

Also, here's a novel idea in storing all this info:

If we have a 200,000 atom brick and every atom from it is exactly the same, why write all of them in the database? Why not specify the atom properties, give it the normal vertex information you would a normal model, and then let the system procedurally fill in the blank with atoms when needed? For that brick, the database would need 8 vertices, the atom properties among a few other things I'm probably missing. This reduces the amount of data significantly.

What if a chunk if missing from that brick or the brick is half another atom type? Well, then that's where the procedural code for the brick would have to work around it, but there is still room for optimization, just a bit less.

Am I right?

"If I have seen a little further it is by standing on the shoulders of Giants" - Isaac Newton
Current Project: http://strewnfield.wordpress.com/ (Last updated 06/11/09)
mm0zct
21
Years of Service
User Offline
Joined: 18th Nov 2003
Location: scotland-uk
Posted: 16th Mar 2010 02:50 Edited at: 16th Mar 2010 03:29
i think it's just doing something like raycasting through an octree type structure, technically a raycast is a search through the ocree structure to find the node that is ~ the same size as a pixel in the current viewpoint, it's a neat idea, but it dates well back with even some games using voxels in the 90s, and the octree acceleration is somewhat old hat to the traditional cg crowd as an acceleration structure (they are similar structures to bsp-trees that some of you might be more familiar with)

If they don't use an octree (they say they aren't so i'll give them that one) they must be using some sort of similar acceleration or storage structure (kd-tree maybe?), and he doesn't go anywhere near explaining HOW it chooses which colour to fill in a pixel. Since it's based on point cloud data which they are implying isn't compiled into a voxel structure, he says it chooses a point, anyone who's done computer graphics knows this will result in undersampling and you'll get all sorts of horrible shimmering (think high resolution texture in the distance in a game without mipmapping, moire interference etc etc).


you might be interested in this http://www.pcper.com/article.php?aid=532 i don't know if it's been posted yet.

UDT can't cope with moving data, any sort of acceleration structure is the same, when you move points, you break the boundaries that let you rapidly filter out your data.

I also forgot one major thing they neglect to mention, lighting. Their technique doesn't allow for any sort of dynamic shadows or global illumination. They locate the best points for the screen, they say that is all the points they have to search for, you can't do shadows with just the screenspace data. You can statically compile shadow data into your dataset, but you can't do it dynamically with their technique.

Sid: on the physics/animation front, to animate a triangle requires a little bit of maths for 3 points, that math takes maybe 100 cpu cycles to move all 3 vertices in cached memory. To represent the same triangle as a point cloud would require something of the order of the resolution of your screen, assuming you're going to get close to it, lets just say that's 3million points. If we ignore memory bandwidth this takes 100million cycles, or 0.1s of your 3GHz cpu. Now there are plenty of tricks you can do to save actually moving your data, but even with that it's a lot more expensive, and I haven't even mentioned the memory bottleneck.
Basically, mesh based geometry is a win for animation.


One final comment: you can get "infinite" data, it's called procedural generation. You can raycast into a 3d projection of a high dimensional fractal as much as you want, just like a 2d projection there's infinite detail of you want it. That doesn't mean you get an infinitely detail brick though, but maybe a coliflower

AMD AthlonX2 5000 black edition @2.8ghz, 4gb pc5400, AMD/ATi hd3850, creative xfi music, 24" hp widescreen 1920x1200 + 22" zalman trimon 3D 1680x1050, ECS KA3 MVP mobo

Login to post a reply

Server time is: 2025-05-25 00:32:51
Your offset time is: 2025-05-25 00:32:51