Any clue about what Burn Color is? #39
Replies: 1 comment 3 replies
-
I haven't looked into burn color yet. What are you trying to do that requires a fully annotated shader? I didn't start researching the nushdb until well into the development of ssbh_wgpu, so I wouldn't expect to see many of the in game names in model.wgsl. I'd be happy to review any insights you discover on the shader variables or parameters, but it sounds like this doesn't line up with your use case. You don't need to fully understand the code if you only want to edit a small portion. If you just want to edit shaders, you either need a compiler or some documentation of the program binary format used by the Tegra X1 GPU. I would imagine that an SDK has a shader compiler, but this would create some obvious legal issues. The other way to compile shaders is through a graphics API call. I believe blujay was able to compile basic GLSL shaders with NVN, but I don't know if he ever open sourced any of his work. Compiling your own small shader from scratch is the better than using assembly in my opinion. The other option is to modify the shader assembly itself. While there may be docs somewhere, I wouldn't expect to find readily available resources like you can find for x86 or ARM64. You could try looking at the decompiler code for Ryujinx to get an idea of the format. Modifying the assembly isn't impossible, but it's definitely not as straightforward as you may think. |
Beta Was this translation helpful? Give feedback.
-
Hello! I am actually nearing the completion of my annotation/simplification of the shaders (checked for accuracy in renderdoc) and while I hope to have it out a bit after I rewrite/release my custom shader, there is one annoying unknown standing in my way.
....burn color comes up a LOT, and I have no idea what it means.
It's used a lot with the rim stuff, but given I have no idea what it means, and I wasn't even able to find it used in wgpu last timed I checked, it's surprisingly hard to name the variables.
Like, obviously, when I know what something is meant for, it's easier to name variables. If I know this value is the input specular stuff before its transformed, I can say InputSpec or something. The variables usually end up more complicated by some point but still.
But well uh....with burn color. I mean I know what its doing math wise, but given the staggering amount of times its used with rim, and me not knowing what it's actually FOR, I'm kinda at a loss for figuring out things like variable names.
Sorry if this is a bit rambly, I just wanted to get this out ASAP so hopefully you'll see it fairly soon, and maybe give me a hint so I can finish up annotating. Thanks!
Beta Was this translation helpful? Give feedback.
All reactions