zoukankan      html  css  js  c++  java
  • OpengGL是一个状态机

    OpenGL是一个状态机,尤其是使用固定功能的管线。可以设置它的各种状态(或模式),然后让这些状态一直生效,直到再次修改它们。

    每个状态变量(或模式)都有一个默认值。在任何时候都可以向系统查询每个状态变量的当前值。一般情况下,可以使用glGetBooleanv(),glGetDoublev(),glGetIntegerv(),glGetfloatv(),glGetPointerv(),或glIsEnabled(),之一来完成这个任务。具体选择的函数取决于希望返回的结果的数据类型。

    有些状态变量还有更为特定的查询函数,如glGetLight*(),glGetError()或glGetPolygonStipple()等。

    还可以使用glPushAttrib(),glPushClientAttrib()函数把状态变量集合保存到一个属性栈中,对它们进行临时的修改,以后再用glPopAttrirb()或glPopClientAttrib()恢复这些值。如果需要对状体变量进行临时修改,就应该使用这些函数。

  • 相关阅读:
    AtomicReference与volatile的区别
    深度剖析ConcurrentHashMap(转)
    ConcurrentHashMap原理分析
    Java Stack源码分析
    Fail-Fast机制详解
    TreeSet源码分析
    状态(State)模式
    原型(Prototype)模式
    职责连模式
    观察者模式(Observer)
  • 原文地址:https://www.cnblogs.com/yxnchinahlj/p/1828394.html
Copyright © 2011-2022 走看看