summaryrefslogtreecommitdiff
path: root/servers/rendering/renderer_rd
AgeCommit message (Collapse)Author
2022-09-02Merge pull request #65170 from KoBeWi/your_argument_is_TypedArrayRémi Verschelde
2022-09-02Merge pull request #64952 from Chaosus/vs_rename_uniform_to_paramRémi Verschelde
2022-09-01Merge pull request #60185 from Calinou/environment-fog-and-sky-affectRémi Verschelde
2022-09-01Add Environment properties to control fog rendering on background skyHugo Locurcio
Values lower than 1.0 can be used to make the fog rendering not fully obstruct the sky. This can be desired when using fog as a purely atmospheric effect, without intending to use fog for open world fog fading. When set to 0.0, fog rendering behavior will be similar to Godot 3.x where sky rendering was never affected by fog.
2022-09-01Change Array arguments to TypedArraykobewi
2022-09-01Extracting render buffers and changing it to a more generic solutionBastiaan Olij
2022-09-01Rename `uniform` to `parameter` across the engineYuri Rubinsky
2022-08-31Implement Physical Light Units as an optional setting.clayjohn
This allows light sources to be specified in physical light units in addition to the regular energy multiplier. In order to avoid loss of precision at high values, brightness values are premultiplied by an exposure normalization value. In support of Physical Light Units this PR also renames CameraEffects to CameraAttributes.
2022-08-31Merge pull request #65130 from BastiaanOlij/fix_mobile_signed_tangentRémi Verschelde
Fix vector type for signed tangent in mobile shader
2022-08-31Fix vector type for signed tangent in mobile shaderBastiaan Olij
2022-08-30Add a per-light volumetric fog energy propertyHugo Locurcio
Per-light energy gives more control to the user on the final result of volumetric fog. Specific lights can be fully excluded from volumetric fog by setting their volumetric fog energy to 0, which improves performance slightly. This can also be used to prevent short-lived dynamic effects from poorly interacting with volumetric fog, as it's updated over several frames by default unless temporal reprojection is disabled. Volumetric fog shadows now obey Light3D's Shadow Opacity property as well. The shadow fog fade property was removed as it had little visible impact on the final scene's rendering.
2022-08-30Merge pull request #63003 from Geometror/msaa-2dRémi Verschelde
2022-08-29Rename String `plus_file` to `path_join`Aaron Franke
2022-08-29Fix updating OccluderPolygon shapessakrel
2022-08-26Merge pull request #64223 from Calinou/taa-fxaa-use-negative-mipmap-lod-biasRémi Verschelde
Automatically use negative mipmap LOD bias when TAA and/or FXAA are enabled
2022-08-26Merge pull request #64367 from Mickeon/rename-var-to-strRémi Verschelde
Rename `str2var` to `str_to_var` and similar
2022-08-26Rename `str2var` to `str_to_var` and similarMicky
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-26Merge pull request #64422 from bruvzg/make_fonts_unbearably_ugly_2.0Rémi Verschelde
2022-08-26Rename ParticlesMaterial to ParticleProcessMaterialMicky
Also affects their file names, related classes and documentation.
2022-08-25Automatically use negative mipmap LOD bias when TAA and/or FXAA are enabledHugo Locurcio
This improves texture sharpness when TAA and/or FXAA are enabled, without requiring manual user intervention.
2022-08-23Add font LCD sub-pixel anti-aliasing support.bruvzg
2022-08-22Merge pull request #60309 from The-O-King/octRémi Verschelde
2022-08-20Add Blendshape SupportOmar El Sheikh
Update the blendshape shader to decode/encode octahedral normals
2022-08-20Merge pull request #64110 from Geometror/fix-light-shadow-offHugo Locurcio
2022-08-20Merge pull request #62046 from clayjohn/vertexless-drawMax Hilbrunner
Allow creating meshes without vertex positions
2022-08-20Fix OmniLight/SpotLight shadow opacity calculationHendrik Brucker
2022-08-19Remove requirement to have vertex positions when creating a mesh. Meshes can ↵clayjohn
now be constructed from an index buffer alone
2022-08-19Merge pull request #64167 from clayjohn/screen-texture-hintMax Hilbrunner
Add shader uniform hints for screen textures
2022-08-19Merge pull request #64342 from clayjohn/DOF-scaleMax Hilbrunner
Properly scale depth in bokeh_dof effect
2022-08-18Use a const ref for the bone AABB in rendering codeAaron Franke
2022-08-14Don't try to merge unused bone AABBs in the rendering serverAaron Franke
2022-08-13Octahedral Normal/Tangent CompressionOmar El Sheikh
Implementation of Octahedral normal compression into Godot 4.0
2022-08-13Implement MSAA for 2D [Vulkan only]Hendrik Brucker
2022-08-12Properly scale depth in bokeh_dof effect so that setting distance to blur ↵clayjohn
effect is accurate again
2022-08-11Merge pull request #64225 from ↵Hugo Locurcio
Calinou/3d-scaling-bilinear-use-negative-mipmap-bias
2022-08-10Detect if VRS supported before creating default VRS textureclayjohn
2022-08-10Use negative mipmap LOD bias for sub-native bilinear 3D scaleHugo Locurcio
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-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-09Fix resource leaks in VoxelGIBastiaan Olij
2022-08-08Fix macOS and iOS defines in the rendering code.bruvzg
2022-08-08Merge pull request #62547 from clayjohn/ref_vec_pbrRémi Verschelde
2022-08-07Add a shadow opacity property to Light3DHugo Locurcio
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-05Add a Framebuffer cacheJuan Linietsky
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-04Rename shader parameter uniform setter/getter methods for consistencyHugo Locurcio
`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-04Force disable S3TC support on Android/iOS since we don't handle itRémi Verschelde
Fixes #63909 for now. This could be improved in the future if we want to properly support S3TC on mobile.
2022-08-03Merge pull request #61851 from Calinou/particles-default-global-coordinatesRémi Verschelde
2022-08-03Merge pull request #51531 from Calinou/decal-projector-add-nearest-mipmap-anisoRémi Verschelde
2022-08-03Add Nearest Mipmap Anisotropic filter option to decals and projectorsHugo Locurcio
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-03Fade screen-space reflection towards inner marginHugo Locurcio
- 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-02Use global coordinates for particles by defaultHugo Locurcio
Particles won't move or rotate anymore with the node (or its parents) by default. This new default behavior is generally more suited to most use cases. Local coordinates can still be enabled on a per-node basis. This affects both 2D and 3D particles, and both CPU and GPU-based particles.