本文介绍从哪儿开始学习OGRE(Object-Oriented Graphics Rendering Engine的简称,又叫做OGRE 3D),如何在网上找寻OGRE的学习资源。

首先是wikipedia的介绍:

http://en.wikipedia.org/wiki/OGRE

官方网站

http://www.ogre3d.org/

官网介绍:http://www.ogre3d.org/about

特性列表:http://www.ogre3d.org/about/features

开发者对OGRE评价:http://www.ogre3d.org/about/testimonials

在这里下载OGRE

http://www.ogre3d.org/download/sdk

目前最新稳定版为1.9,上一个稳定版为1.8.1,可以两个都下下来,下载下来的.exe文件其实是个压缩包,直接解压。OGRE SDK文件夹下有个文件OgreSDK_vc10_v1-9-0/Docs/CodingStandards.html,建议首先读一下,这里讲了OGRE的给类命名的约定等,我简单列一些:

  1. 每个类的声明和实现都放在单独的源文件中,className.h里声明,className.cpp里实现,除少数类外;
  2. OGRE的所有东西都放在“Ogre”命名空间;
  3. 尽量使用STL的容器和算法(所以OGRE很依赖STL);

好了,看完介绍,可以动手了,官网有Tutorials

http://www.ogre3d.org/tikiwiki/tiki-index.php?page=Tutorials

Basic Tutorials简单讲了OGRE的各个方面:camera, light, shadow, sky, fog, input(key and mouse)等等,大概都是一步步教你做,然后简单讲解原理,建议全看,边看边跟着做;Intermediate Tutorials和In Depth Tutorials有一定深度,建议对OGRE有初步经验之后再看。

OGRE wiki有更多的资源:

http://www.ogre3d.org/tikiwiki/tiki-index.php

一旦开始写代码,API参考是必不可少的(OGRE SDK 包里有离线的,也可以从源码用Doxygen自己生成API文档):

http://www.ogre3d.org/docs/api/1.9/

当你遇到什么特殊问题,可以去OGRE论坛看看,很可能别人问过这个问题了,也可以发帖问,不要担心自己的英语不好,老外会很热情的给你解答的:

http://www.ogre3d.org/forums/

在下载的OGRE SDK包里面,有一个.sln文件,可以用Visual Studio打开,那是OGRE的example,里面的代码对入门者是很好的参考,编译SampleBrowser项目后运行结果截图如下:

另外有两本英文书籍,可以在新浪爱问共享资料上下载(我发现好多书都能从那里找到):

Ogre 3D 1.7 Beginner's Guide (Felix Kerger, 2010)

OGRE 3D 1.7 Application Development Cookbook (Ilya Grinblat, Alex Peterson, 2012)

第一本书我读了大部分了,内容形式是那种举例子教你做的,例子都较为简答(跟Basic Tutorials一个级别),适合入门,但OGRE背后的原理涉及很少;第二本是也是以应用为主的。怎么说呢,这两本书可以用来入门吧。

Pro OGRE 3D Programming是另一本OGRE的书,但太旧了,不建议看。

《OGRE 3D游戏开发框架指南》(邸锐,2010)是我能找到的为数不多的中文书籍,我没看,因为我看目录也是以例子为主的。

当你对OGRE有了更多经验之后(能构建需要的场景,添加鼠标键盘响应,帧事件),你可能想了解OGRE背后的东西,比如材质脚本怎么写,着色器脚本怎么写等等,可以看看OGRE manual

http://www.ogre3d.org/docs/manual/manual_toc.html#SEC_Contents

OGRE SDK 1.8.1包里也有。

在更深入探索OGRE之前你可能需要了解一下设计模式(得益于此,OGRE才有这么优美的设计)、STL标准库、C++模板等。哦,还有图形学相关理论,我推荐浙江大学的一个图形学课程的网站,看看上面给出的上课PPT之后你会对图形学有大致了解:

http://staff.ustc.edu.cn/~zhuang/acg/index.htm

剩下的估计是看源代码了吧。

