openfl / starling

Known as the "Cross-Platform Game Engine", Starling is a popular Stage3D framework for OpenFL and Haxe
Other
236 stars 67 forks source link

Galaxy J3, HTML5 - Error compiling fragment shader #147

Closed CrazyFlasher closed 4 years ago

CrazyFlasher commented 4 years ago
"Error: [openfl.display3D.Program3D] ERROR: Error compiling fragment shader
ERROR: 0:3: 'highp' : precision is not supported in fragment shader

// AGAL fragment shader
#version 100
precision highp float;
varying vec4 v0;
uniform sampler2D sampler0;
void main() {
    vec4 ft1;
    ft1 = texture2D(sampler0, v0.xy); // tex
    gl_FragColor = ft1; // mov
}

    at Function.lime_utils_Log.error (http://188.166.108.195/starling/Demo.js:29846:10)
    at openfl_display3D_Program3D.__uploadFromGLSL (http://188.166.108.195/starling/Demo.js:71160:19)
    at openfl_display3D_Program3D.upload (http://188.166.108.195/starling/Demo.js:70815:8)
    at openfl_display3D_Context3D.__renderStage3D (http://188.166.108.195/starling/Demo.js:70037:33)
    at openfl_display_Stage.__onLimeRender (http://188.166.108.195/starling/Demo.js:66757:21)
    at lime_app__$Event_$lime_$graphics_$RenderContext_$Void.dispatch (http://188.166.108.195/starling/Demo.js:18646:16)
    at lime__$internal_backend_html5_HTML5Application.handleApplicationEvent (http://188.166.108.195/starling/Demo.js:352:23)"
CrazyFlasher commented 4 years ago

The problem with AGALConverter If i change glsl.add("precision highp float;\n"); to this glsl.add("precision mediump float;\n"); it works.

jgranick commented 4 years ago

https://github.com/openfl/openfl/commit/764f6bf2b76380b63310391a68cb6d7cc1b7c538