Implementing sparse voxel octrees and the ray caster [Voxel Devlog #1]

  Рет қаралды 26,469

Douglas

Douglas

Күн бұрын

In this video, I describe the development process of my new voxel ray marching renderer. I discuss my choice of graphics API, describe the way I chose to store my data, and show off the results of my ray caster. In the next episode, I hope to optimize accesses to the voxel octree, add textures, and add lighting.

Пікірлер: 27
@krstudy9162
@krstudy9162 3 жыл бұрын
Nice video 👍 I would definitely like more code focused video with all concepts like Sebastian lague or jdh does
@judgsmith
@judgsmith 2 жыл бұрын
same
@MihajloCiric
@MihajloCiric Жыл бұрын
Same
@domjanabi6006
@domjanabi6006 3 жыл бұрын
pretty good video! with animations/editing, and better audio, i can totally see this video getting 100k+ views
@DouglasDwyer
@DouglasDwyer 3 жыл бұрын
Thanks! Audio is definitely something on which I will continue to work - right now, I record with a webcam and edit out background noise in Audacity, but that only accomplishes so much. If you enjoyed this episode, please have a look at part #2!
@benrex777productions9
@benrex777productions9 Жыл бұрын
You have my respect for trying that project. I would love to do it but I'm way too easily distracted and scared off by complex problems.
@apresthus87
@apresthus87 Жыл бұрын
I stumbled upon your other videos so I went back to see this initial video. It's an interesting project and you've made great progress! I'm making an engine that uses Vulkan as well these days to work on a game on my free time. It's complicated for sure, but being on Mac OS, OpenGL wasn't really viable as you mentioned. I'm doing it in C which doesn't simplify matters (who needs dynamic arrays and strings anyway?) in this initial setup but it's a fun challenge
@chucktrier
@chucktrier 3 жыл бұрын
I think the slow down is caused be register pressure due to allocation pr thread
@MrElectorium
@MrElectorium Жыл бұрын
Oh my god dude, why do people always have to make this type of content? i see so many dev vlogs. jk but now i gotta binge watch your whole series
@lkjh161
@lkjh161 3 ай бұрын
Dude, how do you update the svo? It's supposed to be static. I'm trying to build my svo game engine
@adityachoubey935
@adityachoubey935 Жыл бұрын
Could you provide few resources on rendering voxels using ray marching? I find myself pursuing a similar project where I'm aiming to render clouds using voxels, and I'm having trouble understanding how raymarching would be used to render voxels
@RooterDelWifiXs
@RooterDelWifiXs 11 ай бұрын
5:15 can you provide more information about this? What kind of buffer? Do you have your tree like structure still?
@DouglasDwyer
@DouglasDwyer 11 ай бұрын
In this version, the data was passed as a normal SSBO to the Vulkan compute shader. The data was still encoded as an octree - in fact, the representation of the data on the CPU and the GPU was exactly the same. The octree nodes were packed tightly into the buffer using offsets, and decoded in the shader. That said, this approach wasn't particularly fast. The cost of traversing the octree for each read were quite high, and other structures - like brickmaps - are almost certainly a better approach.
@RooterDelWifiXs
@RooterDelWifiXs 11 ай бұрын
@@DouglasDwyer thanks for this information
@Yagir
@Yagir 7 ай бұрын
Can you tell me where you learned all this, what university you graduated from?
@DouglasDwyer
@DouglasDwyer 7 ай бұрын
I go to Northeastern University. However, there are very few computer graphics courses there - all of my CG knowledge comes from self-teaching! If you want to study CG, learnopengl.com is a good place to start.
@Jkauppa
@Jkauppa 2 жыл бұрын
march the whole voxel tree at once, with (directionally, axis and diagonals) weighted breadth first search, with shadows, not a ray per screen pixel, and not everything slowly rasterized, all pixels and voxels at once, in once search call
@Jkauppa
@Jkauppa 2 жыл бұрын
you could also compute shaders in javascript webgl
@Jkauppa
@Jkauppa 2 жыл бұрын
make the voxels (cells) smaller if you need more detail
@Jkauppa
@Jkauppa 2 жыл бұрын
mark the wave front pixels (2d) or voxels (3d) dark shadow if they have hit occupied voxel at closest distance, axially or diagonally (weighted)
@Jkauppa
@Jkauppa 2 жыл бұрын
should work also with the sparse octree voxel representation
@pchandu1995
@pchandu1995 Жыл бұрын
hi @dougas I want to build something with C#, I am working with C# past 6 years i do web development, I want to build some side projects in rendering stuff not even building game engines etcc. Which books you recommend ? I need to learn graphics programming, Algorithms and most importantly math. You also talking about optimization stuff which i am also interested in. what are those graphics, physics and storage algorithms you are talking about, that sounds so good to my eyers.
@DouglasDwyer
@DouglasDwyer Жыл бұрын
Hey there! I would recommend getting started with the OpenTK tutorial and LearnOpenGL. OpenTK is a library that allows you to write graphics code in C#, and it's great for beginners!
@nou5440
@nou5440 2 жыл бұрын
a
@arl-t8d
@arl-t8d Жыл бұрын
b
@chad4094
@chad4094 Жыл бұрын
c
@krstudy9162
@krstudy9162 3 жыл бұрын
Also improve your thumbnails kind of looking boring
Doubling the speed of my game's graphics [Voxel Devlog #18]
13:01
So Cute 🥰 who is better?
00:15
dednahype
Рет қаралды 19 МЛН
人是不能做到吗?#火影忍者 #家人  #佐助
00:20
火影忍者一家
Рет қаралды 20 МЛН
Ray Marching, and making 3D Worlds with Math
6:28
SimonDev
Рет қаралды 265 М.
AI Is Making You An Illiterate Programmer
27:22
ThePrimeTime
Рет қаралды 296 М.
Massive Octree LOD Voxel Terrain [Tutorial] - Explanation
11:40
Factorio teaches you software engineering, seriously.
21:27
Tony Zhu
Рет қаралды 2 МЛН
Emissive voxels and fancy lighting [Voxel Devlog #19]
13:08
Sparse Voxel Octrees
7:31
William Lohry
Рет қаралды 12 М.
Пишем свой движок 3D-графики
19:25
Onigiri
Рет қаралды 547 М.