Hey Ben, I realy want to say Thank you! Without your Videos I wouldn t be where I am now. You are doing such a good Job in explaining shaders. All The best (and please keep up posting Videos)
I was using similar problem the problem with big numbers you're mentioned when I was using hash21 frac(sin(dot(v2_seed, float2(12.9898, 78.233))) * 43758.54654) to generate noise for xy world position in unreal engine. As you probably know Unreal is using cm as measure units so it becomes large number really fast. What helped is to divide it by 1000 before sending it to hash function.
Wow Ben! You are killing it with the content. This is all insanely high quality. This is my number one new series to send anyone interested in tech art to. Do you have a Patreon?
This is a clever way to generate some random noise from UVs, I like it. Two questions: 1) Is there any reason why you're using (x,y,x) dot (a,b,c) rather than just folding a+c into one constant and doing (x,y)*(a+c,b)? Isn't your method just wasting 3 multiplications and additions? Or is the GPU optimized to do dot products fast with vec3s? 2) For the building room randomization, wouldn't it be better to do this on the CPU rather than the GPU? Feels like we are wasting a lot of computation doing this every pixel and every frame when we could just generate a random 8x8 array or texture in CPU and upload it.
Both of these are very good points! For #1, yes, I think that would be a tiny bit faster than what I'm doing. And for #2 - yes, it would certainly be faster to pre-generate the random pattern - perhaps with a texture look-up? If you knew before hand how many rooms you were going to have, you could do that. This method allows you to adjust them on the fly, but once you had things more nailed down, you could optimize out the flexibility in favor of performance.
That was amazing (the whole 34-36 random-cube-mapping)! It also helps cracking that texture math (it's hard to figure). Many Thanx! 👏 Btw, is there some reason for these particularly wierd numbers, you didn't mention why these? & Btw, for those who use custom cube-map from Photoshop PDS to NVIDIA standalone tool (UE5.1 dds-import gives type float2 to 3 errors) - only 32x4f RGBA 128bpp |floating-point format worked for me (UE5.1). I'll leave to experts to tell why's that 😅
@@BenCloward Actually you don't, I did watch the entire series. I was looking for a way to generate different black and white tiles. I figued it out, just made the last big number a parameter. (43758.546875) and then it works like a seed value
Hello Ben! I found Your channel today and it's terribly underrated with only 26k subs. Your content and attitude is awesome. I'm just starting with learning UE and creating my game and im going to visit this channel often. Can You make a video about underwater postprocessing like in Subnautica game when You could have base at sea level and see half-flooded window? It is awesome effect.
This is amazing! How do you come up with these techniques? Do you find papers about these, or just experiment with different ideas? Anyways, thank you for sharing your knowledge.
Lots of googling and some experimentation on my own. One of the best sources for various types of noise hashes is ShaderToy. I especially like this one: www.shadertoy.com/view/4djSRW
Ben, I can't thank you enough for these contents. Do you have a Patreon page or something? I would gladly support you and the great knowledge you're sharing.
i think i found the YT channel tat i was looking for a while. You're amazing! thanks alot for your sharing work. i'm learning a lot
You are amazing. Thanks for making clean videos. You saying you will paste into description and we can reach. Thanks for everything.
Hey Ben, I realy want to say Thank you!
Without your Videos I wouldn t be where I am now. You are doing such a good Job in explaining shaders.
All The best (and please keep up posting Videos)
After I said the numbers I wrote it down with you carefully and finally you said you put it down. my feelings are crushed :D
I was using similar problem the problem with big numbers you're mentioned when I was using hash21 frac(sin(dot(v2_seed, float2(12.9898, 78.233))) * 43758.54654) to generate noise for xy world position in unreal engine. As you probably know Unreal is using cm as measure units so it becomes large number really fast.
What helped is to divide it by 1000 before sending it to hash function.
Thank you!! Your tutorial helps me a lot.
Thanks! This solves a problem I was trying to solve this very morning :D
Wow Ben! You are killing it with the content. This is all insanely high quality. This is my number one new series to send anyone interested in tech art to. Do you have a Patreon?
thanks, grate tutorial
I love the Unreal shader graph. But I think it is telling that I skip to the Unity part of the video to figure out how certain things are connected.
This is a clever way to generate some random noise from UVs, I like it.
Two questions:
1) Is there any reason why you're using (x,y,x) dot (a,b,c) rather than just folding a+c into one constant and doing (x,y)*(a+c,b)? Isn't your method just wasting 3 multiplications and additions? Or is the GPU optimized to do dot products fast with vec3s?
2) For the building room randomization, wouldn't it be better to do this on the CPU rather than the GPU? Feels like we are wasting a lot of computation doing this every pixel and every frame when we could just generate a random 8x8 array or texture in CPU and upload it.
Both of these are very good points! For #1, yes, I think that would be a tiny bit faster than what I'm doing. And for #2 - yes, it would certainly be faster to pre-generate the random pattern - perhaps with a texture look-up? If you knew before hand how many rooms you were going to have, you could do that. This method allows you to adjust them on the fly, but once you had things more nailed down, you could optimize out the flexibility in favor of performance.
Thanks 🙏
Thank Ben!
Is it an issue if my noise is very yellow?
That was amazing (the whole 34-36 random-cube-mapping)! It also helps cracking that texture math (it's hard to figure). Many Thanx! 👏
Btw, is there some reason for these particularly wierd numbers, you didn't mention why these?
& Btw, for those who use custom cube-map from Photoshop PDS to NVIDIA standalone tool (UE5.1 dds-import gives type float2 to 3 errors) - only 32x4f RGBA 128bpp |floating-point format worked for me (UE5.1). I'll leave to experts to tell why's that 😅
Hi! Great tutorial! Is there a way to randomize the Hash23 function to generate different emissive windows?
Yes, I cover that in the next episode: ruclips.net/video/PHvLuS9AYS8/видео.html
@@BenCloward Actually you don't, I did watch the entire series. I was looking for a way to generate different black and white tiles. I figued it out, just made the last big number a parameter. (43758.546875) and then it works like a seed value
Hello Ben! I found Your channel today and it's terribly underrated with only 26k subs. Your content and attitude is awesome. I'm just starting with learning UE and creating my game and im going to visit this channel often. Can You make a video about underwater postprocessing like in Subnautica game when You could have base at sea level and see half-flooded window? It is awesome effect.
This is amazing! How do you come up with these techniques? Do you find papers about these, or just experiment with different ideas? Anyways, thank you for sharing your knowledge.
Lots of googling and some experimentation on my own. One of the best sources for various types of noise hashes is ShaderToy. I especially like this one: www.shadertoy.com/view/4djSRW
Thank you! You are the best! 🥳
You are a hero!!!
@@BenCloward that link is really useful, just as was the video, thank you
"I'm just gonna build a simple shader to do what I need" *3 days later I'm building hash code generators*
Hahah! Love it!
Ben, I can't thank you enough for these contents.
Do you have a Patreon page or something? I would gladly support you and the great knowledge you're sharing.
the exposure is what makes it hard to see. try setting it to unlit in the preview viewport.
Ah, yeah - you're right. That's a great tip!
hi!guys,why don't you get any errors when a three vector is linked to a two vector uv texture?
The shader editor automatically converts the vec3 to a vec2 by dropping the final component.