mirror of
https://github.com/curioustorvald/tsvm.git
synced 2026-06-12 07:44:03 +09:00
sigmoid function for blending worked... almost
This commit is contained in:
@@ -916,6 +916,26 @@ int getTileFromColor(vec4 color) {
|
|||||||
return _colToInt(color) & 0xFFFFF;
|
return _colToInt(color) & 0xFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float sigmoid(float x) {
|
||||||
|
return 2.0 / (1.0 + exp(-6.333 * x)) - 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
vec4 sigmoid(vec4 x) {
|
||||||
|
return 2.0 / (1.0 + exp(-6.333 * x)) - 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
float invsigmoid(float x) {
|
||||||
|
return (1.0 / 6.333) * log((1.0 + x) / (1.0 - x));
|
||||||
|
}
|
||||||
|
|
||||||
|
vec4 invsigmoid(vec4 x) {
|
||||||
|
return (1.0 / 6.333) * log((1.0 + x) / (1.0 - x));
|
||||||
|
}
|
||||||
|
|
||||||
|
vec4 sigmoidmix(vec4 a, vec4 b, float x) {
|
||||||
|
return sigmoid(mix(invsigmoid(a), invsigmoid(b), x));
|
||||||
|
}
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
|
|
||||||
// READ THE FUCKING MANUAL, YOU DONKEY !! //
|
// READ THE FUCKING MANUAL, YOU DONKEY !! //
|
||||||
@@ -952,7 +972,7 @@ void main() {
|
|||||||
vec4 tileCol = texture2D(tilesAtlas, finalUVCoordForTile);
|
vec4 tileCol = texture2D(tilesAtlas, finalUVCoordForTile);
|
||||||
|
|
||||||
// apply colour. I'm expecting FONT ROM IMAGE to be greyscale
|
// apply colour. I'm expecting FONT ROM IMAGE to be greyscale
|
||||||
gl_FragColor = mix(backColFromMap, foreColFromMap, tileCol.r);
|
gl_FragColor = sigmoidmix(backColFromMap, foreColFromMap, tileCol.r);
|
||||||
}
|
}
|
||||||
""".trimIndent()
|
""".trimIndent()
|
||||||
|
|
||||||
@@ -1003,6 +1023,26 @@ vec4 grey(vec4 color) {
|
|||||||
return vec4(lum, lum, lum, color.a);
|
return vec4(lum, lum, lum, color.a);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float sigmoid(float x) {
|
||||||
|
return 2.0 / (1.0 + exp(-6.333 * x)) - 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
vec4 sigmoid(vec4 x) {
|
||||||
|
return 2.0 / (1.0 + exp(-6.333 * x)) - 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
float invsigmoid(float x) {
|
||||||
|
return (1.0 / 6.333) * log((1.0 + x) / (1.0 - x));
|
||||||
|
}
|
||||||
|
|
||||||
|
vec4 invsigmoid(vec4 x) {
|
||||||
|
return (1.0 / 6.333) * log((1.0 + x) / (1.0 - x));
|
||||||
|
}
|
||||||
|
|
||||||
|
vec4 sigmoidmix(vec4 a, vec4 b, float x) {
|
||||||
|
return sigmoid(mix(invsigmoid(a), invsigmoid(b), x));
|
||||||
|
}
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
|
|
||||||
// READ THE FUCKING MANUAL, YOU DONKEY !! //
|
// READ THE FUCKING MANUAL, YOU DONKEY !! //
|
||||||
@@ -1039,7 +1079,7 @@ void main() {
|
|||||||
vec4 tileCol = texture2D(tilesAtlas, finalUVCoordForTile);
|
vec4 tileCol = texture2D(tilesAtlas, finalUVCoordForTile);
|
||||||
|
|
||||||
// apply colour. I'm expecting FONT ROM IMAGE to be greyscale
|
// apply colour. I'm expecting FONT ROM IMAGE to be greyscale
|
||||||
gl_FragColor = mix(backColFromMap, foreColFromMap, tileCol.r);
|
gl_FragColor = sigmoidmix(backColFromMap, foreColFromMap, tileCol.r);
|
||||||
}
|
}
|
||||||
""".trimIndent()
|
""".trimIndent()
|
||||||
|
|
||||||
|
|||||||
@@ -52,8 +52,8 @@ open class TexticsAdapter(vm: VM, config: AdapterConfig = AdapterConfig(
|
|||||||
private val phosphorCol = crtColor[theme.substring(4)] ?: crtColor["white"]
|
private val phosphorCol = crtColor[theme.substring(4)] ?: crtColor["white"]
|
||||||
|
|
||||||
override fun render(delta: Float, batch: SpriteBatch, xoff: Float, yoff: Float) {
|
override fun render(delta: Float, batch: SpriteBatch, xoff: Float, yoff: Float) {
|
||||||
super.render(delta, batch, xoff, yoff)
|
|
||||||
|
|
||||||
|
super.render(delta, batch, xoff, yoff)
|
||||||
|
|
||||||
batch.inUse {
|
batch.inUse {
|
||||||
batch.enableBlending()
|
batch.enableBlending()
|
||||||
|
|||||||
Reference in New Issue
Block a user