docs.GL 国内镜像

  • 镜像地址 https://qingcms.gitee.io/docs.gl
  • 源地址:https://docs.gl/

LearnOpenGL CN 国内镜像

  • 镜像地址:https://qingcms.gitee.io/learnopengl-cn.github.io
  • 源地址:https://learnopengl-cn.github.io/

opengl-tutorial.org 国内镜像

  • 镜像地址:https://qingcms.gitee.io/opengl-tutorial.org/cn
  • 源地址:https://www.opengl-tutorial.org/cn/

Opengl 4.x Reference 国内镜像

  • 镜像地址:https://qingcms.gitee.io/Opengl%204.x%20Reference
  • 源地址:https://www.khronos.org/registry/OpenGL-Refpages/gl4/

第一课:打开一个窗口(节选)

打开一个窗口

终于到了写OpenGL代码的时刻!
呵呵,其实还没到真正写OpenGL代码的时刻。有些教程喜欢讲一些“底层”的细节,好让您清楚每一步的原理。这些内容往往索然无味,而且用处也不大。因此,我们直接把窗口、键盘消息等细节交给第三方库GLFW来处理。您也可以使用Windows的Win32 API、Linux的X11 API,或Mac的Cocoa API;或者SFML、FreeGLUT、SDL等库,请参见链接页。

开工啦。从处理依赖库开始:我们要用一些基本库在控制台显示消息:

// Include standard headers
#include <stdio.h>
#include <stdlib.h>

然后是GLEW库。其原理我们以后再说。

// Include GLEW. Always include it before gl.h and glfw3.h, since it's a bit magic.
#include <GL/glew.h>

我们使用GLFW库处理窗口和键盘消息,把它也包含进来:

// Include GLFW
#include <GLFW/glfw3.h>

下文中的GLM是个很有用3D数学库,我们暂时用不到,但很快就会派上用场。GLM库很好用,但也没什么神奇的,您不妨自己试着写一个。添加“using namespace”,这样就可以不用写“glm::vec3”,直接写“vec3”。

// Include GLM
#include <glm/glm.hpp>
using namespace glm;

把这些#include都粘贴到playground.cpp。编译时编译器报错,说缺少main函数,那就创建一个呗:

int main(){

首先初始化GLFW :

// Initialise GLFW
if( !glfwInit() )
{fprintf( stderr, "Failed to initialize GLFW\n" );return -1;
}

终于可以创建我们的第一个OpenGL窗口啦!

glfwWindowHint(GLFW_SAMPLES, 4); // 4x antialiasing
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); // We want OpenGL 3.3
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); // To make MacOS happy; should not be needed
glfwWindowHint(GLFW_CONTEXT_PROFILE, GLFW_OPENGL_CORE_PROFILE); //We don't want the old OpenGL// Open a window and create its OpenGL context
GLFWwindow* window;
window = glfwCreateWindow(1024, 768, "Totorial 01", NULL, NULL);if (window == NULL)
{fprintf( stderr, "Failed to open GLFW window\n" );glfwTerminate();return -1;
}// Initialize GLEW
glfwMakeContextCurrent(window);
glewExperimental=true; // Needed in core profile
if (glewInit() != GLEW_OK) {fprintf(stderr, "Failed to initialize GLEW\n");return -1;
}

生成并运行。一个窗口弹出后立即关闭了。可不是嘛,还没设置等待用户按Esc键再关闭呢:

