提交 fa3b1737 编写于 作者: H happyfire

* fix thread group count

上级 3815b57d
此差异已折叠。
......@@ -231,11 +231,13 @@ namespace URasterizer
ProfileManager.BeginSample("Rasterizer.VertexShader GPU");
ComputeBuffer vertexBuffer = new ComputeBuffer(mesh.vertexCount, 3*4);
vertexBuffer.name = "vertex";
vertexBuffer.SetData(ro.meshVertices);
ComputeBuffer normalBuffer = new ComputeBuffer(mesh.vertexCount, 3*4);
normalBuffer.name = "normal";
normalBuffer.SetData(ro.meshNormals);
ComputeBuffer outBuffer = new ComputeBuffer(mesh.vertexCount, 13*4);
outBuffer.name = "out";
var shader = _config.VertexShader;
int kernel = shader.FindKernel("CSMain");
......@@ -245,7 +247,7 @@ namespace URasterizer
shader.SetBuffer(kernel,"normalBuffer", normalBuffer);
shader.SetBuffer(kernel, "outBuffer", outBuffer);
int groupCnt = mesh.vertexCount/256;
int groupCnt = Mathf.CeilToInt(mesh.vertexCount/256f);
groupCnt = groupCnt==0? 1: groupCnt;
shader.Dispatch(kernel, groupCnt, 1, 1);
......
......@@ -21,5 +21,5 @@ MonoBehaviour:
FragmentShaderType: 1
AmbientColor: {r: 0.0754717, g: 0.075044505, b: 0.075044505, a: 1}
VertexColors: {fileID: 11400000, guid: a126a2fdc8a60c54e8a3aadb7db4bb3a, type: 2}
UseComputeShader: 0
UseComputeShader: 1
VertexShader: {fileID: 7200000, guid: caa96f337395ad9449e1be41546efcd6, type: 3}
......@@ -22,8 +22,9 @@ RWStructuredBuffer<OutBuf> outBuffer;
void CSMain (uint3 id : SV_DispatchThreadID)
{
float4 pos = float4(vertexBuffer[id.x].x, vertexBuffer[id.x].y, -vertexBuffer[id.x].z, 1.0f);
float3 normal = float3(normalBuffer[id.x].x, normalBuffer[id.x].y, -normalBuffer[id.x].z);
outBuffer[id.x].clipPos = mul(matMVP, pos);
outBuffer[id.x].worldPos = mul(matModel, pos.xyz);
outBuffer[id.x].objectNormal = float3(normalBuffer[id.x].x, normalBuffer[id.x].y, -normalBuffer[id.x].z);
outBuffer[id.x].worldNormal = mul(matModel, outBuffer[id.x].objectNormal);
outBuffer[id.x].worldPos = mul(matModel, pos).xyz;
outBuffer[id.x].objectNormal = normal;
outBuffer[id.x].worldNormal = mul( (float3x3)matModel , normal);
}

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp.csproj", "{463dc408-4d10-7b51-7865-ada4f8fb4d91}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp.csproj", "{08C43D46-104D-517B-7865-ADA4F8FB4D91}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{463dc408-4d10-7b51-7865-ada4f8fb4d91}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{463dc408-4d10-7b51-7865-ada4f8fb4d91}.Debug|Any CPU.Build.0 = Debug|Any CPU
{08C43D46-104D-517B-7865-ADA4F8FB4D91}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{08C43D46-104D-517B-7865-ADA4F8FB4D91}.Debug|Any CPU.Build.0 = Debug|Any CPU
{08C43D46-104D-517B-7865-ADA4F8FB4D91}.Release|Any CPU.ActiveCfg = Release|Any CPU
{08C43D46-104D-517B-7865-ADA4F8FB4D91}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册