OpenGL工程实现实用教程
文章平均质量分 76
本专栏记录作者使用Opengl自行实现的一套GUI界面控件以及图像显示相关的操作
_寒潭雁影
中科大IT向博士,熟悉MFC,C++,C等语言,参与过ffmpeg、机器视觉、并行计算、数据库等相关项目的研发和代码的编写http://blog.csdn.net/weixinhum为本人博客,上面记录了本人的一些技术总结
展开
-
OpenGL工程实现实用教程5---freeglut库按钮控件实现
在前面的文章中,我们已经介绍了如何使用OpenGL在窗口中渲染中文文字。将这些文字放到窗口内指定的位置,便是GUI中常见的“文字标签”。在本篇文章中,我们将进一步介绍如何用OpenGL来实现另外一种常见GUI控件“按钮”。“基础按钮”控件的实现要实现一个“基础按钮”控件非常简单,在想要放置按钮的位置画出一个矩形,当鼠标放置到该矩形上并做出点击操作时改变其绘图(比如把矩形缩小),并在后台运行相应的单击响应代码即可。具体的步骤如下:判断鼠标左键按下的位置是否在按钮所在的位置判断函数bool OnMo原创 2022-04-07 11:50:57 · 1255 阅读 · 1 评论 -
OpenGL工程实现实用教程4---freeglut库图片显示
利用OpenGL绘制OpenCV图像方法一:#include<gl/glut.h>#include <opencv2/opencv.hpp>using namespace cv;Mat imgbgr;Mat imgbgra;void display(void){ //绘图,GL_BGRA_EXT表示输入图像格式为BGRA,也可是GL_BGR_EXT,则...原创 2019-07-16 15:38:51 · 1083 阅读 · 0 评论 -
OpenGL工程实现实用教程3---freeglut库中文文字渲染
使用freeglut渲染英文字体有个非常简单的办法,那就是直接调用glutBitmapCharacter函数进行渲染。代码如下://要显示的字符char str[20] = "Hello world!!!";int n = strlen(str);//设置要在屏幕上显示字符的起始位置glRasterPos2i(0, 0);//逐个显示字符串中的每个字符for (int i = 0; i < n; i++) glutBitmapCharacter(GLUT_BITMAP_TIMES_R原创 2022-03-15 20:34:52 · 1224 阅读 · 0 评论 -
OpenGL工程实现实用教程2---freeglut库的输入响应
在PC上用户的输入操作一般分为键盘+鼠标两种,freeglut库已经帮我们封装好了这些操作的消息响应,只需要用户注册并编写响应逻辑即可。键盘响应键盘的消息注册函数为glutKeyboardFunc,消息响应回调函数可定义如下://第一个参数表示按下的按键的ASCII码。//其余两个参数提供了当键按下时当前的鼠标位置(相对于当前客户窗口的左上角)。void keyboardFunc(unsigned char key, int x, int y){ switch (key) { cas原创 2022-03-15 20:28:50 · 675 阅读 · 0 评论 -
OpenGL工程实现实用教程1---最简单的freeglut库环境配置
学习OpenGL最常见的教程是LearnOpenGL,该教程使用的OpenGL库是glfw,因此如果想要按照那个教程从头到尾学习一遍OpenGL,那么请不要犹豫关掉本教程然后点开LearnOpenGL的网站开始学习(本人的OpenGL入门就是这样学的)。本教程使用的是glut库的开源版本freeglut库,原因在于该库相比于glfw更加简单,它隐藏了很多OpenGL的设置,使得代码编写更加简洁(需要注意的是,代码编写的简洁对于想要用到OpenGL高级功能的老哥并不见得是一个好特性,对于想要深刻理解Open原创 2022-01-18 21:39:52 · 677 阅读 · 0 评论