Hard Light Productions Forums

Off-Topic Discussion => General Discussion => Topic started by: Mort on August 02, 2011, 11:48:35 am

Title: Unlimited Detail Real-Time Rendering Technology Preview
Post by: Mort on August 02, 2011, 11:48:35 am
http://www.youtube.com/watch?v=00gAbgBu8R4&feature=player_embedded

According to the video, its the next step up from polygons. While I doubt computers will be able to run it smoothly for the next few years, I think there's lots of potential here
Title: Re: Unlimited Detail Real-Time Rendering Technology Preview
Post by: The E on August 02, 2011, 12:09:14 pm
Yeah, no. What they're describing sounds a lot like a traditional Voxel engine; and while those sound interesting (Epic is looking at that tech for the next Unreal Engine, IIRC), they're still posing a LOT of problems.

Not the least of which is that they're using a ****ton of Memory to keep track of all the little bits and pieces, and that one of the more common approaches to that issue makes animation impractical.

So unless they tell us a bit more about the target hardware used to render all that stuff, I would take this with a saltmine.
Title: Re: Unlimited Detail Real-Time Rendering Technology Preview
Post by: Ghostavo on August 02, 2011, 01:31:00 pm
The usage of the word "unlimited" throughout the video is not only annoying, but staggeringly dishonest.
Title: Re: Unlimited Detail Real-Time Rendering Technology Preview
Post by: The E on August 02, 2011, 02:52:14 pm
Minecraft's Notch is unimpressed as well. (http://www.rockpapershotgun.com/2011/08/02/notch-vs-unlimited-detail/#more-68317)
Title: Re: Unlimited Detail Real-Time Rendering Technology Preview
Post by: Herra Tohtori on August 02, 2011, 03:34:22 pm
Well, technically... there's a bit of a difference between storing the information required to render something at arbitrary detail, and actually rendering it.

Arbitrary detail levels means you could zoom in and never encounter polygon edges, angles or blurry/pixellated textures. And, to certain extent, this can be done with certain shapes; mathematical representations of things can be heavily compressed, and their rendering precision is only determined by computational power.

If you have a way of expressing the form of things in a compressed way, but can scale the accuracy of the representation depending on the scale of the things shown on monitor, then things can get simpler.

However, vector based representations of things have accuracy limits as well, and fractal based representations will get very nasty computationally with increased number of iterations (higher detail level).


Not to mention the problems with the technology of defining which voxels to account for and which not. For example, if you want to do reflections or shadows, you need to take into account not only the voxels directly in view, but those between the voxels and the light source. And the accuracy of the shadow's edge would depend on the detail level of the object casting the shadow, so the engine would need to scale that as well according to the size/resolution of the visible shadow appearing on the computer monitor.


So, in short:

Storage of the information for "unlimited detail" is to some extent possible using geometric formulae for the mesh surface expressions, but this is limited to:

-geometric shapes (planes, spheres, ellipsoids and all sorts of other surfaces)
-3d-fractals (mandelbulb)

..however, complex shapes such as "a human" would require amalgamation of multiple differently shaped planes - and the computationally easiest way to do this is to use polygon-based mesh where each plane is determined by three points in space and a normal direction specifying the facing of the plane.

If you want to render a polygonally defined mesh with voxels, be my guest, but you're not gonna see "unlimited detail" that way.


Be that as it may, fractal shapes CAN have unlimited detail - with unlimited iterations. Actually rendering that in real time with arbitrary detail level is something that I would never even want to attempt... and 3D fractal expressions are pretty hard to actually utilize in graphics. I suppose you could use that to add fractalized variation to a plane when zoomed in.

If you really wanted to spend your computing budget on something like that.


My personal assessment is that voxels as rendering method will at some point supercede textured polygons, but textures and polygonally defined models will be the way to tell where the voxels should be and what colour they should appear as...
Title: Re: Unlimited Detail Real-Time Rendering Technology Preview
Post by: The E on August 02, 2011, 03:46:56 pm
Yes, the fact that the artists can use traditional modelling tools to generate stuff for that engine was quite emphasized.

However.

