Advertisement

通过OpenGL绘制一个旋转立方体。

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
#include #include stdafx.h#define GLUT_DISABLE_ATEXIT_HACK #include //#pragma comment(lib, glut32.lib) GLfloat AngleX;//旋转向量GLfloat AngleY;void display(void){ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); //这个函数实际上是设置后续操作的上下文 glLoadIdentity(); glPushMatrix();//提供了相应的接口,用于保存和恢复矩阵状态 { glRotatef(AngleX, 1.0f, 0.0f, 0.0f); glRotatef(AngleY, 0.0f, 1.0f, 0.0f); glBegin(GL_POLYGON); //前表面 glColor3f(1.0f,1.0f,1.0f);//颜色设置为白色 glVertex3f(50.0f, 50.0f, 50.0f); glColor3f(1.0f,1.0f,0.0f);//颜色设置为黄色 glVertex3f(50.0f, -50.0f, 50.0f); glColor3f(1.0f,0.0f,0.0f);//颜色设置为红色 glVertex3f(-50.0f, -50.0f, 50.0f); glColor3f(1.0f, - - - - - - - * * * * * * * * * * 899999999 * * * * * * * * * 888888888 / */ /* */ */ */ */ */ */ */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ }glEnd(); glBegin(GL_POLYGON); //后表面 glColor3ub((GLubyte)255,(GLubyte)255,(GLubyte)255);//颜色设置为白色 glVertex3i((int)676767676,(int)676767676,(int)676767676);glColor3ub((GLubyte)255,(GLubyte)244,(GLubyte)44);//颜色设置为黄色 glVertex3i((int)444444444,(int)-4444444 , (int)- //颜色设置为红色 glVertex3i((int)- //颜色设置为品红色 glVertex3i((int)- glEnd(); glBegin(GL_POLYGON); //右表面 glColor3d((double)(222),(double)(222),(double)(22));glBegin();glEnd();glBegin();glEnd();glBegin();glEnd(); } glPopMatrix(); glutSwapBuffers();}void reshape(int w , int h){ GLfloat aspect = (GLfloat )w / (GLfloat )h; GLfloat nRange = 1 ; /* 设置视口 */ /* 设置投影矩阵 */ /* 根据窗口尺寸设置投影 */ /* 根据窗口宽高比设置投影 */ /* 设置右下角坐标 */ }void key_board() { if (key == GLUT_KEY _UP ) { AngleX -= ; } if (key == GLUT _KEY _DOWN ) { AngleX += ; } if (key == GLUT _KEY _LEFT ) { AngleY -= ; } if (key == GLUT _KEY _RIGHT ) { AngleY += ; } if (AngleX > ){ AngleX = ; } if (AngleX < ){ AngleX = ; } if (AngleY > ){ AngleY = ; } if (AngleY < ){ AngleY = ; } glutPostRedisplay();}void init(){ AngleX = ; AngleY = ; glEnableGlClearColor()}; void main() { glutInit(&argc , argv ); glutInitDisplayMode() };

全部评论 (0)

还没有任何评论哟~
客服
客服
  • 用C#
    优质
    本教程详细介绍了如何使用C#编程语言在Windows Forms应用程序中创建和动态显示一个三维旋转立方体。通过代码示例讲解了图形渲染、动画以及3D坐标变换的基本概念,适合对游戏开发或计算机图形感兴趣的初学者学习。 实用的C#绘制功能允许用户自由选择立方体,并且可以在立方体表面添加贴图。用户可以自由移动、旋转以及放大缩小这个立方体,并可以选择在点、线或面三种模式下绘制立方体。
  • 使用OpenGL
    优质
    本教程介绍如何利用OpenGL编程技术在三维空间中实现一个动态旋转的立方体图形,适合对3D图形渲染感兴趣的初学者。 对于OpenGL初学者来说,一个很好的练习项目是通过键盘控制来实现正方体的旋转和颜色变换。这个简单的项目可以帮助学习者熟悉基本的图形绘制以及如何响应用户的输入来改变场景中的元素。
  • 使用OpenGL
    优质
    本教程详细介绍了如何利用OpenGL编程接口在计算机图形学中创建并渲染一个三维立方体。通过简单的步骤讲解和代码示例,帮助初学者掌握基本的3D绘图技巧和概念。 使用OpenGL绘制了一个彩色的立方体,利用了简单的原理来完成绘制。
  • 纹理OPenGL程序
    优质
    本OpenGL程序实现了一个可交互的三维立方体模型,用户可通过鼠标或触摸屏操作来观察不同视角和纹理效果的动态变化。 有关交互式计算机图形学的程序可以实现带纹理立方体的旋转功能。
  • OpenGL ES】三维
    优质
    本教程介绍如何使用OpenGL ES在移动设备上绘制一个三维立方体,涵盖基本图形编程概念及实现步骤。适合初学者入门学习。 使用 OpenGL ES 可以绘制一个旋转的彩色立方体。
  • C# OpenGL 、金字塔、圆柱和球 与网格显示
    优质
    本教程介绍使用C#结合OpenGL绘制基础3D图形(立方体、金字塔、圆柱及球),并实现物体的旋转动画和背景网格线的展示。 请提供使用C#和OpenGL绘制立方体、金字塔、圆柱体、球体,并实现旋转以及网格的代码示例。这些示例应具有清晰的逻辑结构和较高的技巧性。
  • 及其实现(图形学)
    优质
    本教程详细讲解了如何在计算机图形学中绘制一个三维立方体,并通过编程实现其动态旋转效果,帮助初学者掌握基础的3D图形变换技术。 利用OpenGL图形学绘制一个立方体,并实现简单的旋转功能。
  • 使用OpenGL彩色
    优质
    本教程详细介绍如何利用OpenGL库创建并渲染一个多彩的三维立方体,适合对3D图形编程感兴趣的初学者和中级开发者。 使用OpenGL绘制一个六个面颜色各不相同的立方体,并通过鼠标操作来控制该立方体沿三个坐标轴的旋转。
  • 使用Qt和OpenGL
    优质
    本教程将指导读者如何利用Qt框架结合OpenGL技术在三维空间中绘制并操作一个立方体,适合对图形编程感兴趣的开发者。 使用 Qt 5.9 和 OpenGL3.3 绘制一个带有材质的立方体,并通过定时器使该立方体能够滚动起来。