c++ opengl 三维图形中显示文字_OpenGL + Qt: 2 - 走向3D,画正四面体

本文介绍如何在OpenGL中使用Qt绘制三维正四面体,讲解了三维坐标绘制、相机和坐标系的概念,并通过代码展示了如何启用深度检测、设置投影和观察变换矩阵来实现图形的正确显示。
摘要由CSDN通过智能技术生成

前两篇链接:

OpenGL + Qt: 0 - 三角形绘制

OpenGL + Qt: 1 - 用下拉框选颜色

很感谢朋友们的关注,目前这个系列我努力做到每周一更,如果偶尔时间宽裕再多写一点。上次我们完成了渲染颜色和连接 OpenGL 与 Qt 的基本交互,这篇我们回到 OpenGL 本身,暂时不考虑交互,绘制一个正四面体。

三维坐标绘制

在 OpenGL 中,所有点都是在一个三维坐标系中的,正如我们之前看到的,我们用三维坐标确定每个顶点的位置位置,然后传入着色器中。在着色器中,gl_Position 变量最后会补上一个 1.0 变成一个四维坐标(即齐次坐标),这个我们不讨论,有兴趣的同学参考图形学的基础课本。今天我们画出一个看得过去的三维物体再说。既然是三维坐标,牵扯到了坐标系的问题,不过先不着急,我们先画一个正四面体,看看做出来的是什么样的。

顾名思义,一个正四面体有四个面,而每个面都是一个等边三角形。在 OpenGL 中,习惯上会把每个物体绘制在三维范围都是[-1,1]的一个小空间中,然后用各种坐标变换放缩和位移,布置到场景中。我们考虑绘制的正四面体的棱长为1,那么在二维上,以正三角形重心为坐标原点,其三个点坐标分别是

,四面体高为
。考虑到在屏幕中,横向是 x 轴,纵向为 y 轴,垂直于屏幕内外的是 z 轴。把四面体的底
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值