libigl專案102學習筆記

你好,Albret發表於2020-11-21

在這裡插入圖片描述

步驟

自己新建個win32專案。
將102專案檔案載入進來。
主要程式碼如下:

//載入off模型
	igl::readOFF(inFile, V, F);

	// Plot the mesh
	igl::opengl::glfw::Viewer viewer;
	viewer.data().set_mesh(V, F);
	viewer.launch();

上述程式碼呼叫了launch(),裡面用到了glfw3相關的檔案,glad相關的檔案。
首先,把glad.c放置到專案資料夾裡。
在這裡插入圖片描述
然後,我們需要新建個include資料夾,放置所有的標頭檔案,新建個lib資料夾,放置所有的庫檔案。
把之前編譯得到的igl資料夾整個拷貝過來。

在這裡插入圖片描述
把glad和glfw放進來。可以在之前的external資料夾中找到
在這裡插入圖片描述
複製進來
在這裡插入圖片描述
庫檔案中, 是編譯好的32位的glfw3.lib
在這裡插入圖片描述
專案-屬性-配置屬性-vc++目錄
在這裡插入圖片描述
在這裡插入圖片描述
連結器-輸入
在這裡插入圖片描述
另外,注意,兔子的模型在下面資料夾中找到,整個data 檔案全部複製進來
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

原始碼

glad.c記得包含進來
在這裡插入圖片描述

在這裡插入圖片描述

main.cpp

// HelloWorld.cpp : 此檔案包含 "main" 函式。程式執行將在此處開始並結束。

#include "tutorial_shared_path.h"//檔案路徑
#include "CMeshProcessing.h"

using namespace std;
int main()
{
    Eigen::MatrixXd V;
    Eigen::MatrixXi F;

    CMeshProcessing m_CMeshProcessing;
    m_CMeshProcessing.drawMesh(TUTORIAL_SHARED_PATH"/bunny.off",V ,F );

}


CMeshProcessing.h

#pragma once
#include <igl/readOFF.h>
#include <igl/opengl/glfw/Viewer.h>
#include <string>

class CMeshProcessing
{
public:
	CMeshProcessing();
	~CMeshProcessing();

	//實現
public:
	//繪製模型【引數】
	void drawMesh(const std::string inFile,Eigen::MatrixXd& V, Eigen::MatrixXi& F);
};


CMeshProcessing.cpp

#include "CMeshProcessing.h"

CMeshProcessing::CMeshProcessing()
{
}

CMeshProcessing::~CMeshProcessing()
{
}

void CMeshProcessing::drawMesh(const std::string inFile, Eigen::MatrixXd &V, Eigen::MatrixXi &F)
{
	//載入off模型
	igl::readOFF(inFile, V, F);

	// Plot the mesh
	igl::opengl::glfw::Viewer viewer;
	viewer.data().set_mesh(V, F);
	viewer.launch();
}

tutorial_shared_path.h

#ifndef tutorial_shared_path_h_included
#define tutorial_shared_path_h_included

#ifndef TUTORIAL_SHARED_PATH
#define TUTORIAL_SHARED_PATH "data"
#endif

#endif

相關文章