【计算机图形学】使用OpenGL C++语言,橡皮筋技术/交互式绘制三角形 【100行代码】

使用OpenGL C++语言,橡皮筋技术/交互式绘制三角形

完整代码见最后

大部分理解都写在代码注释里面了,有疑问可以直接评论区问UP。

说在前面

之前在网上参考了很多类似的代码,他们都有庞大的头文件,个别代码还引用了C++的万能头文件(这玩意在VS2019中不能直接运行,还需要配置),但最后我发现,如果只是想画个交互式三角形,其实就需要一个gl包即可。

不废话了,直接贴完整代码

#include <gl/glut.h>  
#include <stdio.h>
#define NUM 3 //设置顶点数量  

int alreadyFirstPoint = 0; //标记是否已经开始绘制折线  
int winWidth = 800, winHeight = 600;
int Mousex, Mousey; //当前鼠标的位置  
int n = 0; //记录折线数量 

struct LineNode {//定义一条线,包含两个点,四个数据
	int x1;
	int y1;
	int x2;
	int y2;
}Line[NUM];

void Initial(void)//非逻辑代码,初始化
{
	glClearColor(1.0f, 1.0f, 1.0f, 1.0f); //设置窗口颜色  
}

void ChangeSize(int w, int h)//非逻辑代码,控制窗口size
{
	winWidth = w;
	winHeight = h;
	glViewport(0, 0, w, h); //指定窗口显示区域  
	glMatrixMode(GL_PROJECTION); //指定设置投影参数  
	glLoadIdentity(); //调用单位矩阵,去掉以前的投影
  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值