返回介绍

Graphics.SetRandomWriteTarget 设置随机写入目标

发布于 2019-12-18 15:37:44 字数 2045 浏览 1429 评论 0 收藏 0

JavaScript => public static function SetRandomWriteTarget(index: int, uav: RenderTexture): void;
C# => public static void SetRandomWriteTarget(int index, RenderTexture uav);

Parameters 参数

indexIndex of the random write target in the shader.
uavRenderTexture/ComputeBuffer to set as write target.

Description 描述

Set random write target for Shader Model 5.0 level pixel shaders.

为着色模型5.0水平像素着色器设置随机写入目标。

Shader Model 5.0 level pixel shaders can write into arbitrary locations of some textures and buffers, called “unordered access views” (UAV) in UsingDX11GL3Features. These “random write” targets are set similarly to how multiple render targets are set. You can either use a RenderTexture with enableRandomWrite flag set, or a ComputeBuffer as target.

着色模型5.0水平像素着色器可以写入一些纹理和缓存区的任意位置,在UsingDX11GL3Features中调用“无序存取视图”(UAV)。“随机写入”目标设置类似于多重渲染目标的设置。你也可以使用 渲染纹理enableRandomWrite标记设置,或者计算机缓存作为目标。

The UAV indexing varies a bit between different platforms. On DX11 the first valid UAV index is the number of active render targets. So the common case of single render target the UAV indexing will start from 1. OpenGL ES 3.1 matches this behaviour when using translated HLSL shaders. However, with hand-written GLSL shaders the indexes will match the bindings. On PS4 the indexing starts always from 1 to match the most common case.

UAV索引不同的平台之间有点变化。在DX11上首个有效的UAV索引是激活渲染目标的数量。因此在普遍情况下单个渲染目标的UAV索引将从1开始。当使用转化HLSL 着色器时OpenGL ES 3.1匹配该行为。但是,与手写GLSL着色器的索引将会匹配绑定。在PS4上的索引开始总是从1去匹配大多数普通情况。

The targets stay set until you manually clear them with ClearRandomWriteTargets.

该目标设置暂留直到你使用ClearRandomWriteTargets清除它们。

graphics

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文