• 大小: 4.24MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-17
  • 语言: 其他
  • 标签: 增强现实  artoolkit  

资源简介

可以运行的artoolkit的例子,适合新手学习。在计算机配置好以后就可以运行了。简单易懂,可以学习学习

资源截图

代码片段和文件信息

// oneDemo.cpp : 定义控制台应用程序的入口点。
//

#include “stdafx.h“
#ifdef _WIN32
#include 
#endif
#include 
#include 
#ifndef __APPLE__
#include 
#include 
#else
#include 
#include 
#endif
#include 
#include 
#include 
#include 

#include “3DS.H“
#include “Texture.h“

#include 
//
// Camera configuration.
//
#ifdef _WIN32
char *vconf = “Data\\WDM_camera_flipV.xml“;
#else
char *vconf = ““;
#endif

int             xsize ysize;
int             thresh = 100;
int             count = 0;

char           *cparam_name    = “../Bin/Data/camera_para.dat“;
ARParam         cparam;

char           *patt_name      = “../Bin/Data/patt.hiro“;
int             patt_id;
double          patt_width     = 100.0;
double          patt_center[2] = {0.0 0.0};
double          patt_trans[3][4];

C3DSModel g_3dsmodel;
float scale;
bool isshow = false;


static void   init();
static void   cleanup();
static void   keyEvent( unsigned char key int x int y);
static void   mainLoop();
static void   draw();


int main(int argc char **argv)
{
glutInit(&argc argv);

init();

//加载3DS模型文件
if(!g_3dsmodel.Load(“../Bin/Data/DC10.3DS“))
{
//printf(“加载3ds文件失败!“);
exit(0);

//设置比例
scale = 1.0;


    arVideoCapStart();
    argMainLoop( NULL keyEvent mainLoop );
return (0);
}

static void   keyEvent( unsigned char key int x int y)
{

if (key == 0x1b)// 判断ESC键是否按下
{
cleanup();
exit(0);// 结束程序     
}

if ( key ==‘-‘)// 判断按键‘-‘是否按下
{
scale -= 0.05;
if(scale <= 0.01)
scale = 0.01;
}

if (key == ‘+‘)// 判断按键‘+‘是否按下
{
scale += 0.05;
if(scale >= 100)
scale = 100;
}
}

static void mainLoop()
{
    ARUint8         *dataPtr;
    ARMarkerInfo    *marker_info;
    int             marker_num;
    int             j k;

    if( (dataPtr = (ARUint8 *)arVideoGetImage()) == NULL )
{
        arUtilSleep(10);
        return;
    }
    if( count == 0 ) 
arUtilTimerReset();
    count++;

    argDrawMode2D();
    argDispImage( dataPtr 00 );

    if( arDetectMarker(dataPtr thresh &marker_info &marker_num) < 0 ) 
{
        cleanup();
        exit(0);
    }

    arVideoCapNext();


{
k = -1;
for( j = 0; j < marker_num; j++ ) 
{
if( patt_id == marker_info[j].id ) 
{
if( k == -1 )
{
k = j;

}
else if( marker_info[k].cf < marker_info[j].cf )
{
k = j;
}
}
}
if( k == -1 ) 
{
argSwapBuffers();
return;
}
arGetTransMat(&marker_info[k] patt_center patt_width patt_trans);
}

    draw();
    argSwapBuffers();
}

static void init( void )
{
    ARParam  wparam;

    if( arVideoOpen( vconf ) < 0 ) 
{
exit(0);
}

    if( arVideoInqSize(&xsize &ysize) < 0 ) 
{
exit(0);
}

    if( arParamLoad(cpara

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      13640  2011-05-25 15:13  AR3DS\AR3DS\3DS.CPP

     文件       4783  2011-03-14 09:53  AR3DS\AR3DS\3DS.H

     文件       4541  2011-04-26 14:51  AR3DS\AR3DS\AR3DS.vcproj

     文件       1427  2011-05-27 10:34  AR3DS\AR3DS\AR3DS.vcproj.PC-201101181029.Administrator.user

     文件       4892  2011-05-27 10:32  AR3DS\AR3DS\ARLoad3DS.cpp

     文件        212  2010-11-04 14:08  AR3DS\AR3DS\stdafx.cpp

     文件        207  2011-04-26 14:17  AR3DS\AR3DS\stdafx.h

     文件       8581  2011-04-26 14:18  AR3DS\AR3DS\Texture.cpp

     文件        544  2011-03-16 16:02  AR3DS\AR3DS\Texture.h

     文件   14101504  2011-05-27 10:34  AR3DS\AR3DS.ncb

     文件        880  2011-04-26 14:14  AR3DS\AR3DS.sln

    ..A..H.     14848  2011-05-27 10:34  AR3DS\AR3DS.suo

     文件     200704  2011-05-27 10:32  AR3DS\Bin\AR3DS.exe

     文件        136  2004-11-04 16:50  AR3DS\Bin\Data\camera_para.dat

     文件      38047  2005-10-19 15:33  AR3DS\Bin\Data\DC10.3DS

     文件      12484  2004-11-04 16:50  AR3DS\Bin\Data\patt.hiro

     文件        476  2010-10-26 20:51  AR3DS\Bin\Data\WDM_camera.xml

     文件        506  2010-11-05 15:20  AR3DS\Bin\Data\WDM_camera_flipV.xml

     文件      77824  2005-05-17 19:33  AR3DS\Bin\DSVL.dll

     文件     385024  2005-05-17 19:33  AR3DS\Bin\DSVLd.dll

     文件     237568  2005-05-17 19:33  AR3DS\Bin\glut32.dll

     文件    1077289  2002-10-30 17:05  AR3DS\Bin\js32.dll

     文件      81408  2009-11-23 18:37  AR3DS\Bin\lib3ds-2_0.dll

     文件      20480  2010-10-28 12:26  AR3DS\Bin\libARvideo.dll

     文件      33792  2010-11-04 15:36  AR3DS\Bin\libARvideod.dll

     文件     499712  2008-12-09 17:58  AR3DS\Bin\msvcp71.dll

     文件     765952  2005-07-16 02:40  AR3DS\Bin\msvcp71d.dll

     文件     348160  2008-12-09 17:58  AR3DS\Bin\msvcr71.dll

     文件     544768  2005-07-15 14:39  AR3DS\Bin\msvcr71d.dll

     文件    1048576  2011-05-27 10:32  AR3DS\BinAR3DS.pch

............此处省略7个文件信息

评论

共有 条评论