summaryrefslogtreecommitdiff
path: root/drivers/gles2
AgeCommit message (Collapse)Author
2020-02-25Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.Juan Linietsky
- Renames PackedIntArray to PackedInt32Array. - Renames PackedFloatArray to PackedFloat32Array. - Adds PackedInt64Array and PackedFloat64Array. - Renames Variant::REAL to Variant::FLOAT for consistency. Packed arrays are for storing large amount of data and creating stuff like meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of memory. That said, many users requested the ability to have 64 bits packed arrays for their games, so this is just an optional added type. For Variant, the float datatype is always 64 bits, and exposed as `float`. We still have `real_t` which is the datatype that can change from 32 to 64 bits depending on a compile flag (not entirely working right now, but that's the idea). It affects math related datatypes and code only. Neither Variant nor PackedArray make use of real_t, which is only intended for math precision, so the term is removed from there to keep only float.
2020-02-18PoolVector is gone, replaced by VectorJuan Linietsky
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
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-12Merge pull request #36141 from Chaosus/shader_struct_member_arraysYuri Roubinsky
Added support for arrays as shader struct members
2020-02-12Added support for arrays as shader struct membersYuri Roubinsky
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-11Implementation of 'struct' for shadersYuri Roubinsky
2020-02-11Fix code formatting issues and VS compilationRémi Verschelde
Also temporarily disable multicheck build so that we get a full build even when there are style issues on Vulkan. Fixes #33356.
2020-02-11Rewritten StreamTexture for better code reuse, added basis universal supportJuan Linietsky
2020-02-11Custom material support seems complete.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-07Merge pull request #35142 from clayjohn/GLES2-add-3d-texturesRémi Verschelde
Add support for 3D textures to GLES2
2020-02-05Remove duplicate WARN_PRINT macro.Marcel Admiraal
2020-02-05Remove duplicate ERR_PRINT macro.Marcel Admiraal
2020-01-31Add support for 3D textures to GLES2clayjohn
2020-01-31Fix shader crash if using multiple underscores in identifier namesYuri Roubinsky
2020-01-24Fix Softbody always spawns from world center [gles2]Eric Rybicki
Fixes #35373
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-21Remove unused #if 0'ed codeRémi Verschelde
2020-01-16Merge pull request #35215 from clayjohn/multimesh-errorRémi Verschelde
Add multimesh format max for proper error checking
2020-01-16Add multimesh format max for proper error checkingclayjohn
2020-01-16Gracefully handle 3D textures in GLES2clayjohn
2020-01-16Disabled array initialization, const array and arr.length in shadersYuri Roubinsky
2020-01-16Merge pull request #35176 from clayjohn/csg-crashRémi Verschelde
Fix light related crashes
2020-01-16Merge pull request #35178 from clayjohn/GLES2-fix-lightmapRémi Verschelde
Fix array constructor for lightmaps
2020-01-15fix light related crashesclayjohn
2020-01-15Fix array constructor for lightmapsclayjohn
2020-01-15Add background mode keep to GLES2clayjohn
2020-01-12Fix light and multimesh crashesclayjohn
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 #34794 from clayjohn/GLES2-trimesh-crashRémi Verschelde
Fix crash on trimesh_create
2020-01-03Fix crash on trimesh_create by making surface->data available in non-tool buildsclayjohn
2020-01-03Merge pull request #34726 from nekomatata/polygon2d-antialiasing-fixRémi Verschelde
Fixed antialiasing option for Polygon2D with concave/hollow shapes
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-19Always use 16 bit renderbuffer depth on WebGLclayjohn
2019-12-15fix shadow color in GLES2 by making sRGBclayjohn
2019-12-12Merge pull request #34251 from bojidar-bg/32993-lightoccluder-flipRémi Verschelde
Flip cull mode when rendering flipped Light2D and LightOccluder2D
2019-12-12Merge pull request #34262 from clayjohn/default_point_sizeRémi Verschelde
Add a default POINT_SIZE
2019-12-11Flip cull mode when rendering flipped Light2D and LightOccluder2DBojidar Marinov
Fixes #32993
2019-12-10Add a default POINT_SIZEclayjohn
2019-12-10Merge pull request #34238 from clayjohn/GLES2-use-renderbuffer-post-processRémi Verschelde
Use renderbuffer depth for post-process buffers when appropriate
2019-12-09Use renderbuffer depth for post-process buffers when appropriateclayjohn
2019-12-09Force 32 bit depth buffer for WebGLclayjohn
2019-12-05GLES2: Fix uninitialized members in ShaderGLES2::VersionRémi Verschelde
Fixes #34109.