语言English
  • C#

GraphicsTexture.active

public static Rendering.GraphicsTexture active;

描述

当前活动的图形纹理。

所有渲染都进入活动的 GraphicsTexture。如果活动的 GraphicsTexture 为 null,则所有内容都渲染在主窗口中。如果活动的渲染目标是 RenderTexture,则 GraphicsTexture.active 返回 graphicsTexture of RenderTexture.active

为了将活动渲染目标设置为 GraphicsTexture,它必须在纹理创建时在 GraphicsTextureDescriptor.flags 中启用 GraphicsTextureDescriptorFlags.RenderTarget

设置 GraphicsTexture.active 等同于使用单个 GraphicsTexture 调用 Graphics.SetRenderTarget。通常,在实现自定义图形效果时,您会更改或查询活动渲染目标;如果您只需要让摄像机渲染到纹理中,则可以使用 RenderTextureCamera.targetTexture

其他资源:GraphicsTextureDescriptorFlags.RenderTargetGraphics.SetRenderTargetRenderTexture.active

using UnityEngine;
using UnityEngine.Rendering;
using System.Collections;

// Get the contents of a GraphicsTexture into a Texture2D public class ExampleClass : MonoBehaviour { static public Texture2D GetGfxTexPixels(GraphicsTexture gfxTex) { // Remember currently active render target GraphicsTexture currentActiveRT = GraphicsTexture.active;

// Set the supplied GraphicsTexture as the active one GraphicsTexture.active = gfxTex;

// Create a new Texture2D and read the GraphicsTexture image into it Texture2D tex = new Texture2D(gfxTex.descriptor.width, gfxTex.descriptor.height); tex.ReadPixels(new Rect(0, 0, tex.width, tex.height), 0, 0); tex.Apply();

// Restore previously active render texture GraphicsTexture.active = currentActiveRT; return tex; } }

Did you find this page useful? Please give it a rating: