【OpenGL】绘制矩形绘制三角形选择拾取基础教程

这篇博客介绍了在OpenGL中进行矩形、三角形绘制及选择拾取的实现过程。作者通过一个331行代码的大工程实践,详细讲解了如何在OpenGL中创建图形并处理选择和拾取操作。文章中提到了在选择模式下,OpenGL会丢失绘制模式的图像,因此需要将绘制信息存储在数组中。此外,还展示了主函数、菜单函数、键盘响应函数、绘制函数和选择拾取的相关代码逻辑。
摘要由CSDN通过智能技术生成

上上个星期老师布置了一个大工程让我们写,感觉得到了很多提升,选择拾取这部分也是非常难的。

特此总结,并且那次去问老师题目,老师不但很有耐心,还给了我一个苹果,纪念一下。

  1. 基本情况介绍

总共代码331行,函数12个


运行效果

首先点击右键,会出现菜单


鼠标左键点击进入相应功能,画矩形时左键点两下(对角线)即可,画三角形时点三下,选择区域要在已经画了图形的情况下点(也不是不能进啦,只是没有意义),选择拾取效果如下



点击红点点那块,有四个图形重叠的部分,左边的框输出

hit = 4等等信息(上面的是之前点击写出的信息,不用管)

下面一起来看这三个功能怎么完成吧

首先看主函数

#include <stdlib.h>
#include <iostream>
#include <stdio.h>
#ifdef __APPLE__
#include <GLUT/glut.h>
#else
#include <GL/glut.h>


#endif


#ifndef __cplusplus
#define bool int
#define true 1
#define false 0
#endif
#define SIZE 101


using namespace std;


int ww,hh;//viewport
GLint numRect = 0,numTri = 0; 
int selectArray[2][SIZE];//第0行存矩形,第1行存三角形


int arrayRect[SIZE][4];
int arrayTri [SIZE][6];
int
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值