Hard Light Productions Forums

Off-Topic Discussion => Gaming Discussion => Topic started by: G0atmaster on August 08, 2011, 06:47:26 pm

Title: Can we get Freespace to work with this??
Post by: G0atmaster on August 08, 2011, 06:47:26 pm
http://www.wimp.com/gamesrealistic/

Check out this link.  It's a whole new method of rendering graphics for video games, that supposedly allows for "unlimited" detail.  It looks like it'll be awesome when it's done!
Title: Re: Can we get Freespace to work with this??
Post by: Flipside on August 08, 2011, 06:51:33 pm
There's already a post about the engine in General Discussion.

http://www.hard-light.net/forums/index.php?topic=77451.0

And in answer to your question, no, it's voxel based, which is completely different from how Freespace handles its graphics, and the conversion would be somewhere between unbelievably difficult and impossible :)
Title: Re: Can we get Freespace to work with this??
Post by: NGTM-1R on August 08, 2011, 09:21:11 pm
Also there are serious questions as to their claims. :P
Title: Re: Can we get Freespace to work with this??
Post by: Dragon on August 09, 2011, 03:05:25 pm
Isn't voxel based graphics technology something that had been invented very recently and is somewhat experimental right now?
I doubt we'd ever see that in FS. I hope that in the future, BI will consider it for ArmA IV.
Title: Re: Can we get Freespace to work with this??
Post by: BloodEagle on August 09, 2011, 03:53:58 pm
Isn't voxel based graphics technology something that had been invented very recently and is somewhat experimental right now?