OGRE的学习资源的更多相关文章

  1. springboot 学习资源推荐

    springboot 是什么?对于构建生产就绪的Spring应用程序有一个看法. Spring Boot优先于配置的惯例,旨在让您尽快启动和运行.(这是springboot的官方介绍) 我们为什么要学 ...

  2. Redis初识、设计思想与一些学习资源推荐

    一.Redis简介 1.什么是Redis Redis 是一个开源的使用ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库,并提供多种语言的API.从2010 年 ...

  3. 一份关于Swift语言学习资源的整理文件

    一份关于Swift语言学习资源的整理文件     周银辉 在这里下载 https://github.com/ipader/SwiftGuide

  4. angularJS学习资源最全汇总

    基础 官方: http://docs.angularjs.org angularjs官方网站已被墙,可看 http://www.ngnice.com/: 官方zip下载包 https://github ...

  5. Scala学习资源

    Scala学习资源: Scala官方网站:http://www.scala-lang.org/ Scala github:https://github.com/scala/scala Twitter ...

  6. .net 网站开发学习资源

    慕课网 前端基础学习 http://www.imooc.com/course/list?c=fe 了解需求 例子之一 http://wenku.it168.com/d_000517899.shtml ...

  7. OpenGL的学习资源

    OpenGL是3D图形接口工业标准,使用上非常简单,所有API不过上百个函数,但理解OpenGL就没那么简单,本文总结OpenGL的学习资源,包括官方资料.网上教程.示例程序等. Wikipedia: ...

  8. Bullet的学习资源(用Doxygen生成API文档)

    Bullet 全称 Bullet Physics Library,是著名的开源物理引擎(可用于碰撞检测.刚体模拟.可变形体模拟),这里将bullet的学习资源整理一下,希望能帮助入门者少走弯路. 看下 ...

  9. VTK的学习资源

    本文介绍从哪儿开始学习VTK(Visualization Toolkit的简称),如何在网上找寻VTK的学习资源. 首先,可以到维基百科或者百度百科上查看VTK条目,了解VTK是什么. http:// ...

随机推荐

  1. CSS3回执特殊图形

  2. UIPIckerView现实城市选择

    实现城市选择,选中省时,后来自动显示相对应的城市,并且下面会打印出来对应的省和城市 . 因为plist里面是一个一个的字典. 1.字典转模型 HMCities.h #import <Founda ...

  3. [转载]Bison-Flex 笔记

    FLEX 什么是FLEX?它是一个自动化工具,可以按照定义好的规则自动生成一个C函数yylex(),也成为扫描器(Scanner).这个C函数把文本串作为输入,按照定义好的规则分析文本串中的字符,找到 ...

  4. C++11 变长模版和完美转发实例代码

    C++11 变长模版和完美转发实例代码 #include <memory>#include <iostream>#include <vector>#include ...

  5. C#按行读取文本并存放再数组内

    我只想说真的是日了狗的麻烦,代码就那么几行,但是根本看不懂在搞些什么东西,我现在还是一点都不知道getline函数到底是怎么用的,但是事实就是他确实能用. 期间在那该死的第一个char根本不知道为什么 ...

  6. 读IT小小鸟有感

           第一次阅读<我是一只IT小小鸟>是在老师的推荐下的,我是一名软工大一新生,那天在课堂上听到了这本书,由于是10年前的老书,要找到它非常不易,终于在网上看到一些部分电子档.   ...

  7. HttpSession

    (Cookie是用来设置浏览器保存数据的时间的: Session是只要浏览器不关闭,数据则会存在,一旦关闭浏览器数据即消失 ) 1. HttpSession概述 * HttpSession是由Java ...

  8. Bootstrap-datetimepicker年月日

    <div class="input-group date form_date" data-date="" data-date-format="y ...

  9. mysql配置文件编写

    实例: 首先建立 mysql的配置文件 dbconfig.php <?php $phpexcel=array( "host"=>'localhost',//127.0. ...

  10. 关于mongoldb 启动时显示 add already in use

    1 .不要在国内网上查找 浪费时间 2. stack over flow 是个不错的选择 进入正题. 终端输入: ps wuax | grep mongo 会看到: 随后:kill 447