【配置ARToolKit】——基于VS2010与Win10下

1.OpenGL安装与2010配置

1.1、OpenGL库的安装

1)将下载下来的OpenGL库解压到文件夹,拷贝文件夹中的.h文件到Visual C++ 6.0/Microsoft Visual Studio 10.0\VC的\Include\GL目录中(此处自己建立文件夹GL);
2)将.lib文件拷贝到Visual C++ 6.0/Microsoft Visual Studio 10.0\VC的\lib目录中去;
3)将.dll文件拷贝到操作系统的C:\Windows\system32目录中,如果是windows7 64位操作系统需要拷贝到C:\Windows\SysWOW64目录中去。

1.2、VS2010配置

1)使用VS2010创建一个32位控制台程序;
2)“项目——项目属性——配置属性——C/C++— —预处理器——预处理器定义”,添加“GLUT_BUILDING_LIB”;
3)“项目——项目属性——配置属性——链接器——输入——附加依赖项”,添加“glut32.lib Opengl32.lib Glu32.lib glew32.lib”(由于没有glew32.lib文件,此处可以不添加);

1.3、OpenGL的测试

#include <stdio.h>
#include <GL\glut.h>
void RenderScene(void)
{
    //OpenGL中设置了多个缓冲区,其中放置了各种内容,
    //比如顶点的信息,色彩的信息,命令的信息。
    //他们并不会直接生效,要想他们生效就必须清空这些缓冲区,
    //glClear就是清空缓冲区的函数,
    //在参数里加上GL_COLOR_BUFFER_BIT,就是清空颜色缓冲区,
    //比如之前用glClearColor设置了背景色,但是不会立即生效,
    //背景色信息会被放入颜色的缓冲区,也就是GL_COLOR_BUFFER_BIT
    //这里清空了颜色缓冲区也就是使里面的背景色生效,也就是用背景色填充了屏幕。
    glClear(GL_COLOR_BUFFER_BIT);

    //gl表示函数属于OpenGL函数库中的哪个工具箱,还有glu、glut。
    //Color是一个标记,说明这个函数肯定跟颜色有关。
    //3f说明这函数的参数表中应该有三个变量,为GLfloat型
    glColor3f(1.0f,0.0f,0.0f);

    // 绘制矩形
    glRectf(100.0f,150.0f,150.0f,100.0f);

    //OpenGL中的绘图命令在被调用时并不会立即生效,而是会被放入一个命令队列
    //glFlush的功能就是将命令队列中的命令都生效并清空队列。
    //当设置了双缓冲时,glFlush就不在需要了
    glFlush();
}

// 当窗口大小改变时,得到的新的宽度和高度
void ChangeSize(GLsizei w,GLsizei h)
{
    if(h == 0)
    {
        h = 1;
    }

    //1.修剪区(也叫裁剪区)为OpenGL的三维工作空间,
    //是右手笛卡尔坐标系空间中被划分出来作为工作空间的区域,注意它是三维的。

    //2.视区(也叫视口)就是修剪区在二维平面上的投影区域,
    //由于显示屏是二维的平面,因此修剪区没法直接被显示,
    //需要被投影在一个二维的平面区域上,也就是视区,
    //OpenGL显示的就是视区的内容。

    //3.窗口就是在程序中用来放视区的地方,
    //视区占窗口的大小是可以设置的,通常设为跟窗口一样大。

    // 定义视区,x,y指定窗口内视区的左下角,通常为0
    // width和height参数以像素为单位指定宽度和高度
    glViewport(0,0,w,h);

    // 选择投影矩阵
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();

    if(w <= h)
    {
        // 定义修剪区,left和right指定x轴上显示的最小和最大坐标值
        // bottom和top用于y轴
        // near和far用于z轴,通常是远离观察者的负值
        glOrtho(0.0f,250.0f,0.0f,250.0f * h/w,1.0f,-1.0f);
    }
    else
    {
        glOrtho(0.0f,250.0f * w/h,0.0f,250.0f,1.0f,-1.0f);
    }

    //投影矩阵负责为我们的场景增加透视
    //选择模型观察矩阵
    glMatrixMode(GL_MODELVIEW);
    //近似于重置。它将所选的矩阵状态恢复成其原始状态
    glLoadIdentity();
}

