OpenGL投影纹理映射+模拟投影仪&3D扫描仪

    xiaoxiao2022-07-13  224

    目录

    3D视觉感知小工具Tool我们的3D视觉感知小工具OpenGL投影纹理映射鼠标操作键盘操作菜单操作 模拟投影仪平面正投平面斜投曲面投影 模拟3D扫描仪系统环境

    3D视觉感知小工具Tool

    我们的3D视觉感知

    小工具

    这里开源的工程是一个小工具,是在研究视觉感知算法时的辅助工具,是以OpenGL的纹理映射技术为基础,可以模拟投影仪或3D扫描仪。源码请移步Github

    OpenGL投影纹理映射

    OpenGL加载图片纹理后,根据投影原理,把其投射到可视空间内3D物体的表面(Surface),不同的表面形状会对纹理产生各自不同的扭曲。 不同物体表面的投影: 小工具的功能与使用方法:

    二维图片纹理加载 ,使用SOIL加载,支持多种不同格式的图片纹理;着色器文件加载,GLSL实现的着色器程序以文件形式存储,支持着色器文件加载;

    鼠标操作

    动作功能备注点击左键+移动转换视角可以左右上下切换视角滚轮前后滚动视角拉近拉远前滚拉远视角&后滚拉近视角点击右键视角重置视角切换到原始状态点击滚轮或中键调出菜单调出菜单后鼠标左键点击选择

    多视角观察投影:

    键盘操作

    动作功能备注点击‘w’键Model上移3D空间内的所有物体向上移动点击‘s’键Model下移3D空间内的所有物体向下移动点击‘a’键Model左移3D空间内的所有物体向左移动点击‘d’键Model右移3D空间内的所有物体向右移动

    键盘操作的代码已经注释,需要时可以打开。 glTranslatef(dx, dy, dz);

    菜单操作

    菜单简单操作:

    模拟投影仪

    典型投影环境

    平面正投

    平面斜投

    曲面投影

    模拟3D扫描仪

    同理,您可以自行实现模拟3D扫描仪的功能。

    系统环境

    ubuntu 16.04 linux libGL libGLU libglut libGLEW libSOIL
    最新回复(0)