- 博客(6)
- 收藏
- 关注
原创 图形学入门:光线追踪一 whitted-style递归算法
于Whitted-style ray trace:现代GPU可以做到几百帧到几千帧每秒:原理:假设从相机的点(暂时不考虑透镜)出发,定义一个屏幕,对于屏幕的点的每一个像素发出一条光线,若不在阴影里,则计算光线每一交点的着色的值的和;基础:1.求解交点:光线的数学公式定义:方法一:先求与平面的交点,再判断和三角形是否相交:相交方法可以查看另一篇文章文末代码:aleanna:图形学入门:MSAA抗锯齿当与三角形相交,对于t一定有解,并且t>=0..
2021-12-07 14:50:54 1092
原创 标准光照模型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 682
原创 UE4 渲染半透明物体进深度剔除(复制物体)
在渲染半透明材质时会出现半透明物体重叠的现象,用深度剔除的方式可以解决。在材质里原理:利用CustomDepth首先复制一个模型,将复制出来的模型节点如下bug解决:当出现黑色时:是因为原本的第二个物体(渲染深度的不透明物体)勾选了render in Depth Pass解决方法:取消勾选render in Depth Pass,只需要将custom Depth pass勾选参...
2021-08-14 08:10:21 4670
原创 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 205
原创 利用UE4深度图制作空间开敞度可视化工具
制作目标:在一个点观看,一定范围的半径求内可以看到的可视范围,被建筑物遮挡的为橙色,可视天空为蓝色制作原理有两种方式可以制作,一是射线检测,二是利用深度图渲染两者利弊:射线检测:优点:精准,可控制范围精确,并且显示无误差。缺点:射线要足够密集,而且后期要做抗锯齿处理。深度图渲染:优点:UE4有自带的Scene Component cube 相机,利用Rander Target 3d 得到深度图S渲染图简便易用,处理材质效果好。缺点:因为是Cube采样再将深度...
2021-08-06 22:19:04 1308 5
原创 2021-07-24 OpenGL绘制简单三角形
#include <GL/glew.h>#include "glfw3.h"#include<iostream>int main(void){ GLFWwindow* window; /* Initialize the library */ if (!glfwInit()) return -1; /* Create a windowed mode window and its OpenGL .
2021-07-24 14:34:19 75
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人