如何解决我可以在计算着色器中使用 unity unitycg.cginc 吗?
是否可以使用计算着色器在#include "UnityCG.cginc"中使用UNITY_MATRIX_MVP等变量和函数 下面的代码会返回0并报错:
CG:
// Each #kernel tells which function to compile; you can have many kernels
#pragma kernel CSMain
#include "UnityCG.cginc"
RWStructuredBuffer<float> Result;
[numthreads(1,1,1)]
void CSMain (uint3 id : SV_DispatchThreadID)
{
Result[id.x] = UNITY_MATRIX_MVP[0][0];
}
C#
...
public ComputeShader _ComputeShader;
void Start()
{
kernelIndex = _ComputeShader.FindKernel("CSMain");
_Result = new ComputeBuffer(1,4);
_ComputeShader.SetBuffer(kernelIndex,"Result",_Result);
_ComputeShader.Dispatch(kernelIndex,1);
float[] total = new float[1];
_Result.GetData(total);
Debug.Log(total[0]);
}
...
错误:'NewComputeShader.compute' 中的着色器错误:所有内核必须使用相同的常量缓冲区布局;发现“unity_LightColor0”属性不同 我可以在计算着色器中使用 UnityCG.cginc 吗? 版本:Unity 2019.4.23f1c1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。