Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We’re making changes to the Unity Runtime Fee pricing policy that we announced on September 12th. Access our latest thread for more information!
    Dismiss Notice
  3. Dismiss Notice

AMD FSR and Unity

Discussion in 'General Discussion' started by Joe-Censored, Jun 1, 2021.

  1. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Because I do not want to screw around with that when I have to code physics, AI, cross platform stuff and everything more essential than an undocumented thing that isn't finished yet.
     
  2. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    are people typically creating their own render pipelines to make games? like, is that normal?

    i can't imagine in my wildest game dreams that i would ever need to do something like that.

    unity 5.6 looked totally fine, didn't it? is anybody unable to make their game look fine in that renderer? I just want it to run smoother, and i want to be able to enter and exit playmode quickly. That's all I care about.
     
    GameDeveloper1111 likes this.
  3. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,459
    I wouldn't call it "normal" when working with an off-the-shelf engine, no. The thing is that off-the-shelf engines need to be pretty generic to target a broad range of arbitrary use cases. When you know your specific use case in detail you can often make something that is either more performant or more effective in that use case.

    One of our guys made a custom RP for our game. It didn't take 6 months, and it's allowed us to better handle a few situations specific to our game which were otherwise requiring more compromise than we were comfortable with. We avoid engine updates most of the time, so we haven't had issues keeping it in sync.
     
    Alterego-Games likes this.
  4. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,230
    Tweaking existing one to suit your needs is not the same thing as rolling out your own pipeline from scratch. And I'm not talking about rolling out your own "from scratch" pipeline.

    But in general, I would say that making your own rendering pipeline is not an extraordinary unthinkable thing by any means, although the ones doing that would be bigger studios and not individuals with no coding experience. Or more skilled programmers. And no, it shouldn't take six months. 6 months is enough to write your own bare-bones mini-engine with no editor and inflexible pipeline.

    Basically, in case of trying to wire in some previously unused technology it might take as little as one evening to figure out if this can be done, and up to 2 weeks to investigate it properly. Like I previously said, AI upscaler is a blit, and URP/HDRP already does blits when it implements post-processing filters, so the framework should be there. Because both URP/HDRP are based off the same framework, it should also be possible to swipe pieces of HDRP and stick them into URP, although it is possible that unity made a mess and the pieces of code are largely incompatible.

    Regarding alternative renderers, You can take a look at Lab renderer package on asset store.
    https://assetstore.unity.com/packages/tools/the-lab-renderer-63141 . That's from before SRP.

    That's a custom renderer.

    Also, in the past you were pretty much expected to be able to write a software renderer from scratch to do anything. While those times are gone and programming skill of people making games went down, shying away from altering something that comes with source included isn't the best idea, in my opinion.

    5.6 wasn't fine. If you needed to modify something, you'd be dealing with a largely undocumented can of worms called standard shader, which was a hard to untangle mess of ifdefs. You can see examples here:

    https://neginfinity.bitbucket.io/2016/04/raytraced-primitives-in-unity3d-part-41-code-cleanup.html
    https://neginfinity.bitbucket.io/20...-primitives-in-unity3d-part-5-distance-fields

    ^^^ That's after cleaning up.

    The main difficulty was integrating your own shading with unity lighting system, as the process was partially hardcoded, and partially it was controlled by largely undocumented ifdefs. So by looking at the ifdefs and contents of frame debuggers you had to infer the logic of the original designer, and then see how you can stick what you want into this thing. Sometimes it wasn't possible at all.

    Offtopic: If someone can suggest me a better place to dump information from my "blog" once and never worry about it ever again for the next century, I'm all ears. Blogspot maybe?
     
    Last edited: Jul 19, 2021
  5. spiney199

    spiney199

    Joined:
    Feb 11, 2021
    Posts:
    5,534
    This is a bit of an anecdote, namely from 6 years ago when I was learning 3d animation in University, but for our major project, our planned game was a side-view 2.5d submarine exploration game. Unity's lighting system at the time wasn't quite suitable to our needs, so our coder - within an afternoon - put together a custom shader/shading engine that used meshes with a shader applied to simulate lighting, allowing us to nail that deep sea lighting look.

    Mind you he was/is an astoundingly talented coder, but I imagine if one knew what they were doing, it shouldn't be months of work to put together - either from scratch or from a starting point - custom rendering solution to your needs.
     
    neginfinity likes this.
  6. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    10,779
    I mean, that is the problem with the SRPs though. In built in you could write a set of shaders and boom, custom rendering. With SRP you can't really do that.

    You can't really write shaders, and if you want frag vert ones, you need to copy paste a lot of boilerplate in each of them to support SRP batcher, boilerplate that may as well change from version to version and you need to keep up with.

    You could potentially make it easier for yourself if you fork the whole URP, but that's a lot more responsibility and maintainability you are adding for no clear benefit.
     
  7. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,440
    Because a lot of key functions aren't in the srp code, but implemented behind the engine source itself, such as the various culling, for performance reason. Which makes it harder to make advence stuff.
     
  8. haico1992

    haico1992

    Joined:
    Aug 27, 2012
    Posts:
    4
    Future reporting in!
    FSR was S*** on Unity 2021.2.1f in VR. It was blurry and light dots is popping up left and right. Even after use in conjunction with TAA, the result is far inferior to the more simple TAA Upscale.
     
    Alterego-Games likes this.
  9. SunnySunshine

    SunnySunshine

    Joined:
    May 18, 2009
    Posts:
    950
    FSR 2.0 looking really good. When can we expect to see it in unity?
     
  10. Lahcene

    Lahcene

    Joined:
    Jun 18, 2013
    Posts:
    55
    Hate to bump this thread but I really would love to know as well.
     
    Alterego-Games likes this.
  11. mick129

    mick129

    Joined:
    Jun 19, 2013
    Posts:
    227
  12. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    19,783
    FSR 2.0 only officially supports DirectX 12 and Vulkan. I don't know what the current state of Unity's Vulkan support is but their DirectX 12 support is just awful.

    https://gpuopen.com/fidelityfx-superresolution-2/
     
  13. DragonCoder

    DragonCoder

    Joined:
    Jul 3, 2015
    Posts:
    1,398
    They also say to contact them for Dx11 support. A bit odd. We might see that in the future..
     
    Alterego-Games likes this.
  14. Alterego-Games

    Alterego-Games

    Joined:
    Jul 13, 2015
    Posts:
    261
    I don’t think so, up to ourselves to implement it. We currently use FSR 2.2 for our in-house project and has been released it on the assetstore. (But am not allowed to post forum url about it here).

    It supports all renderpipelines and almost all platforms(mobile, consoles, pc, mac, linux).
     
    Last edited: Jun 18, 2023
    Lahcene and mick129 like this.