vs2017+pangolin的配置教程

一、Pangolin的编译

  • 在win10系统,使用vs2017编译64位的pangolin库是比较简单的事情。直接下载最新的pangolin库,使用cmake-gui工具编译即可,建议使用3.14以上的版本,下载地址为cmake官网
  • 直接使用cnake-gui生成vs2017 64位的工程,编译过程中会自动下载需要的库,无需多余的配置。
  • 可以根据需要修改pangolin库的安装路径(CMAKE_INSTALL_PREFIX对应的路径),最好修改一下,不然会默认安装到C盘,不好查找。
  • 直接编译(Release模式)即可成功,点击install工程,使用仅安装生成,即可得到pangolin库。
  • 安装过程如出现错误,可以参考这篇文章
  • win10+vs2017编译好的可以在这里下载。

二、Pangolin的配置

  • 安装成功后,会出现lib, include,bin三个文件夹。
  • 将lib添加到库目录中,例如:3rd_party\Pangolin\lib
  • 将include添加到包含目录中,例如:3rd_party\Pangolin\include
  • 在连接器-输入-附加依赖项中添加:
pangolin.lib
glew.lib
glu32.lib
opengl32.lib
mfplat.lib
mfreadwrite.lib
mfuuid.lib
strmiids.lib
mf.lib

三、测试例子

  • Release模式编译使用
#include <iostream>
#include <iomanip>
#include <pangolin/pangolin.h>

using namespace std;

int main ( int argc, char** argv )
{
	pangolin::CreateWindowAndBind("my-slam: Map Viewer", 1024, 768);

	// 3D Mouse handler requires depth testing to be enabled
	glEnable(GL_DEPTH_TEST);

	// Issue specific OpenGl we might need
	glEnable(GL_BLEND);
	glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

	pangolin::CreatePanel("menu").SetBounds(0.0, 1.0, 0.0, pangolin::Attach::Pix(175));
	pangolin::Var<bool> menuFollowCamera("menu.Follow Camera", true, true);
	pangolin::Var<bool> menuShowPoints("menu.Show Points", true, true);
	pangolin::Var<bool> menuShowKeyFrames("menu.Show KeyFrames", true, true);
	pangolin::Var<bool> menuShowGraph("menu.Show Graph", true, true);
	pangolin::Var<bool> menuLocalizationMode("menu.Localization Mode", false, true);
	pangolin::Var<bool> menuReset("menu.Reset", false, false);

	// Define Camera Render Object (for view / scene browsing)
	pangolin::OpenGlRenderState s_cam = pangolin::OpenGlRenderState(
		pangolin::ProjectionMatrix(1024, 768, 500, 500, 512, 389, 0.1, 1000),
		pangolin::ModelViewLookAt(0, -0.7, -1.8, 0, 0, 0, 0.0, -1.0, 0.0)
	);

	pangolin::OpenGlMatrix Tcw;

	Tcw.SetIdentity();

	// Add named OpenGL viewport to window and provide 3D Handler
	pangolin::View& d_cam = pangolin::CreateDisplay()
		.SetBounds(0.0, 1.0, pangolin::Attach::Pix(175), 1.0, -1024.0f / 768.0f)
		.SetHandler(new pangolin::Handler3D(s_cam));

	while (1)
	{
		glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
		s_cam.Follow(Tcw);

		d_cam.Activate(s_cam);
		glClearColor(1.0f, 1.0f, 1.0f, 1.0f);

		pangolin::FinishFrame();
	}

	return 0;
}
  • 效果图如下
    在这里插入图片描述
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值