Using noise in shaders (texture blending)

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

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

  • @BarneyCodes
    @BarneyCodes  Год назад +5

    If you'd like to see what else I'm working on, it would be great if you could wishlist my game Star Mining Co. on Steam! s.team/a/2584800/
    What shader effect would you like to see next?

    • @theman7050
      @theman7050 Год назад +1

      Is there a way to contact you man?

    • @BarneyCodes
      @BarneyCodes  Год назад +1

      My username is barneycodes on discord, feel free to reach out there! Otherwise you can email me at barney@barneycodes.com

    • @Tritoon710
      @Tritoon710 Год назад +1

      Facing Ratio & Dot Product
      Thanks

    • @BarneyCodes
      @BarneyCodes  Год назад +2

      I'm planning on looking at some basic lighting in an upcoming video so should cover this then! Thanks for the comment!

  • @DeniseNepraunig
    @DeniseNepraunig Год назад +2

    Really great explanation. I love the way you go through this, showing all the code changes and variants! Top notch editing. Thanks man!

    • @BarneyCodes
      @BarneyCodes  Год назад +1

      Thank you so much! Glad you liked it!

  • @theman7050
    @theman7050 Год назад +2

    Barney at it again!!! 🎉
    Wow I used to think generating noise in code is more efficient. But using a texture for it comes as a surprise man. Thanks :)

    • @BarneyCodes
      @BarneyCodes  Год назад +1

      It's probably slightly more nuanced then "it's always better to use a texture", but things like Perlin and Worley noise can be a bit expensive to calculate every frame.
      On the other hand, white noise can be really quick because you can just take a hash of the position vector to get a "random" value.
      Thanks for your comment!

  • @openlink9958
    @openlink9958 Год назад +3

    0:08 it looks like a shader that replicates how cells look like. Every "cell" (circle) is separated from adjacent circles but all of them are together, on a similar way how skin cells would be (or any kind of large cell structure really)

    • @BarneyCodes
      @BarneyCodes  Год назад +1

      That's voronoi noise! It pops up in nature quite a lot which is really cool! The basic idea behind it is that each pixel is coloured based on the distance to the nearest "seed" point, which is why you get those shaded blob regions!

  • @tepiku
    @tepiku Год назад +1

    Thanks for the video. Really well explained.
    3:38 The thing with p5.js is that the coordinates 0,0 are located in the top left corner instead of the bottom left.

    • @BarneyCodes
      @BarneyCodes  Год назад

      Thanks! I sort of assumed that the underlying image data wouldn't be affected by that but I guess I was wrong!

  • @number3boo
    @number3boo Год назад +6

    So that's how they do it

  • @literallyaperson7125
    @literallyaperson7125 Год назад +4

    nice

  • @Veptis
    @Veptis 3 месяца назад

    Here is a question: how to sample seamless gradient noise on the surface of a sphere? Do we have 2 or 3 values for the location?
    I tried to come up with something but it's quite difficult. I intentionally didn't look at references and solutions - so maybe that helps to think creatively

    • @BarneyCodes
      @BarneyCodes  3 месяца назад +1

      I've not actually tried to do this myself, but I believe there are methods of "unwrapping" the surface of a sphere into 2D coordinates. You can either map it to the full rectangle (like a how a map is a rectangular version of the surface of the earth), which will have some distortion to it, or you can probably do a more accurate version, that would have gaps, which might make it difficult to do seamlessly.
      If you've got a noise generation function you could probably do it seamlessly by using the 3D point on the surface to sample 3D noise and guarantee that it's seamless?
      Might be worth playing around with a few different solutions and seeing what they look like!