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

  • 相关阅读:
    策略模式应用(内窥镜项目播放不同种类的视频)
    汇编内中断
    2022华为中央媒体技术院AI算法工程师FindStar一面+二面+主管面
    【Interview】想法合集
    C# Excel操作类EPPlus
    win10 QT failure attempt to write a readonly database
    了解“预训练-微调”,看这一篇就够了
    flutter Unable to load asset: assets/images/888.png
    Python_15 ddt驱动与日志
    从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(六)(优化篇)开发篇-如何解决微服务开发环境请求实例转发到别人机器问题
  • 原文地址:https://blog.csdn.net/TxyITxs/article/details/125627560