The way you explain this kind of things that are super complicated, is f. amazing... I don't know how did I get here, but I'm sure I'm going to stay lmao
It's always nice to see other people making devlogs :) When it's a sweet and nice working voxel engine then it's even way better. Looks pretty neat, well done :)
Really interesting video. I've just been struggling to learn opengl shaders and whatnot and you're out here writing a voxel rendering engine. Great work. I'm 21 just graduated computer science and feel like I have a lot to learn
Thanks! The shaders can be a struggle for sure. I'm in my second year of computer science so i'm excited to see how it goes. Good luck with your projects!
I'm so used to seeing all these 3d games and applications. Since there's so much of it and I take it as granted, I'm thinking: how hard can it be? Kinda like watching soccer on TV :-)
The job you're doing is awesome! ;D I'm also trying to make some devlogs in my channel, about my C++ 2D Game Engine! Keep up that great job, I'm glad to learn more about the game engine!
So amazing! How did you start working on this project? I mean, you somehow decided to use Vulkan and you knew about different rendering techniques and which one to use for the project. And you mentioned that you started from scratch and it took 6 months. It's really impressive, could you give me some advice on how to start? :D
Thanks! Well I started by reading the Vulkan tutorial at: vulkan-tutorial.com/ It took me a while to understand what was going on though! Also join the Discord server for some other resources: discord.gg/uV6KwfYmwn
Thank you :) this website is very helpful to learn Vulkan to render stuff: vulkan-tutorial.com/ This was very helpful too for ray casting information: three-eyed-games.com/2018/05/03/gpu-ray-tracing-in-unity-part-1/ And just looking at what other people have done search on Google voxel octree renderer useful stuff there!
I'm designing the core of the engine to be able to be entirely multithreaded because then I could uses computers like that. My next update should hopefully have that all working :)
@@voxelbee Having never programmed a GPU, I was not clear on the distinction between C++ and GPU programming. Is this written in GPU programming(shaders?) or C++ or both? How much of the time is executed by CPUs vs. GPUs? Also, I don't know the difference between multithreading/multicore programming on GPUs vs. multithreaded/multicore CPUs.
@@yvindharboe7048 Yeahh so all of the rendering is done on the GPU using shaders this takes about half of the current frame time or less. Then the CPU is generating the scene and sending that to the GPU this could be done in multiple threads speeding up the scene generation time and therefore the FPS.
Didn't watch the whole video yet (I'm at 2:46) but damn I never heard about this technique ray casting. So does it mean that it only computes the first object that hits the ray and discard anything behind that first object?
@@noapoleon_ nono I'm talking in general since he is planning on creating a voxel game Even though this guy made some crazy stuff so if he doesn't use perrin noise for procgen I just wouldn't be surprised
Have you been doing this on top of work in your free time or do you work on this full time? Also how do you handle the cubes, are they just distance functions or polys? Good stuff
@@voxelbee Very nice! I'll need to catch up on your other dev log videos, I'm in the same boat as you. Finishing up school rn and started a simple engine a while back but I'm about to scrap it and start over.
Well if your interested in working with Vulkan I would recommend vulkan-tutorial.com/ as they have lots of information there! I would also recommend looking at other voxel projects people are making too cause there's lots of inspiration out there.
If you divide all voxels into groups, couldn't raytracing skip certain regions if they are empty? Maybe 10 times 10 voxels in a group. And then you could divide these groups into larger groups again? These groups has a flag if they are empty or not. Also light rays could overjump empty cells. Would this bring any performence benefits? Just guessing. Sorry for the noob question :-)
Currently it is implemented using octree ray casting so this does mean the rays skip over empty space very quickly! Very similar to what you said about groups of voxels!
hey voxel bee! love the engine, I also was considering creating a voxel engine for a "minecraft"-like survival game. I have no idea where to learn vulkan, but I'd love to try it out? do you know any good learning resources for vulkan??
@@negrastormentas2865 The rendering would but the systems around like loading voxels ect. might be quite a bit slower. I'm not sure how much slower though.
@@voxelbee That's quite the jump then. Going from managed high-level programming to lowlevel graphics programming and doing the memory management yourself is awesome. Can you recommend any literature?
Woah! I was trippin' at the end when you kept zooming closer to the corner. Haha This looks sweet!
Thanks man. It is quite trippy zooming in so far haha
Looks like mandelbrot zoom
That is an amazing start from scratch in six months. I'm really excited to see what happens over the next few months.
you got yourself a new fan buddy, what you've done in 6 months is really impressive
Thanks so much! :)
You deserve much more than what you have got. Keep it up, I am with you.
That looks amazing my dude !
Thanks, man !
This is really cool! There aren't that many Voxel engines, but this one looks very promising. Keep working on it!
I am exited to see how this goes
The way you explain this kind of things that are super complicated, is f. amazing... I don't know how did I get here, but I'm sure I'm going to stay lmao
This is plain awesome!
The level of detail at 7:32 made my chin drop💪
Dude you're a legend, keep up the amazing work and passion!
Dudes so good at making voxel rendering engines he even got one on his wall
This looks great. I can't wait to see what it's like with ray tracing.
Man !!!!!!!.. this is really nice , am so happy for you , really excited to you watch in this journey
Really NYC man
Thank you so much bro. Glad you like it :)
Pure talent, thanks for sharing your progress I love this stuff.
This is unbelievable!
The fact that you were able to build this all from scratch in just 6 months is amazing!
You are so talented
DUDE THIS IS INSANE!!! You are extremely talented man, and have given me more motivation to keep pushing on with my own game engine
3 seconds and you hit me with a jarvis johnson
1 month later I realize I spelled johnson with an i.
This is awesome!
It's always nice to see other people making devlogs :)
When it's a sweet and nice working voxel engine then it's even way better.
Looks pretty neat, well done :)
such a great start! i got this video recommended by youtube and i like it!
I was recommended this, then I ended up watching the entire dev logs. Keep doing what your doing!!
Really interesting video. I've just been struggling to learn opengl shaders and whatnot and you're out here writing a voxel rendering engine. Great work. I'm 21 just graduated computer science and feel like I have a lot to learn
Thanks! The shaders can be a struggle for sure. I'm in my second year of computer science so i'm excited to see how it goes. Good luck with your projects!
you've inspired me to want to learn Vulkan. Well done my dude!
I'm so used to seeing all these 3d games and applications. Since there's so much of it and I take it as granted, I'm thinking: how hard can it be? Kinda like watching soccer on TV :-)
Got those voxel led wall lights rendered well.
Great vid
Haha thanks man
This is absolutely incredible!
The job you're doing is awesome! ;D I'm also trying to make some devlogs in my channel, about my C++ 2D Game Engine! Keep up that great job, I'm glad to learn more about the game engine!
oh.. it is really nice to see a lot of programmers sharing their work on youtube. :)
Ahh it's nice to sub to someone who hasn't blown up yet. It feels like I'm along for the ride
awesome, great choice of tools
This is already hard enough to pull off in other graphics APIs but Vulkan? Impressive dude!
Thanks man! You should be able to do the same thing in DirectX or Metal. Not sure about OpenGL though.
So amazing! How did you start working on this project? I mean, you somehow decided to use Vulkan and you knew about different rendering techniques and which one to use for the project. And you mentioned that you started from scratch and it took 6 months. It's really impressive, could you give me some advice on how to start? :D
Thanks! Well I started by reading the Vulkan tutorial at: vulkan-tutorial.com/
It took me a while to understand what was going on though!
Also join the Discord server for some other resources: discord.gg/uV6KwfYmwn
Very Cool!
a pretty difficult feat you have achieved. good work sir.
Now subscribed... even though my OCD very kicked in a few times, especially with the handwriting.
I am making a voxel game in Rust with the Bevy engine! It has a really nice ECS system.
Thats pretty neat!
Great job, looks very good. Gotta get into Vulkan, seams very cool API
Wow that looks amazing.
could you please link the most usefull resources that helped you create this ?
Thank you :) this website is very helpful to learn Vulkan to render stuff: vulkan-tutorial.com/
This was very helpful too for ray casting information: three-eyed-games.com/2018/05/03/gpu-ray-tracing-in-unity-part-1/
And just looking at what other people have done search on Google voxel octree renderer useful stuff there!
looks awesome!
Quite the effort. 🤓
Awesome work!
Awesome work 👍
well i will follow this dev blog with a lot of attention,
Awesome bhai awesome
damn this is pretty cool, reminds me of teardown and early sapiens devlogs (by Dave Frampton)
Thanks so much. I really like teardown (physics will be coming!) And sapiens devlogs are really cool.
You're amazing.
Just wondering were can I find the footage of AC without textures, looks mesmerizing
This guy has some good videos: ruclips.net/video/tmdzkRMsK5U/видео.html
How can you do this, I struggle with just creating a window LMAO :/, Btw, great result
Thanks! I know the struggle took me a while too lol
Our workstations at the office now has 64 cores and 128 threads. So with single threading, you're using
I'm designing the core of the engine to be able to be entirely multithreaded because then I could uses computers like that. My next update should hopefully have that all working :)
@@voxelbee Having never programmed a GPU, I was not clear on the distinction between C++ and GPU programming. Is this written in GPU programming(shaders?) or C++ or both? How much of the time is executed by CPUs vs. GPUs? Also, I don't know the difference between multithreading/multicore programming on GPUs vs. multithreaded/multicore CPUs.
@@yvindharboe7048 Yeahh so all of the rendering is done on the GPU using shaders this takes about half of the current frame time or less. Then the CPU is generating the scene and sending that to the GPU this could be done in multiple threads speeding up the scene generation time and therefore the FPS.
@@voxelbee I see. en.wikipedia.org/wiki/Amdahl%27s_law comes to mind :-)
better that an addictive gps map survey
Awesome video, engine looks sick. A little less hand stuff when you're doing your intro please lol. +1 sub :D
Glad you like it, and yeah I'll cut that down a little haha. Thanks for the tips!
Great ! so when you will send us the link to download it
I'm not planning to release a download anytime soon... But maybe something in a few months!
i love this! wow! is your multithread support going to support the max the user has or a fixed amount
dig those speakers 😉!
eres un genio
Didn't watch the whole video yet (I'm at 2:46) but damn I never heard about this technique ray casting. So does it mean that it only computes the first object that hits the ray and discard anything behind that first object?
It's really good for fast rendering. Yeah it discards anything behind it and only uses the first object for the color.
@@voxelbee Ok that explains how you can have so many obhects in your scene then xD I was confused
@@noapoleon_ you'd probably use 3d perlin noise for procedural generation, right 🤔
@@Heknon mmmh i dont think this is perlin noise. it looks more like a fractal to me so probably some equation
@@noapoleon_ nono I'm talking in general since he is planning on creating a voxel game
Even though this guy made some crazy stuff so if he doesn't use perrin noise for procgen I just wouldn't be surprised
LOD Sizes are descending if I'm not mistaken
LOD0 is the highest res, and each number up us lower in detail
Yeahh you are actually correct made a mistake in the video there. Didn't notice that.
Q maestro!!!
Have you been doing this on top of work in your free time or do you work on this full time? Also how do you handle the cubes, are they just distance functions or polys? Good stuff
I'm currently studying at University so I work on this in my free time! The cubes are ray-casted in an octree!
@@voxelbee Very nice! I'll need to catch up on your other dev log videos, I'm in the same boat as you. Finishing up school rn and started a simple engine a while back but I'm about to scrap it and start over.
That's so cool! I want to make a voxel game on my own someday too. Do you have some sources that helped you in the process or some starting points?
Well if your interested in working with Vulkan I would recommend vulkan-tutorial.com/ as they have lots of information there! I would also recommend looking at other voxel projects people are making too cause there's lots of inspiration out there.
@@voxelbee Thanks
Nice
amazing 👌👌👌
If you divide all voxels into groups, couldn't raytracing skip certain regions if they are empty? Maybe 10 times 10 voxels in a group. And then you could divide these groups into larger groups again? These groups has a flag if they are empty or not. Also light rays could overjump empty cells. Would this bring any performence benefits? Just guessing. Sorry for the noob question :-)
Currently it is implemented using octree ray casting so this does mean the rays skip over empty space very quickly! Very similar to what you said about groups of voxels!
hey voxel bee! love the engine, I also was considering creating a voxel engine for a "minecraft"-like survival game. I have no idea where to learn vulkan, but I'd love to try it out? do you know any good learning resources for vulkan??
You could check out “The Churno” RUclips channel. He should have some good videos on Vulcan.
Have you ever heard of ray marching? Combining that with a voxel engine could be very interesting.
Have you thought about negative LOD, or do you have to decide what is the biggest/furthest away you want, and then go smaller?
The current system uses an LOD!
you deserve more subs lmao,
i subbed too
I was wondering what platform your on(windows Linux Mac) and what text editor/IDE do you use?
I currently develop on Mac using Xcode
Also are you going to make this engine available to everyone in the future like unreal?
I haven't fully decided yet but if it goes well that probably will happen.
Hey! I'm really interested in trying to make something like this on my own. What resources did you use to learn about voxels and vulkan?
Hey! I would start trying to learn vulkan with vulkan-tutorial.com/ and I mostly looked up on google voxel traversal papers and read about them
You card needs to support the VK_KHR_ray_query extension to do this didn't? T_T
Well I've written my own custom ray casting so no VK_KHR_ray_query required
Nice jobe but what you have planned to make for these engine?
Ich liebe dich!
It's xqc PagMan
Have you considered using compute shaders?
I have this is currently all being done in compute shaders!
@@voxelbee Sweet. Do you know if it would work as well with opengl compute shaders ?
@@negrastormentas2865 The rendering would but the systems around like loading voxels ect. might be quite a bit slower. I'm not sure how much slower though.
Did you had any graphics experience before starting this vulkan game engine???
im making a c++ game engine too, but not in vulkan! lol, thats hard.
Good luck! Yeah it is quite a challenge! lol
Did you know how to code before this or did you also learn it all in 6 months?
I've been coding for around 5-6 years now. But learnt most of Vulkan I know in this 6 months...
When you say you freshly learned C++ and Vulkan, which programming knowledge did you have before?
I had some knowledge with C++ but not much mostly with Java!
@@voxelbee That's quite the jump then. Going from managed high-level programming to lowlevel graphics programming and doing the memory management yourself is awesome. Can you recommend any literature?
why isn't anyone marching their rays :( it's good too
You should have use Rust instead of C++. This would make multithreading much easier
Check John Lin bro. He can inspire you.
Yeah I really like what he's working on!
*_Please, Source Code github link_*
I'm not planning to release the code anytime soon maybe when the project has progressed further. Thanks though :)
@@voxelbee Thanks:)
British
Scripts, buddy, scripts
Who disliked this video??