openGL 学习1

来源:互联网 发布:淘宝好评能修改吗 编辑:程序博客网 时间:2024/06/16 16:26

   

        前两个月捣鼓osg, 回头学opengl,找了一个很简单的中文教程。

        cae, hpc 软件开发岗位估计是够不着了。还有些cad的岗位,所以要把opengl混熟。

     

      * OpenGL的平台无关性,窗口管理,输入管理,事件响应都依赖平台提供api.

       *基本流程:建模(几何), 上色(渲染), 光栅化(显示)

       * gl-前缀, 基本函数; glu-前缀,实用函数;GL-/GLU- 对应常量

   

        *****绘制基本几何*****


* glClear(), 新绘制前清除缓冲区,包括 color, depth, index, add, ...

        * glColor(), 设置颜色

        * 几何要素绘制,在glBegin(), glEnd() 之间调用,参数可以是: GL_POINTS, GL_LINES, GL_POLYGON, GL_TRIANGLES, GL_QUADS

   *  glVertex() 

  * 几何要素属性

* glPolygonMode()

 * glCullFace()

       *  法向量 glNormal3

*glEnable(GL_NORMALIZE),  法向量归一化


***** 坐标变换******

摆相机-> 摆模型 -> 调焦 -> 拍照片

定位观察空间 -> 定位模型 -> 投影/裁剪 -> 视口变换

坐标系的变换: 世界坐标 -> 相机坐标(视觉坐标) ->  设备坐标 -> 视口坐标


glMatrixMode(), 参数 GL_MODELVIEW, GL_PROJECTION, GL_TEXTURE


glLoadIdentity(), 设置单位矩阵为当前矩阵


glLoadMatrix()


glMultMatrix() 


* 视图造型变换(modelview) : 从世界坐标-> 视觉坐标


造型变换函数:glTranslate(),  glRotate(), glScale()

视图变换函数: ? 干了什么


* 投影变换  从 视觉坐标 -> 设备坐标

确定取景体积

glFrustum(),  视锥取景

glOrtho(),    正交(正六面体)取景

此即完成了一次取景体积(上下左右前后)的裁剪


     * 视口变换 从设备坐标-> 视口坐标

 视口,即窗口中的矩形绘图区域, 从3d 模型到 2d 屏幕显示图

 glViewPort(), 

注意,在视口坐标下,仍然有设备深度坐标(-1.0, 1.0)

      

  

        % 主要用于cad ,没有光线渲染

0 0
原创粉丝点击