zoukankan      html  css  js  c++  java
  • 开始 OpenGL

    OpenGL是一个状态机,书上如是说。

    OpenGL的API是给C语言设计的,和面向对象的思维很不相同。比如说大部分绘图API都是这样的:drawRectangle(Rect r, Pen p, Brush b),在画一个图元的时候指定颜色和样式,而OpenGL不是这样,而是将颜色样式等因素保存在全局状态中,glVertex3f(1.0, 0.5, 0.5),画一个点只指定点的坐标,其他信息都有一个“当前值”。这个“当前”状态的概念贯穿整个OpenGL框架,比如说“当前矩阵”、“当前投影”、“当前颜色”、“当前窗口”。这种方式使用起来似乎不那么直观,而且在使用过程中要注意一些常见的问题,之所以这样设计是因为用当前状态保存信息比每次都指定所有信息效率要高。

    举例:

    glPushMatrix(); 
        glPointSize(4);	
        glTranslatef (-50, 40,-10);
        glRotatef(r,1.0,1.0,1.0);
        glColor3f(1.0f, 0.0f, 0.0f);
        glBegin(GL_POINTS);
            glVertex3f( 0.0f, 1.0f,-1.0f);
            glVertex3f(-1.0f,-1.0f, 0.0f);
            glVertex3f( 1.0f,-1.0f, 0.0f);
        glEnd();
    glPopMatrix();
    
  • 相关阅读:
    学习python第四天——列表方法
    昨天休息了一天,今天补上。列表学习
    第二天学习——字符串的方法
    mongodb
    linux学习篇(一)
    mysql优化
    linux服务
    vue配置服务器
    photoshop学习
    关于视图
  • 原文地址:https://www.cnblogs.com/ajeyone/p/1890163.html
Copyright © 2011-2022 走看看