void SetupRC(void)
{
    // 设定窗口内的背景色。
    // 前三个参数为红绿蓝,最后一个参数为alpha成分,用于混合的特殊效果
    glClearColor(1.0f,1.0f,1.0f,1.0f);
}

void main(void)
{
    // 设置单缓冲窗口并使用RGB颜色模式
    // GLUT_DOUBLE 设置双缓冲窗口
    glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
    // 设置窗口的位置
    glutInitWindowPosition(100,100); 
    // 设置窗口的大小
    glutInitWindowSize(1024,768);  
    // 创建并设置窗口的标题
    glutCreateWindow("GLRect"); 
    // 设置当前窗口的显示回调函数,相当于绘图函数
    glutDisplayFunc(RenderScene);
    // 窗口的再整形回调函数,
    // 窗口被人为改变大小时,图形的位置进行再调整
    glutReshapeFunc(ChangeSize);
    // 进行OpenGL的初始化
    SetupRC();
    // 该函数让GLUT框架开始运行,所有设置的回调函数开始工作,
    // 直至用户终止程序
    glutMainLoop();

}

1.4运行情况

这里写图片描述

2.ARToolkit在VS2010下的安装与配置

2.1文件的配置

1、解压ARToolKit-2.72.1-bin-win32.zip到目标文件夹(自己定义),直接解压到当前文件夹即可,如D:\Program Files,此时文件夹为{ARToolKit};
2、把第一个DSVL-0.0.8b.zip解压放在刚才解压的ARToolKit文件夹下,将DSVL\bin文件夹下的DSVL.dll和 DSVLd.dll放到ARToolKit\bin下

3、将OpenVRML解压后文件夹剪切至ARToolKit文件夹中,将ARToolKit\OpenVRML\bin\js32.dll复制,放进{ARToolKit}\bin里面去
4、复制 msvcp71d.dll、msvcr71d.dll到文件夹ARToolKit\bin

5、双击鼠标左键执行 ARToolKit\Configure.win32.bat 文件。

6、ARToolkit文件夹下的include和lib文件夹中的内容分别拷至Microsoft Visual Studio 10.0\VC下对应的文件夹

(如我的路径为:C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC)

7、把ARToolKit\bin下的DSVL.dll, DSVLd.dll,libARvideo.dll,libARvideod.dll复制放在C:\Windows\SysWOW64下,(如果此路径下没有msvcp71d.dll和msvpr71.dll那么需要下载一个然后放入该路径),如果是32位系统则目标文件夹为C:\Windows\System32。

8、双击{ARToolKit}目录下的ARToolKit.sln,转换版本;
9、点击生成-批生成,然后在{ARToolKit}\lib文件夹下面会生成一些lib文件,这一步必须先执行。否则直接运行包含ARToolkit的项目会出现无法解析外部符号的错误。

10、运行测试程序D:\Program Files\ARToolKit\bin\graphicsTest.exe,出现旋转茶壶如下图2所示:
这里写图片描述

前面这些步骤都可以参考:

http://blog.csdn.net/qingyang8513/article/details/45577721

这些步骤完成之后在VS2010中运行代码仍然会报错,还需要进行以下步骤

2.2.我遇到的问题及解决方法(这是我一步步的调试过程,以及可能遇到的错误)

1.单独打开一个例子运行,我的路径如下:D:\programing\AR\ARToolKit\examples\simple
这里写图片描述

2.运行程序,可能会产生如下错误

这里写图片描述

3.接下来要修改输出路径

初始路径为:
这里写图片描述

修改为
这里写图片描述

4.再运行程序可能会产生如下错误

这里写图片描述

这是由于在D:\programing\AR\ARToolKit\examples\simple\Debug目录下缺少一些必要的dll文件,如图:

这里写图片描述

将这些文件复制到D:\programing\AR\ARToolKit\examples\simple\Debug下,再继续运行程序,仍然无法成功。可能会出现闪退的问题

5.接下来将Data文件复制到D:\programing\AR\ARToolKit\examples\simple,再运行即可成功
这里写图片描述

6.运行结果
这里写图片描述

必要的安装包:

链接:https://pan.baidu.com/s/1jH5HBpW 密码:krzw**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值