How to fake 8K texture quality [UE5/UE4]

Sdílet
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

Komentáře • 26

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

    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.)

  • @Velzp
    @Velzp Před rokem

    Finally I have visual representation of this types of filtering! Thank you for this informative video

  • @Kaboom1212Gaming
    @Kaboom1212Gaming Před rokem +3

    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.

    • @VisualTechArt
      @VisualTechArt  Před rokem

      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

  • @wpwscience4027
    @wpwscience4027 Před rokem +2

    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.

    • @ViktorartSnowtracked
      @ViktorartSnowtracked Před rokem

      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.

    • @wpwscience4027
      @wpwscience4027 Před rokem

      @@ViktorartSnowtracked The nice thing about using math is you can tweak the values whereas your texture is built once.

  • @RomabMaswell
    @RomabMaswell Před rokem +1

    Each of your videos is like holyday for me ;-)

  • @Siphonife
    @Siphonife Před 4 měsíci

    Bicubic is so much easier on the eyes. omg. We need GPUs that support this on the hardware level.

  • @truesoundwave
    @truesoundwave Před 2 měsíci

    Could you please include a material example implementing this?
    The functions you provide on Gumroad don't quite alias with the video.

    • @VisualTechArt
      @VisualTechArt  Před 2 měsíci

      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 :)

    • @truesoundwave
      @truesoundwave Před 2 měsíci

      @@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.

  • @ethanwasme4307
    @ethanwasme4307 Před rokem

    I've got a command set that turns off mipping and turns up screen res x2, gonna disable filtering too 😭😭👍

  • @IstyManame
    @IstyManame Před 7 měsíci +1

    Is that expensive to add that to every material?

    • @VisualTechArt
      @VisualTechArt  Před 7 měsíci +3

      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

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

    Bicubic must be standard for games

  • @kiradark2322
    @kiradark2322 Před rokem

    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

    • @VisualTechArt
      @VisualTechArt  Před rokem +1

      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!

  • @atacetin
    @atacetin Před 8 měsíci

    Hello ! I brought it but can't figure out how to use it. Can you send a example picture?

    • @VisualTechArt
      @VisualTechArt  Před 8 měsíci +1

      What's the part you're missing exactly? :)

    • @atacetin
      @atacetin Před 8 měsíci

      Where can I connect your MF and what can I connect to its UV parameter.

  • @clairearan505
    @clairearan505 Před rokem

    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?

    • @VisualTechArt
      @VisualTechArt  Před rokem +3

      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

    • @clairearan505
      @clairearan505 Před rokem

      @@VisualTechArt interesting food for thought, thank you

  • @ethanwasme4307
    @ethanwasme4307 Před rokem

    got a good way to detile organic textures?

    • @VisualTechArt
      @VisualTechArt  Před rokem +1

      I have a video about breaking the tiling of textures :)