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
纹理过滤在最近的 4 个像素之间进行混合。这使得纹理从近处看起来很平滑,从远处看起来却有颗粒感(由于多级渐远纹理没有被采样)。
TextureFilter FILTER_NEAREST_MIPMAP = 3
纹理过滤从最近的像素读取并在最近的 2 个多级渐远纹理之间进行混合(或者如果 ProjectSettings.rendering/textures/default_filters/use_nearest_mipmap_filter 为 true
,则使用最近的多级渐远纹理)。这使得纹理从近处看起来像素化,从远处看起来平滑。
将此用于可能以低缩放查看的非像素艺术纹理(例如,由于 Camera2D 缩放或精灵缩放),因为多级渐远纹理对于平滑小于屏幕像素的像素很重要。
TextureFilter FILTER_LINEAR_MIPMAP = 4
纹理过滤在最近的 4 个像素和最近的 2 个多级渐远纹理之间进行混合(或者如果 ProjectSettings.rendering/textures/default_filters/use_nearest_mipmap_filter 为 true
,则使用最近的多级渐远纹理)。这使得纹理从近处看起来平滑,从远处看起来也平滑。
将此用于可能以低缩放查看的非像素艺术纹理(例如,由于 Camera2D 缩放或精灵缩放),因为多级渐远纹理对于平滑小于屏幕像素的像素很重要。
TextureFilter FILTER_NEAREST_MIPMAP_ANISOTROPIC = 5
纹理过滤从最近的像素读取并根据表面和相机视图之间的角度在 2 个多级渐远纹理之间进行混合(或者如果 ProjectSettings.rendering/textures/default_filters/use_nearest_mipmap_filter 为 true
,则使用最近的多级渐远纹理)。这使得纹理从近处看起来像素化,从远处看起来平滑。各向异性过滤提高了几乎与相机位于一条线的表面上的纹理质量,但速度稍慢。各向异性过滤级别可以通过调整 ProjectSettings.rendering/textures/default_filters/anisotropic_filtering_level 来改变。
注意:该纹理过滤在 2D 项目中很少有用。FILTER_NEAREST_MIPMAP 在这种情况下通常更合适。
TextureFilter FILTER_LINEAR_MIPMAP_ANISOTROPIC = 6
纹理过滤在最近的 4 个像素之间进行混合,并基于表面与相机视图之间的角度在 2 个多级渐远纹理之间进行混合(或者如果 ProjectSettings.rendering/textures/default_filters/use_nearest_mipmap_filter 为 true
,则使用最近的多级渐远纹理)。这使得纹理从近处看起来平滑,从远处看起来也平滑。各向异性过滤提高了几乎与相机位于一条线的表面上的纹理质量,但速度稍慢。各向异性过滤级别可以通过调整 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(value: ColorDefault)
ColorDefault get_color_default()
如果没有给 uniform 分配纹理,则设置默认颜色。
TextureFilter texture_filter = 0
🔗
void set_texture_filter(value: TextureFilter)
TextureFilter get_texture_filter()
设置纹理过滤模式。选项见 TextureFilter。
TextureRepeat texture_repeat = 0
🔗
void set_texture_repeat(value: TextureRepeat)
TextureRepeat get_texture_repeat()
设置纹理重复模式。选项见 TextureRepeat。
TextureSource texture_source = 0
🔗
void set_texture_source(value: TextureSource)
TextureSource get_texture_source()
设置纹理源的模式。用于读取 screen(屏幕)、depth(深度)或 normal_roughness(法线粗糙度)纹理。选项见 TextureSource。
TextureType texture_type = 0
🔗
void set_texture_type(value: TextureType)
TextureType get_texture_type()
定义源纹理提供的数据类型。选项参阅TextureType。