• 0 Posts
  • 438 Comments
Joined 2 years ago
cake
Cake day: July 1st, 2023

help-circle
  • Silksong might be one of the “easiest” ones if I ever did a RenoVK. Basically, you check the swapchain size, and any 8bit texture that the game tries to build that matches that resolution gets upgraded to 16bit. And done. That alone will get the SDR layers to stop banding. (We actually do 16bit float because we want above SDR level brightness, but 16uint would be a perfect, less problematic banding fix).

    I might look at vkBasalt. That’s basically how ReShade ended up building an addon system. You have to be able to inject shaders, create textures, and monitor backbuffer to do postprocess. Instead of just doing it at the end, it allows us to listen for render events and act accordingly. That’s the basis for most our mods. Every game will use DX/GL/VK commands so it’s much easier to tap into that instead of compiled CPU code.


  • I wrote the RenoDX mod if you’re talking about that. I don’t think there’s anything like Reshade’s addon system for Linux games. We’ve done OpenGL and Vulkan mods but that still relies on intercepting the Windows implementation. Silksong primarily needs a 16bit float render to solve most of its banding, but not sure how you can do the same on Linux.

    We avoid per-game executable patching intentionally, but sounds like that would be the best choice here. Getting the render to 16bit would solve most banding, but you’d still need to replace shaders if your goal were HDR (or fake it as a postprocess with something like vkBasalt).




  • ShortFusetoLemmy ShitpostBatterypunk
    link
    fedilink
    arrow-up
    8
    ·
    6 months ago

    From understanding my old GameBoy that had 4 AA batteries in alternating rotation, that had 6V (1.5V each battery). Chaining positive and negative together increased the voltage.

    Since this has them pointing both up, it’s just 1.5V but it’s as if you put a half sized battery.

    Basically, the same, just less amperage because of a smaller battery (if compared to 2 of the same).

    tl;dr: same, but half capacity.



  • ShortFusetoTechnologyThe Copilot Delusion
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    8
    ·
    6 months ago

    This is a trash take.

    I just wrote the ability to take a DX9 game, stealthy convert it to DX9Ex, remap all the incompatibility commands so it works, proxy the swapchain texture, setup a shared handle for that proxy texture, create a DX11 swapchain, read that proxy into DX11, and output it in true, native HDR.

    All with the assistance of CoPilot chat to help make sense of the documentation and CoPilot generation and autocomplete to help setup the code.

    All in one day.


  • Helm Dawson tonemapper is a filmic tonemapper built by EA years ago. It’s very contrasty, similar to ACES (What Unreal mimics in SDR and uses for HDR).

    The problem is, it completely crushes black detail.

    https://www.desmos.com/calculator/nrxjolb4fc

    Here’s it compared to the other common Uncharted2 tonemapper:

    Everything under 0 is crushed.

    To note, it’s exclusively an SDR tonemapper.

    I’ve found this tonemapper in Sleeping Dogs as well and when modding that game for HDR, it was very noticeable there how much it crushed. Nintendo would need to change the tonemapper to an HDR one or, what I think they’ll do, fake the HDR by just scaling up the SDR image.

    To note, I’ve replaced the tonemapper in Echoes of Wisdom with a custom HDR tonemapper via Ryujinx and it’s entirely something Nintendo can do. I just doubt they will.







  • Yeah, I can see that. Search has gotten worse. While AI slop is undoubtedly responsible for this, there are cases when some things are essentially best solved by reading thousands of code examples because the documentation is rather vague. Searching on Stackoverflow still relies on some people having already been presented with a similar situation and shared their solution. Also, you’d assume the solution is the correct one. (I’ve been burned and I’m sure the majority of my stackoverflow answers end up being corrections well after trying something else touted as the correct/popular solution.) That’s really my push back.

    That’s really one of the strengths of AI: a large feeding of data until it finds a common pattern. It correlates to simple things like syntax. That means it’s pretty good there. But it also correlates to saying “a lot of people set up scripts like this”. That’s where I’m reminded of working with people who I assign a task to and they come back with stuff they got from SO. It has the gist of it being right, but not all there.

    That’s kinda the key, though. I could be okay with an 80% workable state. That’s like asking somebody to compile all the search results and give be back a result as best they could. It doesn’t mean it should be treated as hot pluggable code.

    Full disclosure, my main experience is CoPilot and VSCode. It’s… neat. Some of the auto complete is useful when what I’m writing has an obvious pattern. Some is laughably unrelated. There is another AI that has some level of training to it, which I think is Facebook’s. It can be “trained”. I’ve tried those models, but all those offline models don’t have the ability to combine web results. CoPilot lets you link to a spec page and it’ll read it in “realtime” and correct itself. I find that much more valuable than some pretrained model. The saddest part is that’s all proprietary in ChatGPT which was supposed to be Open (OpenAI). You basically have to buy-in to their models at least until something else comes along.







  • Not all projects needs VC money to get off the ground. I’m not going to hire somebody for a pet project because CMake’s syntax is foreign to me, or a pain in the ass to write. Or I’m not interested in spending 2 hours clicking through their documentation.

    Or if you ever used DirectX the insane “code by committee” way it works. Documentation is ass and at best you need code samples. Hell, I had to ask CoPilot to tell me how something in DXCompiler worked and it told me it worked because the 5000 line cpp file had it somewhere in there. It was right, and to this day, I have no idea how it came up with the correct answer.

    There is no money in most FOSS. Maybe you’ll find somebody who’s interested in your project, but it’s extremely rare somebody latches on. At best, you both have your own unique, personal projects and they overlap. But sitting and waiting for somebody come along and having your project grind to halt is just not a thing if an AI can help write the stuff you’re not familiar with.

    I know “AI bad” and I agree with the sentiment most of the time. But I’m personally okay with the contract of, I feed GitHub my FOSS code and GitHub will host my repo, run my actions, and host my content. I get the AI assistance to write more code. Repeat.