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。