Raymarching! Why Even Bother? Godot 4! Modelling Techniques.

Sdílet
Vložit
  • čas přidán 7. 08. 2024
  • I will show you how to unleash the true power of ray marching. How to create more complex shape using something called ray marching operators! What are those? let’s find out!
    Previous episode!
    • Ray-marching for Dummi...
    Shader file!
    www.patreon.com/posts/raymarc...
    Shader-Lib addon!
    godotengine.org/asset-library...
    Shader-Lib docs!
    github.com/DigvijaysinhGohil/...
    Buy Cosmic roads on steam!
    store.steampowered.com/app/25...
    Consider supporting the channel!
    github.com/sponsors/Digvijays...
    / digvijaysinhg
    Chapters!
    00:00 Intro
    02:01 Translation
    02:24 Rotation
    04:43 Scale
    08:06 Union
    09:42 Intersection
    10:31 Boolean
    11:22 Morphing
    12:07 Hollow shell
    13:00 Distortion
    15:49 Mirror
    17:53 Outro
    Cheers!
    #GodotEngine #shaders #tutorial

Komentáře • 13

  • @plur_ndbn
    @plur_ndbn Před měsícem +1

    Thanks. Any chance you will create videos about CanvasItem shaders?

    • @iDigvijaysinhG
      @iDigvijaysinhG  Před měsícem +2

      Hey, I don't have any idea in mind but I am open to suggestions. Do you have any particular effect in mind?
      I have made one using visual shader by the way, it's called ice freeze full screen shader if you want to check it out.

    • @plur_ndbn
      @plur_ndbn Před měsícem

      ​ @iDigvijaysinhG In current (my first) project I try to create space system (in 2D), interested in warp, light speed, wormhole effects, etc..
      But It all personal for me, it uncomfortable to ask.
      At now i've try create planets, It a bit hard for me (poor math) for understanding UV transforms, for example I've search how wrap texture in 2D sphere, some parts of this found in different sources
      void fragment() {
      vec2 uv = 2.0 * (UV - 0.5);
      float r = length(uv);
      uv *= asin(r) / r;
      uv.x = uv.x / TAU;
      uv.y = uv.y / PI + 0.5;
      uv.x += TIME * 0.01;
      COLOR.rgb = texture(TEXTURE, uv).rgb;
      COLOR.a = step(r, 1.0);
      }
      I've compared this with your spherize_uv function, it a bit different result.
      Texture I use from website "Solar Textures"
      I also know people likes full screen effects, like CRT, pixelated, distortion, may be you will interested to create video with explanation, because many just copy shader code from sites.

    • @iDigvijaysinhG
      @iDigvijaysinhG  Před měsícem +3

      @plur_ndbn, don't worry too much about asking. Think of it this way, you are giving me video ideas.
      And as far as math is concerned, I can tell from personal experience that mathematics has a tendency to seem difficult until we know proper applications for its concepts. I would recommend you check out Desmos, it's a tool to visualize maths(sort of). And of course practice, practice practice.
      And when you get stuck don't feel discouraged, game development in general is hard, it's only natural that we struggle sometimes.
      Having said that I will definitely come up with something in the future based on your ideas.😁

  • @UltimatePerfection
    @UltimatePerfection Před 27 dny

    How about adding support for metaballs modelling?

    • @iDigvijaysinhG
      @iDigvijaysinhG  Před 27 dny

      Like the ones in the Blender? I am sorry could you elaborate?

    • @UltimatePerfection
      @UltimatePerfection Před 27 dny

      @@iDigvijaysinhG Yup. Like those in Blender.

    • @iDigvijaysinhG
      @iDigvijaysinhG  Před 27 dny

      @@UltimatePerfection Yes, but I am not sure about adding support part, You can probably use smoothmin and smoothmax function to sort of mimic that behaviour.

  • @artiartem
    @artiartem Před 28 dny

    Does it have any issues when using marching on specific object in the scene and leaving other objects with standard rendering?

    • @iDigvijaysinhG
      @iDigvijaysinhG  Před 28 dny

      Hey, you can use standard meshes alongside ray marched shapes just fine.

  • @maxarq
    @maxarq Před 27 dny

    ok what about texturing them?

    • @UltimatePerfection
      @UltimatePerfection Před 27 dny

      Dunno, triplanar maybe?

    • @iDigvijaysinhG
      @iDigvijaysinhG  Před 27 dny +1

      That is the topic for the next episode in the series, you have to wait a bit longer for that.