Commit graph

1202 commits

Author SHA1 Message Date
Micky
59e11934d8 Rename str2var to str_to_var and similar
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`
2022-08-26 14:58:22 +02:00
Rémi Verschelde
5d78ab4388
Merge pull request from tefusion/fix_skeleton_editor_mesh_free_errors
Fix typo in RendererSceneCull which caused mesh_free errors
2022-08-25 18:54:25 +02:00
Yuri Rubinsky
d4a10e7e04 Allow using integer varyings with flat interpolation modifier 2022-08-25 13:21:02 +03:00
Rémi Verschelde
91e5f48ea7
Merge pull request from KoBeWi/arrayy_lmao
Replace Array return types with TypedArray (part 2)
2022-08-24 08:18:56 +02:00
kobewi
1abdffe7a0 Replace Array return types with TypedArray 2 2022-08-23 23:21:32 +02:00
Rémi Verschelde
8317ff74d6
Merge pull request from MinusKube/editor-window-render-bug 2022-08-23 12:59:34 +02:00
tefusion
a2c422a6da Fix typo in RendererSceneCull
Frees skeleton 3d gizmo now correctly
2022-08-22 22:09:56 +02:00
Rémi Verschelde
7b4927bb5f
Merge pull request from The-O-King/oct 2022-08-22 19:29:21 +02:00
Omar El Sheikh
61522d8491 Add Blendshape Support
Update the blendshape shader to decode/encode octahedral normals
2022-08-20 20:59:28 -07:00
Hugo Locurcio
0c5f254956
Merge pull request from Geometror/fix-light-shadow-off 2022-08-20 17:06:03 +02:00
Yuri Rubinsky
499fd0a4e7 Add defined keyword support to shader preprocessor 2022-08-20 11:26:59 +03:00
Max Hilbrunner
5e0d2b5097
Merge pull request from clayjohn/vertexless-draw
Allow creating meshes without vertex positions
2022-08-20 05:32:28 +02:00
Hendrik Brucker
18585c69b3 Fix OmniLight/SpotLight shadow opacity calculation 2022-08-20 01:05:44 +02:00
clayjohn
bbbcdd725a Remove requirement to have vertex positions when creating a mesh. Meshes can now be constructed from an index buffer alone 2022-08-19 14:50:12 -06:00
Yuri Rubinsky
8779f51a5e
Merge pull request from bitsawer/fix-macro-expansion 2022-08-19 23:37:47 +03:00
Max Hilbrunner
019d6584ee
Merge pull request from clayjohn/screen-texture-hint
Add shader uniform hints for screen textures
2022-08-19 21:51:39 +02:00
Max Hilbrunner
117c530e1d
Merge pull request from clayjohn/DOF-scale
Properly scale depth in bokeh_dof effect
2022-08-19 21:16:32 +02:00
Yuri Rubinsky
35cfaafda8
Merge pull request from Chaosus/shader_elif 2022-08-19 07:01:22 +03:00
Aaron Franke
f91934872d
Use a const ref for the bone AABB in rendering code 2022-08-18 12:20:11 -05:00
Clay John
982ff7d925
Merge pull request from aaronfranke/aabb
Don't try to merge unused bone AABBs in the rendering server
2022-08-17 23:56:05 -06:00
Yuri Rubinsky
13ab70ed2a Add elif directive to shader preprocessor 2022-08-15 22:06:49 +03:00
Aaron Franke
e0d80b37e9
Don't try to merge unused bone AABBs in the rendering server 2022-08-14 23:30:48 -05:00
Yuri Rubinsky
22df2c527b Implement coloring for disabled branches in the shader editor 2022-08-14 13:57:26 +03:00
Omar El Sheikh
78881b3cc3 Octahedral Normal/Tangent Compression
Implementation of Octahedral normal compression into Godot 4.0
2022-08-13 08:09:32 -07:00
clayjohn
7d6287f616 Properly scale depth in bokeh_dof effect so that setting distance to blur effect is accurate again 2022-08-12 16:39:05 -06:00
Yuri Rubinsky
f2a6168414
Merge pull request from Chaosus/shader_texture_funcs 2022-08-12 21:28:22 +03:00
Yuri Rubinsky
e21aad968d Add textureQueryLod/Levels functions to the shader language 2022-08-12 20:44:57 +03:00
Yuri Rubinsky
7822fbc9e2 Add textureProjGrad function to the shader language 2022-08-12 12:01:37 +03:00
Hugo Locurcio
ff9118d103
Merge pull request from Calinou/3d-scaling-bilinear-use-negative-mipmap-bias 2022-08-11 21:41:37 +02:00
clayjohn
7c848ee591 Detect if VRS supported before creating default VRS texture 2022-08-10 13:27:19 -06:00
Hugo Locurcio
b06890c2b7
Use negative mipmap LOD bias for sub-native bilinear 3D scale
This provides a benefit similar to FSR 1.0 (greater texture sharpness
at the cost of some graininess at sub-native resolution scales), but
without the added performance cost of FSR 1.0.
2022-08-10 17:16:02 +02:00
MinusKube
be09a87ff9 Fix viewport sorting being wrong on parent/child relation 2022-08-10 01:23:23 +02:00
clayjohn
028ef2edc8 Add shader uniform hints for screen textures so users can specify custom 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-09 12:29:49 -04:00
Bastiaan Olij
f50f0844e9 Fix resource leaks in VoxelGI 2022-08-09 15:18:03 +10:00
bruvzg
e7464e7a30
Fix macOS and iOS defines in the rendering code. 2022-08-08 17:51:31 +03:00
Rémi Verschelde
8734ef1f7a
Merge pull request from clayjohn/ref_vec_pbr 2022-08-08 10:18:32 +02:00
Rémi Verschelde
f754dd20be
Merge pull request from Geometror/reflect-refract-vec2-vec4
Allow for vec2/vec4 to be used in reflect and refract
2022-08-07 19:16:05 +02:00
Hendrik Brucker
b8d5f4bdd5 Allow vec2 and vec4 for reflect and refract 2022-08-07 18:03:16 +02:00
Hugo Locurcio
baaa7503c7
Add a shadow opacity property to Light3D
This can be used to make shadows translucent for a specific light.

The light distance fade system also uses this to smoothly fade the shadow
when the light fade transition distance is greater than 0.
2022-08-07 11:06:32 +02:00
bitsawer
691e067ef5 Fix shader preprocessor macro expansion 2022-08-05 17:41:24 +03:00
Juan Linietsky
f999f52f0a Add a Framebuffer cache
Adds a FramebufferCache singletion that operates the same way as UniformSetCache.

Allows creating framebuffers on the fly (and keep them cached if re-requested) such as:

```C++
RID fb = FramebufferCache::get_singleton()->get_cache(texture1,texture2);
```
2022-08-05 13:37:29 +02:00
Hugo Locurcio
db22b7ded0
Rename shader parameter uniform setter/getter methods for consistency
`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.
2022-08-04 23:17:06 +02:00
Rémi Verschelde
8a9700c8a7 Force disable S3TC support on Android/iOS since we don't handle it
Fixes  for now.
This could be improved in the future if we want to properly support S3TC on mobile.
2022-08-04 18:27:56 +02:00
Rémi Verschelde
2c0c76c415
Merge pull request from Calinou/particles-default-global-coordinates 2022-08-03 11:38:23 +02:00
Rémi Verschelde
b27f06550c
Merge pull request from Calinou/decal-projector-add-nearest-mipmap-aniso 2022-08-03 11:37:28 +02:00
Rémi Verschelde
15fdf7bc86
Merge pull request from Calinou/ssr-fix-blend-margin
Fade screen-space reflection towards inner margin
2022-08-03 07:54:59 +02:00
Yuri Rubinsky
988041b74c
Merge pull request from Zylann/shader_switch_uint 2022-08-03 08:05:19 +03:00
Hugo Locurcio
d041ca6c02
Add Nearest Mipmap Anisotropic filter option to decals and projectors
This is consistent with the BaseMaterial3D filtering options.
It can be used for high-quality pixel art textures that remain sharp
when viewed at oblique angles, but prevents them from becoming grainy
thanks to mipmaps.
2022-08-03 03:49:15 +02:00
Hugo Locurcio
d38671827b
Fade screen-space reflection towards inner margin
- Fade reflection towards inner margin and clip it at screen edges
  instead of external margin.
- Round edges of the fade margin if both are being cut off to prevent
  sharp corners.

Co-authored-by: puchik <puchik@users.noreply.github.com>
2022-08-03 01:55:42 +02:00
Marc Gilleron
779a5cd34a Allow shading language to use switch statement with uints 2022-08-02 23:08:41 +01:00