I still do not buy the promises they're making here. One, as others have pointed out, you can't actually handle the amount of unique data they're promising in any realistic way on current hardware. What you CAN do, is use lots and lots of instances of the same objects, which will cut down the space requirements massively (and also explains the lack of variety among the assets they're showing off).
Which is something every modern engine does all the time. There really is nothing revolutionary to see here (or if there is, then it's something functionally equivalentt to tech that is already well known and understood).

Also, that speaker they have there? He's quite possibly the worst salesman I have ever heard.
Title: Re: Unlimited Detail Real-Time Rendering Technology Preview
Post by: Shivan Hunter on August 02, 2011, 09:32:35 pm
The tech was impressive, but I didn't see much that couldn't be done with displacement/parallax mapping and/or tessellation in a traditional polygon engine. Also they used a less-than-perfect example of polygon rendering; Crysis' strong point has always been rendering vast landscapes of decently high detail, not every single piece of berk on a tree.

Also, yes, lack of specs on the rendering machine amuses me.

Also Dwarf Fortress has better grafix trololol
Title: Re: Unlimited Detail Real-Time Rendering Technology Preview
Post by: Flipside on August 02, 2011, 10:11:45 pm
Whilst I agree that this seems like a 'Please fund us!' video, I am prepared to take into account the possibility that they've found some new technique or something that works in voxels but overcomes some of the inherent problems of memory usage etc. The Video did very little to show that, however.

As has been mentioned earlier, this is, in essence, a video of a voxel engine. It needs to be remembered though that these guys are coders, not game designers, the first thought that came to me when they mentioned rendering down to the 'grains of dirt' level was 'Well, that seems like a waste of space, each grain has to at least use "some" memory'. Maybe if a proper developer did manage to get hold of the tech and bring it forward, it could be turned into something more home-friendly. Of course, since they are leaning on the 'graphics are optimised cos' your machines can't take it' side of demonstration, that could go against their current 'ethos', which is why a developer could be the best thing to happen to it.

In essence, even if it was a great engine, I saw nothing in the Video to suggest that, too much circle jerk, not enough promotion of advantages over other polygonal or voxel systems.
Title: Re: Unlimited Detail Real-Time Rendering Technology Preview
Post by: bobbtmann on August 02, 2011, 10:40:31 pm
Could you imagine trying to model at that level of detail? A lot of copy and paste, or you'd be working forever just to make a tree.
Title: Re: Unlimited Detail Real-Time Rendering Technology Preview
Post by: castor on August 03, 2011, 07:02:13 am
I guess the idea was to "scan" the tree, if you need that level of detail.
Title: Re: Unlimited Detail Real-Time Rendering Technology Preview
Post by: Hades on August 03, 2011, 07:17:28 am
Minecraft's Notch is unimpressed as well. (http://www.rockpapershotgun.com/2011/08/02/notch-vs-unlimited-detail/#more-68317)
And I'm sure Notch's ****ty Minecraft engine is a lot better and prettier as well.

:7
Title: Re: Unlimited Detail Real-Time Rendering Technology Preview
Post by: Luis Dias on August 03, 2011, 07:42:00 am
Thing is the video is filled with snake oil type of talking. Notch's criticism seems like a load of crap to me, but the video isn't very compelling at all, even taking to account that it is the best a snake oil salesman could come up with.

It has no shadows, for instance. I'd rather have a Crysis 2 engine "tree" with that kind of shadowing techniques than a "perfect" tree with very bad shadows... although they are "promising" future techniques about this.

They are also speaking about 20 FPS, but they don't mention any stats beyond this.

At the mean time, we have the "competition" doing things like this:

http://www.youtube.com/watch?v=RSXyztq_0uM

...and I see these guys really getting into the memory waste bin in no time.
Title: Re: Unlimited Detail Real-Time Rendering Technology Preview
Post by: Kolgena on August 03, 2011, 02:36:05 pm
I remember reading about these guys a year ago. They were sketchy then, and are sketchy now.

What's wrong with polygons? I agree with Shivan Hunter: in a game setting, their technique offers nothing that heavy tesselation doesn't already. Also, their technique seems like it will suffer every type of aliasing in the book, since there are basically no techniques (except screenspace filters maybe) that could address geometry/"texture" aliasing.

That, and Avatar was rendered in polies. Is Avatar ugly?
Title: Re: Unlimited Detail Real-Time Rendering Technology Preview
Post by: Jeryko on August 03, 2011, 04:14:47 pm
Minecraft's Notch is unimpressed as well. (http://www.rockpapershotgun.com/2011/08/02/notch-vs-unlimited-detail/#more-68317)
And I'm sure Notch's ****ty Minecraft engine is a lot better and prettier as well.

:7


You do realize, his "****ty" engine was done on purpose, right?  Its the style he wanted.  If you want prettier, get a texture pack, 512x512's are starting to come out.
Title: Re: Unlimited Detail Real-Time Rendering Technology Preview
Post by: Flipside on August 03, 2011, 07:05:38 pm
I think that part of the problem here is also that every graphics card is created with polygonal rendering in mind. There are some situations where a polygon may be preferable to a voxel, since voxels are good for small complicated things (which is why they are used in things like ZBrush), but large, open areas are probably going to work better with a polygon and since graphics cards (and the associated shaders) all work with polygons in mind, writing for polygons is a lot easier as I understand it.

Personally, I think the future will be some kind of merger of the two, so a complex object uses a polygonal 'core' for the bulk of the object, providing an easy basis for shadow calculation, and some offspring of displacement mapping using voxels will allow for fine detail as done in many normal-map editing tools currently available.
Title: Re: Unlimited Detail Real-Time Rendering Technology Preview
Post by: Hades on August 03, 2011, 07:18:47 pm
You do realize, his "****ty" engine was done on purpose, right?  Its the style he wanted.  If you want prettier, get a texture pack, 512x512's are starting to come out.
I said the engine, not the graphics. His engine is a poorly optimized Java PoS that loves to crash, randomly freeze and lag.

His graphics 'style' is fairly **** too though.
Title: Re: Unlimited Detail Real-Time Rendering Technology Preview
Post by: Flipside on August 03, 2011, 07:24:33 pm
To be fair to Notch, I blame, in part, the LWGL Java system he uses, not because it's a particularly bad library, but because it's kind of a double layer of interpretation, it's C++ libraries with a Java wrapper on them. I use JMonkeyEngine, which has its own problems under the J3D engine, I've never used LWGL, however, so I cannot vouch for its stability.

Java itself isn't the monster it's made out to be, but it isn't memory friendly because there's extremely limited user-control of garbage. Personally, I've had no problems with crashing etc, though I can make the computer start crying out for memory by detonating about 40,000 blocks of TNT, but, that said, I don't think Notch ever intended for people to do that with this engine.
Title: Re: Unlimited Detail Real-Time Rendering Technology Preview
Post by: BloodEagle on August 03, 2011, 07:39:58 pm
I think that part of the problem here is also that every graphics card is created with polygonal rendering in mind. There are some situations where a polygon may be preferable to a voxel, since voxels are good for small complicated things (which is why they are used in things like ZBrush), but large, open areas are probably going to work better with a polygon and since graphics cards (and the associated shaders) all work with polygons in mind, writing for polygons is a lot easier as I understand it.

Personally, I think the future will be some kind of merger of the two, so a complex object uses a polygonal 'core' for the bulk of the object, providing an easy basis for shadow calculation, and some offspring of displacement mapping using voxels will allow for fine detail as done in many normal-map editing tools currently available.

Personally, I can't wait for someone to combine procedural generation with voxels and terrain-physics.
Title: Re: Unlimited Detail Real-Time Rendering Technology Preview
Post by: Unknown Target on August 03, 2011, 07:47:08 pm
Since we're talking about Voxels, I'll throw this in for those who haven't already heard of it;

http://www.minerwars.com/

Bland visual style and boring story, but the voxel implementation is neat. :)
Title: Re: Unlimited Detail Real-Time Rendering Technology Preview
Post by: Thaeris on August 03, 2011, 08:52:58 pm
Voxels are cool, man. If anyone ever remembers any of the various early (and later even) NovaLogic games using the VoxelSpace engine, I'm sure you'll agree. The level of detail voxels could afford those games of the mid-early 90's was just unrivaled, and in some ways is still very impressive. I'll confess I'm not fully versed in every technical advantage or disadvantage voxels hold in relation to conventional polygons (and vice versa), but I will note that Comanche would have never existed if only conventional polygons had to be used.

