Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
n5
URasterizer
提交
fa3b1737
URasterizer
项目概览
n5
/
URasterizer
通知
21
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
URasterizer
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
fa3b1737
编写于
3月 10, 2022
作者:
H
happyfire
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
* fix thread group count
上级
3815b57d
变更
5
展开全部
隐藏空白更改
内联
并排
Showing
5 changed file
with
635 addition
and
618 deletion
+635
-618
URasterizer/Assembly-CSharp.csproj
URasterizer/Assembly-CSharp.csproj
+620
-609
URasterizer/Assets/URasterizer/Codes/Rasterizer.cs
URasterizer/Assets/URasterizer/Codes/Rasterizer.cs
+4
-2
URasterizer/Assets/URasterizer/RenderingConfig.asset
URasterizer/Assets/URasterizer/RenderingConfig.asset
+1
-1
URasterizer/Assets/URasterizer/URComputeShader.compute
URasterizer/Assets/URasterizer/URComputeShader.compute
+4
-3
URasterizer/URasterizer.sln
URasterizer/URasterizer.sln
+6
-3
未找到文件。
URasterizer/Assembly-CSharp.csproj
浏览文件 @
fa3b1737
此差异已折叠。
点击以展开。
URasterizer/Assets/URasterizer/Codes/Rasterizer.cs
浏览文件 @
fa3b1737
...
...
@@ -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
);
...
...
URasterizer/Assets/URasterizer/RenderingConfig.asset
浏览文件 @
fa3b1737
...
...
@@ -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
}
URasterizer/Assets/URasterizer/URComputeShader.compute
浏览文件 @
fa3b1737
...
...
@@ -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].objectN
ormal);
outBuffer[id.x].worldPos = mul(matModel, pos
).xyz
;
outBuffer[id.x].objectNormal =
normal
;
outBuffer[id.x].worldNormal = mul(
(float3x3)matModel , n
ormal);
}
URasterizer/URasterizer.sln
浏览文件 @
fa3b1737
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-ada4f8fb4d
91}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp.csproj", "{
08C43D46-104D-517B-7865-ADA4F8FB4D
91}"
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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录