• 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,图形编程技术,北京林业大学,杨刚.

  • 相关阅读:
    神经网络数据量多少合适,神经网络计算量太大吗
    嵌入式函数调用入栈与出栈
    vector容器模拟实现及使用——c++
    CCF CSP题解:坐标变换(其一)(202309-1)
    SLAM面试笔记(8) — 计算机视觉面试题
    贪心算法实现背包问题(背包可拆分)
    opencv-python读写中文路径问题的解决
    Java PrintWriter.println()方法的功能简介说明
    乐鑫面试流程
    金仓数据库KingbaseES数据库参考手册(服务器配置参数7. 复制)
  • 原文地址:https://blog.csdn.net/TxyITxs/article/details/125627560