一、下载引擎

官方网站:http://irrlicht.sourceforge.net/‎

官方网站需要翻墙才能进入,如果不想翻墙,可以通过其他下载地址:
CSDN下载:http://download.csdn.net/detail/fxrz12/4932156

下载后解压,学习引擎的第一步就完成了。

二、使用引擎

想要使用Irrlicht引擎,我们需要在程序中引入头文件<irrlicht.h>,该头文件在Irrlicht引擎的\include目录下。为了让编译器能够找到头文件,我们需要在IDE中设置一下路径。

下面介绍一下visual studio 2010的配置方法。

(1)打开visual studio 2010,新建一个工程

(2)在菜单中选择Project->Properties,会弹出属性面板。Configuration Properties->VC++ Directories的目录下,分别有Include Directories和Library Directories,在这两个栏中添加路径信息。

include: 引擎安装目录\include\
library: 引擎安装目录\lib\Win32-visualstudio 注:在lib中选择符合你的系统类型的文件夹

配置完成后,点击确认,IDE的设置就完成了。

(3)一件必须要做的事
在引擎安装目录\bin\VisualStudio中,找到Irrlicht.dll文件,把它复制到你的工程文件目录下,否则运行的时候会报错的。

三、简单尝试

建立一个main.cpp文件,把下边的代码复制进去,尝试是否可以运行,你的第一个使用Irrlicht的程序就完成了!

#include <irrlicht.h>

using namespace irr;

using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui; #ifdef _IRR_WINDOWS_
#pragma comment(lib, "Irrlicht.lib")
#pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup")
#endif int main()
{
IrrlichtDevice *device =
createDevice( video::EDT_SOFTWARE, dimension2d<u32>(, ), ,
false, false, false, ); if (!device)
return ; device->setWindowCaption(L"Hello World! - Irrlicht Engine Demo"); IVideoDriver* driver = device->getVideoDriver();
ISceneManager* smgr = device->getSceneManager();
IGUIEnvironment* guienv = device->getGUIEnvironment(); guienv->addStaticText(L"Hello World! This is the Irrlicht Software renderer!",
rect<s32>(,,,), true); smgr->addCameraSceneNode(, vector3df(,,-), vector3df(,,)); while(device->run())
{ driver->beginScene(true, true, SColor(,,,)); smgr->drawAll();
guienv->drawAll(); driver->endScene();
} device->drop(); return ;
}

  

当然,如果你有模型的素材,使用如下的代码添加进入程序之中,运行效果会变得更好:

  IAnimatedMesh* mesh = smgr->getMesh("./media/sydney.md2");
if (!mesh)
{
device->drop();
return ;
}
IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh ); if (node)
{
node->setMaterialFlag(EMF_LIGHTING, false);
node->setMD2Animation(scene::EMAT_STAND);
node->setMaterialTexture( , driver->getTexture("./media/sydney.bmp") );
}

  

四、常见问题

(1)fatal error C1083: Cannot open include file: 'irrlicht.h': No such file or directory

解决:没有设置好include directory, 看看自己的路径是不是设置错啦

(2)LINK : LNK6004: HelloWorld.exe not found or not built by the last incremental link; performing full link
LINK : fatal error LNK1104: cannot open file "Irrlicht.lib"
Error executing link.exe

解决:没有设置好library directory, 看看自己的lib路径是不是设置错了

(3)This application has failed to start because Irrlicht.dll was not found. Re-installing the application may fix this problem

解决:没有复制Irrlicht.dll文件到项目目录下,妥妥的。复制过去就好了。

