我创建了两个 RenderTarget2D:
currentWorldState = new RenderTarget2D(graphicsDevice, width, height, false, SurfaceFormat.Vector4, DepthFormat.None);
nextWorldState = new RenderTarget2D(graphicsDevice, width, height, false, SurfaceFormat.Vector4, DepthFormat.None);
我正在尝试在 GPU 上编写模拟代码。我的目标是能够在这些渲染目标之间传递 vector4 信息。我创建了一个着色器,它从第一个目标读取信息,并将其输出到下一个目标。我的问题是 float4 被转换为颜色信息并且丢失了很多精度。
这是我的像素着色器的标题:
float4 CreateActions(in float2 uv : TEXCOORD0) : COLOR
我可以以任何方式更改它以输出 float4 数据,将 COLOR 更改为其他任何内容都不会编译。