Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
n5
URasterizer
提交
8ad4c1c0
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 搜索 >>
提交
8ad4c1c0
编写于
3月 18, 2022
作者:
n5
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update README.md
上级
d5088885
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
11 addition
and
3 deletion
+11
-3
README.md
README.md
+11
-3
未找到文件。
README.md
浏览文件 @
8ad4c1c0
# URasterizer: 基于Unity平台的光栅化渲染器
本项目是在Unity上实现一套软件光栅化渲染,利用Unity的基础设施来读取模型、贴图,控制GameObject的变换,以及设置相机参数等,再通过软件光栅化来将场景渲染到一张贴图上。
URasterizer有两个独立的光栅化渲染器:
*
CPU Rasterizer 完全使用C#编写,在CPU上实现软件光栅化
URasterizer有三个独立的光栅化渲染器:
*
CPU Rasterizer 完全使用C#编写,在CPU上实现的单线程软件光栅化
*
CPU Job Rasterizer 使用Unity的Job System和Burst Compiler,使用多个处理器核心执行经过编译优化的光栅化代码,性能大幅提升。
*
GPU Driven Rasterizer 使用Compute shader实现整个光栅化流水线。GPU Driven模式的性能和直接使用Unity渲染相当。
本项目的目的是学习研究光栅化以及利用GPGPU加速光栅化,GPU Driven算法主要是针对小三角形比较有优势,并不适合通用的光栅化。
本项目的目的是学习研究光栅化以及利用
多核和
GPGPU加速光栅化,GPU Driven算法主要是针对小三角形比较有优势,并不适合通用的光栅化。
*
本项目github仓库地址:https://github.com/happyfire/URasterizer
*
图片不能显示请访问gitcode镜像仓库:https://gitcode.net/n5/urasterizer
...
...
@@ -27,6 +28,11 @@ URasterizer有两个独立的光栅化渲染器:
*
自定义几何图元
*
自定义顶点色
# 关于Job System
仅仅使用Job System就可以比单线程计算获得数倍的性能提升(测试场景中FPS从4提升到13)。将顶点处理和三角形处理两个过程使用并行Job实现,Unity Job System会自动调度到多个核心上执行。
使用Burst编译加速后,在同样的代码下,性能进一步提升(测试场景中FPS提升到85)。Profile中,每个triangle job的执行时间不到1ms,而不使用Burst时是20多ms。
![
job profile
](
URasterizer/Readme/job_brust_profile.png
)
# 关于GPU Driven
每个渲染物体组织相应的输入数据Compute buffer,渲染时分3个阶段启动compute shader kernel执行并行计算。中间计算的结果也保存在compute buffer中,不读回CPU内存,直接交下一阶段使用。
## 基本流水线
...
...
@@ -44,6 +50,8 @@ URasterizer有两个独立的光栅化渲染器:
![
Rendering Config
](
URasterizer/Readme/rendering_config.png
)
## CPU 渲染效果(BlinnPhong着色)
![
CPU BlinnPhong
](
URasterizer/Readme/cpu_blinnphong.png
)
## Job System & Burst 加速
![
job
](
URasterizer/Readme/job_brust.png
)
## GPU 渲染效果
### FPS极大提高
![
GPU BlinnPhong
](
URasterizer/Readme/gpu_blinnphong.png
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录