summaryrefslogtreecommitdiff
path: root/drivers/gles3
AgeCommit message (Collapse)Author
2021-12-08Make `compile` shader function to use struct instead long parameter listYuri Roubinsky
2021-12-01Allow using empty statements in the shader, added formatting warningYuri Roubinsky
2021-11-23Implemented AMD's FSR as a computer shader for upscaling 3D scenesJe06jm
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-11-19Allow passing non-variable constant to const function param in shadersYuri Roubinsky
2021-11-12Fix default_texture_param in shader pipeline to support uniform arraysYuri Roubinsky
2021-11-01Fix memory leak when using CurveTexture.set_texture_modeHaoyu Qiu
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-12doc: Sync classref with current sourceRémi Verschelde
Lots of internal API changes and some docstrings were lost in the conversion. I manually salvaged many of them but for all the rendering-related ones, an additional pass is needed. Added missing enum bindings in BaseMaterial3D and VisualServer.
2020-02-11Rewritten StreamTexture for better code reuse, added basis universal supportJuan Linietsky
2020-02-11Rewrote large part of rendering, omni and spot shadows now work.Juan Linietsky
2020-02-11Environment sky more or less working.Juan Linietsky
2020-02-11Custom material support seems complete.Juan Linietsky
2020-02-11Completed material/2D shader support (missing SCREEN_TEXTURE)Juan Linietsky
2020-02-11basic 2D engine is more or less working with Vulkan, including editor.Juan Linietsky
Still a lot to do
2020-02-11A lot of progress with canvas rendering, still far from working.Juan Linietsky
2020-02-11Texture refactorJuan Linietsky
-Texture renamed to Texture2D -TextureLayered as base now inherits 2Darray, cubemap and cubemap array -Removed all references to flags in textures (they will go in the shader) -Texture3D gone for now (will come back later done properly) -Create base rasterizer for RenderDevice, RasterizerRD
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 WARN_PRINT macro.Marcel Admiraal
2020-02-05Remove duplicate ERR_PRINT macro.Marcel Admiraal
2020-01-31Fix shader crash if using multiple underscores in identifier namesYuri Roubinsky
2020-01-25Add project setting for max irradiance sizeclayjohn
2020-01-23Fix recently introduced crash in viewport sizeclayjohn
2020-01-22Merge pull request #35406 from lawnjelly/ortho-shadowRémi Verschelde
Replace CameraMatrix::get_viewport_size with get_viewport_half_extents, shadow culling with ortho camera and other affected issues
2020-01-22Change CameraMatrix::get_viewport_size to get_viewport_half_extentslawnjelly
Fixes #26637. Fixes #19900. The viewport_size returned by get_viewport_size was previously incorrect, being half the correct value. The function is renamed to get_viewport_half_extents, and now returns a Vector2. Code which called this function has also been modified accordingly. This PR also fixes shadow culling when using ortho cameras, because the correct input for CameraMatrix::set_orthogonal should be the full HEIGHT from get_viewport_half_extents, and not half the width. It also fixes state.ubo_data.viewport_size in rasterizer_scene_gles3.cpp to be the width and the height of the viewport in pixels as stated in the documentation, rather than the current value which is half the viewport extents in worldspace, presumed to be a bug.
2020-01-22GLES3: Fix invalid value for GL_TEXTURE_MAG_FILTER parameterRémi Verschelde
`GL_LINEAR_MIPMAP_LINEAR` can be used for `GL_TEXTURE_MIN_FILTER`, but not for `GL_TEXTURE_MAG_FILTER`. Cf. https://www.khronos.org/opengl/wiki/GLAPI/glTexParameter Fixes #35436.
2020-01-21Remove unused #if 0'ed codeRémi Verschelde
2020-01-19Merge pull request #35310 from akien-mga/gles3-irradiance-small-optimizationRémi Verschelde
GLES3: Slight optimization to irradiance compute
2020-01-19GLES3: Slight optimization to irradiance computeRémi Verschelde
All the calculations leading up to `mipLevel` are only relevant for Panorama mode. Similarly, the `source_resolution` uniform is only needed for that mode.
2020-01-18reduce complexity of irradiance map generationclayjohn
2020-01-16Add multimesh format max for proper error checkingclayjohn
2020-01-15fix light related crashesclayjohn
2020-01-13Merge pull request #35064 from clayjohn/rendering_crashesRémi Verschelde
Fix light and multimesh crashes
2020-01-12Fix light and multimesh crashesclayjohn
2020-01-12Fix generation of irradiance mapclayjohn
2020-01-08RasterizerCanvas: Use getornull to fetch light occluder polygonRémi Verschelde
Fixes #21286 when the occluder is not fully configured.
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-03Merge pull request #34726 from nekomatata/polygon2d-antialiasing-fixRémi Verschelde
Fixed antialiasing option for Polygon2D with concave/hollow shapes
2020-01-03Merge pull request #34551 from MadEqua/fix-light-with-skeletonRémi Verschelde
Fix 2D lighting when using skeleton.
2020-01-01Fix wrong return typeTritium Oxide
`ERROR: _display_error_with_code: CanvasShaderGLES3: Fragment Program Compilation Failed: 0:166(2): error: `return' with wrong type int, in function `map_ninepatch_axis' returning float` caused by #34704
2020-01-01GLES3: Fix false positive in ninepatch axis stretch codeRémi Verschelde
See #34704.
2020-01-01Fixed antialiasing option for Polygon2DPouleyKetchoupp
Some cases were not handled properly for Polygon2D after making changes in common code to fix Line2D antialiasing. Added an option for drawing polygons to differentiate the two use cases. Fixes #34568
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-12-30Merge pull request #34685 from winston-yallow/fix_omnilight_attenuationRémi Verschelde
Use correct omni light attenuation
2019-12-29Use correct omni light attenuationWinston
fixes godotengine/godot#34683
2019-12-28Reset GLES3 MultiMesh buffer id when reallocating.Bruno Lourenço
2019-12-23Fix canvas GLES3 skeleton transform uniform updating.Bruno Lourenço
2019-12-23Fix 2D lighting when using skeleton.Bruno Lourenço
2019-12-21Merge pull request #34527 from MadEqua/fix-gles3-light-cutoffRémi Verschelde
Fix GLES3 light cutoff.