I'm going to try to make a hypothesis on how the featured company's software works...

(a.) I'd assume part of the "atomizing" if you will, in part functions as a procedural LOD system, or just as zooming in and out from a photograph would work. As such, you reduce the workload required in procuring assets for a project, which is quite swell. LODs are then just as good as your resolution, so you should never notice a transition in detail.

(b.) "Traditional models" cannot have infinite detail, unless some sort of modifier is assigned to them. I assume this engine will use its own proprietary model format, as is expected and is hinted at from the video. How do you retain a hard edge when you want it? Or do not? I will assume their model format allows for what might be described as an "ordered subdivision and algorithm placement system." In other words, we might assign something as a subdivision region to one part of a created model, yet the rest remains flat. Or the whole thing, or not at all. If componets of a model are what we can cite as following a mathematical model, we'll term such a region as "algorithmic," and the model will be rendered accordingly. "Infinite" is up to the artist, and where such precision is applicable. Math-based models, as seen in engineering-based programs like Inventor might go along well with such a rendering engine, as they already seem to visualize their information in a similar vein.

(c.) This program MUST use as sensible rendering functions as possible, as it is assumably just as handicapped as any other game that wants to use your hardware to draw an image on your computer screen. I'm guessing that, due to the handy-dandy point-lattices a model is interpreted as, the engines edge-detection system will automatically stop rendering anything behind the users FOV, and anything obstructed within that FOV. Naturally, the higher your resolution and FOV, the crappier your game will run. There's always a price for pretty.

I could go on, but I think I'll leave it there for now. To conclude, however, I'd say it's voxels, but with a twist. But then, I like voxels, so there. :p