How to fake 8K texture quality [UE5/UE4]
Vložit
- čas přidán 6. 09. 2024
- Grab the interpolated CellNoise function here: jumpeter.gumro...
This video explores the technical aspects of shaders and graphics in Unreal Engine 5, but these concepts are valid in any game engine that uses textures (all of them :D).
The focus is on the topic of filtering, specifically the differences between bilinear and bicubic filtering. The underlying mathematical concepts of bilinear filtering are discussed, as well as how it is used to smooth out textures.
Than we explore the concept of bicubic filtering and how it takes this technique to the next level.
The code behind these filters is analyzed, and a demonstration is provided on how to implement them in Unreal Engine 5 projects.
This tutorial provides valuable insights on how to connect art, math, and code, and viewers will gain a deep understanding of bilinear and bicubic filtering and how to use them to enhance video game graphics.
Discord: / discord
Patreon: / visualtechart
1:20 Maybe you weren’t serious in this section, but I’ll still mention it here for people who don’t know it: A sample is called that because a texture’s elements (shortened to texels) are sampled. Just like you can sample a function at discrete points and display the results in a graph. (Textures don’t store samples.)
Finally I have visual representation of this types of filtering! Thank you for this informative video
Super interesting and useful. It does make sense to use Bilinear and Trilinear for textures since it's much cheaper and you are likely never going to get that close. But I feel like any objects that do get really close, say for a game cinematic or some film applications could really benefit when necessary.
I like that you mention Vats as well. I just recently did a rather large VAT setup in Unity, so to save space I trimmed down the frame count. But the motion ended up being extremely linear. With a bicubic interpolation implemented like this I should in theory get some smoother looking motion as opposed to essentially moving each vertex to each point extremely linearly.
Thanks :D yes in general the material textures never get that close so that you can actually see the pixels very distinctively (still happens though), so linear interpolation is mostly fine :)
Unless you want to go for an interpolation that is so good that you can always sample a mip lower than you should... 🤔 Funny thing to explore.
Yes, vertex animation is one thing that would benefit the most from this, definitely try it and maybe let me know how it goes? :D
Ok a place that jumps out to me that this might be handy is when you have data stored in a texture you need to blow up and out to a landscape level that the player experiences by moving through or looking at, like I don't know how snowy a region is, or something sound related, like how squelchy their footsteps are, or more like the volume of the wind. In those kinds of things hard transitions as you go from standing in one value to standing in the one next door stand out really strong because the world usually isn't like that they are gradual. A few months ago I had a problem like this with wanting to add color variation to my trees in world based on their location on the map. I ditched a texture map that had real world meaning for my landscape in favor of a noise node because I had to choose between a larger texture than I wanted and a color gradient that was too chunky. So I skimped out for something lighter. If this is more efficient than jumping a texture size I'd want to go back and lose the noise in favor of something that shows a real pattern ie doing this with my gradient texture.
Same here! "color variation to my trees in world based on their location" I wonder if this math based noise if better than just using a low res noise texture, in terms of performance? Because in terms of result I bet both will be sufficent.
@@ViktorartSnowtracked The nice thing about using math is you can tweak the values whereas your texture is built once.
Each of your videos is like holyday for me ;-)
Bicubic is so much easier on the eyes. omg. We need GPUs that support this on the hardware level.
Could you please include a material example implementing this?
The functions you provide on Gumroad don't quite alias with the video.
On Gumroad I've just uploaded the Bicubic Noise, true :)
It's not super hard to mod it for textures, if you join my Discord I can point you in the direction, there are others that already made it :)
@@VisualTechArt Could I just get a working version instead, I've followed your instructions on discord and I seem to be stuck in the same position others were now.
I'm not seeing the examples of others that already made it with these functions.
I've got a command set that turns off mipping and turns up screen res x2, gonna disable filtering too 😭😭👍
Is that expensive to add that to every material?
It doesn't come for free for sure, but to assess how expensive it is if used everywhere is up to you :)
If it enables you to also drop the size of every texture at the same time might be a gain overall
Bicubic must be standard for games
Hello good day, I have bought your function but I don't know how to apply it to a texture, is it possible that you integrate a project with examples? there are only functions
The product was specific for the noise, but if you want to reuse it on a texture we can go through it on Discord :)
It's a bit hard to explain it here... I'm currently on holiday though, so I'll answer from next week!
Hello ! I brought it but can't figure out how to use it. Can you send a example picture?
What's the part you're missing exactly? :)
Where can I connect your MF and what can I connect to its UV parameter.
Bicubic is far superior, but I don't know if it's worth the added cost. Say you filtered all of your textures this way, how does that compare to bilinear filtering in terms of performance?
It's definitely much heavier in terms of instructions and requires many more texture fetches :)
That's why you don't see it used widely. That said though, on some kind of textures might allow you to sample a lower than required MIP, in which case it might compensate the extra cost
@@VisualTechArt interesting food for thought, thank you
got a good way to detile organic textures?
I have a video about breaking the tiling of textures :)