博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
计算机图形学实验一
阅读量:5745 次
发布时间:2019-06-18

本文共 1376 字,大约阅读时间需要 4 分钟。

利用glut创建一个菜单主要包括创建菜单,创建菜单项,制定选择菜单项的鼠标按键等步骤

1、菜单注册函数:glutCreateMenu(ProcessMenu);用于创建一个弹出式菜单,它指定ProcessMenu作为菜单回调函数,

void ProcessMenu(int value);value确定用户选择菜单项的ID值,以进行相应的处理。

2、使用函数在菜单中加入菜单项:void glutAddMenuEntry(char *name,GLint value);参数name指定菜单项显示的名称,value指定菜单项对应的ID,当这个菜单项被选中时,这个ID会传给菜单回调函数。

3、将菜单与某个鼠标按键关联起来:void glutAttachMenu(button);参数button用符号常量GLUT_LEFT_BUTTON,GLUT_MIDDLE_BUTTON和GLUT_RIGHT_BUTTON指定鼠标的左键、中键和右键。

本想利用菜单实现矩形的橡皮筋技术,但是由于第一次接触这个,搞不出来。。。

参考此报告,顺利解决问题:http://www.docin.com/p-848199424.html

#include"gl/glut.h"static GLsizei iMode=1;int ipointnum=0;//已确定点的数目int x1=0,x2=0,y1=0,y2=0;//确定的点坐标int winWidth=400,winHeight=300;//窗口的宽度和高度int num=0,a[100],b[100],w1,h1,w2,h2;void Initial(void){    glClearColor(1.0f,1.0f,1.0f,1.0f);//设置窗口的背景颜色}void ChangeSize(int w,int h){    winWidth=w;winHeight=h;//保存当前窗口的大小    glViewport(0,0,w,h);//指定窗口显示区域    glMatrixMode(GL_PROJECTION);//指定设置投影参数    glLoadIdentity();//调用单位矩阵,去掉以前的投影参数设置    gluOrtho2D(0.0,winWidth,0.0,winHeight);//设置投影参数}void Display(void){    GLint i;    glClear(GL_COLOR_BUFFER_BIT);//用当前背景色填充窗口    glColor3f(1.0f,0.0f,0.0f);//指定当前的绘图颜色    if(iMode==1) //绘制直线段    {        glBegin(GL_LINES);        glVertex2i(x1,y1);        glVertex2i(x2,y2);        glEnd();    }    else if(iMode==2)//绘制折线    {        glBegin(GL_LINE_STRIP);        for(i=0;i
View Code

 

转载于:https://www.cnblogs.com/acm-jing/p/4374518.html

你可能感兴趣的文章
06.maven依赖管理
查看>>
Windows Server 2016-安装AD域服务注意事项
查看>>
桌面支持--电脑显示器变横了
查看>>
Silverlight实用窍门系列:53.Silverlight中的5种基本变换RotateTransform、ScaleTransform……...
查看>>
第七章:文件上传-1. 基础上传操作
查看>>
Linux中更改文件属性
查看>>
notepad++的tab设置为4个空格
查看>>
ZABBIX 3.4 (一) 监测Nginx状态及脚本
查看>>
docker 学习笔记
查看>>
rpm安装pdksh-5.2.14报错:“ Failed dependencies:”
查看>>
用 vagrant 实现虚拟开发环境的快速部署
查看>>
Ceph中国社区第二次沙龙活动
查看>>
Java代码获取NTP服务器时间
查看>>
笔记: Java NIO套接字通信
查看>>
RHEl5-配置DNS服务器
查看>>
extjs4 tree 节点选中问题
查看>>
三层交换机和路由器的区别
查看>>
Sublime Text Build 3021 x86 正式版发布
查看>>
PS讲义
查看>>
浅析软文标题写作的三个问题
查看>>