zoukankan      html  css  js  c++  java
  • 【OpenGL编程指南】之状态管理

       OpenGL是一个状态机,很多状态一旦设定除非修改,否则将一直有效。这些状态如何被设置和管理呢?

    清除窗口

      函数glClearColor用于设置当前清除颜色,它由4个参数,分别指定red、green、blue和alpha的值,范围限定在[0,1]之内。

      函数glClear用当前清除值清除制定的缓冲区,常用缓冲区和名称如下图。

      

    基本状态管理

      OpenGL维护了许多状态和状态变量,其中大部分默认是“否”的状态,激活这些状态可能有很大的开销。为了打开或关闭状态,可以使用glEnableglDisable函数。

      通过glIsEnable、glGetBooleanv、glGetIntegerv等函数可以查询许多状态的当前值。

    属性组

      OpenGL将相关状态进行归组,称为属性组。比如,GL_LINE_BIT包含了5个状态变量:直线的宽度,GL_LINE_STIPPLE启用状态、直线点画模式、直线点画重复计数器和GL_LINE_SMOOTH启用状态。

      OpenGL大约有20个不同的属性组,他们都可以用glPushAttribglPopAttrib进行保存和恢复。其中前者的形式为:void glPushAttrib(GLbitfield mask),mask为后缀是_BIT的掩码位,OpenGL提供的数学组如下图所示。

      

  • 相关阅读:
    mybatis 入门基础
    spring学习总结
    综合练习:词频统计
    组合数据类型综合练习
    Python基础综合练习
    熟悉常用的Linux操作
    1.大数据概述
    C程序语法(无左递归)
    文法规则
    实验一词法分析报告
  • 原文地址:https://www.cnblogs.com/liustdelphi/p/2933387.html
Copyright © 2011-2022 走看看