VCG Libary学习笔记(1) 概述 安装 文件夹结构

VCG Libary学习笔记(1) 概述 安装 文件夹结构

(翻译于VCG Libary官网,http://vcg.isti.cnr.it/~cignoni/newvcglib/html/)

概述

        VCG Libary是Visulization and Computer Graphics Libary(可视化与计算机图形学库)的缩写,是一个开源的C++模板库,用于三角网格和四面体网格的控制、处理和OpenGL显示。其中包含了超过100 000行的代码。基于该库,Visual Computing Lab开发了几个著名的工具,如metro和MeshLab。
       
        VCG Libary是专门为处理三角网格而设计的,库很大,且提供了许多最先进的处理网格的功能,如:
            *基于边坍塌(edge-collapse)二次误差的高质量网格简化(simplfication);
            *高效的空间检索数据结构(uniform grids, hashed grids, kdtree, ...);
            *先进的网格平滑和光顺算法;
            *曲率计算;
            *纹理座标优化;
            *Hausdorff距离计算;
            *测地路径;
            *网格修复能力
            *等直面抽取和前沿的网格划分算法;
            *泊松圆盘采样和其他的网格点采样算法;
            *细分曲面。

安装

        至此,VCG Libary官网上的概述就说的差不多了,但是这样作为一篇博客就太单调了,所以就把这个安装也说一下,内容也不多,而且安装也比较方便。这部分内容来自于VCG Libary的文档,在官网主页上就能找到(Installation and folder structure)。
        最新的VCG Lib代码可以通过SVN获取,网上应该也有下载吧,我没仔细看了,我是下载MeshLab源码的时候,里面就带了的,我直接就用那个了。要是通过SVN获取的话,命令为svn checkout svn://svn.code.sf.net/p/vcg/code/trunk/vcglib vcglib,自己新建个vcglib文件夹,然后用svn的check out什么的就可以了,好久没用svn了,就不能详细说了。反正下载完成后,vcglib下的文件夹如下:
           

文件夹结构

        VCG Lib的大部分由头文件组成,下载后,将文件解压到一个vcglib文件夹中,然后将vcglib文件夹放到你的编译器的“include”目录中。然后使用时,只要包含其中需要的文件即可。
同上图,vcglib文件夹中,总共包含5个子文件夹:
        *vcg:这是整个库的核心,其中定义了所有的算法和数据结构。该部分所有的C++代码都是STL支持的普通数据结构和算法,不包含任何其它标准库之外的库,而且可以发现,该部分只包含头文件(.h);
        *wrap:这里包含一些针对特定需求/上下文/库的VCG概念的封装。例如,所有的用于计算机硬盘上很多格式的网格数据的导入和导出;用OpenGL渲染三角形网格的代码;普通GUI工具如跟踪球,等等;
        *apps:这个文件夹包含一些用VCG Lib开发的命令行程序,很多例子都能在MeshLab中找到,apps/simple文件夹包含了这些程序的一个基础的子集,是一个初学者很好的入口点;
        *docs:文档(包括这个教程)
        *eigenLib:线性代数的eigen库最近的稳定版本的一个副本(相当于就是借用第三方库了),VCGLib中的高级矩阵操作都是基于这个库的。
(写的比较仓促,因为自己的事情也比较多,写完就没心思检查了,难免会有错,海涵。。)

发布了27 篇原创文章 · 获赞 70 · 访问量 20万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章