![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenGL
一桶凡士林
图形图像 算法 数据结构
展开
-
使用OpenGL,在窗口中绘制两个立体图形,位置分别为窗口的左侧和右侧,添加光照,两个图形分别绕x轴和y轴旋转。
总体思路:第一步,使用viewpoint函数来建立两个分割的窗口第二步,在两个视口分别绘制带光照效果的立体图形第三步,使用进栈出栈函数和Rotatef函数实现两图像各自的旋转关于glPushMatrix();和glPopMatrix();OpenGL中图形变换实现的原理是通过矩阵进行操作的。在每次变换后,opengl都将会呈现一种新的状态。如果在经过一些变换后我们想回到原来的状态,opengl就帮我们提供了两个函数:glPushMatrix()和glPopMatrix();具体代码如原创 2022-05-09 16:18:09 · 1447 阅读 · 1 评论 -
OpenGL实现太阳,地球,月球的公转与自转
//光照模型必须保留reshape 和开启深度#include "stdafx.h"#include <GL/glut.h>#include "math.h"GLint b;//默认初始值为0void display(void){ gluLookAt(1,0.5,1,0,0,0,0,1,0); glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); g..原创 2022-05-06 16:11:32 · 1962 阅读 · 1 评论 -
用glLightfv函数实现简单的光照效果
制作真实的动画需要添加光照效果,首先介绍OpenGL的简单光照模型,它的反射光可以分为三个分量:环境反射光,漫反射光,镜面反射光。就是你要实现一个光照效果,需要设置这三个分量,三者之和达到你想要的光照效果。1.环境光,简单来说就是环境中的光,似乎来自于各个方向2.漫反射,来自一个方向,光它照射到物体上,则在各个方向上均匀地发散出去,不管视点在哪,物体都是一样亮。3.镜面光,来自特定方向,并沿着另一方向反射出去。...原创 2022-05-04 23:08:25 · 2428 阅读 · 1 评论 -
OpenGL 分割窗口,并分别绘图
使用OpenGL实现将窗口进行分隔,分隔为4个部分,分别在四个部分绘制图形。原创 2022-04-28 20:49:57 · 1309 阅读 · 0 评论