summaryrefslogtreecommitdiff
path: root/drivers/gles3
AgeCommit message (Collapse)Author
2022-01-17Remove property hints referencing unsupported svgz extensionRémi Verschelde
The wrongly claimed support for it was removed in #49645. See also #56862.
2022-01-14Remove support for PVRTC texture encoding and decodingHugo Locurcio
On the only platform where PVRTC is supported (iOS), ETC2 generally supersedes PVRTC in every possible way. The increased memory usage is not really a problem thanks to modern iOS' devices processing power being higher than its Android counterparts.
2022-01-12Remove mistakenly added author infoclayjohn
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-07Fix typos with codespellRémi Verschelde
Using codespell 2.1.0. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang ans ba curvelinear dof doubleclick fave findn gird inout leapyear lod merchantibility nd numer ois ony que readded seeked statics
2022-01-05Added material_overlay property to MeshInstance3DFernando Cosentino
Applying overlay materials into multi-surface meshes currently requires adding a next pass material to all the surfaces, which might be cumbersome when the material is to be applied to a range of different geometries. This also makes it not trivial to use AnimationPlayer to control the material in case of visual effects. The material_override property is not an option as it works replacing the active material for the surfaces, not adding a new pass. This commit adds the material_overlay property to GeometryInstance3D (and therefore MeshInstance3D), having the same reach as material_override (that is, all surfaces) but adding a new material pass on top of the active materials, instead of replacing them.
2022-01-04Merge pull request #55790 from Calinou/renderingserver-add-device-type-getterRémi Verschelde
Add `RenderingServer.get_video_adapter_type()` method
2022-01-04Merge pull request #56305 from Calinou/rename-lod-thresholdRémi Verschelde
2022-01-04Merge pull request #51206 from clayjohn/Vulkan-ASSGIRémi Verschelde
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2022-01-02Fix various typosluz paz
Found via ` codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,expct,fave,findn,gird,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint,varn` Update editor/import/resource_importer_layered_texture.cpp Co-authored-by: Raul Santos <raulsntos@gmail.com> Update doc/classes/TileSetScenesCollectionSource.xml Co-authored-by: Raul Santos <raulsntos@gmail.com> Update scene/gui/graph_edit.cpp Co-authored-by: Raul Santos <raulsntos@gmail.com> Update scene/resources/animation.cpp Co-authored-by: Raul Santos <raulsntos@gmail.com> Update scene/resources/animation.cpp Co-authored-by: Raul Santos <raulsntos@gmail.com> Update scene/resources/animation.cpp Co-authored-by: Raul Santos <raulsntos@gmail.com> Update scene/gui/rich_text_label.cpp Co-authored-by: Raul Santos <raulsntos@gmail.com> Revert previously committed change
2021-12-29Rename Lod Threshold to Mesh Lod ThresholdHugo Locurcio
This makes it more obvious that the setting only affects mesh LOD, not manual (H)LOD achieved using visibility ranges.
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-12-10Add `RenderingServer.get_video_adapter_type()` methodHugo Locurcio
This can be used to distinguish between integrated, dedicated, virtual and software-emulated GPUs. This in turn can be used to automatically adjust graphics settings, or warn users about features that may run slowly on their hardware.
2021-12-10Merge pull request #55572 from aaronfranke/ci-doubleRémi Verschelde
2021-12-09Add a double-precision editor build to CIAaron Franke
2021-12-09Replace String comparisons with "", String() to is_empty()Nathan Franke
Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings
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-06Added SSIL post processing effectclayjohn
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