OpenGL之坐标系以及单位

本文介绍了OpenGL的基本概念,包括默认坐标系、视锥体与视口的关系、物体大小的设定原则等,并概述了OpenGL的主要功能特性及其编程模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);
  • 将一个矩阵mat乘到当前矩阵上
glMultiMatrix(mat);

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秘境之眼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值