OpenGL投影紋理映射+模擬投影儀&3D掃描儀

3D視覺感知小工具Tool

我們的3D視覺感知

image

小工具

這裏開源的工程是一個小工具,是在研究視覺感知算法時的輔助工具,是以OpenGL的紋理映射技術爲基礎,可以模擬投影儀或3D掃描儀。源碼請移步Github

OpenGL投影紋理映射

OpenGL加載圖片紋理後,根據投影原理,把其投射到可視空間內3D物體的表面(Surface),不同的表面形狀會對紋理產生各自不同的扭曲。
不同物體表面的投影:image
小工具的功能與使用方法:

  1. 二維圖片紋理加載 ,使用SOIL加載,支持多種不同格式的圖片紋理;
  2. 着色器文件加載,GLSL實現的着色器程序以文件形式存儲,支持着色器文件加載;

鼠標操作

動作 功能 備註
點擊左鍵+移動 轉換視角 可以左右上下切換視角
滾輪前後滾動 視角拉近拉遠 前滾拉遠視角&後滾拉近視角
點擊右鍵 視角重置 視角切換到原始狀態
點擊滾輪或中鍵 調出菜單 調出菜單後鼠標左鍵點擊選擇

多視角觀察投影:image

鍵盤操作

動作 功能 備註
點擊‘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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章