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.

VisualShaderNodeTextureParameter

继承: VisualShaderNodeParameter < VisualShaderNode < Resource < RefCounted < Object

派生: VisualShaderNodeCubemapParameter, VisualShaderNodeTexture2DArrayParameter, VisualShaderNodeTexture2DParameter, VisualShaderNodeTexture3DParameter, VisualShaderNodeTextureParameterTriplanar

在可视化着色器图中执行 uniform 的纹理查找。

描述

对作为 uniform 着色器提供的纹理进行查找操作。

属性

ColorDefault

color_default

0

TextureFilter

texture_filter

0

TextureRepeat

texture_repeat

0

TextureSource

texture_source

0

TextureType

texture_type

0


枚举

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

如果没有给 uniform 分配纹理,则设置默认颜色。


TextureFilter texture_filter = 0

设置纹理过滤模式。选项见 TextureFilter


TextureRepeat texture_repeat = 0

设置纹理重复模式。选项见 TextureRepeat


TextureSource texture_source = 0

设置纹理源的模式。用于读取 screen(屏幕)、depth(深度)或 normal_roughness(法线粗糙度)纹理。选项见 TextureSource


TextureType texture_type = 0

定义源纹理提供的数据类型。选项参阅TextureType