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-绘制旋转立方体相关推荐

  1. OpenGL绘制旋转立方体。

    首先要用到glm库.在进行PVM变换时可以帮助我们方便地运算. 下载:https://github.com/g-truc/glm/tags 首先是处理顶点数据,由于是一个正方体,有六个面,每个面两个三 ...

  2. 安卓学习笔记38:利用OpenGL ES绘制旋转立方体

    文章目录 零.学习目标 一.绘制图形基本步骤 二.绘制旋转立方体 (一)运行效果 (二)实现步骤 1.创建安卓应用[DrawRotatingCube] 2.建模:立方体类 - Cube 3.渲染:立方 ...

  3. iOS OpenGL ES 旋转立方体

    思路 立方体有6个面,由于OpenGL es的特性,每个面只能有两个三角形组成,一个三角形有三个顶点,在不考虑使用顶点索引的情况下,一共需要36个顶点 立方体,需要开启深度测试和光源着色器 旋转立方体 ...

  4. 【OpenGL 学习笔记】第 7 篇:绘制旋转立方体

    目录 1.Z-缓冲 2.GLM库函数 3.PVM矩阵 4.PVM矩阵的使用 5.工程文件结构 1.Z-缓冲 //开启深度测试 glEnable(GL_DEPTH_TEST); 2.GLM库函数 3.P ...

  5. opengl es3.0学习篇七:使用opengl绘制一个立方体

    2019独角兽企业重金招聘Python工程师标准>>> 这里简单运用之前所学的知识来实现一个对应的立方体: public class MainActivity extends App ...

  6. OpenGL绘制旋转茶壶

    绘制一个茶壶,鼠标左键实现拖动旋转, 鼠标右键点击加速绕Y轴旋转: 弱鸡套了三四个版子才拼凑出来拿出来当明天的实验报告, 代码: #include <stdlib.h> #include ...

  7. OpenGl 绘制一个立方体

    https://www.cnblogs.com/icmzn/p/5049768.html https://blog.csdn.net/auccy/article/details/82392921

  8. 计算机图形学 | 实验六:旋转立方体

    计算机图形学 | 实验六:旋转立方体 计算机图形学 | 实验六:旋转立方体 Z-缓冲 GLM函数库 PVM矩阵 PVM矩阵的使用 华中科技大学<计算机图形学>课程 MOOC地址:计算机图形 ...

  9. OpenGL旋转立方体的实现

    计算机图形学大作业 题目要求 使用openGL实现旋转的正方体. 过程步骤 主要分为搭建环境和完成代码编写两部分. 搭建环境 首先下载并安装Dev C++,我使用的版本是:Dev-Cpp 5.11自带 ...

最新文章

  1. JBoss企业级应用服务平台群集指南(五)
  2. 查询三个月前的所有数据的sql语句
  3. 如何从文件的完整路径获取目录?
  4. HBase oldWALs目录文件剧增占用磁盘空间问题
  5. Swift之深入解析“类”的底层原理
  6. Linux系列开坑记(二)-神的编辑器Vim
  7. flume案例-文件数据采集-步骤分析
  8. java之代理设计模式
  9. 【Elasticsearch】es keywods 类型数据 写入后查询不到
  10. c语言不安全库_C语言中不安全的库函数及解决方案
  11. 成功是需要付出代价的: 32个成功观念分享
  12. MIPS架构之start.s汇编分析
  13. 最具发展前景的8大行业,IT行业排第一!
  14. asp和php漏洞,ASP_实例分析ASP上传漏洞入侵实战及扩展,【上传漏洞欺骗技术】 - phpStudy...
  15. php directory lister,PHP目录展示工具DirectoryLister
  16. mysql查询结果数量_sql语句统计查询结果数量怎么写?
  17. CV(1) : 光 颜色 颜色空间
  18. 区块链重要基础知识8-1——冷存储以及热存储和他们之间相互如何结合
  19. 元学习 迁移学习_元学习就是您所需要的
  20. PCF8563模块不走时(海振电子PCF8653模块)

热门文章

  1. 上位机与下位机交互--让socket不死
  2. 【2021年数学建模国赛C题第一问】基于TOPSIS法评价类模型
  3. 【华为OD机试真题 python】补种未成活胡杨 【2022 Q4 | 100分】
  4. 亲历的商务谈判过程(续)——谈谈国企和我的经历
  5. MySQL日志之错误日志(errorlog)
  6. 使用 parted 对单个磁盘进行分区并进行配额
  7. Hystrix php,详解 hystrix-go 使用与原理
  8. 清华大学计算机专业考研参考书目
  9. sql将日期格式化特定的字符串格式
  10. ToggleSwitch控件介绍