Adding Material and Particle Systems to my Voxel Raytracing Engine | Devlog 2

Поделиться
HTML-код
  • Опубликовано: 10 янв 2025

Комментарии • 72

  • @esphix
    @esphix 6 месяцев назад +16

    4:20, Once more am I taken aback about how the mere presence of even just simple lighting can positively affect the aestetics so immensely.

    • @frozein
      @frozein  6 месяцев назад +1

      Just wait until I add even more lighting features 👀

  • @darkfllame
    @darkfllame 6 месяцев назад +53

    man, you're feeding my voxel addiction 💀

  • @DouglasDwyer
    @DouglasDwyer 6 месяцев назад +11

    Wow, that forest scene is gorgeous! You mentioned during the video that 3D textures are used to color the voxels. Another approach is to use triplanar mapping with a 2D texture. This requires knowing the voxels' normals, but it yields good-looking results and allows for much larger textures in my tests.

    • @frozein
      @frozein  6 месяцев назад +5

      Thank you! I was considering that at first, but I don't yet have per-voxel normals implemented, and I'm not sure if I will soon. If I ever add normals I'll try it out.

  • @PhilipModDev
    @PhilipModDev 3 месяца назад +4

    Good job man, this looks awesome.

  • @dottedboxguy
    @dottedboxguy 6 месяцев назад +7

    new devlog !! really nice to see you going further and further

  • @dottedboxguy
    @dottedboxguy 6 месяцев назад +19

    i do have to say, please don't get lost trying to make a general purpose game engine

    • @icicleditor
      @icicleditor 6 месяцев назад +2

      Can you elaborate on why?

    • @frozein
      @frozein  6 месяцев назад +6

      Don’t worry haha. My goal is to have an extremely flexible rendering engine. I don’t plan to add any other features like an entity system or editor.

    • @dottedboxguy
      @dottedboxguy 6 месяцев назад +10

      @@icicleditor it's a sort of curse with engine devs that have promizing engines, which so far has been happening 100% of the time, which is that whenever one tries to make a kind of general purpose game engine they either give up completely or disappear from internet. i don't think it went right for anybody

    • @JasminUwU
      @JasminUwU 6 месяцев назад +1

      ​@@dottedboxguy I smell a conspiracy...
      (Joke)

  • @SebyFlyFly
    @SebyFlyFly 6 месяцев назад +2

    Looks absolutely amazing! Congrats on the engine progress and your internship!

  • @butta4683
    @butta4683 6 месяцев назад +1

    Texture enhancements are amazing…. Nice job! And, ability for user to leverage his imagination is awesome.

  • @126sivgucsivanshgupta2
    @126sivgucsivanshgupta2 6 месяцев назад +4

    To allow particles casting shadows and be reflected somewhat, you could do screen space shadows and reflection, if the shadow or reflection ray goes out of screen space, continue as normal raytracing. Would be extra work tho and would require you to further divide the pipeline.

    • @frozein
      @frozein  6 месяцев назад +2

      Good idea, I'll look into that in the future. For now though, if you really have particles that need to show up in reflections and such, you could just make a 1x1x1 voxel volume, which is slower to render than a particle but would affect lighting.

  • @jj_notch6892
    @jj_notch6892 6 месяцев назад +2

    I cannot wait for the next episode!

  • @MajatekYT
    @MajatekYT 6 месяцев назад +1

    All it's missing is some global illumination to brighten up the scene (shadows are great at adding depth but they do end up making the final render look quite dull), volumetric fog to give the scene some atmosphere and sunlight scattering, and some cute critters (you could use Glep from Smiling Friends as reference for nice simple character designs that could fit the theme!) 💖

  • @Gnomable
    @Gnomable 4 месяца назад +1

    Looks pretty. Looking forward to hear how you're doing lighting.

  • @pine_and_appl
    @pine_and_appl 6 месяцев назад +4

    amazing project dude

  • @GabeRundlett
    @GabeRundlett 6 месяцев назад +5

    Love it! awesome work. In my engine, I do traditional rasterization shadow maps for the particles that I think need shadows. Works great and looks good too! (I have a video showcasing "Particle Shadows" on my channel) Also, I recommend having a gradient from light at the top to dark at the bottom of each grass blade, faking AO in a sense.

    • @frozein
      @frozein  6 месяцев назад +1

      Ah that’s really smart, I remember seeing that video on your channel. I’ll look into it. I don’t want to add any gradient to the grass board though, i want to keep each voxel a single solid color.

    • @nolram
      @nolram 6 месяцев назад +1

      Where voxels are, you are sure to find Gabe :)

    • @GabeRundlett
      @GabeRundlett 6 месяцев назад

      @@frozein ah sorry - I meant still having a single color per grass voxel but making each voxel darker than the last the further down they go. That's what I do. Unless your grass is very short? I found around 4 voxels tall was the size I liked and 4 voxels is enough for a small gradient

    • @frozein
      @frozein  6 месяцев назад +1

      @@GabeRundlett I see what you mean, I do that for Terra Toy's grass, which is 3 voxels tall. I didn't spend too much time on the forest scene so I think each voxel is the same color.

  • @BruceMaddison
    @BruceMaddison 6 месяцев назад +1

    Youre so inspiring bro. Love the vids

  • @natelevine
    @natelevine 6 месяцев назад +3

    Have you considered generating procedural textures based on normals/gradient? For example dirt could turn into stone if a hill side gets too steep.
    Really cool stuff so far and I'm excited to see more features in the future!

    • @frozein
      @frozein  6 месяцев назад +2

      That’s more on the end user of the engine I think. For the forest scene I could easily modify the terrain gen to include more gradients.

  • @vrmeup
    @vrmeup 5 месяцев назад +1

    Looks amazing, well done 👏😃

  • @rwx4096
    @rwx4096 6 месяцев назад +4

    Amazing work dude. Are you planing to ever open source your engine?

    • @frozein
      @frozein  6 месяцев назад +2

      Thank you! I’m going to open source it eventually. I just want to have all the core features finished first so I know I won’t make any massive rewrites.

  • @BLOitouP
    @BLOitouP 6 месяцев назад +1

    A 2.5D game in this style might be cool

  • @ItzKiwiSkyDev
    @ItzKiwiSkyDev Месяц назад +1

    can't wait for next devlog "Added propscript to my voxel engine, so you don't need to use C++" 😈

  • @darkfllame
    @darkfllame 6 месяцев назад +3

    I think transparent/translucent voxels could be a good challenge, even tho you already did it in your last engine.

    • @frozein
      @frozein  6 месяцев назад +1

      I plan to add them eventually!

    • @darkfllame
      @darkfllame 6 месяцев назад +1

      @@frozein I know it's just a rendering engine, but having collisions detection with voxel volumes could be a HUGE upgrade. It could take a bit (a lot) of time to get it right and optimized. Having at least oriented bounding boxes would be really nice to make games. Now I must say that you should go at your pace and don't forget to have fun making your engine.

  • @Aerobiker1
    @Aerobiker1 6 месяцев назад +2

    Impressive work ! Will the size of the voxels be changeable (as in at compile or at game launch globaly) ? Will you add a animation and sound system ?
    I would love to know more about your roadmap and where the engine is heading.

    • @frozein
      @frozein  6 месяцев назад +1

      Thank you! The engine can handle multiple different voxel volumes, each with their own position, rotation, and scale. So you will be able to mix and match different sized voxels if you really want to!

    • @notreallykeven86
      @notreallykeven86 5 месяцев назад

      @@frozein A Minecraft clone would probably run very good if done right as the voxels would be huge compared to minecraft's rasterized cubes

  • @blvnktek
    @blvnktek 6 месяцев назад +1

    dude wtf this is amazing?

  • @shadamethyst1258
    @shadamethyst1258 6 месяцев назад +1

    Real-time soft shadows...
    could you have been implementing radiance cascades? Or something else? I cannot wait to hear more from that

    • @ImNetheN
      @ImNetheN 6 месяцев назад

      really doubt this is radiance cascades. it's clearly not screenspace cascades and full 3d cascades are probably impossible to calculate in 1 frame. besides, i dont think they work well with ligths like the sun, not 100% sure though
      radiance cascades would probably work well for voxels that emit light, but this looks more like just shadows on top of whatever they had before which at least for this scene could probably be done by just casting a few rays in the direction of the sun

    • @ImNetheN
      @ImNetheN 6 месяцев назад

      unless they meant soft shadows for everything including emitting voxels idk maybe im stupid

    • @frozein
      @frozein  6 месяцев назад +1

      No it's not based on radiance cascades, radiance cascades work best in very small, constrained scenes or in 2D. They wouldn't work for a large outdoor scene. I'll talk more about the lighting next devlog!

  • @LineOfThy
    @LineOfThy 6 месяцев назад +1

    welcoe back!!!

  • @chexo3
    @chexo3 6 месяцев назад +1

    I keep thinking about a game with robots fighting made out of tiny voxels. Sort of like Robocraft, but instead of the bots being made of big cubes and different shapes, they're all super tiny voxels like Teardown and similar (such as your engine) games/engines.
    So the weapons and mobility features are made out of voxels too. I want a workflow sort of like a simplified CAD program for building robots, then have people take these robots into a voxel terrain and blow each other up.
    I need to get off my ass and start teaching myself how to do this stuff. I have so many ideas.

  • @Alexey_Pe
    @Alexey_Pe 6 месяцев назад

    6:40, Idea: setting the display of shadows, sharp/soft.
    It seems like your shadows are not overlapping, perhaps this also requires settings

    • @frozein
      @frozein  6 месяцев назад

      I already have this feature actually, I just didn't show off the hard shadows in the video. Overlapping shadows only happen in real life when there are multiple light sources casting shadow. In the forest scene, the sun is the only light source so you wouldn't expect overlapping shadows.

  • @imMe123-fs8qq
    @imMe123-fs8qq 6 месяцев назад +3

    nice

  • @shailist
    @shailist 6 месяцев назад

    you could make the rendering of different particles configurable... like, of course for small particles in large quantities you can give up ray tracing, but for situational particles that only appear in small quantities, there is no reason to not ray trace them

    • @frozein
      @frozein  6 месяцев назад +1

      If the end user wants ray-traced particles, they could just create a 1x1x1 voxel volume and treat it as a particle!

    • @shailist
      @shailist 6 месяцев назад

      @@frozein that's actually pretty clever

  • @samuelhulme8347
    @samuelhulme8347 6 месяцев назад +1

    Will you make the code open source in the future? There aren’t many great voxel engines out there. There are popular open source game engine, like Godot, but they’re not voxel based.

    • @frozein
      @frozein  6 месяцев назад +1

      I plan to open-source it eventually! I just want to implement all of the core features first.

  • @Yngdady
    @Yngdady 6 месяцев назад

    Have you seen what 4j studios has been making lately?

    • @frozein
      @frozein  6 месяцев назад +1

      Yes, the elements engine looks really cool.

  • @kotofyt
    @kotofyt 5 месяцев назад

    umm, my tlas crashes when i have more than 10 instances

  • @lyagva
    @lyagva 6 месяцев назад +1

    Start next video with C418 - Stal. I'll be waiting...
    If I won't hear this song next time, just remember... I'M IN YOUR WALLS

    • @lyagva
      @lyagva 6 месяцев назад

      If you said you wanted to talk about shadows in the next video, it will be a perfect opportunity for this song.
      Noir scene in a detective's office, dark calm voice says: "Shadows... They've been chasing me everywhere since I started working on this case... They were very edgy, spying on me from every corner possible... They've killed to many braincells of mine, but finally I softened them"
      Or some similar stuff.
      And when the flute starts playing it's a title of the video and then it goes normally

    • @frozein
      @frozein  6 месяцев назад +2

      Haha I love that song. I’ll add it if I remember to.

    • @lyagva
      @lyagva 6 месяцев назад

      @@frozein Yay!

  • @oglothenerd
    @oglothenerd 6 месяцев назад +4

    You work at Bytedance!? * spits in disgust *

    • @frozein
      @frozein  6 месяцев назад +1

      What’s the problem with ByteDance?

    • @oglothenerd
      @oglothenerd 6 месяцев назад +1

      @@frozein They are a Chinese corporation that makes TikTok, and like other Chinese applications, TikTok takes user data and uses it for questionable things. Heck! Temu has been found to exploit the Android OS! It is not a great situation when it comes to Chinese tech.

    • @NotAFoe
      @NotAFoe 6 месяцев назад

      ​@@frozeinthey are influenced by the CCP which are known for censorship and data privacy and security concerns

    • @eineatombombe
      @eineatombombe 6 месяцев назад

      @@frozein it's chinese, so any data it has can be given to chinese government. i think that's it (i don't use tiktok so i don't really care)

  • @astios2248
    @astios2248 5 месяцев назад +1

    Is it open source ?

    • @frozein
      @frozein  5 месяцев назад +1

      Not yet, but I plan to release the source code eventually.

  • @notreallykeven86
    @notreallykeven86 21 день назад

    you still working on this?

    • @frozein
      @frozein  14 дней назад

      Yes! Progress has been slow unfortunately as I've been busy. New video will hopefully be out soon.