OpenGL with GLFW GLAD and CMAKE
0. 前言
首先,无论是在youtube还是网站上,许多OpenGL的环境配置都是在VS studio里配置的,个人比较喜欢使用VS code,以及Cmake.
下文给出了一个Cmake版本关于 GLFW GLAD 的编译环境。
另外,感谢分享知识的人。
具体的代码已放入 github 中, 代码地址 https://github.com/Alex-gift-hit/OpenGL-with-GLFW-GLAD-and-CMAKE
1. GLFW
下载源代码放入
3rdparty中。在项目主
CMakeLists.txt加入下面的代码,这些代码的来源是GLFW的官方文档 Building applications.
cmake_minimum_required(VERSION 3.14)
project(my_app)
find_package(OpenGL REQUIRED)
set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
add_subdirectory(3rdparty/glfw-3.3.8)
add_executable(my_app main.cpp)
target_link_libraries(my_app OpenGL::GL)
target_link_libraries(my_app glfw)
3 GLAD
GLAD是一个 OpenGL Loading Library。 与之相同的是GLEW。详情请见 OpenGL Loading Library
具体怎么生成这里不便再说,有兴趣可以去看 learnopengl.
需要注意的是,我们的GLAD是用的 GL3.3, 所以别在代码里写2的东西。
- 下载
include, src到3rdparty/glad/ - 在项目主
CMakeLists.txt加入下面的代码,这些代码的来源是GLAD的Issue How to use directly from CMAKE
add_subdirectory(3rdparty/glad)
target_link_libraries(my_app glad)
- 在
3rdparty/glad/里添加如下camke代码
cmake_minimum_required(VERSION 3.0)
project(Glad)
add_library(glad include/glad/glad.h src/glad.c)
target_include_directories(glad PUBLIC include/)
3 main.cpp
实际是 LearnOpenGl.com 的 Hello Window.
4. Cmake Compile
cmake -S . -B build
cmake --build build
X. Refference
- https://github.com/Dav1dde/glad/issues/186
- https://learnopengl.com/Getting-started/Hello-Window
- https://glad.dav1d.de/
- https://www.glfw.org/
OpenGL with GLFW GLAD and CMAKE的更多相关文章
- OpenGL开发学习指南二(glfw+glad)
版权声明:本文为博主原创文章,未经博主允许不得转载.blog.liujunliang.com.cn https://blog.csdn.net/qq_33747722/article/details/ ...
- GLFW+GLAD OpenGL Mac开发环境搭建
前言 OpenGL 是什么?The Industry Standard for High Performance Graphics 这是官方解释.说白了他就是一套标准接口.对,是接口,并没有实现具体的 ...
- [OpenGL]配置GLFW
注:本文可转载,转载请著名出处:http://www.cnblogs.com/collectionne/p/6937644.html.本文还会修改,如果不在博客园(cnblogs)发现本文,建议访问上 ...
- Mac平台Clion配置GLFW+GLAD的项目
前期的准备工作详见LearnOpenGL CN 看这篇教程的前提是假设你已经编译好了GLFW文件夹以及下载好了GLAD,不会的话可以看我的另一篇 文章的前部分: 配置 Clion新建一个项目,CMak ...
- [OpenGL]配置GLFW(超详细)
注:本文可转载,转载请著名出处:http://www.cnblogs.com/collectionne/p/6937644.html.本文还会修改,如果不在博客园(cnblogs)发现本文,建议访问上 ...
- 获取显示屏的个数和分辨率 --- 通过使用OpenGL的GLFW库
获取显示屏的个数和分辨率 - 通过使用OpenGL的GLFW库 程序 #include <iostream> // GLFW #include <GLFW/glfw3.h> i ...
- OpenGL 使用GLFW创建全屏窗口
OpenGL 使用GLFW创建全屏窗口 GLFW库里面的glfwCreateWindow()函数是用来创建窗口的函数. 这样函数的原型是: GLFWwindow* glfwCreateWindow(i ...
- Windows10+VS2017 用GLFW+GLAD 搭建OpenGL开发环境
本文参考:https://learnopengl-cn.github.io/ 一 下载GLFW(https://www.glfw.org/download.html) 和 GLAD(https:// ...
- Xcode环境下OpenGL C++ GLFW开发环境搭建
操作系统版本:MacOS Mavericks 10.9.2 Xcode版本:5.0.1 OpenGL版本:4.10 GLFW版本:3.0.4 一.GLFW编译 1.下载并安装cmake(当前最新版本为 ...
- OpenGL ES之GLFW窗口搭建
概述 本章节主要总结如何使用GLFW来创建Opengl窗口.主要包括如下内容: OpenGl窗口创建介绍 GLFW Window版编译介绍 GLFW简单工程源码介绍 OpenGL窗口创建介绍 能用于O ...
随机推荐
- 强化学习框架chainerrl的安装
源码地址: https://gitee.com/mirrors_chainer/chainerrl PS: 需要注意的是本文的安装方式并不能支持CUDA,也就是无法使用GPU进行计算:年久失修的计算框 ...
- 【解决】ValueError: Memory growth cannot differ between GPU devices
在ubuntu系统下双显卡运行TensorFlow代码报错: ValueError: Memory growth cannot differ between GPU devices 报错的代码位置为: ...
- BOM 相关知识总结
一:介绍BOM 1 1.什么是BOM? 2 DOM就是一套操作HTML标签的API(接口/方法/属性) 3 BOM就是一套操作浏览器的API(接口/方法/属性) 4 5 2.BOM中常见的对象 6 w ...
- vs code 快速配置
1. 基本操作 打开工程文件: ctrl + p 在文件搜索内容: ctrl + shift + f 进入设置: ctrl + shift + p, 然后输入 user setting 添加插件: c ...
- 变分信息瓶颈 (Variational Information Bottleneck) 公式推导
互信息 互信息用于表示两个随机变量相互依赖的程度.随机变量 \(X\) 和 \(Y\) 的互信息定义为 \[\begin{aligned} I(X, Y) & = \mathrm{KL}[p( ...
- navicat远程连接报错
mysql,2003 can't connect to mysql server on 10038 我们连接远程服务器的mysql,如果出现问题,很大问题会出在服务器的端口和授权问题 # 首先我们通过 ...
- idea下spring切换jdk版本
1.首先打开项目配置设置 2. 修改project中的配置 3. 修改modules中的配置 这个方法不需要修改pom.xml文件 如果有问题请指正 及时修改 2022年9月10日16:42:16
- 【Python自动化】之利用JS操作页面滚动条(新)
如何操作页面中的滚动条,有以下几个方法: 一.查找可见元素进行滚动页面(通用) 方法一: ①移动到元素element对象的"顶端",与当前窗口的"顶部"对齐(默 ...
- 云存储抽象层-FluentStorage
FluentStorage 是一个.NET云存储抽象层,支持多种云服务提供商.它提供了一个统一的API来处理不同云服务提供商的Blob存储(如AWS S3, GCP, FTP, SFTP, Azure ...
- docker高级篇:实战-自己开发的微服务怎么在docker上面运行?
通过前面的一系列学习,我们已经知道怎么制作dockerfile了.那么,本篇文章,咱们就把自己写的spring boot的demo项目,部署在docker上面. 案例目标: 我们自己开发的微服务怎么在 ...