summaryrefslogtreecommitdiff
path: root/drivers/gles3/rasterizer_gles3.cpp
AgeCommit message (Collapse)Author
2021-11-19[HTML5] Add WebGL2 (GLES3) support using the OpenGL renderer.Fabio Alessandrelli
Note, the editor build requires the mbedtls module to be manually enabled, as it is currently needed as a ResourceUID dependency. This will need to be addressed in a separate PR.
2021-10-31Use OpenGL 3.3 core profile instead of compatibility profileClay John
- Rename OpenGL to GLES3 in the source code per community feedback. - The renderer is still exposed as "OpenGL 3" to the user. - Hide renderer selection dropdown until OpenGL support is more mature. - The renderer can still be changed in the Project Settings or using the `--rendering-driver opengl` command line argument. - Remove commented out exporter code. - Remove some OpenGL/DisplayServer-related debugging prints.
2020-02-13Remove obsolete GLES3 backendRémi Verschelde
Due to the port to Vulkan and complete redesign of the rendering backend, the `drivers/gles3` code is no longer usable in this state and is not planned to be ported to the new architecture. The GLES2 backend is kept (while still disabled and non-working) as it will eventually be ported to serve as the low-end renderer for Godot 4.0. Some GLES3 features might be selectively ported to the updated GLES2 backend if there's a need for them, and extensions we can use for that. So long, OpenGL driver bugs!
2020-02-11Refactored RID/RID_Owner to always use O(1) allocation.Juan Linietsky
* Implements a growing chunked allocator * Removed redudant methods get and getptr, only getornull is supported now.
2020-02-05Remove duplicate ERR_PRINT macro.Marcel Admiraal
2020-01-21Remove unused #if 0'ed codeRémi Verschelde
2020-01-06Add VisualServer methods to get the video adapter name and vendorHugo Locurcio
These methods can be used in scripts to retrieve the OpenGL `GL_RENDERER` and `GL_VENDOR` strings (respectively). This closes #28404.
2020-01-01Update copyright statements to 2020Rémi Verschelde
Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
2019-06-15Add an option to disable boot splash filteringHugo Locurcio
Disabling filtering is usually desired in projects using a pixel art style. This closes #19415.
2019-04-07Merge pull request #27067 from shartte/remove-context-glRémi Verschelde
Remove ContextGL
2019-04-06Remove ContextGL since as an abstraction it's unused.Sebastian Hartte
2019-04-06Add option to have viewport render into supplied textureBastiaan Olij
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-11-23Prevent GLAPIENTRY redefine in rasterizer, now included in glad.hRémi Verschelde
We otherwise had conflicting defines since 1a41daf3.
2018-11-02Cleaning up some uninitialised variables in GLES2 stuff.Ibrahn Sahir
Initialise keep_original_textures and use_fast_texture_filter in storage config. Removed any other variables from storage config that were both unused and uninitialised to avoid future confusion (if they're needed it's easier to spot an uninitialised variable problem in a PR that adds the variable again rather than just uses it). Copied storage Texture struct constructor from GLES3 implementation (except where variables were already initialised with different values). Gives us sensible tested defaults for previously uninitialised vars. Added assignments for state.current_main_tex based on same in GLES3.
2018-10-25Merge pull request #22779 from Superwaitsum/LimitSettingsRémi Verschelde
Limit several project settings
2018-10-24Add some limits on the Editor SettingsSuperwaitsum
2018-10-19Fixing warnings generated by MSVCDualtagh Murray
Fixes #22684.
2018-10-03Fix some more warnings reported by CIRémi Verschelde
Fixes the following Clang 7 warnings: ``` core/io/marshalls.cpp:872:10: warning: unused variable 'f' [-Wunused-variable] core/ustring.cpp:1831:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] core/ustring.cpp:1832:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] drivers/gles3/rasterizer_gles3.cpp:82:24: warning: unused function '_gl_debug_print' [-Wunused-function,34] main/main.cpp:118:13: warning: unused variable 'auto_build_solutions' [-Wunused-variable] modules/csg/csg_gizmos.cpp:225:46: warning: 'current' may be used uninitialized in this function [-Wmaybe-uninitialized] ```
2018-10-02Moving lens distortion shader into drivers and adding GLES2 supportBastiaan Olij
2018-10-01SCons: Remove avoidable defines from main env's CPPPATHRémi Verschelde
Also finally move freetype to its own env and disable warnings for it. Still needs some work to fix the awkward situation of the freetype and svg modules used in scene/ and editor/ respectively.
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-26Fall back to GLES2 if GLES3 is not workingHein-Pieter van Braam
This adds a static is_viable() method to all rasterizers which has to be called before initializing the rasterizer. This allows us to check what rasterizer to use in OS::initialize together with the GL context initialization. This commit also adds a new project setting "rendering/quality/driver/driver_fallback" which allows the creator of a project to specify whether or not fallback to GLES2 is allowed. This setting is ignored for the editor so the editor will always open even if the project itself cannot run. This will hopefully reduce confusion for users downloading projects from the internet. We also no longer crash when GLES3 is not functioning on a platform. This fixes #15324
2018-08-24Add print_verbose to print to stdout only in verbose modeRémi Verschelde
Equivalent of the cumbersome: if (OS::get_singleton()->is_stdout_verbose()) print_line(msg);
2018-07-30add 3D texturesThomas Herzog
2018-07-29Clear color was not correctly being set, fixes #4939Juan Linietsky
2018-07-25Merge pull request #20448 from volzhs/duplicated-codeRémi Verschelde
Remove duplicated codes
2018-07-25Remove duplicated codesvolzhs
2018-06-05Rasterizers are now in sync with engineGustav Lund
The rasterisers (both GLES3 and GLES2) were calculating their own frame delta time This fix lets the rasterizers get the frame delta through the draw call That way any regulations to the frame step from the main script will not cause particle systems to process at a different step than the rest of the Engine. Remove unused rasterizer storage variable frame.prev_tick variable were not used anywhere and has been removed
2018-05-18Fix UWP build after #14622.bruvzg
2018-05-08Merge pull request #14622 from bruvzg/non-rectangular-windowsHein-Pieter van Braam
Experimental support for windows with per-pixel transparency.
2018-04-21Fixes logically dead code (Coverity)Crazy-P
Fixes reported logically dead codes by Coverity * image.cpp: Doesn't really need any modification. But to remove the bug report then we have to move the MAX call away from the for loop statement. * rasterizer_gles3.cpp: Removes unnecessary elif condition since it is checked earlier in the function * collada.cpp: If stamement never reached due to macro ERR_CONTINUE does the same. * navigation_mesh.cpp: Variables should always be null - however, also checked for the very same condition in their function call. Leaving this for review (whether the function call is necessary or not) * path_editor_plugin.cpp: If cancel is true, then it should restore the edited value to the original provided. http://docs.godotengine.org/en/3.0/classes/class_editorspatialgizmo.html#class-editorspatialgizmo-commit-handle * spatial_editor_gizmos.cpp: the very condition of i >= 3 is predetermined in the if case right before it. Thus case 1 is always '1' and case 2 is always '-1' * grid_map_editor.cpp: Same as above in spatial_editor_gizmos.cpp * voxel_light_baker.cpp: Same as above in spatial_editor_gizmos.cpp * visual_server.cpp: Same as above in spatial_editor_gizmos.cpp * visual_script_expression.cpp: char '-' is already true in the switch case mechanism. Thus it can never reach to default case. * particles.cpp: Case 'PARAM_MAX' is unreachable due to index checking right before the switch execution. * shader_language.cpp: Invalid index is handled in switch default case. `type < TYPE_FLOAT && type > TYPE_VEC4` -> `(type < TYPE_FLOAT || type > TYPE_VEC4`) Fixes the "always false problem" in TODO comment.
2018-04-07Experimental support for windows with per-pixel transparency (macOS, X11 and ↵bruvzg
Windows).
2018-03-13Fixed several leaks in VisualServerScene, RasterizerSceneGLES3 and ↵Wilson E. Alvarez
RasterizerGLES3
2018-03-05Add GL_ARB_framebuffer_object extension support check and ↵bruvzg
GL_EXT_framebuffer_object fallback for GLES2 (updated GLAD bindings). Add GL_ARB_debug_output extension support check on all platforms.
2018-01-10Fix stretch aspect keep modevolzhs
Fix #15407 Fix #15514
2018-01-05Add missing copyright headers and fix formattingRémi Verschelde
Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
2018-01-02Some fixes to improve precision and speed on Android. Fixes precision issues ↵Juan Linietsky
on Mali and PowerVR.
2018-01-01Update copyright statements to 2018Rémi Verschelde
Happy new year to the wonderful Godot community!
2017-12-17Cleanup some #if 0'd codeRémi Verschelde
2017-11-26Merge pull request #13264 from zatherz/feature/projectsettings_limitsJuan Linietsky
Add range to anisotropic filter level
2017-11-25Add range to anisotropic filter level (1 to 16 with integer steps)Zatherz
2017-11-25Add ability to opt-out buffer swapping in `VS::draw()`Pedro J. Estébanez
2017-11-19Check whether GL context supports the expected APIRémi Verschelde
I couldn't test it yet myself (GPU supports GL 4.5), so we'll need to see if it behaves as expected on systems that don't support OpenGL 3.3 or GL ES 3.0.
2017-11-13Disable OpenGL warnings unless running with -v, closes #7171Juan Linietsky
2017-11-06Remove performance warnings, closes #11585Juan Linietsky
2017-08-27Use HTTPS URL for Godot's website in the headersRémi Verschelde
2017-08-26Added/Fixed null pointer checksWilson E. Alvarez
2017-08-08sorry, leftover bug fixedJuan Linietsky
2017-08-08-Made visual server time affected by global time scale, closes #5583Juan Linietsky
-Restored time rollover in visual server