Commit Graph

62 Commits

Author SHA1 Message Date
clayjohn 4abf47f407 Implement is_animated and casts_shadows
This allows the renderer to correctly decide when to update shadow maps

This PR also adds TIME to a few missing places
2022-11-13 14:09:21 -08:00
Hugo Locurcio fb742cb16f
Document the BaseMaterial3D class
This makes the class 100% documented again.
2022-10-24 18:40:01 +02:00
Micky c1b5b68eee Rename remaining "*_enable" to "*_enabled"
Material.`proximity_fade_enable` -> `proximity_fade_enabled`
Material.`set_proximity_fade` -> `set_proximity_fade_enabled`
(Material.`is_proximity_fade_enabled` is unchanged)

Area3D.`reverb_bus_enable` -> `reverb_bus_enabled`
(`set_use_reverb_bus` & `is_using_reverb_bus` are unchanged)

RDPipelineRasterizationState:
`depth_bias_enable` -> `depth_bias_enabled`
`set_depth_bias_enable` -> `set_depth_bias_enabled`
`get_depth_bias_enable` -> `get_depth_bias_enabled`

Bonus:
Area3D.`set_reverb_bus` -> `set_reverb_bus_name`
Area3D.`get_reverb_bus` -> `set_get_reverb_bus_name`
2022-09-21 22:47:46 +02:00
MJacred 15603ca887 Add class descriptions for Texture2DArray, CubemapArray and ImageTextureLayered, plus overhaul TextureLayered
Co-authored-by: Clay John <claynjohn@gmail.com>
2022-09-08 10:19:54 +02:00
clayjohn 385ee5c70b Implement Physical Light Units as an optional setting.
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-31 12:14:46 -07:00
Hugo Locurcio 64717d64cd
Improve documentation for BaseMaterial3D's alpha scissor threshold 2022-08-29 14:54:06 +02:00
Micky 723bf85145 Rename ParticlesMaterial to ParticleProcessMaterial
Also affects their file names, related classes and documentation.
2022-08-26 02:53:08 +02:00
Clay John a471cd950a
Merge pull request #64739 from Calinou/doc-anisotropic-filter
Improve documentation related to anisotropic filtering
2022-08-22 18:46:55 -06:00
Rémi Verschelde cb62c91c12
Merge pull request #58600 from Calinou/material-triplanar-sharpness-clamp 2022-08-22 22:21:33 +02:00
Hugo Locurcio bedcaac2ba
Improve documentation related to anisotropic filtering 2022-08-22 18:36:11 +02:00
Andy Maloney 9b345e793a [doc] Use "param" instead of "code" to refer to parameters (8) 2022-08-12 14:00:25 -04:00
Yuri Sizov c5d7115038 Rename the argument tag to param in XML documentation 2022-08-08 22:34:31 +03:00
Hugo Locurcio c6cca43419
Tweak StandardMaterial3D's default height properties
- Set the default height scale to 5.0 and multiply it by 0.01 in the shader.
- Document heightmap properties in BaseMaterial3D class reference.
2022-08-04 09:57:55 +02:00
clayjohn 0c65ed38a6 Treat specular less than 0.02 as occlusion
This is a very common hack used in almost all PBR renderers to allow removing specular contribution in dielectric materials
2022-07-31 15:45:21 -07:00
Aaron Franke 286ae1f7fa
Document what the Z component is used for in BaseMaterial3D UV coords 2022-07-23 20:05:16 -05:00
Hugo Locurcio 26f6625dcc
Always sample the heightmap with linear filtering in BaseMaterial3D
Nearest-neighbor filtering of the heightmap results in a broken
appearance, with and without Deep Parallax enabled on the material.

Linear filtering results in a more expected appearance. This does
not affect other texture maps such as albedo, normal or roughness.
2022-06-14 18:56:18 +02:00
Hugo Locurcio a8a6e664fb
Rename BaseMaterial3D properties to use fully spelled out "texture"
This is more consistent with other BaseMaterial properties such as
`ao_texture_channel`.

This also improves the documentation related to
`albedo_texture_force_srgb`.

