OpenGL-绘制旋转立方体
OpenGL绘制旋转立方体。
编译环境 vs2015+glut
效果图:
//By:ZHangFY
#include <GL/glut.h>GLfloat rotate_angle1 = 0.0;
GLfloat dSize = 0.3; //立方体大小
void myDisplay(void)
{glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);glLoadIdentity();glRotatef(rotate_angle1, -0.3, 0.3, -0.3);//旋转点glBegin(GL_QUADS);//上 glColor3f(0.0, 1.0, 0.0); //绿glNormal3d(0.0, 0.0, 1.0); //上glVertex3d(dSize, dSize, dSize);glVertex3d(-dSize, dSize, dSize);glVertex3d(-dSize, -dSize, dSize);glVertex3d(dSize, -dSize, dSize);//下 glColor3f(0.0, 0.0, 1.0); //蓝glNormal3d(0.0, 0.0, -1.0);//下glVertex3d(dSize, dSize, -dSize);glVertex3d(-dSize, dSize, -dSize);glVertex3d(-dSize, -dSize, -dSize);glVertex3d(dSize, -dSize, -dSize);//前 glColor3f(1.0, 0.0, 0.0); //红glNormal3d(1.0, 0.0, 0.0);//前glVertex3d(dSize, dSize, dSize);glVertex3d(dSize, -dSize, dSize);glVertex3d(dSize, -dSize, -dSize);glVertex3d(dSize, dSize, -dSize);//后 glColor3f(0.0, 1.0, 1.0); //青glNormal3d(-1.0, 0.0, 0.0);//后 glVertex3d(-dSize, dSize, dSize);glVertex3d(-dSize, dSize, -dSize);glVertex3d(-dSize, -dSize, -dSize);glVertex3d(-dSize, -dSize, dSize);//左 glColor3f(1.0, 0.0, 1.0); //品红glNormal3d(0.0, -1.0, 0.0);//左 glVertex3d(dSize, -dSize, dSize);glVertex3d(dSize, -dSize, -dSize);glVertex3d(-dSize, -dSize, -dSize);glVertex3d(-dSize, -dSize, dSize);//右 glColor3f(1.0, 1.0, 0.0); //黄glNormal3d(0.0, 1.0, 0.0);//右 glVertex3d(dSize, dSize, dSize);glVertex3d(dSize, dSize, -dSize);glVertex3d(-dSize, dSize, -dSize);glVertex3d(-dSize, dSize, dSize);rotate_angle1 += 3;glEnd();glFlush();glutSwapBuffers();
}void myIdle(void)
{myDisplay();//Sleep(20); //减慢旋转速度
}int main(int argc, char *argv[])
{glutInit(&argc, argv);glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);glutInitWindowPosition(100, 100);glutInitWindowSize(400, 400);glutCreateWindow("立方体旋转MODEL");glutDisplayFunc(&myDisplay);glutIdleFunc(&myIdle);glutMainLoop();return 0;
}
画立方体的三种方法
glColor3f函数用法
0.0 -- > 不使用颜色
1.0 -- > 使用颜色的最大值
glColor3f(0.0, 0.0, 0.0); --> 黑色
glColor3f(1.0, 0.0, 0.0); --> 红色
glColor3f(0.0, 1.0, 0.0); --> 绿色
glColor3f(0.0, 0.0, 1.0); --> 蓝色
glColor3f(1.0, 1.0, 0.0); --> 黄色
glColor3f(1.0, 0.0, 1.0); --> 品红色
glColor3f(0.0, 1.0, 1.0); --> 青色
glColor3f(1.0, 1.0, 1.0); --> 白色
OpenGL-绘制旋转立方体相关推荐
- OpenGL绘制旋转立方体。
首先要用到glm库.在进行PVM变换时可以帮助我们方便地运算. 下载:https://github.com/g-truc/glm/tags 首先是处理顶点数据,由于是一个正方体,有六个面,每个面两个三 ...
- 安卓学习笔记38:利用OpenGL ES绘制旋转立方体
文章目录 零.学习目标 一.绘制图形基本步骤 二.绘制旋转立方体 (一)运行效果 (二)实现步骤 1.创建安卓应用[DrawRotatingCube] 2.建模:立方体类 - Cube 3.渲染:立方 ...
- iOS OpenGL ES 旋转立方体
思路 立方体有6个面,由于OpenGL es的特性,每个面只能有两个三角形组成,一个三角形有三个顶点,在不考虑使用顶点索引的情况下,一共需要36个顶点 立方体,需要开启深度测试和光源着色器 旋转立方体 ...
- 【OpenGL 学习笔记】第 7 篇:绘制旋转立方体
目录 1.Z-缓冲 2.GLM库函数 3.PVM矩阵 4.PVM矩阵的使用 5.工程文件结构 1.Z-缓冲 //开启深度测试 glEnable(GL_DEPTH_TEST); 2.GLM库函数 3.P ...
- opengl es3.0学习篇七:使用opengl绘制一个立方体
2019独角兽企业重金招聘Python工程师标准>>> 这里简单运用之前所学的知识来实现一个对应的立方体: public class MainActivity extends App ...
- OpenGL绘制旋转茶壶
绘制一个茶壶,鼠标左键实现拖动旋转, 鼠标右键点击加速绕Y轴旋转: 弱鸡套了三四个版子才拼凑出来拿出来当明天的实验报告, 代码: #include <stdlib.h> #include ...
- OpenGl 绘制一个立方体
https://www.cnblogs.com/icmzn/p/5049768.html https://blog.csdn.net/auccy/article/details/82392921
- 计算机图形学 | 实验六:旋转立方体
计算机图形学 | 实验六:旋转立方体 计算机图形学 | 实验六:旋转立方体 Z-缓冲 GLM函数库 PVM矩阵 PVM矩阵的使用 华中科技大学<计算机图形学>课程 MOOC地址:计算机图形 ...
- OpenGL旋转立方体的实现
计算机图形学大作业 题目要求 使用openGL实现旋转的正方体. 过程步骤 主要分为搭建环境和完成代码编写两部分. 搭建环境 首先下载并安装Dev C++,我使用的版本是:Dev-Cpp 5.11自带 ...
最新文章
- JBoss企业级应用服务平台群集指南(五)
- 查询三个月前的所有数据的sql语句
- 如何从文件的完整路径获取目录?
- HBase oldWALs目录文件剧增占用磁盘空间问题
- Swift之深入解析“类”的底层原理
- Linux系列开坑记(二)-神的编辑器Vim
- flume案例-文件数据采集-步骤分析
- java之代理设计模式
- 【Elasticsearch】es keywods 类型数据 写入后查询不到
- c语言不安全库_C语言中不安全的库函数及解决方案
- 成功是需要付出代价的: 32个成功观念分享
- MIPS架构之start.s汇编分析
- 最具发展前景的8大行业,IT行业排第一!
- asp和php漏洞,ASP_实例分析ASP上传漏洞入侵实战及扩展,【上传漏洞欺骗技术】 - phpStudy...
- php directory lister,PHP目录展示工具DirectoryLister
- mysql查询结果数量_sql语句统计查询结果数量怎么写?
- CV(1) : 光 颜色 颜色空间
- 区块链重要基础知识8-1——冷存储以及热存储和他们之间相互如何结合
- 元学习 迁移学习_元学习就是您所需要的
- PCF8563模块不走时(海振电子PCF8653模块)