actual Godot compatibility changes
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
(bg.screenCenter)
|
||||
(set bg.alpha 0.5)
|
||||
(add bg))
|
||||
(set shader (new MirroredOrnament))
|
||||
(set shader (new kiss_flixel.shaders.MirroredOrnament))
|
||||
// (set shader.data.invert.value [true])
|
||||
// (set shader.data.color1.value [1.0 1.0 1.0 1.0])
|
||||
// (set shader.data.color2.value [0.0 0.0 0.0 1.0])
|
||||
|
@@ -102,6 +102,7 @@ class ShaderFrontend implements FrontendPlugin {
|
||||
var colorOut = "";
|
||||
var coordIn = "";
|
||||
|
||||
transformedCode += "const float PI = 3.1415926535897932384626433832795;\n";
|
||||
|
||||
function nextToken() {
|
||||
glslStream.dropWhitespace();
|
||||
@@ -132,9 +133,12 @@ class ShaderFrontend implements FrontendPlugin {
|
||||
default:
|
||||
}
|
||||
|
||||
// Shadertoy compatibility:
|
||||
case Some("iResolution"):
|
||||
transformedCode += "openfl_TextureSize";
|
||||
|
||||
case Some("void"):
|
||||
switch (nextToken()) {
|
||||
case Some("mainImage"):
|
||||
dropNext("(");
|
||||
dropNext("out");
|
||||
@@ -155,13 +159,33 @@ class ShaderFrontend implements FrontendPlugin {
|
||||
error();
|
||||
}
|
||||
dropNext(")");
|
||||
transformedCode += "main() ";
|
||||
transformedCode += "void main() ";
|
||||
case Some("fragment"):
|
||||
dropNext("()");
|
||||
transformedCode += "void main() ";
|
||||
case Some(other):
|
||||
transformedCode += 'void $other';
|
||||
default:
|
||||
throw "expected name of void function";
|
||||
}
|
||||
|
||||
case Some(name) if (name == colorOut):
|
||||
transformedCode += "gl_FragColor";
|
||||
case Some(name) if (name == coordIn):
|
||||
transformedCode += "openfl_TextureCoordv * openfl_TextureSize";
|
||||
|
||||
// Godot compatibility
|
||||
case Some("TIME"):
|
||||
transformedCode += "iTime";
|
||||
case Some("COLOR"):
|
||||
transformedCode += "gl_FragColor";
|
||||
|
||||
// Not totally sure this actually is a 1-to-1 equivalency:
|
||||
case Some("SCREEN_UV"):
|
||||
transformedCode += "openfl_TextureCoordv";
|
||||
case Some("SCREEN_PIXEL_SIZE"):
|
||||
transformedCode += "vec2(1 / openfl_TextureSize.x, 1 / openfl_TextureSize.y)";
|
||||
|
||||
case Some("uniform"):
|
||||
var uType = expect("uniform type", nextToken);
|
||||
|
||||
|
Reference in New Issue
Block a user