Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
VisualShaderNodeTextureParameter¶
继承: VisualShaderNodeParameter < VisualShaderNode < Resource < RefCounted < Object
派生: VisualShaderNodeCubemapParameter, VisualShaderNodeTexture2DArrayParameter, VisualShaderNodeTexture2DParameter, VisualShaderNodeTexture3DParameter, VisualShaderNodeTextureParameterTriplanar
在可视化着色器图中执行 uniform 的纹理查找。
描述¶
对作为 uniform 着色器提供的纹理进行查找操作。
属性¶
|
||
|
||
|
||
|
||
|
枚举¶
enum TextureType:
TextureType TYPE_DATA = 0
在uniform声明中未添加提示。
TextureType TYPE_COLOR = 1
向该 uniform 声明添加 source_color
提示,用于进行正确的 sRGB 到线性颜色空间的转换。
TextureType TYPE_NORMAL_MAP = 2
将 hint_normal
作为提示添加到 uniform 声明中,该声明在内部将纹理转换为法线贴图。
TextureType TYPE_ANISOTROPY = 3
向该 uniform 声明添加 hint_anisotropy
提示,用于流向图。
TextureType TYPE_MAX = 4
代表 TextureType 枚举的大小。
enum ColorDefault:
ColorDefault COLOR_DEFAULT_WHITE = 0
默认为完全不透明的白色。
ColorDefault COLOR_DEFAULT_BLACK = 1
默认为完全不透明的黑色。
ColorDefault COLOR_DEFAULT_TRANSPARENT = 2
默认为完全透明的黑色。
ColorDefault COLOR_DEFAULT_MAX = 3
代表 ColorDefault 枚举的大小。
enum TextureFilter:
TextureFilter FILTER_DEFAULT = 0
使用由该着色器所附加到的节点决定的过滤器对纹理进行采样。
TextureFilter FILTER_NEAREST = 1
纹理过滤器仅读取最邻近的像素。最简单快速的过滤方法,但纹理看起来会像素化。
TextureFilter FILTER_LINEAR = 2
纹理过滤器在最邻近的四个像素之间混合。如果想要避免像素化样式,大多数情况下请使用此选项。
TextureFilter FILTER_NEAREST_MIPMAP = 3
纹理过滤器读取最邻近的 mipmap 中的最邻近像素。这是使用 mipmap 从纹理中读取的最快方法。
TextureFilter FILTER_LINEAR_MIPMAP = 4
纹理过滤器在最邻近的 4 个像素和最邻近的 2 个 mipmap 之间混合。请用于可能以低缩放率查看的非像素画纹理(例如由 Camera2D 缩放造成),因为 mipmap 对于平滑小于屏幕像素的像素很重要。
TextureFilter FILTER_NEAREST_MIPMAP_ANISOTROPIC = 5
纹理过滤从最近的像素读取,但根据表面和相机视图之间的角度选择一个 mipmap。这减少了几乎与相机对齐的表面上的伪影。可以通过调整 ProjectSettings.rendering/textures/default_filters/anisotropic_filtering_level,来更改各向异性过滤级别。
注意:这种纹理过滤在 2D 项目中很少有用。FILTER_LINEAR_MIPMAP 通常更合适。
TextureFilter FILTER_LINEAR_MIPMAP_ANISOTROPIC = 6
纹理过滤在最近的 4 个像素之间进行混合,并根据表面和相机视图之间的角度选择一个 mipmap。这减少了几乎与相机对齐的表面上的伪影。这是最慢的过滤选项,但会产生最高质量的纹理。可以通过调整 ProjectSettings.rendering/textures/default_filters/anisotropic_filtering_level,来更改各向异性过滤级别。
注意:这种纹理过滤在 2D 项目中很少有用。FILTER_LINEAR_MIPMAP 通常更合适。
TextureFilter FILTER_MAX = 7
代表 TextureFilter 枚举的大小。
enum TextureRepeat:
TextureRepeat REPEAT_DEFAULT = 0
使用由该着色器所附加到的节点决定的重复模式对该纹理进行采样。
TextureRepeat REPEAT_ENABLED = 1
纹理将正常重复。
TextureRepeat REPEAT_DISABLED = 2
纹理不会重复。
TextureRepeat REPEAT_MAX = 3
代表 TextureRepeat 枚举的大小。
enum TextureSource:
TextureSource SOURCE_NONE = 0
着色器中未指定纹理源。
TextureSource SOURCE_SCREEN = 1
纹理源为屏幕纹理,捕获了本帧中绘制的所有不透明对象。
TextureSource SOURCE_DEPTH = 2
纹理源为深度预处理阶段的深度纹理。
TextureSource SOURCE_NORMAL_ROUGHNESS = 3
纹理源为深度预处理阶段的法线粗糙度缓冲区。
TextureSource SOURCE_MAX = 4
代表 TextureSource 枚举的大小。
属性说明¶
ColorDefault color_default = 0
void set_color_default ( ColorDefault value )
ColorDefault get_color_default ( )
如果没有给 uniform 分配纹理,则设置默认颜色。
TextureFilter texture_filter = 0
void set_texture_filter ( TextureFilter value )
TextureFilter get_texture_filter ( )
设置纹理过滤模式。选项见 TextureFilter。
TextureRepeat texture_repeat = 0
void set_texture_repeat ( TextureRepeat value )
TextureRepeat get_texture_repeat ( )
设置纹理重复模式。选项见 TextureRepeat。
TextureSource texture_source = 0
void set_texture_source ( TextureSource value )
TextureSource get_texture_source ( )
设置纹理源的模式。用于读取 screen(屏幕)、depth(深度)或 normal_roughness(法线粗糙度)纹理。选项见 TextureSource。
TextureType texture_type = 0
void set_texture_type ( TextureType value )
TextureType get_texture_type ( )
定义源纹理提供的数据类型。选项参阅TextureType。