学习笔记
文章平均质量分 60
Aurora_Nebulas
The lord is my light.
展开
-
图形学入门:光线追踪一 whitted-style递归算法
于Whitted-style ray trace:现代GPU可以做到几百帧到几千帧每秒:原理:假设从相机的点(暂时不考虑透镜)出发,定义一个屏幕,对于屏幕的点的每一个像素发出一条光线,若不在阴影里,则计算光线每一交点的着色的值的和;基础:1.求解交点:光线的数学公式定义:方法一:先求与平面的交点,再判断和三角形是否相交:相交方法可以查看另一篇文章文末代码:aleanna:图形学入门:MSAA抗锯齿当与三角形相交,对于t一定有解,并且t>=0..原创 2021-12-07 14:50:54 · 1054 阅读 · 0 评论 -
标准光照模型Phong 和Bling-Phong
Phong着色模型:包括元素:自发光(emissive)漫反射(diffuse)fixed3 diffuse = _LightColor0.rgb * _Diffuse.rgb * saturate(dot(worldNormal, worldLightDir));反射(specular) fixed3 reflectDir = normalize(reflect(-worldLightDir, worldNormal)); fixed3 viewDi原创 2021-12-07 14:46:53 · 660 阅读 · 0 评论 -
UE4 渲染半透明物体进深度剔除(复制物体)
在渲染半透明材质时会出现半透明物体重叠的现象,用深度剔除的方式可以解决。在材质里原理:利用CustomDepth首先复制一个模型,将复制出来的模型节点如下bug解决:当出现黑色时:是因为原本的第二个物体(渲染深度的不透明物体)勾选了render in Depth Pass解决方法:取消勾选render in Depth Pass,只需要将custom Depth pass勾选参...原创 2021-08-14 08:10:21 · 4532 阅读 · 0 评论 -
VBO存放多种属性color and position学习笔记
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)0); glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (void*)(3 * sizeof(float))); glEnableVertexAttribArray(1); glEnableVertexAttribArray(...原创 2021-08-09 08:26:11 · 189 阅读 · 0 评论