光线追踪之光照贴图尝试

下载了GitHub:https://github.com/AKGWSB/EzRT

运行代码得到一个 图:

常规opengl程序

第一个图像能不能作为纹理贴到第二个动图上去,这好象叫'光照贴图'。

现在尝试来一下

把图像上的颜色投向物体上

cpp 复制代码
	vector<vec3>vertexs;
	vector<vec4>colors;
	vector<vec3>Normals;

	//把图像上的颜色投向物体上
	{
		double* p = image;
		for (int i = 0; i < HEIGHT; i++)
		{
			for (int j = 0; j < WIDTH; j++)
			{
				// 像素坐标转投影平面坐标
				double x = 2.0 * double(j) / double(WIDTH) - 1.0;
				double y = 2.0 * double(HEIGHT - i) / double(HEIGHT) - 1.0;

				 MSAA
				//x += (randf() - 0.5f) / double(WIDTH);
				//y += (randf() - 0.5f) / double(HEIGHT);

				vec3 coord = vec3(x, y, SCREEN_Z);          // 计算投影平面坐标
				vec3 direction = normalize(coord - EYE);    // 计算光线投射方向

															// 生成光线
				Ray ray;
				ray.startPoint = coord;
				ray.direction = direction;

				// 与场景的交点
				HitResult res = shootTS(ray);
				vec4 color = vec4(0);
				color.x = *p; p++;  // R 通道
				color.y = *p; p++;  // G 通道
				color.z = *p; p++;  // B 通道

				if (res.isHit)
				{
					//命中序号
					if (res.n == s1.Sphere_n) {//triangles[3].Triangle_n
						vertexs.push_back(res.hitPoint);
						colors.push_back(color);
						Normals.push_back(res.material.normal);
					
					}

				}


			}
		}
	}


	//save_PointSN("changts.ply", vertexs, colors, Normals);
	//保存三角形光照贴图("triangle034.png", vertexs, colors, triangles, triangles[3].Triangle_n, "xy");

	保存球贴图("Sphere10.png", vertexs, colors, spheres, s1.Sphere_n);

然后得到一些稀疏点图

邻近插值

这是球上颜色图,有一半是不可见的

其它




贴上纹理

关掉材质色

是不是有点样子了

相关推荐
Chloe_lll3 天前
threejs(五)纹理贴图、顶点UV坐标
javascript·贴图·uv
da_vinci_x4 天前
告别“手绘序列帧”:Substance Designer中的程序化VFX材质工作流
游戏·材质·贴图·技术美术·游戏美术·vfx·substance designer
Min;21 天前
cesium-kit:让 Cesium 开发像写 UI 组件一样简单
javascript·vscode·计算机视觉·3d·几何学·贴图
Duo1J24 天前
【OpenGL】LearnOpenGL学习笔记25 - 法线贴图 NormalMap
笔记·学习·图形渲染·贴图·着色器
Duo1J24 天前
【OpenGL】LearnOpenGL学习笔记26 - 视差贴图 Parallax Map
笔记·学习·图形渲染·贴图·着色器
da_vinci_x24 天前
游戏UI告别“贴图”时代:用Adobe XD构建“活”的设计系统
游戏·ui·材质·贴图·游戏策划·游戏美术·pbr
AndrewHZ1 个月前
【3D算法技术】blender中,在曲面上如何进行贴图?
算法·3d·blender·贴图·三维建模·三维重建·pcg
在下胡三汉1 个月前
3dmax烘培插件3dmax法线贴图烘焙教程glb和gltf元宇宙灯光效果图烘焙烘焙光影贴图支持VR渲染器
vr·贴图
二川bro2 个月前
第21节:环境贴图与PBR材质升级——构建电影级真实感渲染
材质·贴图
AndrewHZ2 个月前
【三维渲染技术讨论】Blender输出的三维文件里的透明贴图在Isaac Sim里会丢失, 是什么原因?
算法·3d·blender·nvidia·贴图·具身智能·isaac sim