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