4 ms·
Good question! The entire scene you are seeing is being procedurally generated in realtime over 60 times per second (nothing is cached or pregenerated). It doe
by gavanwoolery 11y ago
Good question! The entire scene you are seeing is being procedurally generated in realtime over 60 times per second (nothing is cached or pregenerated). It does not necessarily compete with polygons in terms of visuals, but it is great for interactivity and procedural generation and so forth. Everything you see is solid (vs being "paper thin" as most polygon games are). The entire application is only a few megabytes large, so this make its easy for users to share their creations with each other (which could be just a few kilobytes in size). It is able to represent an area of several square kilometers with virtually no memory footprint (something of this detail would require several gigabytes of memory to store all the vertices for polygon data, not to mention the texture data). This entire scene can change instantly based on user parameters. I don't do a great job of demoing all of this but I should in the future. :)
- sergiotapia 11y agoThat sounds really interesting, so compared to traditional polygon based graphics voxel is absolutely tiny?
- kaoD 11y agoVoxels are discrete, so not absolutely tiny. Voxel = vox (volume) + el (element), similar to pixel = pix (picture) + el. Do you know Minecraft? All those cubes in its world are voxels. The amazing thing here is how tiny this guy's voxels are while still keeping the game running at a decent framerate. Compared to traditional polygon graphics: voxels are discrete elements in space (sort of like "giant atoms") while polygons are the surface of objects (cuts of planes in 3d space). Being merely polygons they have no depth (as GP said, they're paper-thin) while voxels are inherently volumes in your space. You could compare it to Lego vs. papercraft.
- gavanwoolery 11y agoDepends on how you are representing stuff. The name is a slight misnomer that hails to the early days of this project when everything was strictly voxel based. Now the only thing voxels are used for is to determine the basic terrain addition and destruction. Voxels tend to be more storage efficient because their location is inherent to their index and vice versa.
- lfowles 11y ago> Now the only thing voxels are used for is to determine the basic terrain addition and destruction. Do you find that to be pretty efficient compared to other methods of terrain deformation (ROAM,etc)? Pretty curious, since I did my big undergrad research paper on deformable terrain in videogames before the huge voxel craze.
- gavanwoolery 11y agoDepends on what you classify as efficient: mem usage, gpu workload, etc. Voxels are easy to work with but often represent more data than your really need.
- lfowles 11y agoI was mainly asking in general terms of "gamedev" efficient: Whatever deforms and renders at a playable rate and looks just as good as the alternatives.
- gavanwoolery 11y agoVoxels would probably be the simplest thing to program with (they were easier to use in my first iteration than my current (3rd) iteration of the engine)
- k__ 11y agoWhy are the voxels (I guess the jagged edges come from the voxels?) so big?
- nightcracker 11y agoBecause every voxel needs processing, and you've only got 16.7ms to process every voxel every frame.
- k__ 11y agoIs it possible to scale them like pixels? Like a "voxel resolution" that can be adjusted if you got a better PC etc.
- kbenson 11y agoFrom viewing earlier demos I believe it can be, possibly in real time. That said, reducing a voxel by half in each dimension yields eight times as many voxels, reduced by however efficient his algorithm for determining what needs to be visible and drawn is, so I think it might need to be quite an upgrade to see a big difference.