Omg I just realized this vid is 12 years old. You definitely had future insight back then!
@KokoRicky13 жыл бұрын
Thanks so much for making the effort to articulate your words. There are plenty of native English speakers who just slur their words together. Anyway, cool stuff, I love voxels.
@JoshuaThong13 жыл бұрын
Thank you for your articulate explanation! You really helped me understand how and why octrees are used for voxels.
@dennisrkb12 жыл бұрын
There are many possibilities. You can always do super-sampling (rasterize the scene at a higher resolution/raycast more than one ray per pixel). Generally, raycasting will offer more sophisticated filtering techniques to hide aliasing (e.g. quadrilinear filtering around the hit voxel, etc.)
@Nexfluts13 жыл бұрын
These videos are great thank you very much for taking the time to make them. Best explanation on the internet.
@descai109 жыл бұрын
For those wondering, this is what is used to make AtomontageEngine (obvious since featured in this video ) and euclideon possible.
@wrburdick13 жыл бұрын
Dude, this is great work! I can't wait for parts 2 and 3!
@CapnSlipp4 жыл бұрын
4:3 aspect ratio videos for the win. ;-D Not only full-sceen on iPad, but easier to watch on a 16:9/16:10 computer screen without consuming a whole screen (leaving room for a browser window, code editor, etc,)
@dennisrkb13 жыл бұрын
@ObeseRacoon I love rasterization, especially screen space techniques, which rasterization kind of favors. Tessellation makes it possible to add non-height field mesostructural details to geometry which is cool, but costly. In general, I use the right tool for the job and considering how elaborated polygon graphics are, alternative technologies have a hard time competing with them. But I think that voxels still have some things to offer which polygons don't, so I research them further.
@johnsherfey36758 жыл бұрын
Question why can't I just have the octree Interpolate between two similar but diffrent octrees?
@Xeloboyo7 жыл бұрын
?
@edk.20456 жыл бұрын
For animation? You can, but if you want a fully destructible game, including destructible people, then the solution he mentions is better.
@dennisrkb13 жыл бұрын
@archon808 The star is just an example to illustrate how SVOs work. Voxels are more memory efficient than triangles when used to represent objects with great mesostructural detail (when the pixel : triangle-ratio approaches 1 : 1) which the star is not. When it comes to representing objects with low mesotructural detail (like flat surfaces, when the pixel : triangle - ratio is very high), triangles are more memory efficient than voxels.
@MrMonkeybat12 жыл бұрын
Are sparse branching octree's used to store and find the vertex points in polygon engines?
@ObeseRacoon13 жыл бұрын
Wow thanks for making this very informative. I was wondering what you think of hardware tessellation + rasterization?
@sepidar66613 жыл бұрын
Thank u very much for this video. It was very educational for me.
@wvhdogg12 жыл бұрын
how would you anti-alias this? just render 1 depth extra and interpolate?
@hymnsfordisco5 жыл бұрын
A voxel isn't necessarily a cube, though a regular grid will typically subdivide into cuboid volumes. So even if it is practically the most common and obvious case, maybe there are many breakthroughs to be made if we can imagine voxels in a higher level than just "cubes"
@anzatzi10 жыл бұрын
great overview. thanks!
@osakanone13 жыл бұрын
@archon808 It depends. If the object is organic in nature, it works. If the object is artificial, nurbs tend to do a better job in conjunction with weight mapping. I think in the future, we'll be using different technologies to do different things.
@Harpreet0613 жыл бұрын
did you mean a square instead of a rectangle?
@dennisrkb13 жыл бұрын
@2mustange Using "Deferred Shading" you can very easily render voxel and polygon content side by side (and even let them interact with each other visually (like cast shadows on one another)).
@UltimatePerfection12 жыл бұрын
You can always render voxels that are nest to air as slopes.
@keptleroymg68772 жыл бұрын
Yeah people act like voxels need to be rendered as cubes. With good density they can just be rendered pixels but low density could be cool stylistically if they were smoothly rendered
@UltimatePerfection12 жыл бұрын
So essentially voxel is 3D pixel, am I right?
@ultraderek5 жыл бұрын
Good stuff.
@keptleroymg68772 жыл бұрын
Damn 11 years ago.
@stickfigure4212 жыл бұрын
Yup!
@Jkauppa3 жыл бұрын
octree is an acceleration structure for a triangle source data
@Jkauppa3 жыл бұрын
you then jump into the actual source data, through pointers
@Jkauppa3 жыл бұрын
no problem when going really close
@Jkauppa3 жыл бұрын
no need to throw detail out
@Jkauppa3 жыл бұрын
you dont have to calculate the octree all the way down, you just need the intersection point with the geometry
@Jkauppa3 жыл бұрын
its kinda cheating what planes and triangles to check in the ray tracing algorithm
@dennisrkb13 жыл бұрын
@Harpreet06 oh yeah thx
@Zudomon8 жыл бұрын
Voxels vs polygons are like bitmap vs vector. How can it be memory efficient, when this is the most limited factor? If you take the 2d star example. How many bits do you need to save such a shape as vector graphic? You can't have unlimited detail, because you have not unlimited memory... and even if you save only the surface by LTC or SVO, you need the memory for the surface. So double the resolution will quad to oct your memory. I am still not sure, wether voxels are the future, like some genius predict us. I am excited how much memory a Quake 3 level would take, if you use voxels instead of polygons in atomontage resolution.
@dennisrkb8 жыл бұрын
Depends on the topography of your object. Flat surfaces can be represented more efficiently with polygons. 3D, non-parametric fractals can be represented more efficiently (memory-wise) with voxels.
@Zudomon8 жыл бұрын
Okay, that's right... but in most non fractal cases the voxels should use more memory. You talked about foliage in the last video, but you show a polygon scene. So do you know any voxel foliage? I can't imagine that, because a grass blade or leaf must be very detailed for that.
@johnsherfey36758 жыл бұрын
Zudomon Jon Olick does euclideon better.
@Bestmann3n7 жыл бұрын
have fun deforming and animating models made of voxels...
@UltimatePerfection12 жыл бұрын
*near to air, gah...
@dudearlo6 жыл бұрын
so let me get this straight.....each box has 8 children and each child has the potential to each have 8 children, and you just choose to render that generation or that child?
@dennisrkb6 жыл бұрын
You're approximating arbitrary shapes by sub-dividing the bounding cube around it evenly in 8 sub-cubes and you repeat this process recursively. After enough steps the voxels become sufficiently small to accurately approximate smooth surfaces even though they are cubical (the same way you can't make out individual polygons in a sufficiently high-resolution mesh - it appears smooth). For rendering, you start at the root node, and, as long as its too large to be displayed, you recurse into the children and so forth. Once the projected size of a voxel becomes ~1px you can stop traversing the tree and draw the voxel. Check out kzbin.info/www/bejne/nHiwpmihebN-i5o
@sergrojGrayFace11 жыл бұрын
watch?v=YI4rEnB6pPs - accompanying paper states that 1 bit per octree node is theoretically impossible.
@archon80813 жыл бұрын
Voxels are not memory efficient. Obviously it would take less memory to store the star as 8 triangles. The same LOD quadtree method can be applied to triangles, so LOD is not a advantage of voxels. And streaming has nothing to do with voxels vs triangles. Voxels are a waste of memeory, and time.
@_zproxy13 жыл бұрын
Demoguy needs a better mic!
@UltimatePerfection12 жыл бұрын
As I thought, 3d pixel.
@apothecary012 жыл бұрын
haha...Screenshit 4:49
@as12df127 жыл бұрын
"Voxels are little cubes. Nothing more, nothing less". I can't believe you're starting off an "in-depth explaination" with something so blatantly factually wrong.
@dennisrkb7 жыл бұрын
Hey as12 this is a simplified version of my thesis work tailored to non-technical people.
@as12df127 жыл бұрын
Okay, but I would still argue that spreading simplifications that lead to pervasive and hard-to-get-rid-of misconceptions is not a good thing. At the very least, instead of claiming "nothing more, nothing less" you could have said something along the lines of "actually it's more complicated than that, but this notion will do for our purposes". Just saying...
@lukaszsawicki94414 жыл бұрын
@@dennisrkb I think to that you should correct this video.