作为一个状态机的OpenGL-游戏开发频道-中国IT实验室-技术·资讯·教育·服务·社区
首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
 您现在的位置: 中国IT实验室 >> 游戏开发 >> 游戏程序设计 >> 正文
作为一个状态机的OpenGL
来源:ChinaItLab 作者:佚名 时间:2007-7-23

      OpenGL是以状态机来实现的.你输入的各种不同的状态会一直保留到当你再次改变它们.那么现在你知道了,比如像"当前颜色"之类的东西其实也就是一个状态变量.你可以设置你想要的任何颜色,白色,红色,黄色等等.当然如果你一直没有改变这一状态,后面所有被绘制的物件都将以这一颜色状态显示.
    "当前颜色"仅仅只是保持OpenGL可以出色运作所需众多状态变量中很小的一个.你更可以控制一些比如观察,投影之类的变换;线,图形的绘制模式;独一无二的灯光;美伦美奂的物体材质.
    在OpenGL中有许多的状态都依靠glEnable()或者glDisable()来控制.每一个状态变量或方式都有一个预先定义的值.当然,你也可以通过一些特定函数来对当前的状态进行查询.通常,你可以使用以下六个之一个典型命令来完成这一需要:
     glGetBooleanv(),glGetDoublev(),glGetFloatv(),
     glGetInterv(),glGetPointerv(),glIsEnable().
他们依靠你输入的数据类型来回答关于某个状态的情况.一些状态有特殊的查询命令(比如glGetLight*(),glGetError(),glGetPolygonStipple()等等).
另外!!你可以通过压栈命令(glPushAttrib(),glPushClientAttrib())的方式临时修改他们,不久后又恢复(glPopAttrib(),glPopClientAttrib())他们.对于一些临时改变,他们往往更加的有效率.
关于状态机
    一般来讲,一个状态机的设计模式包含:
1.一组状态集(states),
2.一个起始状态(start state),
3.一组输入符号集(alphabet),
4.一个映射输入符号和当前状态到下一状态的转换函数(transition function)的计算模型.
当输入符号串,模型随即进入起始状态。它要改变到新的状态,依赖于转换函数。在有限状态机中,会有有许多变量,例如,状态机有很多与动作(actions)转换(Mealy机)或状态(摩尔机)关联的动作,多重起始状态,基于没有输入符号的转换,或者指定符号和状态(非定有限状态机)的多个转换,指派给接收状态(识别者)的一个或多个状态,等等.
状态变化机制,状态变化实际是由Event事件驱动的,可以认为是Event-condition-State,在MVC模式一般是Event-condition-Action实现。状态模式需要封装的是Event-condition-State中的condition-State部分。
【责编:runlz】

中国IT教育热线咨询

相关文章
dx8中关于用索引缓冲渲染索引图元
OGRE中的四元数与旋转
[RGSS]Sprite类方法教学
[RGSS]去掉“战斗|逃跑”选项
游戏开发新手入门之Windows编程
推荐文章

 精彩友情推荐
·Asp源码 PHP源码
·CGI源码 JSP源码
·建站书籍教程
·服务器软件 .net源码
·建站工具软件
·IDC资讯大全
·机房品质万里行
·IDC托管必备知识
·全国IDC报价
·网站推广优化
 基础入门  开发文档
 最新推荐
  多数的Windows程序都需要Windows.h和Windowsx.h这两个头文件,要确保使用它们。当然,你还需要其它......
游戏引擎演化史
在Windows上安装OGRE的方法
关于滤镜遮罩概念,Sobel 遮罩
游戏开发新手入门之Windows编程
游戏开发新手入门之位图化图形
教你实现卡通渲染的另类勾边方法
游戏设计大师谈如何成为一名游戏设
Visual C#编写 3D游戏框架示例
真正的 Java 学习从入门到精通
游戏开发经验——游戏开发的基本常
  为什么要研究攻击行为在人类有记载的5600年的历史中,共计发生了14,400次战争;今天,平均一天要发生............
游戏开发中显示对话的特殊句法
游戏原型设计的介绍
网络游戏中的攻击行为
谈动作类游戏的必要条件
规则的多元分析模式
载入位图文件到DirectDraw
Archer Game Suite 是什么?
浅谈游戏企划-新手入门篇
暴雪称霸游戏业界的六大秘密绝招
骨骼动画及示例Skinned Mesh的解析
  培训中心