// Ensure we can capture the escape key being pressed below
glfwSetInputMode(window, GLFW_STICKY_KEYS, GL_TRUE);do{// Draw nothing, see you in tutorial 2 !// Swap buffersglfwSwapBuffers(window);} // Check if the ESC key was pressed or the window was closed
while( glfwGetKey(window, GLFW_KEY_ESCAPE) != GLFW_PRESS &&
glfwWindowShouldClose(window) == 0);

OpenGL手册国内镜像,docs.gl,learnopengl-cn,opengl-tutorial相关推荐

  1. docker hub 国内镜像_Mac设置docker国内镜像源

    转载自:https://zhuanlan.zhihu.com/p/146876547?from_voters_page=true 在国内使用docker拉取镜像会非常的慢,所以一定得设置国内镜像源. ...

  2. windows简易使用composer 安装国内镜像

    1.下载composer.phar文件 地址: https://getcomposer.org/download/  从下面选择一个 2.下载成功,新建项目(找到已有的项目文件夹)文件夹(D:\PHP ...

  3. Mac全自动安装brew一键配置国内镜像源

    M1版本 安装homebrew 官网方法:macOS(或 Linux)缺失的软件包的管理器 - Homebrew /bin/bash -c "$(curl -fsSL https://raw ...

  4. pip配置国内镜像源——最新详尽版

    国内镜像源 pip如果不配置国内镜像源的话,下载包的速度非常慢,毕竟默认的源在国外呢,国内主要的镜像源有如下,其中我个人喜欢用阿里云的镜像源. 阿里云 http://mirrors.aliyun.co ...

  5. docker 国内镜像与 docker hub 镜像, docker-compose

    目录 1. docker 国内镜像与 docker hub 镜像, docker-compose 1.1. 通过国内镜像安装 docker 1.1.1. Debian 1.1.2. RHEL 1.2. ...

  6. CentOS7安装Docker及配置国内镜像源

    环境CentOS7 一.Docker docker安装 https://docs.docker.com/get-docker/ https://docs.docker.com/engine/insta ...

  7. Python pip安装第三方库的国内镜像

    Python pip 安装第三方库的国内镜像 Windows系统下,一般情况下使用pip在DOS界面安装python第三方库时,经常会遇到超时的问题,导致第三方库无法顺利安装,此时就需要国内镜像源的帮 ...

  8. pip更换国内镜像源

    在采用默认的 pip 安装一些第三方库的时候,由于被墙,经常会出现连接超时的傻逼情况. pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSCo ...

  9. docker配置国内镜像源

    2019独角兽企业重金招聘Python工程师标准>>> 使用docker默认的镜像源,拉取速度很慢,改为国内镜像源之后,快了很多,配置方法也很简单,如下: 编辑 /etc/docke ...

最新文章

  1. python整数池_【Python】Python中神奇的小整数对象池和大整数对象池
  2. layUI 实现自定义弹窗
  3. 第一个 PyQt5程序
  4. 30 个实例详解 TOP 命令!
  5. 栈空间和堆空间的区别
  6. 用Pytorch实现逻辑回归分类
  7. 基于python实现遗传算法
  8. Ansible首次ssh问题解决
  9. 【LeetCode】Maximum Product Subarray 求连续子数组使其乘积最大
  10. MOS9.0 bootstrap 离线Bulid
  11. VC++ EasyPR车牌识别
  12. java word模板生成pdf,java根据模板生成pdf
  13. QTTabBar v1039
  14. 2.交互-对鼠标及键盘的使用
  15. VC网络编程(Socket)项目化视频教程
  16. 进攻:设备动作流程(一)
  17. T100学习笔记 - Genero FGL
  18. 关于18位身份证号码最后一位计算(Java实现)
  19. js对数组的删除操作
  20. 深圳核芯物联蓝牙aoa技术培训线上线下齐发力,修炼内功,蓄势待发高精度定位行业的头部公司

热门文章

  1. ORALCE 数据库静默安装教程(Center OS 7) --用于个人理解
  2. excel 日期选择器_带有值选择器的Excel预算报告
  3. Proteus中如何实现按一次键使得74LS161计数器中数值加一并且显示在数码管上
  4. Style Intelligence应用之电商存货周转率分析
  5. 腾讯云CDB的AI技术实践:CDBTune
  6. 2021-2027全球与中国分光束紫外可见分光光度计市场现状及未来发展趋势
  7. CutPaste:Self-Supervised Learning for Anomaly Detection and Localization 论文解读(缺陷检测)
  8. vue组件之间传值几种方法
  9. 最短路径--Dijkstra(狄克斯特拉)算法
  10. 教你一键解除锁屏模式