- 博客(15)
- 问答 (3)
- 收藏
- 关注
原创 【无标题】
1.DX API的初始化2.PSO绑定(根签名、布局、Shader、常量缓存区)3.Update (常量缓存区中的坐标拷贝到GPU缓冲区)4.提交。
2025-07-06 23:17:35
116
原创 引擎框架笔记
渲染分层U3D:背景、几何层、alphtexture层、AT层、透明层我的引擎通过层级管理器:透明层、不透明层、alph测试、自定层(动态加载)
2025-07-06 23:09:20
61
原创 DX灯光笔记
Lambert余弦(d:强度 E:EndAttenuation 点到光源的距离 s:StartAttenuation 衰减半径,超过这个距离开始衰减)Lambert余弦=dot(n,l):和光源方向有关,和位置无关。:和光源方向无关,和位置有关。d:受点与光源之前距离影响。
2025-07-06 23:08:51
132
原创 SSAO笔记
1.基于屏幕的:normal和深度贴图、噪波图2.采样体积:14个向量组成的体积用AO层管理上述材料(存在PSO中,再给寄存器调用)对噪波进行双边模糊。
2025-04-15 16:30:56
314
原创 DX游戏引擎优化笔记
(R是局部空间的旋转,Rw是世界空间的旋转 )floor(角度+=控制的值) 得到CD效果。atan2:计算范围 -180~180。根据UV的x和y通过atan2求出角度。atan:计算范围 -90~90。
2025-04-10 16:46:26
223
原创 灯光下的材质问题
多灯光问题:一盏灯光下,模型的灯光效果正常;但当多盏灯光的情况下会出现明显的交界线.(只出现在兰伯特和BlinPhong模型)原公式=pow(max(dot(V,Half),0),Mougth)1.去掉兰伯特值必须要大于0 的限制。(依然无法控制光斑大小)兰伯特:让cos的曲线区域平缓(Pow(Color,2))所有用到兰伯特的颜色算法的都要进行此操作。2.Blinnphong归一化系数。是为了保证能力守恒)
2025-03-07 14:09:17
149
原创 DX纹理映射
但这种正方形式的插值(不考虑x、y轴和屏幕的角度问题)会导致画面模糊。需要DX的第三方库:DirectXTK的DDSTextureLoader.cpp .h。DXT1:无alpha DXT3 DXT5。UV坐标对应像素坐标提取颜色(通重心坐标实现像素坐标向纹理坐标的转换)纹理上的拉伸模拟了屏幕上的拉伸(而不是像之前一样四四方方就投影过来)。三线性插值:解决一个像素只映射到一个文素的一小部分。层级:根据点距离视口的距离觉得它所在层。Minimap:节省了三分之一的内存。
2025-03-07 14:08:56
233
原创 平行光下的材质笔记
以此控制法线向量的长度(方向不变,大小会变),和光向量相加得到 模拟透色的射线向量(背面效果)不死黑(半兰伯特思想[0,2]/2=>[0,1]) : ((dot(n,l)+1)*layer)/layer。:欧米噶,立体角(三维空间中某个点向多个方向的集合,单位sr)——1SR代表面积=圆半径。l:灯光方向 n:法线方向 v:视口方向(摄像机方向)WrapLight:(早期的模拟皮肤的方法,有点3S的效果)=和法线夹角最大的(光方向和视口方向两者中)
2025-02-25 23:51:20
291
原创 图形渲染记录(模型)
1.点映射到屏幕空间(变换)(GPU)2.将屏幕空间的点图元化,如果需要对三角形细分则在图元化后细分,裁剪(硬件进行),深度测试等(此时还没映射到屏幕)(GPU)此阶段前还可以读取CPU传来的代码(对GPU的语言:shader),逐个顶点操作3.光栅化:映射到屏幕,并对像素操作(GPU)在这个光栅化阶段前,也可以读取CPU传来的代码,逐个像素操作,再进行光栅化4.将最好结果合并放入后缓冲区,交给交换链进行下一步操作。
2024-03-20 22:02:50
300
1
空空如也
CUDA环境配置问题
2023-12-03
c++文件存取问题,异常
2021-12-26
c++类中vector写入文件问题
2021-12-30
c++关于类中vector的传递问题
2021-12-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人