2_4GLUT菜单
来源:互联网 发布:stm32f107数据手册 编辑:程序博客网 时间:2024/06/11 00:35
2.44
#include<gl/glut.h>
#define RED 1#define GREEN 2
#define BLUE 3
#define WHITE 4
#define yyy 5
float angle=0.0; //三角形旋转角
float red=1.0,blue=1.0,green=1.0;
void myDisplay(void) //画三角形的回调函数
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glRotatef(angle,0.0,1.0,0.0); //绕y轴旋转angle度角
glColor3f(red,green,blue); //改变三角形的颜色
glBegin(GL_TRIANGLES); //画三角形
glVertex3f(-0.5,-0.5,-0.0);
glVertex3f(0.5,0.0,0.0);
glVertex3f(0.0,0.5,0.0);
glEnd();
angle++;
glutSwapBuffers(); //实现双缓冲
}
void processMenuEvents(int option)
{ //鼠标的旋转改变颜色
switch(option)
{
case RED:red=1.0;green=0.0;blue=0.0;break;
case GREEN:red=0.0;green=1.0;blue=0.0;break;
case BLUE:red=0.0;green=0.0;blue=1.0;break;
case WHITE:red=1.0;green=1.0;blue=1.0;break;
case yyy: red=1.0;green=1.0;blue=0.0;break;
default:
break;
}
}
void main(int argc,char** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DEPTH|GLUT_DOUBLE|GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(320,320);
glutCreateWindow("Menu Test"); //打开一个OpenGL窗口
glutDisplayFunc(myDisplay); //注册显示窗口
glutIdleFunc(myDisplay); //设置全局的回调函数,程序空闲时调用 myDisplay
//调用函数创建菜单
//右击鼠标激活函数
//创建菜单并关联菜单事件
glutCreateMenu(processMenuEvents);
glutAddMenuEntry("RED",RED);
glutAddMenuEntry("Blue",BLUE);
glutAddMenuEntry("Green",GREEN);
glutAddMenuEntry("White",WHITE);
glutAddMenuEntry("ddd",yyy);
glutAttachMenu(GLUT_RIGHT_BUTTON);//鼠标右键
glutMainLoop();
}
0 0
- 2_4GLUT菜单
- 菜单2
- 导航菜单下拉列表 2级菜单
- 2k3风格菜单
- 右键菜单2
- 下拉菜单级联(2)
- MFC菜单2
- 级联菜单2
- MFC笔记(2)菜单
- Win32程序(2) 菜单
- 013 测试菜单2
- jquery右键菜单2
- 弹出式菜单按钮2
- ios左右菜单2
- Silo2.2菜单中英对照
- 菜单详解(2)
- QQ联系人菜单2:
- QQ菜单2
- Patrick and Shopping
- 稍完整的script
- 牛人对机器学习常用方法的总结
- 定时器timer
- WINDOW对象属性和方法
- 2_4GLUT菜单
- BootStrap 进度条
- C# 通过Thrift 1 操作 HBase
- 【Android】【完善】【凯子哥带你夯实应用层】滚来滚去,滚来滚去...Scroller相关类使用大揭秘!!!
- ffmpeg 捕获屏幕和采集声卡、摄像头、麦克风声音
- Spark OOM:java heap space,OOM:GC overhead limit exceeded解决方法
- VR入门
- lintcode segment-tree-modify 线段树的修改
- 全双工实现服务器与客户端的通信