sunfire

Identity In Progress

  • he/they🪶

⬛🟪⬜🟨⬜🟪⬛

---
Avatar by @TuxedoDragon
---
General-interest posting,
art, casual devlogs,
serial collector of hobbies and projects.
For just gamedev see @sunfire-interactive
---
I jump between projects quite often, but here are some that I'm continuing to orbit around and will likely keep up with as long as I can.
Gamedev Projects:
Riptide Manor
Misc. Gamedev Resources
Worldbuilding Projects:
The King's Domain
The Roamer's Library
Custom Lego Themes:
Freeracers
TripleCross///
OverRiders///_
Other stuff:
Every Elden Ring character i've ever made


Sunfire Interactive on Itch
sunfire-interactive.itch.io/
The Starlight Garden (under construction)
starlight.garden/

So.
I'm having a struggle against godot's... gamma correction? i think
I've got this shader that's multiplying in the "color" (modulate) value from a Sprite3D
But it's
Not Correct. It seems to be put to the power of around -2.25? or something.
This is annoying me because i'm using the main color channels as input for a palettization shader so i Need them to be correct or things won't work properly

Does anyone happen to know if theres a proper, official way to disable this behaviour? I've been digging but so far i've come up empty. Right now i'm toying with my own custom re-linearizer VisualShader node and that should probably work okay but if there's a setting i could be switching off to fix this then that would be much appreciated


You must log in to comment.

in reply to @sunfire's post:

custom shader. at some point i did also realize that the editor view has some default environment adjustments that i've turned off for the actual game (which is just flat unlit) but this seems to be separate.
as for the shader itself, it really is just multiplying something white by the input modulate (through the color node, in VisualShader)

for the most part it's working fine! that's what is most strange to me. or rather, if i give the shader a color as an input it acts normally, it's only modulate that's misbehaving.

i suspect something similar would happen in code, honestly, since the visual shader is basically just presentation that gets crunched down into code anyway.

for the time being though, i've figured out a way to basically just... sidestep the problem. since the palette i'm using is limited enough i only really need to care about it being roughly accurate, any small differences will just get lost by the limiting steps.

it's too light though, not too dark as i'd expect for modulate being applied twice.
i believe i've tested this and (for 3d shaders at least) modulate won't be applied in custom shaders unless you explicitly do it yourself.

it's different for 2d shaders, since they feed in the texture with modulate applied already i believe (whereas for 3d sprites they don't feed in the sprite on the node at all and you have to do it manually in the shader) but i'm explicitly bypassing it for some of my shaders anyway