参考博客
博客1
博客2
博客3
博客4
博客5
博客6
博客7
博客8
一些碎碎念
写这篇博客的原因很简单,就是老师整了个开卷考试,然后让我们用OpenGL画几个图形。一开始小伙伴先开始鼓捣这玩意,我想着白嫖。结果后来小伙伴出去实习了,然后也快交这个作业了,我就把小伙伴的代码拿出来看,很遗憾他的代码没啥注释,然后我就只好百度,花了几天时间看懂了,但是觉得太麻烦了,我就另起炉灶打算自己调包整一个。下面记录一下相关历程。
环境配置
环境的配置我就不赘述了,之前跑小伙伴代码的时候我下了好多包,后来我却只用了glut这个包。包下好后直接在这里加入相关包就好了
一般就是这三个地方导入相关包的路径就好了,调用外部包的方法大都是这样。
基础知识
基础知识可以去看看上面贴出来的几篇博客,咱也没咋了解,就大概知道了几个函数的功能,毕竟调包嘛,之后也不怎么会接触这方面,应付一下就可以了。然后一些简单的函数怎么用的我在代码里都加了注释。
代码实现
#include <gl/glut.h>
#include <gl/GLU.h>
#include <gl/GL.h>
#include <math.h>
//正方体每个顶点的坐标
static const float vertex_list[][3] = {
-1.0f, -1.0f, -1.0f,
1.0f, -1.0f, -1.0f,
-1.0f, 1.0f, -1.0f,
1.0f, 1.0f, -1.0f,
-1.0f, -1.0f, 1.0f,
1.0f, -1.0f, 1.0f,
-1.0f, 1.0f, 1.0f,
1.0f, 1.0f, 1.0f
};
// 正方体每个顶点的颜色
float color[][3] = {
1.0f,1.0f,0.0f,
0.0f, 1.0f, 0.0f,
0.0f,1.0f,1.0f,
1.0f,1.0f,1.0f,
1.0f,0.0f,1.0f,
0.0f,0.0f,1.0f,
0.0f,0.0f,0.0f,
1.0f,0.0f,0.0f
};
//正方体每面的个顶点的序号
static const GLint index_list[][4] = {
0, 2, 3, 1,
0, 4, 6, 2,
0, 1, 5, 4,
4, 5, 7, 6,
1, 3, 7, 5,
2, 6, 7,