Using noise in shaders (texture blending)

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 พ.ย. 2024

ความคิดเห็น • 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 11 หลายเดือนก่อน +1

      Facing Ratio & Dot Product
      Thanks

    • @BarneyCodes
      @BarneyCodes  11 หลายเดือนก่อน +2

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

  • @openlink9958
    @openlink9958 10 หลายเดือนก่อน +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  10 หลายเดือนก่อน +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!

  • @DeniseNepraunig
    @DeniseNepraunig ปีที่แล้ว +1

    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!

  • @tepiku
    @tepiku 11 หลายเดือนก่อน +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  11 หลายเดือนก่อน

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

  • @literallyaperson7125
    @literallyaperson7125 ปีที่แล้ว +4

    nice

  • @number3boo
    @number3boo ปีที่แล้ว +6

    So that's how they do it

  • @Veptis
    @Veptis หลายเดือนก่อน

    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  หลายเดือนก่อน +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!