libigl学习--项目102_DrawMesh

8 篇文章 3 订阅
6 篇文章 3 订阅

先看效果图

在这里插入图片描述

【1】git clone得到的libigl库

可以参看libigl库的clone和安装

【2】新建一个win32的空项目

【3】加载文件

(1)将libigl库的103项目的main函数文件包含进来

main函数文件在tutorial–102_DrawMesh文件夹下。
在这里插入图片描述

在这里插入图片描述

(2)将libigl库的tutorial_shared_path.h文件加载进来

tutorial_shared_path.h文件在libigl-tutorial文件夹下。

这个文件是方便加载模型,将模型的文件路径定义为宏。
在这里插入图片描述

(3)将glad.c文件加载进来

glad封装了opengl功能函数接口的扩展库文件。
glad.c在libigl–external–glad–src里面
在这里插入图片描述

【4】配置 包含文件,库文件

(1)在项目文件中,新建个include和lib文件夹。

在这里插入图片描述

(2)将libigl库下的external文件夹和igl文件夹复制进我们的include文件夹。

在这里插入图片描述

(3)将glfw3.lib复制进lib文件夹

libigl\external\embree\tutorials\common\glfw\Win32\vc14下找到glfw3.lib
因为我们新建的是win32项目,所以这里的库文件也要是32位项目下编译的lib文件。

【5】 配置项目属性

右键项目,打开vc++目录–包含目录,输入

include
include\external\glfw\include
include\external\glad\include
include\external\eigen

在这里插入图片描述

打开vc++目录–库目录
输入

lib

在这里插入图片描述
打开链接器-输入-附加依赖项

opengl32.lib
glfw3.lib

在这里插入图片描述

【6】加载模型文件

我们将需要的3D模型都加载进来
将libigl库下的libigl–tutorial–data 文件夹复制进项目

在这里插入图片描述
将tutorial_shared_path.h中的文件路径替换为"data"

#ifndef tutorial_shared_path_h_included
#define tutorial_shared_path_h_included

#ifndef TUTORIAL_SHARED_PATH
#define TUTORIAL_SHARED_PATH "data"
#endif

#endif

代码分析

readOFF(TUTORIAL_SHARED_PATH "/bunny.off", V, F);

这个函数是加载buny模型,并且把顶点存进矩阵V中,面片的索引存进F中。

igl::opengl::glfw::Viewer viewer;

viewer类头文件是libigl封装的接口,渲染模型。

 viewer.data().set_mesh(V, F);

set_mesh()将顶点和面加载后,计算模型的面法矢,设置顶点的统一颜色(通过光照的方式),
并且还生成了贴图。

viewer.launch();

launch()函数首先是初始化,launch_init(resizable,fullscreen,name,windowWidth,windowHeight);
设置了opengl的版本号3.3,
通过glfwCreateWindow创建了窗口。
这个函数里还初始化了opengl的扩展。

结束

在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值