Merge branch 'master' of https://github.com/TomAndJerry14/Daily
# Conflicts: # .obsidian/workspace.json
This commit is contained in:
1
.obsidian/community-plugins.json
vendored
1
.obsidian/community-plugins.json
vendored
@@ -1 +0,0 @@
|
|||||||
[]
|
|
||||||
5
.obsidian/plugins/obsidian-version-history-diff/data.json
vendored
Normal file
5
.obsidian/plugins/obsidian-version-history-diff/data.json
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"diffStyle": "word",
|
||||||
|
"matchWordsThreshold": 0.25,
|
||||||
|
"colorBlind": true
|
||||||
|
}
|
||||||
452
.obsidian/plugins/obsidian-version-history-diff/main.js
vendored
Normal file
452
.obsidian/plugins/obsidian-version-history-diff/main.js
vendored
Normal file
File diff suppressed because one or more lines are too long
10
.obsidian/plugins/obsidian-version-history-diff/manifest.json
vendored
Normal file
10
.obsidian/plugins/obsidian-version-history-diff/manifest.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"id": "obsidian-version-history-diff",
|
||||||
|
"name": "Version History Diff",
|
||||||
|
"version": "2.1.0",
|
||||||
|
"minAppVersion": "1.1.7",
|
||||||
|
"description": "Diff the version history of the core Sync and File Recovery plugins and Git. Adds a command to open the core Sync version history as well.",
|
||||||
|
"author": "kometenstaub",
|
||||||
|
"authorUrl": "https://github.com/kometenstaub",
|
||||||
|
"isDesktopOnly": false
|
||||||
|
}
|
||||||
27
.obsidian/plugins/obsidian-version-history-diff/styles.css
vendored
Normal file
27
.obsidian/plugins/obsidian-version-history-diff/styles.css
vendored
Normal file
File diff suppressed because one or more lines are too long
111
.obsidian/workspace
vendored
111
.obsidian/workspace
vendored
@@ -1,111 +0,0 @@
|
|||||||
{
|
|
||||||
"main": {
|
|
||||||
"id": "c01acc1e0c3642a1",
|
|
||||||
"type": "split",
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"id": "458b5417a938cfb3",
|
|
||||||
"type": "leaf",
|
|
||||||
"state": {
|
|
||||||
"type": "markdown",
|
|
||||||
"state": {
|
|
||||||
"file": "SerializedObject.md",
|
|
||||||
"mode": "source",
|
|
||||||
"source": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"direction": "vertical"
|
|
||||||
},
|
|
||||||
"left": {
|
|
||||||
"id": "b3f2fe956c600b2b",
|
|
||||||
"type": "split",
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"id": "b892947aee3a10a9",
|
|
||||||
"type": "tabs",
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"id": "b736346aa28b495c",
|
|
||||||
"type": "leaf",
|
|
||||||
"state": {
|
|
||||||
"type": "file-explorer",
|
|
||||||
"state": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "bd33cd6e5600118d",
|
|
||||||
"type": "leaf",
|
|
||||||
"state": {
|
|
||||||
"type": "search",
|
|
||||||
"state": {
|
|
||||||
"query": "",
|
|
||||||
"matchingCase": false,
|
|
||||||
"explainSearch": false,
|
|
||||||
"collapseAll": false,
|
|
||||||
"extraContext": false,
|
|
||||||
"sortOrder": "alphabetical"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"direction": "horizontal",
|
|
||||||
"width": 249
|
|
||||||
},
|
|
||||||
"right": {
|
|
||||||
"id": "d809b577c235ae94",
|
|
||||||
"type": "split",
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"id": "7cbbb049622f8875",
|
|
||||||
"type": "tabs",
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"id": "fc04db1c3d5f37f2",
|
|
||||||
"type": "leaf",
|
|
||||||
"state": {
|
|
||||||
"type": "backlink",
|
|
||||||
"state": {
|
|
||||||
"file": "SerializedObject.md",
|
|
||||||
"collapseAll": false,
|
|
||||||
"extraContext": false,
|
|
||||||
"sortOrder": "alphabetical",
|
|
||||||
"showSearch": false,
|
|
||||||
"searchQuery": "",
|
|
||||||
"backlinkCollapsed": false,
|
|
||||||
"unlinkedCollapsed": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "d9c52b59dc19017c",
|
|
||||||
"type": "leaf",
|
|
||||||
"state": {
|
|
||||||
"type": "calendar",
|
|
||||||
"state": {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"direction": "horizontal",
|
|
||||||
"width": 300,
|
|
||||||
"collapsed": true
|
|
||||||
},
|
|
||||||
"active": "b736346aa28b495c",
|
|
||||||
"lastOpenFiles": [
|
|
||||||
"SearchFilter UnityEditor筛选器.md",
|
|
||||||
"Pasted image 20221021171104.png",
|
|
||||||
"Mesh Baker.md",
|
|
||||||
"conflict-files-obsidian-git.md",
|
|
||||||
"图集处理.md",
|
|
||||||
"待办事项/TODO.md",
|
|
||||||
"本地化流程.md",
|
|
||||||
"待办事项/Work.md",
|
|
||||||
"待办事项/Learn.md",
|
|
||||||
"未命名.md"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
52
GPU/GPU渲染流程.md
Normal file
52
GPU/GPU渲染流程.md
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
|
||||||
|
https://www.cnblogs.com/timlly/p/11471507.html
|
||||||
|
参考网站
|
||||||
|
|
||||||
|
# SM 流处理器
|
||||||
|
包括
|
||||||
|
运算核心
|
||||||
|
load/store 加载与储存
|
||||||
|
特殊数学运算 sin、cos、log
|
||||||
|
寄存器
|
||||||
|
L1缓存
|
||||||
|
全局内存缓存
|
||||||
|
纹理读取单元
|
||||||
|
纹理缓存
|
||||||
|
PolyMorph Engine:多边形引擎(负责属性装配、顶点拉取、曲面细分、栅格化 ~= 专门处理顶点相关)
|
||||||
|
2个Wrap Schedulers:负责wrap调度 1一个warp由32个线程组成,warp调度器的指令通过Dispatch Units送到Core执行。
|
||||||
|
指令缓存
|
||||||
|
内部链接网络(?)
|
||||||
|
|
||||||
|
# GPU渲染管线
|
||||||
|
通过图形api调用drawcall->
|
||||||
|
指令推送到驱动,驱动检查是否合法->
|
||||||
|
驱动把指令缓存到buffer里->
|
||||||
|
下次flush会把指令推送到GPU->
|
||||||
|
----------主机-------
|
||||||
|
|
||||||
|
GPU通过主机接口Host Interface接受命令->
|
||||||
|
通过前端(Front End)处理这些命令(?)-> Front End是哪儿
|
||||||
|
图元分配开始工作(indexbuffer产生三角形形成批次, 分配给GPCs{ ? })->
|
||||||
|
SM的多边形引擎(Poly Morph Engine)通过三角形索引获取三角形数据(Vertex Fetch)->
|
||||||
|
SM的Wrap调度(SIMT)->
|
||||||
|
![[Pasted image 20230413163234.png]]
|
||||||
|
|
||||||
|
等到wrap完成了vertex-shader的所有指令,三角形会被裁剪然后准备栅格化,GPU会把L1和L2缓存来进行vertex-shader和pixel-shader之间的数据通信
|
||||||
|
SM上的Attribute Setup保证了从vertex-shader来的数据经过插值后是pixel-shade是可读的。
|
||||||
|
光栅化引擎开始接受三角形工作(裁剪、背面剔除、Early-Z剔除)
|
||||||
|
32个线程分成8个2*2的像素块、如果没有三角形覆盖,线程会被遮掩
|
||||||
|
最后会颜色和深度输出到ROP(渲染输出单元),进行深度测试和framebuffer混合
|
||||||
|
|
||||||
|
# 深度测试
|
||||||
|
|
||||||
|
### 深度测试失效情况:
|
||||||
|
开启透明测试
|
||||||
|
开启像素摒弃指令 - OpenGL的clip
|
||||||
|
关闭深度测试
|
||||||
|
开启Multi-Sampling:多采样
|
||||||
|
|
||||||
|
### 深度测试会导致深度数据冲突
|
||||||
|
|
||||||
|
# CPU与GPU异构系统
|
||||||
|
分离
|
||||||
|
耦合
|
||||||
BIN
GPU/Pasted image 20230413163234.png
Normal file
BIN
GPU/Pasted image 20230413163234.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
2
并行计算/CPU/Brust.md
Normal file
2
并行计算/CPU/Brust.md
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
|
||||||
|
todo...
|
||||||
11
并行计算/CPU/SIMD(单指令多数据).md
Normal file
11
并行计算/CPU/SIMD(单指令多数据).md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
|
||||||
|
|
||||||
|
- 一个普通加法指令,一次只能对两个数执行一个加法操作。
|
||||||
|
- 一个 SIMD 加法指令,一次可以对两个数组(向量)执行加法操作。
|
||||||
|
|
||||||
|
一个寄存器存多个数据同时批量处理
|
||||||
|
|
||||||
|
|
||||||
|
## CSharp中的SIMD
|
||||||
|
位于 System.Numerics 下的Vector即可开始进行硬件级别上的处理
|
||||||
|
Vector<T>.Count为寄存器能容纳的位数
|
||||||
0
并行计算/GPU/Compute Shader.md
Normal file
0
并行计算/GPU/Compute Shader.md
Normal file
8
并行计算/GPU/SIMT.md
Normal file
8
并行计算/GPU/SIMT.md
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
|
||||||
|
单指令多线程
|
||||||
|
一个指令 会有多条线程运行相同的指令
|
||||||
|
英伟达会给出多个修饰符,例如:Bit Mask可以指定哪些线程干活 哪些空转,既可支持分支操作
|
||||||
|
每个线程会进入锁步(lock-step)
|
||||||
|
线程会进入被遮掩(be masked out)
|
||||||
|
被遮掩的原因,例如:if(false) 或者循环次数不一致
|
||||||
2
手写渲染器/课程.md
Normal file
2
手写渲染器/课程.md
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
|
||||||
|
https://github.com/ssloy/tinyrenderer/wiki/Lesson-0:-getting-started
|
||||||
Reference in New Issue
Block a user