基于QT5的OpenGL编程(源于NEHE)

OpenGL Programming Exercises

Implementation of the 3D cube transformation based on the OpenGL API.
Requirements:
a) Build the 3D cube model by using 6 quads.
b) Enable the transformation of the cube by translation, scaling, rotation as shown in the below figure.
环境:Windows 10;Qt5.13.0
NEHE官方链接
QT是一个相当优秀的GUI框架,很好的集成了OpenGL。下图为进行此次QT工程的配置界面(貌似有Desktop Qt 5.13.0 MinGW 32-bit就能完成build)。
在这里插入图片描述
为了方便使用,QT对OpenGL进行了封装,提供了QOpenGLWindow和QOpenGLWidget类,可以直接创建窗口。立方体的绘制过程主要依据NEHE开源的经典OpenGL学习教程中的Lessons 01 – 05部分。在这里,我们创建了opengltest类,并继承于基类QWindow和QOpenGLFunctions。首先在空白窗口内建立一个黄色的四边形,具体的创建及渲染过程完全借助于官方提供的接口函数,详见源码。这也是进行后面过程的第一步,因为任何在OpenGL中绘制的模型都会被分解为三角形或者四边形这两种简单的图形。
在这里插入图片描述
之后通过在窗口内建立6个四边形来完成3D立方体的构建,并基于此立方体,对其进行简单的旋转、平移以及缩放操作。通过分别给四边形增加左、右、上、下及背面,进而生成一个立方体,并分别对每个面进行单色渲染。本次实验中使立方体左移0.0单位,移入屏幕5.0,并绕Y轴逆时针旋转40°。
在这里插入图片描述
在原立方体基础上,借助相应API,从左到右分别进行:(1)将之绕Z轴旋转40°;(2)将之在X/Y/Z方向上各缩小为原来的一半;(3)将之右移1.0单位,上移0.5单位。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

更新中。。。

 

posted @ 2020-04-24 01:14  墨池有雨  阅读(679)  评论(0编辑  收藏  举报