本文作者: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;
}

当前分类随机文章推荐
- Modern OpenGL - GLSL着色语言2:GLSL入口函数和GLSL中的变量 阅读2097次,点赞0次
- Modern OpenGL从零开始 - 在Visual Studio中配置OpenGL开发环境 阅读1961次,点赞0次
- Modern OpenGL从零开始 - 多个帧缓存Framebuffer绘制到同一个铺满屏幕四边形Quad上 阅读2150次,点赞1次
- Modern OpenGL - GLSL着色语言4:GLSL中的数据存储限制符 阅读1636次,点赞0次
- Modern OpenGL - GLSL着色语言3:GLSL中的数据类型 阅读1348次,点赞0次
- Modern OpenGL - GLSL着色语言1:OpenGL着色器简介 阅读1998次,点赞0次
- Modern OpenGL从零开始 - 从茫茫多的OpenGL第三方库讲起 阅读2919次,点赞1次
- OpenGL画四个三角形组成四面体,并进行旋转 阅读2592次,点赞0次
- Modern OpenGL - 与着色器Shader相关的API函数总结以及如何创建、编译与使用Shader 阅读177次,点赞0次
- Modern OpenGL从零开始 - Fbxsdk::FbxAMatrix转换为glm::mat4 阅读1957次,点赞0次
全站随机文章推荐
- 资源分享 - Learn OpenGL - Learn modern OpenGL graphics programming in a step-by-step fashion 英文高清PDF下载 阅读686次,点赞0次
- Mediapipe - 全身包含身体、手部、面部所有关键点标注位置对应图 阅读2402次,点赞1次
- Python – 解决opencv-python使用cv2.imwrite()保存中文路径图片失败的问题 阅读180次,点赞0次
- FFmpeg - 通过h264编码的视频文件开始很清晰后面逐渐模糊 阅读2712次,点赞1次
- 资源分享 - 机器学习 (西瓜书) 周志华著PDF下载 阅读19998次,点赞21次
- Unity - Color32[]转为byte[]字节数组 阅读2376次,点赞1次
- TensorRT - 自带工具trtexec的参数使用说明 阅读2452次,点赞0次
- 神经网络 - 模型训练需注意的细节与超参数调优 阅读283次,点赞1次
- Unity - Color32[]转IntPtr 阅读2088次,点赞0次
- WordPress - get_header函数,加载主题头部header模板 阅读388次,点赞0次
评论
150