summaryrefslogtreecommitdiff
path: root/drivers/gles3/rasterizer_canvas_gles3.cpp
AgeCommit message (Collapse)Author
2022-10-06Use a giant UBO to optimize performance in 2Dclayjohn
This removes the countless small UBO writes we had before and replaces them with a single large write per render pass. This results in much faster rendering on low-end devices but improves speed on all devices.
2022-09-15Fix/restore BackBufferCopyHendrik Brucker
2022-09-06Fix rendering when using WebGL2.clayjohn
Fixes include using proper depth buffer format in 3D (this had previously been fixed already but the changes were lost in a rebase), Remove unused lighting and shadowing code in 2D, and update 2D UBOs using glBufferSubData so that they remain the appropriate size.
2022-09-01Rename `uniform` to `parameter` across the engineYuri Rubinsky
2022-08-29[Web] Rename JavaScript platform to Web.Fabio Alessandrelli
Also rename export name from "HTML5" to "Web".
2022-08-23Add font LCD sub-pixel anti-aliasing support.bruvzg
2022-08-19Merge pull request #64167 from clayjohn/screen-texture-hintMax Hilbrunner
Add shader uniform hints for screen textures
2022-08-09Add shader uniform hints for screen textures so users can specify custom ↵clayjohn
filter and repeat modes. At this time, it works best in the Vulkan Renderers as they support using multiple samplers with the same texture. In GLES3 this feature really only allows you to use the screen texture without mipmaps if you want to save the cost of generating them.
2022-08-06Check also GLES3 in CIRafał Mikrut
2022-07-29fix 'Comparison result is always the same' warningsLinuxUserGD
2022-07-28Rename RenderingServer global shader uniform methods to be more explicitHugo Locurcio
The `global_shader_uniform` name is longer, but it makes it much easier to find the methods when searching in the class reference.
2022-07-28Merge pull request #57698 from ↵Rémi Verschelde
bluenote10/feature/rename_translated_to_translated_local
2022-07-23Implement Vector4, Vector4i, Projectionreduz
Implement built-in classes Vector4, Vector4i and Projection. * Two versions of Vector4 (float and integer). * A Projection class, which is a 4x4 matrix specialized in projection types. These types have been requested for a long time, but given they were very corner case they were not added before. Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity. **Q**: Why Projection and not Matrix4? **A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-16rename translate(d) to translate(d)_local in Transform 2D/3DFabian Keller
2022-06-28Split dependency logicBastiaan Olij
Split FOG Split visibility notifier Final cleanup of storage classes
2022-06-14Implement MultiMesh in 3D and flesh out MultiMesh functionsclayjohn
2022-05-25Implement NinePatchRects in GLES3 rendererclayjohn
2022-05-25Implement 2D Meshes and MultiMeshes in GLES3 backendclayjohn
2022-05-24Add clipping, backbuffer, and CanvasGroups to 2D GLES3 rendererclayjohn
As well as significant consequent cleanup in the RenderTarget, Texture, and Canvas renderer code
2022-05-12Basic 3D renderingclayjohn
2022-04-29Rename Basis "elements" to "rows"Aaron Franke
2022-04-29Rename Transform2D "elements" to "columns"Aaron Franke
2022-04-28Merge pull request #60503 from clayjohn/OPENGL-3DRémi Verschelde
2022-04-28Fix cppcheck const parametersMarkus Sauermann
Convert method signature parameters to const where it is possible # Conflicts: # drivers/gles3/rasterizer_canvas_gles3.cpp # drivers/gles3/rasterizer_canvas_gles3.h # editor/plugins/animation_state_machine_editor.cpp # editor/plugins/animation_state_machine_editor.h
2022-04-26Overhaul GLES3: Add basis for 3D renderer, overhaul materials and texturesclayjohn
2022-04-20Fix more issues found by cppcheck.bruvzg
2022-04-19Initialize OpenGL before rasterizers in GLES3clayjohn
2022-04-17Merge canvas and decal into TextureStorage and add render targetBastiaan Olij
2022-04-06Fix some issues found by cppcheck.bruvzg
2022-03-31Extract global variable, shader and material storageBastiaan Olij
2022-03-16Split dummy renderer classes into separate filesBastiaan Olij
Split canvas_texture_storage and texture_storage from render_storage class
2022-03-09Change some math macros to constexprkobewi
Changes `MAX`, `MIN`, `ABS`, `CLAMP` and `SIGN`.
2022-01-29simplify formatting scripts, add a clang-tidy script, and run clang-tidyNathan Franke
2022-01-11New OpenGL batching canvas rendererclayjohn
2022-01-11WIP New GLES3 Shader Compilerreduz
Uses versions and specializations (more similar to RenderingDevice version)
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-12-10Rename `hint_aniso` to `hint_anisotropy` in the shader languageHugo Locurcio
The word "anisotropy" is used in full form in BaseMaterial3D's anisotropy-related properties.
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-11A lot of progress with canvas rendering, still far from working.Juan Linietsky
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-01-16Add multimesh format max for proper error checkingclayjohn
2020-01-08RasterizerCanvas: Use getornull to fetch light occluder polygonRémi Verschelde
Fixes #21286 when the occluder is not fully configured.
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-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-23Fix canvas GLES3 skeleton transform uniform updating.Bruno Lourenço
2019-12-23Fix 2D lighting when using skeleton.Bruno Lourenço
2019-12-11Flip cull mode when rendering flipped Light2D and LightOccluder2DBojidar Marinov
Fixes #32993