游戏编程
文章平均质量分 80
胖大星越来越胖
人工智能,图像处理,图形引擎
展开
-
SDL学习(一) SDL对于bmp的基本处…
最近因为学习Newton的编程需要所以需要接触一下SDL编程方式,一开始认为他只是一个管理媒体的简单插件库,后来才知其使用是非常广泛的,故觉得有必要先研究一下在网上搜索到http://lazyfoo.net/SDL_tutorials/index.php 这是一个官方推荐的教程,思路很清晰,觉得很适合初学者,自己也是根据此教程来写的学习笔记:教程一 简单的在新建的窗口中输出图片的方式代码:S原创 2017-08-05 17:41:23 · 519 阅读 · 0 评论 -
Ogre粒子系统 以及 粒子脚本
粒子系统在三维显示中占有很重要的位置,如3D中的雨,雪,喷泉,爆炸等效果都是粒子完成的。基本概念: 粒子是用四边形来表示的,它有长宽,和其方向,有数量和材质,还有重量。这些属性封在粒子属性变换器(Affector)中,Affector中包含颜色衰退变换器(colourFadeAffector)和线形影响变换器(LinearForceAffector)和点状粒子发生器(Poi原创 2017-08-05 17:42:15 · 248 阅读 · 0 评论 -
Ogre动画系统回顾
Ogre动画系统回顾 Ogre实现动画的基本原理是:通过多个关键帧(KeyFrame)组成一个动画轨迹(AnimationTrack),多个动画轨迹组成一个动画。在各个关键帧之间通过插值算法(Spline插值或者线性插值)进行插值来生成最终的动画。一个动画不仅仅包含关键帧,还有其它的一些属性(动画名、动画长度、动画的权重、是否被启用等等)。一个动画轨迹可以指定其控制的节点。OG原创 2017-08-05 17:42:21 · 824 阅读 · 0 评论 -
OGRE+vs2010编译CEGUI SDK
CEGUI初级使用方法 因为最近在用Ogre,而OGRE自从1,.7.x以后便不在自己的库中对CEGUI进行直接的支持,坑爹的是他自己的overlay又写得很挫,所以大部分使用者还是需要自己进行CEGUI+OGRE的配置。【CEGUISDK的构建】 我使用的是在官上面下载(http://www.cegui.org.uk/wiki/index.php/D原创 2017-08-05 17:42:24 · 376 阅读 · 0 评论 -
Ogre wizard standard Application…
转载请注明出处http://blog.sina.com.cn/u/1580340211 因为最近重拾Ogre,决定重新研究一遍以前不是弄得很懂的例子程序的框架,这个框架不同于ExampleApplication里的框架,主线比较明确,所以理解起来也是比较快的,从go函数入手很快就可以理解Ogre从资源初始化->资源加载->初始化->使用资源创建场景(并增加监听)的一整个过程:原创 2017-08-05 17:42:27 · 319 阅读 · 0 评论 -
OGRE内部渲染循环
感谢“痞子龙3D编程”和“徐淼的博客”相关图片与资料 转载请注明出处http://blog.sina.com.cn/lucyloveayu【 OGRE的渲染循环框架】OGRE通过WinMain或main调用go再通过Root调用startRendering进行消息循环,然后调用renderOneFr原创 2017-08-05 17:42:32 · 337 阅读 · 0 评论 -
OGRE地形初步
感谢“Code Kinght”和痞子龙大神的地形相关博客 转载请注明出处http://blog.sina.com.cn/lucyloveayu 在OGRE的使用中,我们经常会涉及到地形(Terarain)的问题,其中涉及到了很多以前自己没有接触过的内容,其文件组织较其他资源来说比较特殊原创 2017-08-05 17:42:35 · 279 阅读 · 0 评论 -
LOD地形绘制
转载请注明出处http://blog.sina.com.cn/lucyloveayu 最近在看OGRE怎样载入地形的内容,因为terrain.cfg中涉及了很多的LOD(细节层次)的问题,看得我一把鼻涕一把眼泪的,所以就想说先看看LOD地形再去研究ogre本身地形实现的具体操作应该会好一些,主要资料参考的是曾凡喜,周炜,潘运亮等的《Direct3D实时渲染技术》这本书,其对于用原创 2017-08-05 17:42:38 · 706 阅读 · 0 评论 -
Ogre坐标系,向量之间的转换
原文地址:Ogre坐标系,向量之间的转换作者:zhouwenjie坐标系:OGRE跟其它的图形引擎一样使用x,z来表示水平平面,用y来表示垂直方向.面对你的显示器,x轴是从左到右,右边是正方向;y轴是从下到上,上方是正方向;z轴是从里向外,外面是正方向.OGRE是用向量类来表示位置跟方向的,Vector2,Vector3,Vector4是OGRE中定义的三种向量,然而我们最常使用的是转载 2017-08-05 17:43:44 · 430 阅读 · 0 评论 -
ogre的场景管理器
原文地址:ogre的场景管理器作者:zhouwenjie在通常的情况下,Ogre的场景管理器会负责处理以下事情:·在场景中创建和放置活动物体、灯光以及摄像机,并维护他们的在场景图中的周游和变换。·载入和布置世界地图(Worldgeometry,与活动实体不同,世界地图是巨大且可以延伸的,通常情况下是不可移动的,比如一个完整的BSP地图)。 ·对场景查询(SceneQueries)的支持转载 2017-08-05 17:45:43 · 765 阅读 · 0 评论 -
OGRE中使用CEGUI【1】
因为Ogre从1.7.x以后便不再在SDK中附带CEGUI的渲染器了,所以CEGUI就自己出了CEGUIOgreRenderer的渲染器,这样在函数调用和依赖库上虽然有了一些区别,但是整个GUI的渲染步骤是不变的,还是依照创建CEGUI::Renderer对象->创建CEGUI::System对象进行初始化->调用渲染函数这三个雷打不动的步骤执行的,因为我自己在使用CEGUI的更新版本以后也困惑了原创 2017-08-05 17:45:52 · 444 阅读 · 0 评论 -
Ogre的材质
Ogre的材质(Material)基本概念: 为了优化渲染,必须把渲染状态的变化减小到最小,而最频繁的渲染状态改变是材料的变化(大多数是纹理的变化)。 Ogre的Material类封装了物体的所有材料属性,类似于3D Studio中的material的概念,平时不被认为是属于材料的属性,像Culling模式和深度缓存设置等等,也被Material包含进来,原创 2017-08-05 17:42:12 · 710 阅读 · 0 评论 -
Ogre场景结构体系中的重要函数
Ogre场景是一个3D程序的实质性的内容,如果3D物体以及各种光被混乱堆砌在场景里面,那么场景就是很垃圾的了,场景需要有序的组织,这是任何一个3D殷勤都必须解决的问题。Ogre为了解决场景管理的问题提出了几个重要的概念并将它们实现为引擎中的类:Entity:场景元素,Mesh(模型)在场景中的实例Light:场景元素,现实世界的光在场景中的实例Camera:场景元素,现实世界的观察者在场景原创 2017-08-05 17:42:09 · 197 阅读 · 0 评论 -
SDL学习(二) 设置SDL扩展库
上一篇说的是基本的SDL入门以及如何进行bmp文件的装载和优化,下面学习的是如何进行如jpg,png等其他图片格式文件的处理(因为SDL仅显示支持bmp的装载): 首先,需要从以下地址http://www.libsdl.org/projects/SDL_image/下载与编译器和操作系统适应的image处理包(其中包含include的头文件内容和lib中的静态和动态链接库内容,我将其放原创 2017-08-05 17:41:29 · 954 阅读 · 0 评论 -
SDL学习(三)事件驱动编程
(翻译的)因为现在你可能已经习惯于使用cin和cout的命令行驱动编程方式,这个教程会教你如何检查事件和句柄事件。事件——顾名思义,简单的说就是某些事发生了,它可能是键盘按键按下、鼠标移动、改变窗口的大小或者是用户想要关闭窗口。因为本身教程内容不多所以我只能从源码来理解事件驱动机制了:#include"SDL.h"#include//我们还是使用与之前一样的常量和表面定义//常量表示原创 2017-08-05 17:41:32 · 604 阅读 · 0 评论 -
SDL学习(四) Color Keying(抠色…
(照翻教程)现在你即将要学习如何使用colorkey,用English来说就是这个教程将要教你如何在使用一个表面的时候将其背景色去掉。SDL_Surface结构有一个叫做colorkey的结构,也就是代表了你在bliting表面的时候不想予以显示的颜色,当你想使用透明表面的时候这个是灰常有用滴!如图,小人的背景是青色的(R:0,G:FF,B:FF),那么我们现在要将小人背景透明化,则现在的c原创 2017-08-05 17:41:35 · 784 阅读 · 0 评论 -
SDL学习(五) 真体字(true type …
在前面已经学习了各种图片格式的装载方式和如何抠色,现在可以来看看文字怎么加载了,首先要在http://www.libsdl.org/projects/SDL_ttf/下载相关的装载ttf的插件,因为SDL不能显式支持ttf文件,用这个插件你可以从真体字生成表面。代码://The headers#include "SDL.h"#include //设置屏幕属性const int SCRE原创 2017-08-05 17:41:38 · 396 阅读 · 0 评论 -
SDL学习(六) Key Presses(键盘…
(翻译的)这个教程囊括了如何检测键盘事件的发生,代码是一个简单的演示哪个箭头键被按下,你现在已经用SDL_QUIT等一些事件句柄做了退出处理,现在要学习的是如何检测键盘按键按下,并且检测键标。代码和注释: #include"SDL.h"#include const int SCREEN_WIDTH=640;const int SCREEN_HEIGHT=480;const int原创 2017-08-05 17:41:41 · 470 阅读 · 0 评论 -
SDL学习(七) Mouse Move(鼠标事…
前面已经学习了键盘事件的简单处理,当然现在就要来学习鼠标事件了,鼠标事件不必键盘难,只是多了移动的操作而已,我们先看一下下面可以简单表示鼠标响应方式的SpriteSheet:Mouse Move(鼠标事件)" TITLE="SDL学习(七) Mouse Move(鼠标事件)" /> 下面的演示程序实现的是在屏幕中设置一个button区域,该区域的显示通过判断鼠标事件(移动/远离/按下/弹原创 2017-08-05 17:41:44 · 1507 阅读 · 0 评论 -
Collada DOM 的使用--CreateSimple…
ColladaDom是一个基于文档对象模型的用来给用户读取Collada数据提供方便的DOM接口,其内核经过我自己在里面找还是Boost和TinyXml,所以在学习Collada结构之前掌握一定的xml的Schema的知识我看来是非常必要的,因为我自己也是一个半吊子学的XML,所以可以看做是一边学Collada的读取一边学dom了(虽然不太可能):首先是要说明一下collada的学习主要还是原创 2017-08-05 17:41:52 · 653 阅读 · 0 评论 -
Ogre基本信息回顾
Ogre插件OgreMain.dll——提供了所有程序运行需要用到的类的参考,是一个包含了所有基本类型的运行程序必不可少的动态链接库,其需要在exe的当前目录下出现,通过其指定的引擎组件才可以成功的运行程序(其指定的组件可以通过.cfg文件指定,也可以通过包含目录或者放置到当前目录指定)OgrePlatform.dll——此库指定了不同平台使用ogre所需要用到的工具,是通过Ogre中的Pla原创 2017-08-05 17:41:55 · 183 阅读 · 0 评论 -
Ogre监听类回顾
Ogre监听框架构成:Ogre主要通过继承FrameListener来完成监听系统的输入并变化场景内容的功能,对于非控制性的变化,Ogre也可以通过类ExampleFrameListener来完成在FrameListener中,主要有以下的方法:-------------------------------------------------------------------------原创 2017-08-05 17:41:58 · 364 阅读 · 0 评论 -
Ogre日志系统回顾
日志管理日志(Log)——用来记录Ogre系统初始化、运行、结束以及调试西悉尼,使用日志便于我们调试程序。Ogre日志系统组成:A.Log类:代表用于记录信息的日志。Log类的一个对象对应于一个日志文件。其中有提供了想日志文件写入信息的函数logMessage:Void logMessage(const String&message,LogMessageLevellml=L原创 2017-08-05 17:42:04 · 280 阅读 · 0 评论 -
IniParser+win7解析配置文件INI
最近做实验用到了ini配置文件,读取过程高端到我不太敢相信做实验的人自己会写一个用键值对来存取文件的库,后来一查原来Iniparser是一个比较通用的读取ini配置文件的库,看起来我还是知道的太少了....首先,可以直接在网上下载IniParser的源文件http://ndevilla.free.fr/iniparser,编译的时候如果是Linux的话就直接make,如果windows只要把文原创 2017-08-05 17:45:55 · 1122 阅读 · 0 评论