summaryrefslogtreecommitdiffstats
path: root/servers/rendering/renderer_rd/renderer_canvas_render_rd.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Code simplifications found by cppcheckMarkus Sauermann2022-11-211-7/+1
| | | | | | | They are based on: - Boolean arithmetic simplifications - setting variables that are not accessed - constant variables
* Fix drawing of 2D skeletons in the RD renderer.clayjohn2022-11-181-12/+0
| | | | | | Also clean up skeleton code in preparation for adding them to GLES3 Properly update Mesh2D AABBs when skeleton is updated
* Merge pull request #67374 from MrBlockers/fix-draw-primitiveRémi Verschelde2022-11-111-1/+1
|\ | | | | | | Fix draw_primitive ignoring texture argument
| * Fix draw_primitive ignoring texture argumentMrBlockers2022-10-211-1/+1
| |
* | Add 2D shadows and canvas SDF to OpenGL3 rendererclayjohn2022-10-281-1/+2
| | | | | | | | | | | | This is an initial implementation based on the current RD implementation Performance will improve later
* | Merge pull request #67043 from clayjohn/clip_childrenClay John2022-10-271-5/+42
|\ \ | | | | | | Improve behaviour of clip_children by clipping to parent alpha value but still retaining parent color
| * | Implement multiple clip_children modes for CanvasItemsclayjohn2022-10-141-4/+12
| | |
| * | Improve behaviour of clip_children by clippingclayjohn2022-10-131-4/+33
| |/ | | | | | | | | to parent alpha value, but still retaining parent color
* / Clean up Basis from Euler codeAaron Franke2022-10-211-1/+1
|/
* SCons: Re-enable treating `#warning` as error with `werror`Rémi Verschelde2022-10-101-4/+1
| | | | | | | | Replace all TODO uses of `#warning` by proper TODO comments, and will open matching bug reports to keep track of them. We don't have a great track record fixing TODOs, but I'd wager we're even worse for fixing these "TODO #warning" so we should prohibit this usage.
* Allow clearing backbuffer after finishing CanvasGroupclayjohn2022-10-071-0/+2
| | | | | This avoids an issue where having multiple CanvasGroups overlap would create a weird artifact
* Merge pull request #66683 from clayjohn/SRGB-canvasitemRémi Verschelde2022-10-051-1/+1
|\ | | | | | | Default CanvasItem materials to use sRGB space for uniform colors
| * Default CanvasItem materials to not convert uniform colors to linear space.clayjohn2022-09-301-1/+1
| | | | | | | | | | The 2D renderer in Godot is totally in sRGB space so it is appropriate to keep 2D uniform colors in sRGB space
* | Rename Projection `matrix` to `columns`Aaron Franke2022-10-041-3/+3
|/
* Clean up canvas light shader API.clayjohn2022-09-281-0/+2
| | | | | Expose LIGHT_ENERGY and LIGHT_IS_DIRECTIONAL. Add LIGHT_DIRECTION
* Fix/restore BackBufferCopyHendrik Brucker2022-09-151-4/+17
|
* Rename `uniform` to `parameter` across the engineYuri Rubinsky2022-09-011-2/+2
|
* Fix updating OccluderPolygon shapessakrel2022-08-291-2/+2
|
* Merge pull request #64367 from Mickeon/rename-var-to-strRémi Verschelde2022-08-261-1/+1
|\ | | | | Rename `str2var` to `str_to_var` and similar
| * Rename `str2var` to `str_to_var` and similarMicky2022-08-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Affects the Math class, a good chunk of the audio code, and a lot of other miscellaneous classes, too. - `var2str` -> `var_to_str` - `str2var` -> `str_to_var` - `bytes2var` -> `bytes_to_var` - `bytes2var_with_objects` -> `bytes_to_var_with_objects` - `var2bytes` -> `var_to_bytes` - `var2bytes_with_objects` -> `var_to_bytes_with_objects` - `linear2db` -> `linear_to_db` - `db2linear` -> `db_to_linear` - `deg2rad` -> `deg_to_rad` - `rad2deg` -> `rad_to_deg` - `dict2inst` -> `dict_to_inst` - `inst2dict` -> `inst_to_dict`
* | Add font LCD sub-pixel anti-aliasing support.bruvzg2022-08-231-11/+63
|/
* Merge pull request #64167 from clayjohn/screen-texture-hintMax Hilbrunner2022-08-191-8/+21
|\ | | | | Add shader uniform hints for screen textures
| * Add shader uniform hints for screen textures so users can specify custom ↵clayjohn2022-08-091-8/+21
| | | | | | | | | | | | | | | | 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.
* | Rename shader parameter uniform setter/getter methods for consistencyHugo Locurcio2022-08-041-1/+1
|/ | | | | | `shader_uniform` is now consistenly used across both per-shader and per-instance shader uniform methods. This makes methods easier to find in the class reference when looking for them.
* Changed storage structs to privateBastiaan Olij2022-08-011-11/+11
|
* Rename RenderingServer global shader uniform methods to be more explicitHugo Locurcio2022-07-281-2/+2
| | | | | The `global_shader_uniform` name is longer, but it makes it much easier to find the methods when searching in the class reference.
* Merge pull request #57698 from ↵Rémi Verschelde2022-07-281-1/+1
|\ | | | | | | bluenote10/feature/rename_translated_to_translated_local
| * rename translate(d) to translate(d)_local in Transform 2D/3DFabian Keller2022-07-161-1/+1
| |
* | Merge pull request #62972 from Chaosus/shader_groupsRémi Verschelde2022-07-261-0/+15
|\ \ | | | | | | Implement shader uniform groups/subgroups
| * | Implement shader uniform groups/subgroupsYuri Rubinsky2022-07-261-0/+15
| | |
* | | Merge pull request #63236 from halgriffiths/fix-texture-rect-transposeRémi Verschelde2022-07-261-1/+1
|\ \ \ | |/ / |/| | send FLAGS_TRANSPOSE_RECT to Vulkan
| * | send FLAGS_TRANSPOSE_RECT to Vulkanhalgriffiths2022-07-221-1/+1
| | |
* | | Implement Vector4, Vector4i, Projectionreduz2022-07-231-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Clean up Shader Preprocessorreduz2022-07-221-0/+4
|/ / | | | | | | | | | | | | | | | | * Moved preprocessor to Shader and ShaderInclude * Clean up RenderingServer side * Preprocessor is separate from parser now, but it emits tokens with include location hints. * Improved ShaderEditor validation code * Added include file code completion * Added notification for all files affected by a broken include.
* | Merge pull request #63057 from sakrel/vulkan-fix-2d-shadowsRémi Verschelde2022-07-181-2/+3
|\ \
| * | Fix DirectionalLight2D and PointLight2D shadows not rendering correctlysakrel2022-07-151-2/+3
| |/
* / added usage_defines for SPECULAR_SHININESSDavid R2022-07-181-0/+1
|/ | | | added usage defines for opengl3 renderer
* Split dependency logicBastiaan Olij2022-06-281-2/+1
| | | | | | Split FOG Split visibility notifier Final cleanup of storage classes
* Replace most uses of Map by HashMapreduz2022-05-161-3/+3
| | | | | | | | | | | | * Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
* Merge pull request #60627 from aaronfranke/rename-elementsRémi Verschelde2022-05-031-41/+41
|\ | | | | Rename Transform2D and Basis `elements` to `columns` and `rows` respectively
| * Rename Basis "elements" to "rows"Aaron Franke2022-04-291-9/+9
| |
| * Rename Transform2D "elements" to "columns"Aaron Franke2022-04-291-32/+32
| |
* | Style: Partially apply clang-tidy's `cppcoreguidelines-pro-type-member-init`Rémi Verschelde2022-05-021-6/+0
|/ | | | | | | | | | | Didn't commit all the changes where it wants to initialize a struct with `{}`. Should be reviewed in a separate PR. Option `IgnoreArrays` enabled for now to be conservative, can be disabled to see if it proposes more useful changes. Also fixed manually a handful of other missing initializations / moved some from constructors.
* Merge pull request #59979 from bruvzg/cpp_check2Rémi Verschelde2022-04-271-4/+4
|\
| * Fix more issues found by cppcheck.bruvzg2022-04-201-4/+4
| |
* | Fix clearing backbuffer if there are no itemsNNesh2022-04-251-3/+13
|/
* Moved particles into ParticlesStorageBastiaan Olij2022-04-171-22/+25
|
* Merge canvas and decal into TextureStorage and add render targetBastiaan Olij2022-04-171-37/+43
|
* Fix some issues found by cppcheck.bruvzg2022-04-061-6/+6
|
* Move storage for Mesh, MeshInstance, MultiMesh and Skeleton into MeshStorageBastiaan Olij2022-04-021-22/+26
|