本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:OpenGL画四个三角形组成四面体,并进行旋转
原文链接:https://www.stubbornhuang.com/111/
发布于:2019年10月26日 18:04:00
修改于:2019年11月14日 22:53:20

#define GLUT_DISABLE_ATEXIT_HACK
#include <GL/glut.h>
#include <stdlib.h>
#include <stdio.h>
static float roangles;
void init(void)
{
glClearColor (0.0, 0.0, 0.0, 0.0);
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
glEnable(GL_DEPTH_TEST);
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glRotatef( roangles, 0.0, 1.0, 0.0 );
glBegin(GL_TRIANGLES);
glVertex3f(1.0, 0.0, 0.0);
glVertex3f(0.0, 1.0, 0.0);
glVertex3f(0.0, 0.0, 1.0);
glVertex3f(0.0, 0.0, 0.0);
glVertex3f(0.0, 1.0, 0.0);
glVertex3f(1.0, 0.0, 0.0);
glVertex3f(0.0, 0.0, 0.0);
glVertex3f(0.0, 0.0, 1.0);
glVertex3f(0.0, 1.0, 0.0);
glVertex3f(0.0, 0.0, 0.0);
glVertex3f(0.0, 0.0, 1.0);
glVertex3f(1.0, 0.0, 0.0);
glEnd();
glPopMatrix();
glFlush();
}
void reshape(int w, int h)
{
glViewport(0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(60.0, (GLfloat) w/(GLfloat) h, 1.0, 30.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef(0.0, 0.0, -3.6);
glRotatef( 45, 1.0, 0.0, 0.0 );
}
void idle()
{
roangles += 0.01f;
glutPostRedisplay();
}
/* ARGSUSED1 */
void keyboard(unsigned char key, int x, int y)
{
switch (key) {
case 27:
exit(0);
break;
}
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(250, 250);
glutInitWindowPosition(100, 100);
glutCreateWindow(argv[0]);
glutIdleFunc( idle );
init();
glutReshapeFunc(reshape);
glutDisplayFunc(display);
glutKeyboardFunc (keyboard);
glutMainLoop();
return 0;
}

当前分类随机文章推荐
- OpenGL画四个三角形组成四面体,并进行旋转 阅读3319次,点赞0次
- Modern OpenGL - GLSL着色语言1:OpenGL着色器简介 阅读2476次,点赞0次
- Modern OpenGL - GLSL着色语言4:GLSL中的数据存储限制符 阅读2091次,点赞0次
- Modern OpenGL - GLSL着色语言3:GLSL中的数据类型 阅读1822次,点赞0次
- Modern OpenGL从零开始 - 多个帧缓存Framebuffer绘制到同一个铺满屏幕四边形Quad上 阅读2590次,点赞1次
- OpenGL地球与太阳绕转代码 阅读2793次,点赞0次
- Modern OpenGL - 与着色器Shader相关的API函数总结以及如何创建、编译与使用Shader 阅读594次,点赞0次
- Modern OpenGL从零开始 - 在Visual Studio中配置OpenGL开发环境 阅读2368次,点赞0次
- Modern OpenGL从零开始 - Fbxsdk::FbxAMatrix转换为glm::mat4 阅读2427次,点赞0次
- Modern OpenGL - GLSL着色语言2:GLSL入口函数和GLSL中的变量 阅读2633次,点赞0次
全站随机文章推荐
- WordPress - 在每一个文章内容末尾都加一个作者信息展示框 阅读2000次,点赞0次
- C++11 - 封装std::thread,增加子线程启动、暂停、唤起、停止功能 阅读4257次,点赞7次
- 资源分享 - Fundamentals of Computer Graphics, Second Edition 英文高清PDF下载 阅读4181次,点赞0次
- Pytorch - 使用opencv-python解码视频文件并将视频帧转换为Pytorch tensor作为网络模型输入数据 阅读2322次,点赞0次
- 资源分享 - Game AI Pro 360 - Guide to Architecture 英文高清PDF下载 阅读2112次,点赞0次
- 资源分享 - Ray Tracing from the Ground Up 英文高清PDF下载 阅读1583次,点赞0次
- 资源分享 - Cloth Simulation for Computer Graphics 英文高清PDF下载 阅读2135次,点赞0次
- WordPress - 文章自定义字段post_meta添加、更新、删除、获取操作 阅读1017次,点赞0次
- WordPress - home_url()函数,获取网站主页url链接 阅读787次,点赞0次
- 资源分享 - 基于物理的建模与动画 , Foundations of Physically Based Modeling and Animation 中文版PDF下载 阅读1954次,点赞1次
评论
167