No video

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

  Рет қаралды 24,227

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.

Пікірлер: 26
@krstudy9162
@krstudy9162 2 жыл бұрын
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 2 жыл бұрын
pretty good video! with animations/editing, and better audio, i can totally see this video getting 100k+ views
@DouglasDwyer
@DouglasDwyer 2 жыл бұрын
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 2 жыл бұрын
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
@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
@adityachoubey935
@adityachoubey935 9 ай бұрын
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
@Yagir
@Yagir Ай бұрын
Can you tell me where you learned all this, what university you graduated from?
@DouglasDwyer
@DouglasDwyer Ай бұрын
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.
@RooterDelWifiXs
@RooterDelWifiXs 6 ай бұрын
5:15 can you provide more information about this? What kind of buffer? Do you have your tree like structure still?
@DouglasDwyer
@DouglasDwyer 6 ай бұрын
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 6 ай бұрын
@@DouglasDwyer thanks for this information
@pchandu1995
@pchandu1995 7 ай бұрын
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 7 ай бұрын
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 7 ай бұрын
c
@krstudy9162
@krstudy9162 2 жыл бұрын
Also improve your thumbnails kind of looking boring
An introduction to Raymarching
34:03
kishimisu
Рет қаралды 135 М.
Meet the one boy from the Ronaldo edit in India
00:30
Younes Zarou
Рет қаралды 19 МЛН
Parenting hacks and gadgets against mosquitoes 🦟👶
00:21
Let's GLOW!
Рет қаралды 13 МЛН
Пишем свой движок 3D-графики
19:25
Onigiri
Рет қаралды 536 М.
Emissive voxels and fancy lighting [Voxel Devlog #19]
13:08
I Optimised My Game Engine Up To 12000 FPS
11:58
Vercidium
Рет қаралды 649 М.
Super Fast Ray Casting in Tiled Worlds using DDA
30:03
javidx9
Рет қаралды 180 М.
Dear Game Developers, Stop Messing This Up!
22:19
Jonas Tyroller
Рет қаралды 706 М.
The Right Way to Spawn Objects in Unreal Engine | UE5
18:03
Ali Elzoheiry
Рет қаралды 18 М.
The Strange Graphics Of LETHAL COMPANY
15:59
Acerola
Рет қаралды 813 М.
A truly 2D game isn't what you think it is...
13:23
NivMiz
Рет қаралды 43 М.
How do non-euclidean games work? | Bitwise
14:19
DigiDigger
Рет қаралды 2,4 МЛН