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

Sdílet
Vložit
  • čas přidán 22. 12. 2021
  • 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.
  • Hry

Komentáře • 26

  • @krstudy9162
    @krstudy9162 Před 2 lety +39

    Nice video 👍 I would definitely like more code focused video with all concepts like Sebastian lague or jdh does

  • @domjanabi6006
    @domjanabi6006 Před 2 lety +12

    pretty good video!
    with animations/editing, and better audio, i can totally see this video getting 100k+ views

    • @DouglasDwyer
      @DouglasDwyer  Před 2 lety +1

      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 Před rokem +1

    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 Před rokem +3

    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 Před 2 lety +4

    I think the slow down is caused be register pressure due to allocation pr thread

  • @adityachoubey935
    @adityachoubey935 Před 8 měsíci

    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

  • @Jkauppa
    @Jkauppa Před 2 lety +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 Před 2 lety +1

      you could also compute shaders in javascript webgl

    • @Jkauppa
      @Jkauppa Před 2 lety +1

      make the voxels (cells) smaller if you need more detail

    • @Jkauppa
      @Jkauppa Před 2 lety +1

      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 Před 2 lety +1

      should work also with the sparse octree voxel representation

  • @RooterDelWifiXs
    @RooterDelWifiXs Před 5 měsíci

    5:15 can you provide more information about this? What kind of buffer? Do you have your tree like structure still?

    • @DouglasDwyer
      @DouglasDwyer  Před 5 měsíci +1

      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 Před 5 měsíci

      @@DouglasDwyer thanks for this information

  • @pchandu1995
    @pchandu1995 Před 6 měsíci

    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  Před 6 měsíci

      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!

  • @MrElectorium
    @MrElectorium Před rokem

    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

  • @Yagir
    @Yagir Před 17 dny

    Can you tell me where you learned all this, what university you graduated from?

    • @DouglasDwyer
      @DouglasDwyer  Před 16 dny +1

      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.

  • @nou5440
    @nou5440 Před 2 lety

    a

  • @krstudy9162
    @krstudy9162 Před 2 lety +1

    Also improve your thumbnails kind of looking boring