环境搭建

学习《OpenGL编程指南》,首先要搭建环境,运行第一个例子【第一个 OpenGL 程序 triangles.cpp】

我的环境是Ubuntu14.04,以下阅读需要有linux基础知识。

安装依赖库

  1. gcc g++ 安装

  2. cmake 3.19.0-rc2 源码编译安装

官网

https://cmake.org/download/

安装命令

$sudo ./bootstrap

$sudo make

$sudo make install

  1. 安装opengl的头文件

$sudo apt-get install libgl1-mesa-dev

安装所选后端X11

$sudo apt-get install libx11-dev

安装XInput
$sudo apt-get install libxi-dev

安装xkbcommon

$sudo apt-get install libxkbcommon-dev

  1. glut源码下载,freeglut 3.2.1

http://freeglut.sourceforge.net/index.php#download

$cmake .

$make

$sudo make install

  1. glew源码下载, GLEW 2.1.0

官网

http://glew.sourceforge.net/

https://sourceforge.net/projects/glew/postdownload

$make

$sudo make install

由于glew默认安装在/usr/lib64目录,需要把libGLEW.so*拷贝到/usr/lib目录

  1. glad源码下载,gl版本3.3(暂时可不安装)

官网

https://glad.dav1d.de/

程序

目录结构

.
├── common
│   ├── LoadShaders.cpp
│   └── LoadShaders.h
├── day1
│   ├── demo
│   ├── Makefile
│   ├── triangles.cpp
│   ├── triangles.frag
│   └── triangles.vert
├── LICENSE
├── README.en.md
└── README.md

Makefile 是我们程序的组织文件

CC      := g++ -g
LDFLAGS := -L/usr/local/lib -L/usr/lib -L/lib -L/usr/lib64
LIBS    := -lglut -lGLEW -lGL -ldl -lX11 -lpthread
NCLUDE := /usr/local/include/GL/glut.h /usr/include/glad/glad.h$(TARGET): triangles.o LoadShaders.o$(CC) $^ -o $@ $(LDFLAGS) $(LIBS)triangles.o: triangles.cpp$(CC) -c $^LoadShaders.o: ../common/LoadShaders.cpp$(CC) -c $^glad.o: /usr/include/glad.c$(CC) -c $^.PHONY: clean
clean:-rm -fr *.o-rm -fr $(TARGET)-rm *~

编译

在day1目录输入命令
$make

运行

$./demo

源代码

https://gitee.com/chen227/opengl-programming-guide-demo.git

OpenGL编程指南(原书第8版)环境搭建相关推荐

  1. ROS机器人高效编程(原书第3版)勘误、问题及资料汇总

    ROS机器人高效编程(原书第3版)勘误.问题及资料汇总--持续更新 如果小伙伴发现书中错误,恳请批评指正,非常感谢.勘误在文末. 补充一行代码装ROS,适用于14.04LTS(indigo)和16.0 ...

  2. python 网络编程_Python网络编程(原书第2版)

    Python网络编程(原书第2版) 作者:(美)埃里克·周(Eric Chou) 著 出版日期:2019年06月 文件大小:54.50M 支持设备: ¥68.00 适用客户端: 言商书局 iPad/i ...

  3. JavaScript权威指南(原书第7版) 犀牛书

    第3章 语法结构 3.10.1 使用let和const声明 ES6后,变量通过let关键字声明 let i let sum 可以使用一条let语句声明多个变量 let i, sum 声明变量的同时,( ...

  4. 《OpenGL编程指南(原书第8版)》——计算着色器

    原文  http://www.csdn.net/article/2014-11-21/2822754 主题 OpenGL 数学 概述 由于图形处理器每秒能够进行数以亿计次的计算,它已成为一种性能十分惊 ...

  5. OpenGL深入探索——《OpenGL编程指南(原书第8版)》——计算着色器

    转载自 <OpenGL编程指南(原书第8版)>--计算着色器 概述 由于图形处理器每秒能够进行数以亿计次的计算,它已成为一种性能十分惊人的器件.过去,这种处理器主要被设计用于承担实时图形渲 ...

  6. 苹果开发之Cocoa编程(原书第4版)

    <苹果开发之Cocoa编程(原书第4版)> 基本信息 原书名:Cocoa Programming for Mac OS X: Fourth Edition 作者: (美)希莱加斯(Hill ...

  7. 《渗透测试实践指南 必知必会的工具与方法 (原书第2版)》读书摘录

    ----------------------------------------------------------------------------分割线--------------------- ...

  8. 《深入理解Hadoop(原书第2版)》——1.3大数据的编程模型

    本节书摘来自华章计算机<深入理解Hadoop(原书第2版)>一书中的第1章,第1.3节,作者 [美]萨米尔·瓦德卡(Sameer Wadkar),马杜·西德林埃(Madhu Siddali ...

  9. 《C#多线程编程实战(原书第2版)》——第3章 使用线程池 3.1 简介

    本节书摘来自华章出版社<C#多线程编程实战(原书第2版)>一书中的第3章,第3.1节,作者(美)易格恩·阿格佛温(Eugene Agafonov),黄博文 黄辉兰 译,更多章节内容可以访问 ...

  10. opengl编程指南第8版源码编译详细说明

    1. 到:https://github.com/openglredbook/examples 下载完全版的源码examples-master.zip,大小有131MB左右,不要下载缩略版的,否则\bi ...

最新文章

  1. ​多视图立体视觉: CVPR 2019 与 AAAI 2020 上的ACMH、ACMM及ACMP算法介绍
  2. 9.STM32中对SysTick_Init()函数(sysTick_Config()、TimingDelay_Decrement()自定义)和Delay_us()的理解
  3. 手机算通用计算机还是,电脑手机通用的便签是哪个?有人知道吗
  4. 行为型模式:中介者模式
  5. (JAVA)IO流之读写单个字节和复制文本文件
  6. wzplayer for android V1.0快出炉了
  7. c 读取url中的html文本,如何使用Guzzlehttp获取给定url的html内容
  8. jquery的ajax用法
  9. [转]《编程之道》(很老的一篇文章)
  10. 无线OSS-高精度整数加法
  11. GitHub+JenKins集成Python自动化测试脚本
  12. 软件项目估算永远不准怎么办?钱少时间紧未必是坏事
  13. 撩妹利器之心形函数代码
  14. PROE二次开发(protoolkit):把PRT或者ASM模型转换成STEP,PS,IGES,CATIA等等格式
  15. 育碧信条:AI 在手,天下我有
  16. 电话号码分身 java,每日一题C++版(电话号码分身)
  17. 专业人士告诉你数据分析师适合女生吗?
  18. 分享制作异步多人游戏的方法和经验(转)
  19. bgp机房是先进的IDC机房产品
  20. python保存为mat文件_Python读取mat文件保存为pickle格式的实例代码

热门文章

  1. 21天学通Java学习笔记-Day03
  2. 在EWF上启用一个Hibernate Once/Resume Many环境
  3. w3school和w3cschool两个网站有什么关系和区别?
  4. 多种modelsim版本下载地址
  5. 四川普教计算机教室配备比例,中小学音乐教室建设标准及配置方案
  6. 机器学习中的数学——概率论基础知识
  7. ubuntu类似sourcetree的git可视化工具安装
  8. VTD的官方help翻译-ROD部分(1~4章)
  9. java调用hownet--jni
  10. ACCESS实例1——简易文档管理器