This also fixes a typo in the 3.x material converter.
2022-05-24 20:44:17 +02:00
Rémi Verschelde 9923851370 Fix typos with codespell
Using codespell 2.2-dev from current git.
2022-05-23 21:32:19 +02:00
Rémi Verschelde e619e0e4d4
Merge pull request #59419 from Calinou/doc-basematerial3d-detail 2022-04-30 10:49:36 +02:00
bruvzg be611c1c05
Implement Label3D node.
Add "generate_mipmap" font import option.
Add some missing features to the Sprite3D.
Move BiDi override code from Control to TextServer.
Add functions to access TextServer font cache textures.
Add MSDF related flags and shader to the standard material.
Change standard material cache to use HashMap instead of Vector.
2022-04-22 12:08:46 +03:00
Hugo Locurcio 1a5cfcd335
Improve documentation related to detail mapping in BaseMaterial3D 2022-03-22 19:09:03 +01:00
Hugo Locurcio 81940c8e57
Clamp BaseMaterial3D triplanar sharpness to values that never look broken 2022-02-27 18:56:19 +01:00
clayjohn fe49244611 Use Filament specular models and parametrization 2022-02-22 19:39:41 -08:00
Hugo Locurcio b68dd2e189
Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-02-15 00:03:31 +01:00
skyace65 d856074488 Fix normal map description 2022-01-09 15:03:33 -05:00
SaracenOne 901f376671 Move metallic and roughness automated assignment to an inspector UndoRedo
callback.
2022-01-06 16:07:26 +00:00
Rémi Verschelde d0cd211865
Merge pull request #56293 from skyace65/CullModeMaterial
Fix and improve cull mode description in material
2022-01-05 09:20:15 +01:00
skyace65 0a56a9d731 Fix and improve cull mode description in material 2022-01-04 18:21:40 -05:00
Hugo Locurcio 55d60bbf47
Document the expected format of anisotropy flowmaps in BaseMaterial3D 2021-12-31 17:26:24 +01:00
Rémi Verschelde 8f00625824
Merge pull request #54910 from Calinou/basematerial3d-texture-auto-roughness-metallic
Set roughness/metallic to 1 when assigning a texture in BaseMaterial3D
2021-12-02 21:11:32 +01:00
Rémi Verschelde 6c1bd4d227
Replace Godot docs URL with `$DOCS_URL` in XML class reference 2021-11-15 13:02:21 +01:00
Hugo Locurcio bad74311db
Set roughness/metallic to 1 when assigning a texture in BaseMaterial3D
This makes material setup faster and avoids mistakes, especially with
the metallic channel which defaults to 0.

The value is only changed when adding a texture when none was
previously assigned, not when assigning a different texture.
2021-11-13 17:46:22 +01:00
Rémi Verschelde 862994a8ef
doc: Update links to latest documentation after content reorganization 2021-10-06 13:48:48 +02:00
Rémi Verschelde 788b3aa27a
doc: Fix style inconsistencies for `[b]Note:[/b]` paragraphs
And fix up formatting not supported by makerst.
2021-10-05 19:13:20 +02:00
Hugo Locurcio 22e759dd11
Document that tangents are required for normal mapping in BaseMaterial3D 2021-10-01 19:05:37 +02:00
QbieShay d6672096fc moved particle parameters to minmax and split scale axis
This commit adds quite a chunk of modifications to particles
- particle (value + randomness) now use min and max instead
- passing a curveXYZtexture is now possible and will scale particles per-axis
- CPUParticle3D have an optional parameter to split the scale curve per-axis
2021-08-22 18:42:17 +02:00
Rémi Verschelde 7adf4cc9b5
doc: Use self-closing tags for `return` and `argument`
For the time being we don't support writing a description for those, preferring
having all details in the method's description.

Using self-closing tags saves half the lines, and prevents contributors from
thinking that they should write the argument or return documentation there.
2021-07-30 15:29:52 +02:00
reduz 7f6027927a Fix Subsurface Scattering
* Works again
* Transmittance also works again
* Removed the curve patamter, exp() function is good enough.
2021-07-05 17:17:45 -03:00
Michael Alexsander Silva Dias 0ff4095b36 Better format arguments in variant parser 2021-06-18 00:06:40 -03:00
Yuri Roubinsky 4daca0b580 Removes deleted OrenNayar mode from shaders and materials 2021-06-08 15:50:40 +03:00
reduz 32625145c8 Rename GI Classes
* GIProbe is now VoxelGI
* BakedLightmap is now LightmapGI

As godot adds more ways to provide GI (as an example, SDFGI in 4.0), the different techniques (which have different pros/cons) need to be properly named to avoid confusion.
2021-06-05 09:28:56 -03:00
Marcel Admiraal fcf8071ec9 Fix documentation following implementation of particle trails 2021-05-01 13:12:31 +01:00
Hugo Locurcio 126ea92a64
Document that clearcoat/rim lighting is not visible on unshaded materials 2021-04-28 17:38:44 +02:00
Paul Joannon 8455e901f3
class reference proofreading 2021-03-19 13:21:20 +01:00
Rémi Verschelde 469ac1e415 doc: Sync classref with current source 2021-03-10 10:54:21 +01:00
Hugo Locurcio 91c19308dd
Document that BaseMaterial3D doesn't support height mapping + triplanar
See #44322.
2020-12-12 17:13:01 +01:00
Marios Staikopoulos e5d7c7d5fc Alpha Hash and Alpha2Coverage Implementation 2020-11-02 20:11:20 -08:00
Justin Lee 90d1eda90e
doc: Improve distance_fade documentation
Changed the documentation of distance_fade_max_distance and min
to be consistent with the behavior of the code as well as the user
documentation. Also noted the behavior of swapping max_distance and
min_distance (where max_distance < min_distance).

Fixes #36051.

Co-authored-by: Clay John <claynjohn@gmail.com>
2020-09-29 10:21:50 +02:00
Rémi Verschelde 64d3827b19
Merge pull request #41579 from Calinou/doc-basematerial3d-billboard-mode
Document the BaseMaterial3D billboard mode not being suited for VR
2020-09-28 10:40:09 +02:00
Hugo Locurcio ecc47ce235
Document the BaseMaterial3D billboard mode not being suited for VR
See #41567.
2020-08-31 14:24:43 +02:00