- 1
- 268 331
7 Bits Per Byte
Ukraine
Приєднався 3 сер 2023
Voxel Ray Tracing
References:
How Ray Tracing Works ua-cam.com/video/gsZiJeaMO48/v-deo.html
Ray Marching ua-cam.com/video/BNZtUB7yhX4/v-deo.html
Teardown ua-cam.com/video/ttwBelIlLv8/v-deo.html
Atomontage Engine ua-cam.com/video/1sfWYUgxGBE/v-deo.html
Fast Voxel Traversal: citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.42.3443&rep=rep1&type=pdf
Animations were created using open-source software:
Manim github.com/ManimCommunity/manim/
Blender github.com/blender
My GitHub: github.com/AndrewB330
How Ray Tracing Works ua-cam.com/video/gsZiJeaMO48/v-deo.html
Ray Marching ua-cam.com/video/BNZtUB7yhX4/v-deo.html
Teardown ua-cam.com/video/ttwBelIlLv8/v-deo.html
Atomontage Engine ua-cam.com/video/1sfWYUgxGBE/v-deo.html
Fast Voxel Traversal: citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.42.3443&rep=rep1&type=pdf
Animations were created using open-source software:
Manim github.com/ManimCommunity/manim/
Blender github.com/blender
My GitHub: github.com/AndrewB330
Переглядів: 268 363
It uses a proprietary game engine developed by Dennis Gustafsson, which is awesome, they literally made their own engine to get the game to run so well using voxels.
I'd love to have 10cm voxels but somehow connect the outer edges to create smoother diagonals
Voxel graphics are awesome. Still so far that it can be pushed. Saw a new voxel tool for unreal engine recently. Quickly shape terrain, caverns and such. I remember being blown away by the voxel terrain in the game Comanche from 1992. ua-cam.com/video/51E_G7NCXVM/v-deo.html
can a game have both voxel and polygonal where some objects are voxels and some polygons?
Вражений якістю Вашого відео - на дуже високому рівні! Був би радий дивитись Ваші відео =)
This man drops a banger and disappears
The "ear" in "teardown" is pronounced like "air". "Tear" with the "ear" like "ear" is what you cry.
Why do we need to check every step if something is hit or not We already know that if we look at the codinates Im new to this so this idea maybe pointless
Русский штоле
The link to the paper in the description doesn’t work
That bit with the tank at 1:34 reminds me of the Ken Silverman's voxel engine. The one that was used in the original Ace of Spades. There also was another old game that has smaller voxels called Voxatron and Neverdaunt 8Bit. I wonder what happened to those games.
Can we get them even smaller? I want a smooth minecraft so i dont feel like im playing a kids game
I've heard accent. Thanks for video. Good luck.
Minecraft's voxels seeming big is merely a trick of perspective. If you make your player character 30 blocks tall, then the voxels are actually quite petite.
the link to the paper is dead
Such a nerdy name for your dog :p. Love the video & can't wait for more <3
Here I was going to complain that you're too young to remember NovaLogic and similar endeavours, but then I saw it was about raytracing, which makes it kind of interesting!
Voxel graphics didn't start with Minecraft in 2009 and the blocks didn't "evolve" to become smaller from there. What kind of failed logic is that? Ever heard of Comanche from 1992?
It is insane
mejor que cada cubo detecte la luz y este solo brille segun distancia, color e intensidad, si el cubo no ve la fuente de luz vera al menos las que si lo ven y se brillara segun esos que puede ver "(iluminacion indirecta)"
There wasn't any environmental destruction involved, but voxel tech goes WAY back as far as I'm aware to 1998 when a game called Delta Force came out for PC. It was pretty revolutionary for the time. I remember my PC couldn't handle it very well, but I was impressed by it.
3:10 d'oh i missed
10cm to the side voxel would be 1000 times smaller than 1m ones. Not 10 times.
Hey, only one video on this channel? I want more! From this 5 minute video I understood about voxel data structs more than 5 hours before that
Not only minecraft cubes are not real voxels like others have said you dont need to represent voxels has cubes, thou everyone does because is with no doubt the best shape for it. But imo is good too know that being a cube is not a hard requirement.
ze nomber of voxzelz :D
Minecraft bedrock has ray tracing
stop saying minecraft is a voxel game, it is not, it is polygonal based rendering, you are just incorrect minecraft is cubicular sandbox game, not a game based in a voxel based 3d engine, it is still polygonal based... do not mislead people
Incredibly well made video
3:42 ? where?
ya lost me
really great video, you sound like a guy i would climb a mountain with for the first time of my life, and the weather goes cold and it becomes harder and harder to breathe, and when i ask you if we should go back you push me on to go even further, then at the top of the mountain you say "just to let you know; i didnt bring enough oxygen tanks for the trip back" in a very calm soothing voice, and when i am concerned about if we will be alive or not you simply reply with "50/50 😀".
voxel were also really small in some games, YEARS ago was it the first Baldur's gate, or something, don't remember, but they were no bigger than a couple of pixels
Дядя, акцент пізда. Уже на 2 минуті рассєкрєтіл
Minecraft is not voxels.
it is for most of its blocks, that is, all the full blocks
I'm curious why voxel-based ray-marching doesn't just use Bresenham line drawing algorithm? It would seem that computing the bounding box of the ray at each step is more work than necessary. Bresenham is just a simple fixed-point accumulator and is very fast. If you wanted to be really smart, you could do AA based voxel raytracing with Xiaolin Wu's line algorithm and when a hit occurs, that becomes the weighted RGB of that pixel and any remaining "energy" in would continue. This could allow for transparency and other cool effects too.
Voxels are oooold (Comanche-series). And Minecraft can just barely be said to use voxels at all.
Amazing work
Rasterization IS ray tracing.... Yes? One samples the world geometry by shooting one or more rays through each pixel in order to find intersections. Yes?
No. Rasterization is the way polygons are rendered to the screen. It's kinda the opposite of ray tracing.
@@vibaj16 Ray casting is the opposite of ray tracing, but ray casting is what is actually used in "ray tracing". How is rasterization the opposite of ray tracing?
@@bricaaron3978 ray casting is not the opposite of ray tracing. Rasterization is the opposite of ray tracing in that those are pretty much the only 2 methods for rendering 3D scenes, and are completely different techniques.
@@vibaj16 Why don't you explain how a scene is rasterized?
@@bricaaron3978 vertices of triangles are perspective projected, then the triangles are filled in. That's rasterization.
Anytime I hear someone speaking about the use of voxel's I'm blown away that Ken Silverman's name isn't mentioned (or well known amongst gamers for that matter). His early work with voxels was solid and even Carmack was impressed with his work.
0:59, This is due to effectively having an opengl2 renderer which was never optimized for anything other than tiny maps with simple geometry, not what minecraft is today.
No, it doesn't have much to do with rendering at all. It's mostly due to a lot of poorly optimized other aspects of the game, like lighting, redstone, entities, etc
3:26 it's called ray casting, it's how the Wolfenstein 1 engine worked
if i were doing ray marching in a regular grid i'd just try to implement bresenham.
same
Im convinced that minecraft needs a render engine overhaul Kind of depressing that that hasnt happened yet, even with all the budget behind it
it doesn't really
@@vibaj16 considering how awful the game looks it sure runs poorly
@@vliedtke That's not due to the render engine. Minecraft is poorly optimized for entities, redstone, and other things. That's the main issue.
There's a misunderstanding of what a voxel is, it literally means volumetric pixel. Check out the old novalogic games like delta force 2 or comanche gold from the 90s for proper ray traced voxels rather than just blocks of polygons. Voxel technology was abandoned when GPUs became available because they were designed for polygons rather than pixels. The old novalogic games used software renderers for the voxels.
Voxels really just refer to how the data is stored, whether rendered with polygons or ray tracing. Instead of storing positions of polygons, it stores everything in a 3D grid, like how a picture stores its pixels in a 2D grid.
I think it's worth noting that Minecraft doesn't use voxels. The blocks are made from regular polygons like most game models are.
Polygons may be the graphical primitive that is rendered but the game is still voxel-based. Voxels aren't graphical primitives; they're just a method for representing and manipulating 3D data in a discrete, grid-like structure. Which is precisely what Minecraft does.
If you've ever seen an x-ray glitch (or footage of someone hacking with x-ray) you've seen the voxel nature of Minecraft. The ultimate rendering is fully polygon-based, yes, but there is a pre-processing step to figure out which surfaces are potentially visible to the player and that is all voxel-based math that takes the place of normal polygon mesh optimizations like occlusion culling and level-of-detail.
still voxels
A voxel is just a 3D pixel. It doesn't matter how you render them. Minecraft didn't invent the concept. It only invented the game built around big voxels as a core mechanic.
@@OMGcluelessthere is no lod or occlusion culling in Minecraft by default what your referring to is face culling which takes place during the mesh build stage
Дякую за відео, дуже доступно пояснив доволі не прості реч! Може в наступному відео розкажеш що значать і як саме працюють різноманітні налаштування в іграх? По типу тисячі видів згладжування (SSAA, MSAA, CSAA та інші), анізотропна фільтрація, що таке G-sync та FreeSync і чим вони відрізняються і таке інше 🇺🇦
Octrees are a pretty old space partition trick. It's one of the primary space partition techniques used for collision detection.
I find the Minecraft example confusing. Isn't Minecraft just banal 3D graphics based on meshes? Apart from grasses, every object in Minecraft has height times length times width, right? Voxels, on the other hand, are pixels arranged in a 3-dimensional space. Teardown, Commanche (the old one) or Delta Force from Novalogic had them. In medicine, voxel space is also used, for example, to display MRI scans. Or am I seeing something wrong?
It's still voxels, just rendered with polygons instead of ray tracing. This lets blocks have textures and shapes other than cubes. "Voxels" only has to do with the way the geometry is stored.
This got way over my head really quickly. 😅