一、下载引擎

官方网站: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. Sqoop 命令

    1)list-databases     List available databases on a server sqoop list-databases --connect jdbc:db2:// ...

  2. codeforces 630A Again Twenty Five!

    A. Again Twenty Five! time limit per test 0.5 seconds memory limit per test 64 megabytes input stand ...

  3. Python if..else

    200 ? "200px" : this.width)!important;} --> 一.介绍 1.完整形式 if <条件判断1>: <执行1> e ...

  4. MFC中常用的内容

    在程序中更改静态文本内容. GetDlgItem(IDC_STATIC)->SetWindowText("欢迎"); 不用UpdateData(false); 如果提示con ...

  5. status pending状态

    开发采用ssh,注解的方式,事物也application.xml配置了,但是在业务层没有使用@Transactional造成浏览器一直处于status pending状态,为什么没有使用@Transa ...

  6. c#与java webservice调用问题

    问题描述一: c#调用java写的websrevice,对方接收到的参数与实际传的值不一致,返回的时候值也获取不到,为null. 该参数为普通的string类型,因此不存在类型转换的问题. 处理: 使 ...

  7. ssh 设置免password登录

    如果: 实现->操作机A机 要以用户"user1"身份.免password登录B机和C机? B机和C机 建立用户 user1 而且能够ssh 登录. A机设置: 1.安装ss ...

  8. TinyXML:一个优秀的C++ XML解析器[转]

    TinyXML:一个优秀的C++ XML解析器 读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似 ...

  9. w3cmark前端精彩博文周报 10.13-10.19

    w3cmark推出每周精选前端博文推荐,通过阅读别人的代码,学习别人的经验,提升自己的水平.欢迎关注 @前端笔记网 微博.其实如果是关注我们微博的朋友都对下面的文章熟悉,因为我们会一旦发现有价值的.精 ...

  10. memset用法详解(转)

    问题描述: int * cow = new int[n+1]; memset(cow,0,(n+1)*4); 将N+1个元素置成0,为什么不行 memset是对一个字节的int4个字节,因此*4 但是 ...