No (http://en.wikipedia.org/wiki/Voxel#Computer_gaming).
Title: Re: Can we get Freespace to work with this??
Post by: Luis Dias on August 09, 2011, 04:07:48 pm
I remember playing a voxel based terrain game where big voxels represented the grass of the terrain, like 15 or more years ago, and it was amazing back then.
Title: Re: Can we get Freespace to work with this??
Post by: Dragon on August 09, 2011, 04:50:26 pm
Should have been more specific, Voxel based graphics aren't anything new, but this technology appears to be using fractal geometry along with voxels. I didn't heard of this being exploited in gaming.
Title: Re: Can we get Freespace to work with this??
Post by: Luis Dias on August 09, 2011, 05:11:18 pm
Yeah maybe, but I find it extremely uncompelling. The graphics are still in the works, and they still have to show good shadows, good shader-like effects, etc., etc., etc. By the moment they achieved this, the usual method would reach this kind of detail anyway.
Title: Re: Can we get Freespace to work with this??
Post by: The E on August 09, 2011, 05:26:25 pm
Should have been more specific, Voxel based graphics aren't anything new, but this technology appears to be using fractal geometry along with voxels. I didn't heard of this being exploited in gaming.

No, it just uses a lot of voxels. And this isn't exploited in gaming by any means, note that the engine isn't finished yet and lacks a lot of the effects taken for granted nowadays.
Title: Re: Can we get Freespace to work with this??
Post by: deathfun on August 09, 2011, 08:51:00 pm
Not only that, but I've yet to see someone make something that isn't a set piece
When someone animates something using this technology, I'll be impressed
Title: Re: Can we get Freespace to work with this??
Post by: Davros on August 09, 2011, 10:55:19 pm
delta force, comanche and outcast are the most famous games that use a voxel engine
Title: Re: Can we get Freespace to work with this??
Post by: Nuke on August 10, 2011, 03:23:13 am
voxels are the meathod of choice for medical (radiology for example) and scientific purposes, because you pretty much need a supercomputer to make it work. they use it in those fields because its usually a method to display a mapped out scan of something by taking multiple samples of a 3d object, and using various color channels to indicate measured properties about that sample in the scan, like density for example. voxels are really the only way to display such data. imagine a 3d bitmap where in addition to horizontal and vertical resolution you have z resolution as well, this would make the image huge, this is also the typical output of, say, an mri scan. how do you convert that int a 3d model, it would be very difficult and use very complicated algorithms. so it ens up costing less to buy a super high end workstation to display the data as voxels.

i personally think that polygonal systems are far superior for gaming since you really only need to see the surface of an object and not necessarily see what its insides are made out of. voxels also apear to have gaps in surfaces or make things look to angular. and there are ways to bake additional detail into polygonal data to increase the detail, like normal maps. furthermore i just dont find voxel graphics to be very good. everything seems to be flat in color and the lighting just looks bad.
Title: Re: Can we get Freespace to work with this??
Post by: Dragon on August 10, 2011, 06:11:36 am
Wouldn't using voxels allow for something like GeoMod to be implemented much easier than in polygon based graphics?
Title: Re: Can we get Freespace to work with this??
Post by: The E on August 10, 2011, 06:43:27 am
Kinda? But the big issue with pure voxel engines is that animation is hard (as in, very CPU and memory-intensive), and until that is resolved, I would not expect to see much in that regard.

Also, remember that GPUs nowadays are very highly optimized for geometry operations, doing on-the-fly destructible scenery isn't as hard as it used to be.
Title: Re: Can we get Freespace to work with this??
Post by: Nuke on August 10, 2011, 08:34:43 am
Wouldn't using voxels allow for something like GeoMod to be implemented much easier than in polygon based graphics?

well assuming each voxel contained some physics information it would make destuctable terrain and characters more possible, though the computational requirements of the physics engine would be astronomical if you tracked the physics of each and every voxel in the game. you would have to do it in pieces of perhaps a thousand voxels each so as not to overwhelm the physics engine. you could theoretically treat every voxel as an atom with simulated bonds, but youre gonna need one hell of a computer to run it.
Title: Re: Can we get Freespace to work with this??
Post by: Dragon on August 10, 2011, 12:18:21 pm
Considering that most games don't need sciencific-grade physics simulation, just a good enough approximation, it could become doable in the forseeable future.
Title: Re: Can we get Freespace to work with this??
Post by: Davros on August 10, 2011, 03:11:40 pm
shattered steel back in 1992 had deformable voxel terrain
Title: Re: Can we get Freespace to work with this??
Post by: Dragon on August 10, 2011, 04:03:34 pm
Of course, a basic implementation most likely was done at some point, but I was referring to things such as breaking objects apart on the fly, which I think would be made possible with voxels. For instance, imagine you ram a fence placed on the cliff. The planks break, separate and fall of a cliff in a realistic way. If you hit the fence a slightly different place, it'll look different and break differently. I don't think this could be easily done with polygon based graphics (in ArmA II, for example, such things as fences or trees don't obey laws of physics that much and always break the same way).
Title: Re: Can we get Freespace to work with this??
Post by: The E on August 10, 2011, 04:28:55 pm
As nuke pointed out, there's a nontrivial CPU cost associated with that. Even doing something like the original geomod (aka on-the-fly boolean operations on surfaces) is quicker and easier to implement using current graphics hardware.

One thing about voxel engines is that they do not work all that well on current GPUs; converting all the tree-lookup stuff into a format where shader ALUs can handle it is decidedly hard, thus putting most of the processing load back onto the CPU, which really is a waste of processing cycles.

Honestly, I don't see the point in discussing this at this point. Until somebody credible (like John Carmack, Epic or Crytech) starts implementing it, all we have to go on is an obnoxiously vague promotional vid. Which really isn't a basis on which to discuss future engine technologies, and given the advances to be expected in idTech 5 for example, I think Voxel engines are a long way off towards being a serious contender for realtime graphics in the quality we've gotten used to.
Title: Re: Can we get Freespace to work with this??
Post by: Luis Dias on August 10, 2011, 04:45:07 pm
I actually remember reading Carmack talking about his adventures into vortex coding, and something about his excitement about the tech, but also the awareness that it was something that was incompatible with current hardwares.

Anyways, carmack does have this tweet:

https://twitter.com/#!/ID_AA_Carmack/statuses/98127398683422720

Quote
Re Euclideon, no chance of a game on current gen systems, but maybe several years from now. Production issues will be challenging.

Which is his way of saying "unless some genius like me does it, just forget it".


edit: found an ancient interview with carmack about voxels (2000):

http://www.firingsquad.com/features/carmack/page13.asp


edit2: a more recent interview discussing idtech 5. Some passages on voxels:

http://www.pcper.com/reviews/Graphics-Cards/John-Carmack-id-Tech-6-Ray-Tracing-Consoles-Physics-and-more/Hybrid-rendering

Quote
I saw the quote from Intel about making no sense for a hybrid approach, and I disagree with that.  I think that if you had basically a routine that ray traces this area of the screen in the sparse voxel octree it’s going to spit out fragments, it’s going to wind up having a depth value on there that you could intermix with anything else.  Even if you had a ray trace against a conventional architecture you would still want to have a fragment program there that would look almost exactly like current fragment programs that we’ve got right now.  I couldn’t imagine wanting to do something that didn’t have a back end like that.  I mean you might even have vertex processors – the stuff that Intel is doing right now, ray tracing into the geometry, it’s very likely that you would in the end want to be able to run the triangles in there that you are ray tracing against through vertex and fragment processors and you’re just getting the barycentric coordinate of your ray trace stab.  You have to know what you hit but then you have to know what you want to do there.  You would want in addition some ability to send dependent rays out from there as extra elements.

It’s reasonably likely that if my little data structure direction pans out you’ll probably still want to do characters as skinned and boned with traditional animation methods.  While you could go ahead and work out a voxel method of characters using refraction skeletons around characters and you could do animation, you probably wouldn’t want to because we can make characters that look pretty damn good with the existing stuff and if everything continues to get 10x faster without us doing anything you’ll probably want to do characters conventionally.  But if you can do the world and most of the static objects at this incredible level of detail that you would get with the sparse voxel octree approach that seems like a completely reasonable way to mix and match.

(...)


PCPER: So current generation consoles and PC graphics cards aren’t going to be capable of running this new type of sparse voxel octree based technology?  And do you think vendors adding in support for it for next-generation hardware would be sacrificing any speed or benefits to rasterization?

 

CARMACK: Right not at all.  You could certainly do it (sparse voxel octree) but it’s not going to be competitive.  The number of pixels that you could generate with that would be less than a 10th of what you could do with a rasterization approach.  But the hope would be that in the coming generation we might have the technology for it. 

EDIT 3:

Caught this on wikipedia about megatexture (and its evolved state):
Quote
Id has presented a more advanced technique that builds upon the MegaTexture idea and virtualizes both the geometry and the textures to obtain unique geometry down to the equivalent of the texel: the Sparse Voxel Octree (SVO). Potentially id Tech 6 could utilize this technique. It works by raycasting the geometry represented by voxels (instead of triangles) stored in an octree. The goal being to be able to stream parts of the octree into video memory, going further down along the tree for nearby objects to give them more details, and to use higher level, larger voxels for further objects, which give an automatic level of detail (LOD) system for both geometry and textures at the same time. The geometric detail that can be obtained using this method is nearly infinite, which removes the need for faking 3-dimensional details with techniques such as normal mapping. Despite that most Voxel rendering tests use very large amounts of memory (up to several Gb), Jon Olick of id Software claimed it's able to compress such SVO to 1.15 bits per voxel of position data.[citation needed]

According to this speculation, id is already working in implementing voxels in the next generation of consoles / PCs in a smart way.

Go see: http://en.wikipedia.org/wiki/Id_Tech_6
Title: Re: Can we get Freespace to work with this??
Post by: Dragon on August 10, 2011, 06:27:31 pm
Indeed. Current GPUs are meant for operating on polygons, since it's the most popular method. Of course, if gaming industry would move to voxels, graphics card designers would too. But that's only speculation, right now it doesn't seem like anybody wanted to attempt such transition. We'll most likely see traditional GeoMod implemented into FS before this, and it neither is going to happen in the near future (cue Valathil posting screenshots of FS GeoMod in action  :)).
Title: Re: Can we get Freespace to work with this??
Post by: Nuke on August 12, 2011, 10:19:23 pm
it would be far easier to use real time boolean operations that to convert the freespace engine into a voxel engine. regardless of the available hardware. that is unless of course you can get carmack to join the scp :D
Title: Re: Can we get Freespace to work with this??
Post by: pecenipicek on August 12, 2011, 11:02:34 pm
it would be far easier to use real time boolean operations that to convert the freespace engine into a voxel engine.

these things are nowhere near real time in proper 3D apps when complex meshes are involved.  its basically, per vertex, edge and polygon collision detection, coupled with mesh joins.





on the other hand... blobs. you know, those physics demos with the "soft-body dynamics" and ****? yeah. those blobs.
Title: Re: Can we get Freespace to work with this??
Post by: Nuke on August 13, 2011, 12:54:38 am
it would be far easier to use real time boolean operations that to convert the freespace engine into a voxel engine.

these things are nowhere near real time in proper 3D apps when complex meshes are involved.  its basically, per vertex, edge and polygon collision detection, coupled with mesh joins.





on the other hand... blobs. you know, those physics demos with the "soft-body dynamics" and ****? yeah. those blobs.

i was refering to a system similar to the rf1 geomod method, which is essentially a real time boolean operation where a volume is subtracted from the mesh, and the model is restructured for use in the game. real time may be an exaggeration because you can schedule the operation to use up any spare time between frames to do the operation, and it might be a few frames late, but thats a tiny fraction of a second to the user. my point was that making a move to voxels is a fundamental change to the game engine, where as the boolean operation could be done as a bolt on addition which would not require the game to be fundamentally different than it is now. either way geomod is not gonna happen in this engine because it would be a very difficult thing to accomplish. id rather have shader effects, materials system, and optimizations, than have coders blow time on some gimmick feature like this.
Title: Re: Can we get Freespace to work with this??
Post by: Dragon on August 13, 2011, 05:17:43 am
Not to mention there's a real possibility that being able to blow holes in capships would change gameplay a bit too much. GeoMod would be a nice feature, but it isn't likely to find use outside of mods and there are better things for coders to work on, like shadows or material system. I've just used it as an example of something that isn't going to be implemented anytime soon (material system and shadows were in the works and progressing last time I checked).