summaryrefslogtreecommitdiff
path: root/drivers/gles2/shader_compiler_gles2.cpp
AgeCommit message (Collapse)Author
2018-09-29Many fixes to GLES2 renderer, fixed compilation issues in GLES3 shaders.Juan Linietsky
2018-09-23-Rewrote GLES2 lighting and shadows and optimized state changes, did many ↵Juan Linietsky
optimizations, added vertex lighting. -Did some fixes to GLES3 too
2018-09-12Make core/ includes absolute, remove subfolders from include pathRémi Verschelde
This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
2018-08-24Make some debug prints verbose-only, remove othersRémi Verschelde
2018-08-24[GLES2] fix wrong shader compiler outputThomas Herzog
The `f` postfix was working fine on dekstop GL but not on some mobile drivers.
2018-08-02Keeping track of discardDavid Sichma
Shader compilation now keeps track of the discard key word. Previously only variables were monitored. But discard, which needs special treatment in some cases, went unnoticed by the compiler as discard is not a variable but a flow control. This commit adds monitoring for discard.
2018-07-27add initial GLES2 3D rendererkarroffel
2018-07-26Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam
This commit makes operator[] on Vector const and adds a write proxy to it. From now on writes to Vectors need to happen through the .write proxy. So for instance: Vector<int> vec; vec.push_back(10); std::cout << vec[0] << std::endl; vec.write[0] = 20; Failing to use the .write proxy will cause a compilation error. In addition COWable datatypes can now embed a CowData pointer to their data. This means that String, CharString, and VMap no longer use or derive from Vector. _ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug builds. This is a lot faster for Vector in the editor and while running tests. The reason why this difference used to exist is because force-inlined methods used to give a bad debugging experience. After extensive testing with modern compilers this is no longer the case.
2018-07-22Shader lang: Properly assign INSTANCE_ID to gl_InstanceIDRémi Verschelde
Note that gl_InstanceID is not supported in OpenGL ES 2.0, so in the gles2 backend we assign it to 0. Also clean up some duplicates/commented out code. Fixes #20088.
2018-06-13A typo in ShaderCompilerGLES2 constructor code '==' used instead of '='nemerle
2018-04-08Merge pull request #17421 from Chaosus/fixshaderbugsJuan Linietsky
Fix few bugs in shader definitions
2018-03-21s/2017/2018/g for gles2, websocket, linux appdataPoommetee Ketson
2018-03-10Fix few bugs in shader definitionsChaosus
2018-03-01add GLES 2 renderer for 2Dkarroffel
This commit adds a new rendering backend, GLES2, and adds a project setting to enable it. Currently this backend can only be used on the X11 platform, but integrating into other platforms is planned.
2017-08-27Dead code tells no talesRémi Verschelde
2017-08-27Use HTTPS URL for Godot's website in the headersRémi Verschelde
2017-04-08Add "Godot Engine contributors" copyright lineRémi Verschelde
2017-03-05A Whole New World (clang-format edition)Rémi Verschelde
I can show you the code Pretty, with proper whitespace Tell me, coder, now when did You last write readable code? I can open your eyes Make you see your bad indent Force you to respect the style The core devs agreed upon A whole new world A new fantastic code format A de facto standard With some sugar Enforced with clang-format A whole new world A dazzling style we all dreamed of And when we read it through It's crystal clear That now we're in a whole new world of code
2017-01-16Style: Various fixes to play nice with clang-formatRémi Verschelde
2017-01-14Style: Fix whole-line commented codeRémi Verschelde
They do not play well with clang-format which aligns the `//` part with the rest of the code block, thus producing badly indented commented code.
2017-01-11Type renames:Juan Linietsky
Matrix32 -> Transform2D Matrix3 -> Basis AABB -> Rect3 RawArray -> PoolByteArray IntArray -> PoolIntArray FloatArray -> PoolFloatArray Vector2Array -> PoolVector2Array Vector3Array -> PoolVector3Array ColorArray -> PoolColorArray
2017-01-01Welcome in 2017, dear changelog reader!Rémi Verschelde
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer with state-of-the-art rendering techniques tuned to work as low as middle end handheld devices - without compromising with the possibilities given for higher end desktop games of course. Great times ahead for the Godot community and the gamers that will play our games!
2016-09-07Expose light shadow color to canvas item shadersPedro J. Estébanez
2016-01-01Update copyright to 2016 in headersGeorge Marques
2015-11-18Merge branch 'master' of https://github.com/okamstudio/godot into shadow_colorSaracen
Conflicts: drivers/gles2/shader_compiler_gles2.cpp
2015-11-08New shader feature: change the colour of shadows on a per-material basis.Saracen
Conflicts: drivers/gles2/shader_compiler_gles2.cpp
2015-11-02Added ability to write directly to 4-dimensional position vector from within ↵Saracen
custom vertex shader code. Bugfixes to shader graph code generation concerning xforms.
2015-09-03merged some stuff for okamJuan Linietsky
2015-05-04-corrected frac() and hyperbolic sin,cos,tan when running on PC (GLSL120), ↵Juan Linietsky
fixes #1775
2015-04-27-made normalmaps easier in 2D, fixes #1467Juan Linietsky
2015-04-18Updated copyright year in all headersJuan Linietsky
2015-04-03Changes to LightJuan Linietsky
-=-=-=-=-=-=-=-= -Changed material unshaded property for an enum, which supports light-only shading -Added a "Mix" shading mode, useful for using lights as masks -Added energy parameter to Light2D
2015-03-10New Demo, Screen Space ShadersJuan Linietsky
-Fixes to screen space shaders. -Fixes to isometric light demo.
2015-03-09lot of work on 2D lighting and isometric mapsJuan Linietsky
added a new demo, isometric_light that does full isometric sorting, lights, shadows, etc.
2015-02-18support for light and normal mapping in 2DJuan Linietsky
2015-01-21fixed world vertex issues in canvas item shaderJuan Linietsky
2015-01-20Visual Shader Editing for 2DJuan Linietsky
Editing 2D shaders with visual editor seems to work now.
2015-01-14Add missing shader function: refractsanikoyes
2015-01-13-begin work on unidirectional collision detectionJuan Linietsky
-fixed performance issue in new 2D engine -texscreen() working in shader 2D
2015-01-12-Initial working(?) implementation of shaders for 2D. Lighting still not ↵Juan Linietsky
there though. Check for reference: https://github.com/okamstudio/godot/wiki/shader
2015-01-112D shader progressreduz
2015-01-11-Initial (untested) implementation of 2D shaders. Probably broken, will be ↵Juan Linietsky
fixed later. -fixed issue of opacity not working
2015-01-08Fixes to GraphEdit:Juan Linietsky
-Working area is bigger now, solves #1148 -Using Position now works, fixes #1141 -RGB ops now work, fixes #1139 -Missing bindings to GraphEdit and GraphNode added -Shader Graph Editor Shows errors on cyclic links and missing connections
2014-10-14FixesJuan Linietsky
-=-=- -Fixed normalmap depth parameter -Fixes to DirAccess on Windows -Double click on resource dock will open them -Fixes to doc generator (should make github wiki on class list more up to date)
2014-10-14ColladaJuan Linietsky
-=-=-=- -Fixed some DAE import & export bugs -Changed Collada exporter to use the mesh loops API -Added tangent export to Collada exporter -Added triangulation option to Collada exporter -Changed a little how normalmaps are handled in shader. Not sure if it's working properly, be careful. -Fixed some strange bug with kinematic bodies #776 -Fix release compilaiton issues #782
2014-09-16CollisionPolygon (3D)Juan Linietsky
Workaround for round() on PC.
2014-08-14Little BitsJuan Linietsky
-=-=-=-=-=- -Fixed small bugs all around -Added ability to show/hide entire sections of the spatial (3D) tree -WIP new vehicle (not ready yet) based on Bullet
2014-08-01Small Issues & MaintenanceJuan Linietsky
-=-=-=-=-=-=-=-=-=-=-=-=-= -Begin work on Navigation Meshes (simple pathfinding for now, will improve soon) -More doc on theme overriding -Upgraded OpenSSL to version without bugs -Misc bugfixes
2014-06-27Misc FixesJuan Linietsky
========== -NOTIFICATION_WM_QUIT fixed on android (seems tha way this is reported changed in newer sdk) -WIP implementation of APK Expansion APIs for publishing games larger than 50mb in Play Store -Feaures in the new tutorials are all present in the sourcecode -This (hopefully) should get rid of the animation list order getting corrupted -Improved 3D Scene Importer (Skeletons, Animations and other stuff were not being merged). Anything missing? -In code editor, the automatic syntax checker will only use file_exists() to check preload() else it might freeze the editor too much while typing if the preload is a big resource -Fixed bugs in PolygonPathFinder, stil pending to do a node and a demo
2014-05-29More 3D ImprovementsJuan Linietsky
-=-=-=-=-=-=-=-=-=-= -Sprite3D and AnimatedSprite3D support. -Opaque pre-pass works, is compatible with shadows -Improved shadow map rendering (can differentiate between plain opaque and opaque with shaders/discard/etc) -Added option to use alpha discard in FixedMaterial -Improved Glow FX, many more options (three modes, Additive, Screen and SoftLight), strength and scale -Ability for Background (image or cubemap) to send to glow buffer -Dumb Deploy of clients now actually works in Android -Many Many rendering fixes, 3D is much more usable now.