Ubuntu下安装glad
参考:OpenGL: Ubuntu 上的安装
1、打开GLAD的在线服务
2、Ubuntu上查看OpenGL版本
注:可下载更高版本的(不一定按照查询的OpenGL版本)
发现版本太低有的变量可能未定义
(1)创建test.c文件
#include <stdio.h>
#include <GL/glut.h>int main(int argc, char** argv)
{glutInit(&argc,argv);//显示模式初始化glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH);//定义窗口大小glutInitWindowSize(300,300);//定义窗口位置glutInitWindowPosition(100,100);//创建窗口glutCreateWindow("OpenGL Version");const GLubyte* name = glGetString(GL_VENDOR); //返回负责当前OpenGL实现厂商的名字const GLubyte* biaoshifu = glGetString(GL_RENDERER); //返回一个渲染器标识符,通常是个硬件平台const GLubyte* OpenGLVersion =glGetString(GL_VERSION); //返回当前OpenGL实现的版本号const GLubyte* gluVersion= gluGetString(GLU_VERSION); //返回当前GLU工具库版本printf("OpenGL实现厂商的名字:%s\n", name);printf("渲染器标识符:%s\n", biaoshifu);printf("OOpenGL实现的版本号:%s\n",OpenGLVersion );printf("OGLU工具库版本:%s\n", gluVersion);return 0;
}
(2)运行查看
编译:gcc test.c -o test -lglut -lGL -lGLU
运行./test 即可查看对应版本
3、generate生成glad.zip解压
glad和KHR文件夹复制到/usr/local/include/目录下
并添加glad.c文件到稍后的工程中
sudo cp -r glad /usr/local/include/
sudo cp -r KHR /usr/local/include/
4、测试
main.cpp
// System Headers
#include <glad/glad.h>
#include <GLFW/glfw3.h>// Standard Headers
#include <cstdio>
#include <cstdlib>
#include <iostream>void framebuffer_size_callback(GLFWwindow* window, int width, int height);//回调函数原型声明
void processInput(GLFWwindow *window);// settings
const unsigned int SCR_WIDTH = 800;
const unsigned int SCR_HEIGHT = 600;int main(int argc, char * argv[]) {//初始化GLFWglfwInit();glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
#ifdef __APPLE__glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); // uncomment this statement to fix compilation on OS X
#endif//创建一个窗口对象GLFWwindow* window = glfwCreateWindow(SCR_WIDTH, SCR_HEIGHT, "FirstGL", NULL, NULL);if (window == NULL){std::cout << "Failed to create GLFW window" << std::endl;glfwTerminate();return -1;}//通知GLFW将我们窗口的上下文设置为当前线程的主上下文glfwMakeContextCurrent(window);//对窗口注册一个回调函数,每当窗口改变大小,GLFW会调用这个函数并填充相应的参数供你处理glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);//初始化GLAD用来管理OpenGL的函数指针if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)){std::cout << "Failed to initialize GLAD" << std::endl;return -1;}//渲染循环while(!glfwWindowShouldClose(window)){// 输入processInput(window);// 渲染指令glClearColor(0.2f, 0.3f, 0.3f, 1.0f);glClear(GL_COLOR_BUFFER_BIT);// 检查并调用事件,交换缓冲glfwSwapBuffers(window);//检查触发事件glfwPollEvents(); //交换颜色缓冲}//释放/删除之前的分配的所有资源glfwTerminate();return EXIT_SUCCESS;
}//输入控制,检查用户是否按下了返回键(Esc)
void processInput(GLFWwindow *window)
{if(glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS)glfwSetWindowShouldClose(window, true);
}// 当用户改变窗口的大小的时候,视口也应该被调整
void framebuffer_size_callback(GLFWwindow* window, int width, int height)
{// 注意:对于视网膜(Retina)显示屏,width和height都会明显比原输入值更高一点。glViewport(0, 0, width, height);
}
将 glad.c 放在和该 main.cpp 在同一目录下, 编译:g++ -o out main.cpp glad.c -lglfw3 -lGL -lm -lXrandr -lXi -lX11 -lXxf86vm -lpthread -ldl -lXinerama -lXcursor
运行:./out
结果:出现了一个图形框
Ubuntu下安装glad相关推荐
- Ubuntu 下安装thttpd Web服务器
不知道大家是不是真的需要用appache这么复杂的功能这么强大的web server,其实有很多时候使用webserver也只是一种远程共享访问的方式.这里,Ubuntu repository的提供了 ...
- Ubuntu下安装Apache+PHP+Mysql
Ubuntu下安装 apache+php+mysql文本服务器! ------------------------------------------------------------------- ...
- ubuntu下安装ftp服务器
ubuntu下安装ftp服务器 Ftp服务器是使用以vsftp为例. 1. 安装 $sudo aptitude install vsftpd $ps aux | grep 'ftp' ...
- linux pureftp mysql_在Ubuntu下安装apache2+php5+mysql5+pureftp+ftp
在Ubuntu下安装apache2+php5+mysql5+pureftp+ftp 一.安装Ubuntu7.04 Desktop版 二.ubuntu Linux下手工安装mysql5 1.下载mysq ...
- ubuntu下安装windows虚拟机
ubuntu下安装win7虚拟机总结 ubuntu16.04 虚拟机 安装win7/win10 http://WIN10:你不能访问此共享文件夹,解决方法 VirtualBox虚拟机剪贴板共享
- Linux :debian(ubuntu)下安装和使用haskell
文章目录 Linux :debian(ubuntu)下安装haskell 安装 使用 Linux :debian(ubuntu)下安装haskell 安装 直接使用apt进行安装: sudo apt- ...
- Linux: debian/ubuntu下安装和使用Java 11
Linux: debian/ubuntu下安装和使用Java 11 只需6行命令: su - echo "deb http://ppa.launchpad.net/linuxuprising ...
- Linux: debian/ubuntu下安装和使用Java 8
Linux: debian/ubuntu下安装和使用Java 8 7行命令解决问题: su - echo "deb http://ppa.launchpad.net/webupd8team/ ...
- Linux: debian/ubuntu下安装Neo4j
文章目录 Linux: debian/ubuntu下安装Neo4j Linux: debian/ubuntu下安装Neo4j Neo4j的官方仓库地址:neo4j/neo4j: Graphs for ...
- Ubuntu下安装mysql与mysql workbench
其他相关链接 Ubuntu 安装jdk:[链接] Ubuntu安装eclipse:[链接] Ubuntu下安装mysql与mysql workbench:[链接] Ubuntu配置tomcat9:[链 ...
最新文章
- 第三天:Vue的组件化
- 成为Java高手的25个学习要点
- 零基础Java学习之包(Package)
- openNebula 搭建
- HDU 1159.Common Subsequence【动态规划DP】
- java学完jdk后学什么_学完了javase之后要学什么?
- (HDU)1157 -- Who's in the Middle(哪个居中)
- halcon算子翻译——dev_set_window
- Win7下64位扫雷逆向以及辅助制作
- python创建一个银行账户类account_银行账户(示例代码)
- html+js经纬度输入框值的范围限制和输入限制
- 滴答清单微信登录界面丢失
- 4刀最多切割一个正方体为多少部分
- Multiplier和Finger的区别和优劣讨论
- iphone6 和 iphone6 plus 屏幕适配问题
- 人人都能学会系列之ThreadLocal
- 前端学习:jQuery学习--Day03
- Spring Boot + Spring Security + JWT + 微信小程序登录
- 2021-CVPR-图像修复论文导读《TransFill: Reference-guided Image Inpainting by Merging Multiple Color and ~~~》
- Coursera半价优惠
热门文章
- Python爬虫初学(3)登陆武汉理工大学教务处
- 大学生搭建自己的web项目服务器心得
- 最大公约数,最小公倍数的求法
- RTX3060安装pytorch
- python复数类型及其特点和分布地区_各种气候类型及其特点、分布规律、主要分布地区、数值特征...
- 一篇博文搞定英文常见单词后缀(完全版)
- 九、多线程(高琪java300集+java从入门到精通笔记)
- cJSON库的使用(一)
- [原创]如何顺利通过中国电信Brew平台软件测试?
- 百度wz开户竞价推广如何做到降低平均点击价格