Xion
|
|
« Reply #20 on: April 24, 2008, 07:59:50 PM » |
|
Can you mix voxels and polygons?
Yep. So why isn't it done more often? Get the best of both worlds, you know?
|
|
|
Logged
|
|
|
|
Zaknafein
|
|
« Reply #21 on: April 24, 2008, 08:40:20 PM » |
|
Woah, it appears that I'm late here. Everything's been said already. Well Zaphos's explanations are spot-on about the nature of trixels and triles. One thing I could add about cubemap usage in triles/trixels is that every pixel of the cubemap ends up as a face of a potential trixel in the trile. If that made any sense. I say "potential" because if you sculpt the trixels out, there's unused cubemap data.
|
|
|
Logged
|
|
|
|
Zaphos
Guest
|
|
« Reply #22 on: April 24, 2008, 09:15:11 PM » |
|
Because it was all pixels, and those lose detail when you rotate. Polygons are vecotrs even if they are textured with bitmaps.
Hmm, no? Mode7 essentially gave a texture mapped plane. The differences you're seeing are just texture resolution and/or interpolation issues; there's not such a fundamental difference between the mode 7 effects and moving a textured quad in the same way. Also, how would you anti-alias something that represents a volume of a physical object rather than just an image?
In a way, this is kinda what algorithms like marching cubes, dual contouring, etc do. If you just have heightfield voxels, like Outcast, there are a lot of possible ways to interpolate that. They just do nearest neighbor and get cubes because it's cheap that way. So why isn't it done more often? Get the best of both worlds, you know?
I think that a lot of methods for voxel rendering weren't able to take advantage of the graphics card hardware. They were doing ray casting on their height field to get perfect culling in Outcast ( according to this), for example, and you couldn't do that on the GPU. (At least, not then. Now GPUs are getting all crazy programmable and I don't even know what you can do on a GPU anymore. Maybe with larrabee ...) If the voxel rendering can't happen on the graphics card, it would lag behind the polygons in quality (especially as the resolution increases), so the two styles would clash. I guess you could make that part of the art style, which could be cool. Also, some of the benefits of voxels we can get with a little more thought without using voxels. One thing I could add about cubemap usage in triles/trixels is that every pixel of the cubemap ends up as a face of a potential trixel in the trile. If that made any sense.
A pixel can also map to multiple faces, right? I hadn't thought it out before, so I drew a 2D example picture: (it's a 2D cube map, aka a square map)
|
|
|
Logged
|
|
|
|
Zaphos
Guest
|
|
« Reply #23 on: April 24, 2008, 10:18:52 PM » |
|
Actually, is that picture correct? It's bothering me; it seems like the 'one pixel maps to multiple faces' thing would cause some annoying constraints at times?
|
|
|
Logged
|
|
|
|
Eclipse
|
|
« Reply #24 on: April 25, 2008, 12:32:52 AM » |
|
oh also one thing about trixels is that they are totally polygon-based. and magic-based.
so voxels are real voxels, trixels are fake voxels
|
|
|
Logged
|
<Powergloved_Andy> I once fapped to Dora the Explorer
|
|
|
Alex May
...is probably drunk right now.
Level 10
hen hao wan
|
|
« Reply #25 on: April 25, 2008, 01:06:52 AM » |
|
Voxels are exactly, and precisely, and nothing more than volumetric pixels - a space divided into a regular three-dimensional grid. How you render them is IRRELEVANT. Anything that takes a 3-D grid of data and renders it somehow is rendering voxels.
So Renaud is right and "trixels" are voxels. They're rendered using polygons, which is different from how some voxel engines render their voxels - the ones which, as fish rightly points out, look like ass. Voxelstein looked like so much ass, in fact, that it made me feel physically sick to play it.
|
|
|
Logged
|
|
|
|
Eclipse
|
|
« Reply #26 on: April 25, 2008, 01:15:06 AM » |
|
Voxels are exactly, and precisely, and nothing more than volumetric pixels - a space divided into a regular three-dimensional grid. How you render them is IRRELEVANT. Anything that takes a 3-D grid of data and renders it somehow is rendering voxels.
So Renaud is right and "trixels" are voxels. They're rendered using polygons, which is different from how some voxel engines render their voxels - the ones which, as fish rightly points out, look like ass. Voxelstein looked like so much ass, in fact, that it made me feel physically sick to play it.
sure, but when you convert voxels to a polygonal vertex buffer you have no more a 3d grid of data, you have a list of triangles So maybe trixels are pre-calculated voxels converted in a polygonal form, they are not voxels at all, you can't blow up a cube made of trixels like in voxelstein without locking your vertex buffer and editing the polygons... I mean, i bet Fez have no "3d grids" in memory during the game because that will only waste ram, maybe they import the "grid" and convert it on a mesh on the fly during loading times but that will be stupid too, so i bet they simply do a level and then export it as 3d mesh, so no voxels or 3d grids at all in the game, right? Also, voxelstein renders voxels without any interpolation, Thunder Brigade looks wonderful also years from his commercial launch
|
|
« Last Edit: April 25, 2008, 01:21:33 AM by Eclipse »
|
Logged
|
<Powergloved_Andy> I once fapped to Dora the Explorer
|
|
|
Alex May
...is probably drunk right now.
Level 10
hen hao wan
|
|
« Reply #27 on: April 25, 2008, 01:20:13 AM » |
|
Sure, but like I said, it's not about rendering. I guess we could argue about whether the game uses voxels or not because it doesn't keep the voxel data structure intact during gameplay. Since Fez doesn't seem to I guess you could argue that it doesn't use voxels in-game. However, the game does use a regular 3D grid of cubic tiles for its world... edit: yes, we're in agreement.
|
|
|
Logged
|
|
|
|
Eclipse
|
|
« Reply #28 on: April 25, 2008, 01:25:02 AM » |
|
yup but you can't call trixels "voxels" anymore... i mean, i can do 3d blocky tiles in an editor and export them as a 3d model, but this is only a 3d model shaped this way.. anyway, Fez IS cool also without fancy rendering techniques so who cares?
|
|
|
Logged
|
<Powergloved_Andy> I once fapped to Dora the Explorer
|
|
|
Alex May
...is probably drunk right now.
Level 10
hen hao wan
|
|
« Reply #29 on: April 25, 2008, 01:49:28 AM » |
|
You're being a pedant, but I'll let it drop anyway
|
|
|
Logged
|
|
|
|
Eclipse
|
|
« Reply #30 on: April 25, 2008, 02:01:32 AM » |
|
You're being a pedant, but I'll let it drop anyway
already dropped on the last post >.>
|
|
|
Logged
|
<Powergloved_Andy> I once fapped to Dora the Explorer
|
|
|
Alec
|
|
« Reply #31 on: April 25, 2008, 03:39:46 AM » |
|
Meh.
If its looks good, ride it.
If its diamonds, it looks good.
|
|
|
Logged
|
|
|
|
Zaknafein
|
|
« Reply #32 on: April 25, 2008, 09:06:12 AM » |
|
A pixel can also map to multiple faces, right?
Yes, that is a limitation of the system. But since triles are 16x16x16, it's not that much of a bother to keep all triles convex. And that problem does not show at all in 2D since you're viewing a cubemap face with invisible parts. So maybe trixels are pre-calculated voxels converted in a polygonal form, they are not voxels at all, you can't blow up a cube made of trixels like in voxelstein without locking your vertex buffer and editing the polygons...
I mean, i bet Fez have no "3d grids" in memory during the game because that will only waste ram, maybe they import the "grid" and convert it on a mesh on the fly during loading times but that will be stupid too, so i bet they simply do a level and then export it as 3d mesh, so no voxels or 3d grids at all in the game, right?
I generate the polygonal data for individual triles at level compile-time, in the editor, but I keep the trile presence/absence data for collision and culling in the game. So I guess it's a hybrid approach... I keep large chunks of trixels as voxel data all the way, but individual details are abstracted to polygons. But yeah, who cares about this level of engine design detail. I do, but you shouldn't. Edit: Also, OMG IRL TRIXELS http://flickr.com/photos/nickgray/2434200018/
|
|
« Last Edit: April 25, 2008, 09:08:16 AM by Zaknafein »
|
Logged
|
|
|
|
siiseli
Level 6
|
|
« Reply #33 on: April 25, 2008, 10:10:53 AM » |
|
That also belongs in the awesome art-topic.
|
|
|
Logged
|
|
|
|
Akhel
|
|
« Reply #34 on: April 25, 2008, 10:24:01 AM » |
|
|
|
|
Logged
|
|
|
|
Zaphos
Guest
|
|
« Reply #35 on: April 25, 2008, 10:50:21 AM » |
|
And that problem does not show at all in 2D since you're viewing a cubemap face with invisible parts.
I guess by 2D I really meant a top down cross-section of 3D, but yeah But yeah, who cares about this level of engine design detail. I do, but you shouldn't. We need it to support pointless arguments about semantics!
|
|
|
Logged
|
|
|
|
ஒழுக்கின்மை (Paul Eres)
|
|
« Reply #36 on: April 25, 2008, 11:02:36 AM » |
|
Could it be that the reason voxels tend to look bad and are rendered slower is because generations of 3D graphics cards were built with polygons in mind? Wouldn't they potentially be much faster if 3D graphics cards were built with them in mind instead of polygons? I mean there are all kinds of things specific to polygons in graphics cards, and I imagine nothing or almost nothing specific to voxels, even though both are valid ways of representing a 3D world visually.
|
|
|
Logged
|
|
|
|
|
joshg
|
|
« Reply #38 on: April 26, 2008, 06:54:11 AM » |
|
Hey wow, and Alpha Centauri used voxels for everything? Madness! As far as name choice goes though, I'd have to say that "trixel" is a whole lot better than this: Worms 4 Mayhem uses a "poxel" (polygon and voxel) engine to simulate land deformation similar to the older 2D Worms games. And a pox on you too, sir!
|
|
|
Logged
|
these are from an actual radio shack in the ghetto
|
|
|
Hideous
|
|
« Reply #39 on: April 26, 2008, 12:35:39 PM » |
|
... I found a voxel modeling program. I am happy now.
|
|
|
Logged
|
|
|
|
|