渲染纹理是可对其进行渲染的纹理。
它们可用于实现基于图像的渲染特效、动态阴影、
投影器、反射或监视摄像机。
渲染纹理的一个典型用法是将其设置为
摄像机的“目标纹理”属性 (Camera.targetTexture),这将使摄像机渲染到纹理,
而不是渲染到屏幕。
请记住,渲染纹理内容在某些情况下会“丢失”,例如加载新关卡、系统进入屏幕保护模式、进入和退出全屏模式等。
当发生这些情况时,您现有的渲染纹理将再度变为“尚未创建”的状态,您可以使用 IsCreated 函数对此进行检查。
与其他“本机引擎对象”类型一样,必须时刻注意任何渲染纹理的生命周期,
并牢记在使用完渲染纹理后使用 Release 函数释放它们,
因为系统不会像对待常规托管类型那样对它们进行垃圾回收。
另请参阅:Camera.targetTexture。
active | 当前处于活动状态的渲染纹理。 |
antiAliasing | RenderTexture 的抗锯齿级别。 |
autoGenerateMips | 如果设置了该标志,则自动生成多级渐进纹理级别。 |
bindTextureMS | 如果为 true 且 antiAliasing 大于 1,则默认不解析渲染纹理。如果需要在着色器中将渲染纹理绑定为多重采样纹理,请使用该属性。 |
colorBuffer | 渲染纹理的颜色缓冲区(只读)。 |
depth | 渲染纹理深度缓冲区的精度(以位为单位,支持 0、16、24/32 位)。 |
depthBuffer | 渲染纹理的深度/模板缓冲区(只读)。 |
descriptor | 此结构包含创建 RenderTexture 需要的所有信息。可以复制、缓存和重用来轻松创建全部共享相同属性的 RenderTexture。 |
dimension | 渲染纹理的维度(类型)。 |
enableRandomWrite | 在 Shader Model 5.0 级别着色器上启用随机访问写入该渲染纹理。 |
graphicsFormat | 渲染纹理的颜色格式。 |
height | 渲染纹理的高度(以像素为单位)。 |
memorylessMode | 渲染纹理无记忆模式属性。 |
sRGB | 该渲染纹理是否使用 sRGB 读/写转换?(只读) |
stencilFormat | 渲染纹理中封装的模板数据的格式。指定此属性将为渲染纹理创建一个模板元素并设置其格式。 这允许将模板数据作为纹理绑定到支持它的平台的所有着色器类型。 此属性未指定模板缓冲区格式,格式受 RenderTexture.depth 中指定的深度缓冲区格式的约束。目前,大多数平台仅支持 /R8_UInt/(DirectX11、DirectX12),而 PS4 还支持 /R8_UNorm/。 |
useDynamicScale | 渲染纹理是否标记为由动态分辨率系统进行缩放。 |
useMipMap | 如果设置该标志,则渲染纹理具有多级渐进纹理。 |
volumeDepth | 3D 渲染纹理的体积范围或数组纹理的切片数。 |
vrUsage | 如果该 RenderTexture 是在立体渲染中使用的 VR 眼睛纹理,则该属性决定将进行哪些特殊渲染(如果有)。 |
width | 渲染纹理的宽度(以像素为单位)。 |
RenderTexture | 创建一个新的 RenderTexture 对象。 |
ConvertToEquirect | 将渲染纹理转换为等距圆柱投影格式(都为立体或单视场等距圆柱投影)。 左眼占据上半部分,右眼占据底部。单视场版本将占据整个纹理。 纹理尺寸必须为 TextureDimension.Cube 类型。 |
Create | 实际创建 RenderTexture。 |
DiscardContents | 提示 GPU 驱动程序将不使用 RenderTexture 的内容。 |
GenerateMips | 生成渲染纹理的多级渐进纹理级别。 |
GetNativeDepthBufferPtr | 获取指向该深度缓冲区资源的原生(底层图形 API)指针。 |
IsCreated | 是否实际创建了该渲染纹理? |
MarkRestoreExpected | 表示预期将进行 RenderTexture 恢复操作。 |
Release | 释放 RenderTexture。 |
ResolveAntiAliasedSurface | 强制解析抗锯齿渲染纹理。 |
SetGlobalShaderProperty | 将该 RenderTexture 指定为名为 propertyName 的全局着色器属性。 |
GetTemporary | 分配临时渲染纹理。 |
ReleaseTemporary | 释放使用 GetTemporary 分配的临时纹理。 |
SupportsStencil | RenderTexture 是否具有模板缓冲区? |
allowThreadedTextureCreation | 允许在任何线程(而不是专用的渲染线程)中创建纹理。 |
currentTextureMemory | 纹理当前使用的内存量。 |
desiredTextureMemory | 在应用纹理串流预算之前会先使用上述的纹理内存量。 |
GenerateAllMips | 可与采用 Mip 数量的纹理构造函数结合使用,以指示应生成所有 Mip。此字段的值为 -1。 |
nonStreamingTextureCount | 非串流纹理的数量。 |
nonStreamingTextureMemory | 非串流纹理正在使用的内存总量。 |
streamingMipmapUploadCount | 由于纹理 Mipmap 串流而导致上传纹理的次数。 |
streamingRendererCount | 在纹理串流系统中注册的渲染器数量。 |
streamingTextureCount | 串流纹理的数量。 |
streamingTextureDiscardUnusedMips | 强制串流纹理系统立即丢弃所有未使用的 Mipmap,而不是缓存这些 Mipmap 直到超出纹理内存预算。 |
streamingTextureForceLoadAll | 强制串流纹理加载所有 Mipmap 级别。 |
streamingTextureLoadingCount | 当前正在加载 Mipmap 的串流纹理的数量。 |
streamingTexturePendingLoadCount | 要加载的未完成 Mipmap 的串流纹理数量。 |
targetTextureMemory | 应用 Mipmap 串流和预算并且在加载完成后由纹理使用的内存量。 |
totalTextureMemory | Mipmap 级别 0 的所有纹理将使用的内存总量。 |
hideFlags | 该对象应该隐藏、随场景一起保存还是由用户修改? |
name | 对象的名称。 |
anisoLevel | 纹理的各向异性过滤级别。 |
dimension | 纹理的维度(类型)(只读)。 |
filterMode | 纹理的过滤模式。 |
graphicsFormat | 返回纹理对象的 GraphicsFormat 格式或颜色格式。 |
height | 纹理的高度(以像素为单位)。(只读) |
imageContentsHash | 纹理的哈希值。 |
isReadable | 如果在导入纹理时选中了“Read/Write Enabled”复选框,则返回 true;否则返回 false。对于通过脚本创建的动态纹理,始终返回 true。有关更多信息,请参阅 TextureImporter.isReadable。 |
mipMapBias | 纹理的多级渐进纹理偏差。 |
mipmapCount | 该纹理中有多少个多级渐进纹理级别(只读)。 |
updateCount | 更新纹理时,此计数器会递增。 |
width | 纹理的宽度(以像素为单位)。(只读) |
wrapMode | 纹理坐标换行模式。 |
wrapModeU | 纹理 U 坐标换行模式。 |
wrapModeV | 纹理 V 坐标换行模式。 |
wrapModeW | Texture3D 的纹理 W 坐标换行模式。 |
GetInstanceID | 返回对象的实例 ID。 |
ToString | 返回对象的名称。 |
GetNativeTexturePtr | 获取指向纹理资源的原生(底层图形 API)指针。 |
IncrementUpdateCount | 递增更新计数器。 |
Destroy | 移除 GameObject、组件或资源。 |
DestroyImmediate | 立即销毁对象 /obj/。强烈建议您改用 Destroy。 |
DontDestroyOnLoad | 在加载新的 Scene 时,请勿销毁 Object。 |
FindObjectOfType | 返回第一个类型为 type 的已加载的激活对象。 |
FindObjectsOfType | 返回所有类型为 type 的已加载的激活对象的列表。 |
Instantiate | 克隆 original 对象并返回克隆对象。 |
SetGlobalAnisotropicFilteringLimits | 设置各向异性限制。 |
SetStreamingTextureMaterialDebugProperties | 使用设置为串流 Mipmap 的纹理将其他调试信息上传到材质。 |
bool | 该对象是否存在? |
operator != | 比较两个对象是否引用不同的对象。 |
operator == | 比较两个对象引用,判断它们是否引用同一个对象。 |