计算机图形学OpenGL(5)——太阳系实例,纯手工操作
来源:互联网 发布:ubuntu ant是什么 编辑:程序博客网 时间:2024/05/16 13:46
转动的太阳系,不像上节那样用到帧的技术,所以要改变参数只能手工来 运行时 按住 y
这个简陋的系统就会转动起来,如果你理解了上节的代码,那么你完全可以把,这节的代码,用上节的帧在来实现一遍,
//// main.cpp// OpenGLClamp//// Created by ipud2 on 12/6/15.// Copyright © 2015 I'm CEO,bitch. All rights reserved.//#include <iostream>#include <GLUT/GLUT.h>#define x(str) std::cout<<(str)<<std::endl;static int year =0, day = 0;void init(){ glClearColor(0,0,0,0); glShadeModel(GL_FLAT);}void display(){ glClear(GL_COLOR_BUFFER_BIT); glColor3f(1, 1,1); glPushMatrix(); glRotatef((GLfloat)year, 0.0, 1.0, 0.0); glutWireSphere(1.0, 20, 16); glRotatef((GLfloat)year, 0.0, 1.0, 0.0); glTranslatef(2.0, 0.0, 0.0); glRotatef((GLfloat)day, 0.0, 1.0,0.0); glutWireSphere(0.2, 10, 8); glPopMatrix(); glutSwapBuffers(); glFlush();}void reshape (int w,int h){ glViewport(0, 0, (GLsizei)w, (GLsizei)h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(60.0, (float)w/(float)h, 1.0, 20.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(0.0, 5.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);}void keyboard(unsigned char key,int x,int y){ switch (key) { case 'd': day = (day + 10) % 360; break; case 'y': year= (year + 10) %360; default: break; } //x(key); glutPostRedisplay();}int main(int argc,char**argv){ glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB); //#define GLUT_RGBA GLUT_RGB glutInitWindowSize(1000, 800); glutInitWindowPosition(100, 100); glutCreateWindow("OpenGL soloar system demostration"); init(); glutDisplayFunc(display); glutReshapeFunc(reshape); glutKeyboardFunc(keyboard); glutMainLoop(); return 0;}
0 0
- 计算机图形学OpenGL(5)——太阳系实例,纯手工操作
- 计算机绘图OPENgl---太阳系
- 计算机图形学——OpenGL基本使用
- 计算机图形学——OpenGL之光照
- 计算机图形学——OpenGL光照模型
- 太阳系模型——OpenGL
- 计算机图形学——OpenGL开发库开发库
- 计算机图形学OpenGL——键盘控制三维汽车
- 计算机图形学——OpenGL学习系列之Graphics2D
- 计算机图形学——OpenGL学习系列之Graphics3D
- OpenGL实现太阳系模型 —— Juwend
- 计算机图形学OpenGL(0)——CG软件的分类,爱的独白
- 计算机图形学OpenGL(1)——创建一个窗口,第一次邂逅
- 计算机图形学OpenGL(2)——让图形动起来,跳动的喜悦
- 计算机图形学OpenGL(3)——回调函数,论一个程序员的自我修养
- 计算机图形学OpenGL(4)——旋转的茶壶,模拟物理世界的基础
- 《计算机图形学基础(OpenGL版)》勘误表
- OpenGL的计算机图形学
- Avro技术应用_10. 基于键值 - 在 MR 中把文本文件(csv)转换成键值对格式的 Avro 文件 -- 待完善
- 12.5周报
- Python/Django 生成二维码
- Glassfish部署程序访问路径去掉项目名称
- Link-state routing algorithm simulation
- 计算机图形学OpenGL(5)——太阳系实例,纯手工操作
- static作用(修饰函数、局部变量、全局变量、成员函数、成员变量)
- MyBatis MapperScannerConfigurer配置
- “简单证明GUID(全局唯一标识符)并不唯一”
- eclipse 远程debug配置
- 【Html】form表单中的label标签
- Avro技术应用_11. 将 HBase 数据存储为 Avro格式的二进制数据 -- 待完善
- Android与Linux中从uid到用户名的映射
- Java多线程(一)、多线程的基本概念和使用