【Irrlicht鬼火引擎】 安装配置Irrlicht鬼火引擎的更多相关文章

  1. 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例【转】

    Kylin 麒麟官网:http://kylin.apache.org/cn/download/ 关键字:olap.Kylin Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的 ...

  2. Android 2D游戏引擎AndEngine配置环境

    Android 2D游戏引擎AndEngine配置环境 1.2  配置环境 在任何编程中,都需要一些软件或者硬件的支持.否则,没有硬件软件是不可能存在的,而想要编写对应语言的的程序,这需要对应语言库和 ...

  3. sphinx中文版Coreseek中文检索引擎安装和使用方法(Linux)

    sphinx中文版Coreseek中文检索引擎安装和使用方法(Linux)     众所周知,在MYSQL数据库中,如果你在百万级别数据库中使用 like 的话那你一定在那骂娘,coreseek是一个 ...

  4. Express安装入门与模版引擎ejs

    Express安装入门与模版引擎ejs 目录 前言 Express简介和安装 运行第一个基于express框架的Web 模版引擎 ejs express项目结构 express项目分析 app.set ...

  5. python---django中models配置修改数据库引擎

    Django支持多种数据库,sqlite,mysql,oracle等,其默认数据库是sqlite 在settings文件中可以发现: DATABASES = { 'default': { 'ENGIN ...

  6. Database基础(二):MySQL索引创建与删除、 MySQL存储引擎的配置

    一.MySQL索引创建与删除 目标: 本案例要求熟悉MySQL索引的类型及操作方法,主要练习以下任务: 普通索引.唯一索引.主键索引的创建/删除 自增主键索引的创建/删除 建立员工表yg.工资表gz, ...

  7. mysql配置与存储引擎与字段类型与约束条件

    目录 字符编码与配置文件 存储引擎 创建表的完整语法 字段类型 整型 浮点型 字符类型 数字的含义 枚举与集合 日期类型 约束条件 字符编码与配置文件 在MySQL5.X系列中,显示的字符编码有多种, ...

  8. Hive on Spark安装配置详解(都是坑啊)

    个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/p/a7f75b868568 简介 本文主要记录如何安装配置Hive on Sp ...

  9. MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决

    一.简介 MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发.发布并支持的.有以下特点: MySQL是一种数据库管理系统. MySQL是一种关联数据库管理系统. MySQ ...

随机推荐

  1. mysql注册服务

    http://www.2cto.com/database/201301/185456.html ____________________________________________________ ...

  2. Java缓存学习之二:浏览器缓存机制

    浏览器端的九种缓存机制介绍 浏览器缓存是浏览器端保存数据用于快速读取或避免重复资源请求的优化机制,有效的缓存使用可以避免重复的网络请求和浏览器快速地读取本地数据,整体上加速网页展示给用户.浏览器端缓存 ...

  3. HDU 5826 physics (积分推导)

    physics 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5826 Description There are n balls on a smoo ...

  4. c# socket编程简单例子

    服务器端代码 using System; using System.Net; using System.Net.Sockets; using System.Text; using System.Thr ...

  5. 求一列的和,awk和perl哪个快?

    下午和群里的朋友争论了一下,有关awk和perl处理文本的速度,自己一直比较推崇perl,对awk知之甚少,结果就想当然的觉得perl快,结果一番争吵后,觉得还是实验一下靠谱,(其实是想证明一下per ...

  6. DbHelper数据操作类

    摘要:本文介绍一下DbHelper数据操作类 微软的企业库中有一个非常不错的数据操作类.但是,不少公司(起码我遇到的几个...),对一些"封装"了些什么的东西不太敢用,虽然我推荐过 ...

  7. RFID与射频卡电器特性

    电气特性: 容量为8K位EEPrOM: ● 分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位: ● 每个扇区有独立的一组密码及访问控制: ● 每张卡有唯一序列号,为32位: ● 具有防冲 ...

  8. php 算法之切割数组,不用array_chunk(),算法之二,取数组的差值,不用array_diff()

    用php写算法切割数组,不用array_chunk();算法例如以下所看到的. <?php //$array 数组 //$size 每一个数组的个数 //每一个数组元素是否默认键值 functi ...

  9. 关于Vim的问题s

    2013-11-23 17:29:45 1.关于.swp文件 swap对于保护非正常退出是有好处的,但从最开始使用vim就发现的一个问题十分恼火!非正常退出再进入后选择了恢复R,然后编辑正常保存正常退 ...

  10. 从零开始学android开发- layout属性介绍

    android:id 为控件指定相应的ID android:text 指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件当中的字符串 android:gravity 指定Vi ...