• OpenGL之坐标系以及单位


    1.1 OpenGL中默认的坐标系为右手坐标系,默认视点位置为原点,原点正好投影在投影窗口的中心,也正好投影在视口的中心。
    在这里插入图片描述

    1.2 在OpenGL中无绝对单位,只有相对的大小,相对于视锥体的大小来设定物体的大小。

    1.3 通过估算视锥体空间的大小,由视锥体空间的大小来确定想要显示的物体的大小。但是我们可以自定义单位,当我们定义了视锥体的单位后,物体的单位也就可以确定。
    在这里插入图片描述

    1.4 定义视口时,视口的大小是以像素为单位的,视口与视锥体三维空间的单位完全不同,视口大小只与视锥体窗口存在比例关系,无绝对大小关系。物体的大小与其在视口中所占面积大小无关。

    1.5 OpenGL中关于视锥体的裁剪并没有相关接口,相关裁剪OpenGL以对用户隐藏。

    1.6 OpenGL中,逆时针与顺时针旋转的确定与视点以及视线方向无关,而是与轴有关,绕某个轴旋转时,采用右手来确定,让大拇指指向轴的正方向,四指旋转的方向就是逆时针方向。

    1.7 相关函数

    • 获取当前模型变换的矩阵
    float mat[16];
    glGetFloatv(GL_MODELVIEW_MATRIX,mat);
    
    • 1
    • 2
    • 将一个矩阵mat乘到当前矩阵上
    glMultiMatrix(mat);
    
    • 1

    1.8 OpenGL功能

    • 变换(几何变换、投影、视口变换);
    • 光照与材质;
    • 纹理映射;
    • 图像功能:anti-aliasing(反混淆)、fog 、blending(混合);
    • 特效:Depth Cue(深度暗示)、Motion Blur(运动模糊);
    • 建模(basic primitives、NURBS);

    学习OpenGL需要理解图像流水线的整体流程及各个环节,理解OpenGL是一个状态机,整个绘制操作会按照固定的流程进行,如同一条流水线,OpenGL函数只是用来设置这条流水线的一系列状态参数,而不是真正执行绘制操作的。

    1.9 OpenGL的两种编程模式:

    • 固定流水线模式,传统方式;
    • Shader编程模式,现代方式;

    1.10 OpenGL编程相关书籍推荐

    • opengl编程指南:第八版引入了人Shader编程;
    • OpenGL超级宝典:Shader编程;

    附录:中国大学Mooc,图形编程技术,北京林业大学,杨刚.

  • 相关阅读:
    学成在线第六天
    程序员是如何思考的?
    Flowable实战(二):表结构以及变量表单介绍
    ElasticSearch 04 -- 进阶
    MyBatis-Plus核心功能详解:条件构造器、自定义SQL与Service接口
    维修一款20年前的电容测试表VC6013
    ADS8866 ADC转换芯片驱动调试
    vuex怎么防止数据刷新丢失?
    1_HTML + CSS 面试题(持续更新)
    Acwing 2944. 回家的路
  • 原文地址:https://blog.csdn.net/TxyITxs/article/details/125627560