光线追踪之光照贴图尝试

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

然后得到一些稀疏点图

邻近插值

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

其它




贴上纹理

关掉材质色

是不是有点样子了

相关推荐
CG_MAGIC7 天前
3ds Max材质编辑器:精简模式与Slate模式对比
3d·编辑器·材质·贴图·uv·建模教程
魔士于安8 天前
Shader forge技术美术专用
游戏·unity·游戏引擎·贴图·技术美术·模型
魔士于安8 天前
unity 音乐会场景 unity2022
游戏·unity·游戏引擎·贴图·模型
auccy10 天前
Unity Sprite 添加法线贴图
unity·贴图·normal
mxwin10 天前
次世代角色 PBR 贴图制作 + Unity URP 接入 极简流程图
unity·流程图·贴图·shader
mxwin10 天前
Unity URP 法线贴图如何生成 用什么工具创建
unity·游戏引擎·贴图
BugShare10 天前
把「贴图 + OCR + 翻译 + 长截图 + 录屏」做到极致的截图软件—PixPin
ocr·贴图
mxwin10 天前
Unity URP 法线贴图色彩空间、编码与解码
unity·游戏引擎·贴图·shader
mxwin10 天前
Unity Shader 法线贴图的七种错误用法
unity·游戏引擎·贴图·shader
CG_MAGIC12 天前
Substance Painter:图层蒙版与智能材质
3d·材质·贴图·substance painter·效果图·建模教程·渲云渲染