Age | Commit message (Collapse) | Author |
|
|
|
* Previous "virtual" classes (which can't be instantiated) are not corretly named "abstract".
* Added a new "virtual" category for classes, they can't be instantiated from the editor, but can be inherited from script and extensions.
* Converted a large amount of classes from "abstract" to "virtual" where it makes sense.
Most classes that make sense have been converted. Missing:
* Physics servers
* VideoStream
* Script* classes.
which will go in a separate PR due to the complexity involved.
|
|
|
|
|
|
callback.
|
|
Happy new year to the wonderful Godot community!
|
|
|
|
|
|
The word "anisotropy" is used in full form in BaseMaterial3D's
anisotropy-related properties.
|
|
The message about SpatialMaterial conversion was turned into a warning,
as it can potentially interfere with porting projects from Godot 3.x
(if there's a bug in the conversion code).
|
|
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.
|
|
This is consistent with other constants that include `NO`,
such as `PROPERTY_HINT_COLOR_NO_ALPHA`.
|
|
|
|
Vulkan uses different normalized device coordinates than OpenGL.
|
|
The built-in ALPHA in spatial shaders comes pre-set with a per-instance
transparency value. Multiply by it if you want to keep it.
The transparency value of any given GeometryInstance3D is affected by:
- Its new "transparency" property.
- Its own visiblity range when the new "visibility_range_fade_mode"
property is set to "Self".
- Its parent visibility range when the parent's fade mode is
set to "Dependencies".
The "Self" mode will fade-out the instance when reaching the visibility
range limits, while the "Dependencies" mode will fade-in its
dependencies.
Per-instance transparency is only implemented in the forward clustered
renderer, support for mobile should be added in the future.
Co-authored-by: reduz <reduzio@gmail.com>
|
|
|
|
Hide render_priority except when using SpatialMaterials
|
|
|
|
`core` and `scene` shouldn't depend on `editor`, so they can't query this style
setting in `get_argument_options`. But we can handle it after the fact in
GDScript's completion code.
Also cleans up a couple extra unused invalid includes in `core`.
|
|
|
|
Prevent shaders from generating code before the constructor finishes.
|
|
Fixes #43733: "creating SpatialMaterial in a separate thread creates invalid
shaders (temporarily)."
The bug occurred because various setters called in materials' constructors add
materials to queues that are processed on the main thread. This means that
when the materials are created in another thread, they can be processed on the
main thread before the constructor has finished.
The fix adds a flag to affected materials that prevents them from being added
to the queue until their constructors have finished initialising all the
members.
|
|
Fix y billboard shear when rotating camera
|
|
Calinou/standardmaterial3d-improve-simple-parallax
Improve the appearance of simple parallax in StandardMaterial3D
|
|
Fixes shear effect with `BILLBOARD_FIXED_Y` when the camera is rotated around the z-axis by rotating the mesh correctly into view space.
Also removes shearing effects that occur when rotating the mesh by excluding the model rotation and scale from the billboard matrix.
|
|
This comment is useful to determine the origin of ShaderMaterials
converted from built-in material types (such as CanvasItemMaterial
or StandardMaterial3D).
The Godot version is also included in case the shader needs to be
regenerated with a newer engine version.
|
|
|
|
This uses offset limiting to avoid distortion in the distance,
and makes simple (non-deep) parallax more usable overall.
|
|
|
|
|
|
In files that have lots of branching, `\t` was replaced with a
tab character instead.
|
|
Fix Command Queue Crash
|
|
* No longer allow sending an object (texture) to the server as material parameter
* Keep a parameter cache locally in ShaderMaterial
|
|
|
|
* Works again
* Transmittance also works again
* Removed the curve patamter, exp() function is good enough.
|
|
Also use const more often.
|
|
* Removed entirely from RenderingServer.
* Replaced by ImmediateMesh resource.
* ImmediateMesh replaces ImmediateGeometry, but could use more optimization in the future.
* Sprite3D and AnimatedSprite3D work again, ported from Godot 3.x (though a lot of work was needed to adapt them to Godot 4).
* RootMotionView works again.
* Polygon3D editor works again.
|
|
Calinou/standardmaterial3d-height-triplanar-print-warning
Print warning in StandardMaterial3D when height and triplanar are active
|
|
Using both height mapping and triplanar mapping isn't supported.
|
|
This made normal maps on triplanar materials use an inverted Y direction
compared to non-triplanar materials.
|
|
|
|
|
|
Or after punctuation. Tried to leave third-party stuff alone, unless it has
been heavily modified for Godot.
|
|
- Update Viewport MSAA property hints to match the currently
exposed values.
- Add some performance hints to property hints.
|
|
Fix refraction offset by manually unpacking normal mappings
|
|
rather than distorted.
|
|
The "Anisotropic" term is abbreviated as spelling it out would cause
the PopupMenu to overflow the editor window when using the default
inspector width.
|
|
-Enable the trails and set the length in seconds
-Provide a mesh with a skeleton and a skin
-Or, alternatively use one of the built-in TubeTrailMesh/RibbonTrailMesh
-Works deterministically
-Fixed particle collisions (were broken)
-Not working in 2D yet (that will happen next)
|
|
|
|
Implements triplanar mapping in world space for UV1 and UV2
when the respective flags are enabled.
|