光线追踪之光照贴图尝试

下载了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);

然后得到一些稀疏点图

邻近插值

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

其它




贴上纹理

关掉材质色

是不是有点样子了

相关推荐
da_vinci_x3 天前
【场景美术】2D 游戏要做“视差滚动”?智能补全 + 深度切片,5分钟把单图拆成 5 层景深
人工智能·游戏·prompt·aigc·贴图·技术美术·游戏美术
CG_MAGIC4 天前
Blender制作蜘蛛机器人
机器人·blender·贴图·建模教程·渲云渲染
郝学胜-神的一滴5 天前
OpenGL纹理技术详解:从原理到实践
c++·程序人生·游戏程序·图形渲染·贴图
da_vinci_x7 天前
【2D场景】16:9秒变21:9?PS “液态缩放” + AI 补全,零成本适配全面屏
前端·人工智能·游戏·aigc·设计师·贴图·游戏美术
reddingtons7 天前
【品牌包装】告别“贴图怪”!Firefly + Illustrator Mockup,0 建模一键“真”样机
人工智能·aigc·illustrator·传媒·设计师·贴图·样机
da_vinci_x8 天前
【游戏场景】手绘贴图“接缝”地狱?PS 智能平铺流,3步量产无缝地砖
游戏·3d·prompt·aigc·贴图·技术美术·游戏美术
CG_MAGIC13 天前
SketchUp贴图失真全场景解决办法
贴图·sketchup·贴图失真
好奇龙猫14 天前
【AI学习-comfyUI学习-第二十三-法线贴图工作流-depth 结构+MiDaS 法线-各个部分学习】
人工智能·学习·贴图
mylinke21 天前
火电一次调频、自抗扰调频及群智能算法智能调频在MATLAB/Simulink中的应用
贴图
iesoxj23 天前
PS, Maya, UE 三端贴图对齐
贴图·maya