7.25 公司

This commit is contained in:
zzz
2025-07-25 18:30:02 +08:00
parent a03e6e108a
commit 315004a540
27 changed files with 14 additions and 4937 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,52 +0,0 @@
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异构系统
分离
耦合

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -1 +0,0 @@
[Unity 技术美术Trick —— dither妙用 - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/697133450)

View File

@@ -1 +0,0 @@
[Unity可交互雪地渲染Part5-雪地闪光及SSS - 知乎](https://zhuanlan.zhihu.com/p/30651821847)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 344 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,12 +0,0 @@
https://github.com/ssloy/tinyrenderer/wiki/Lesson-0:-getting-started 大佬github
https://zhuanlan.zhihu.com/p/434874992 从零
https://www.drflower.top/posts/e7715f6d/#TinyRenderer
https://zhuanlan.zhihu.com/p/399056546 笔记
https://zhuanlan.zhihu.com/p/59302124 C#手写
https://learnopengl-cn.github.io/ openGL中文翻译

View File

@@ -1,12 +0,0 @@
写笔记复习过程
[[透视矫正]]
[[冯 高光]]
[[视锥剔除]]
[[视口剔除]]
Sutherland-Hodgeman凸多边形裁剪算法
Weiler-Atherton算法为凹多边形无残留
https://blog.csdn.net/m0_56494923/article/details/128514324

View File

@@ -1,5 +0,0 @@
出现原因 :取质心坐标的时候 取得是已经经过了透视变换得点
![[Pasted image 20230613102109.png]]
解决方法: todo

View File

@@ -1,32 +0,0 @@
### [[Unity编辑器扩展基础总结] 第5章 序列化对象 SerializedObject](链接)
#### 第5章 序列化对象 SerializedObject
###### https://www.cnblogs.com/ppne/p/14752941.html
### 笔记
#### SerializedObject:
##### 作用:
资源文件的序列化和反序列化
可以链接一个数组,多个对象使用同一个SerializedObject
##### 运行:
继承Mono,ScriptableObject,Editor,EditorWindow
会为对象生成SerializedObject,生成对象会在内部缓存
所以如果两个不同位置使用同一个对象,应使用Update更新对象,使用ApplyModifiedPropertiyin应用这个对象的更改
创建资源时,会先创建SerializedOject, 这个对象再创建Object和.meta
#### Object
资源文件,一般为二进制或者yaml文件,记录文件序列化信息
#### .meta
记录文件导入相关信息
我们也可以使用UnityEditorInternal命名空间中的**InternalEditorUtility.SaveToSerializedFileAndForget**将UnityEngine.Object另存为资源。
#### Q
AssetDataBase.Load()到底是序列化作用还是从内存中找到GameObject对应的SerializedObject
反射命中对象到底是SerializedObject还是GameObject
![[Pasted image 20221025121100.png]]
当脚本Load出来的时候会自动反序列化

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

View File

@@ -1,15 +0,0 @@
ui与特效渲染层级问题
- 除了rt怎么做
- fgui与uiEffect的解决方案
- 有了解过哪些寻路
- 寻路算法
- RVO
- 欠缺渲染原理
- 粒子特效与UI的渲染顺序
- 欠缺具体解决方案
- 粒子特效与UI的渲染顺序
欠缺优化知识
优化能力即是牢固的基础