OpenGL手册国内镜像,docs.gl,learnopengl-cn,opengl-tutorial
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相关推荐
- docker hub 国内镜像_Mac设置docker国内镜像源
转载自:https://zhuanlan.zhihu.com/p/146876547?from_voters_page=true 在国内使用docker拉取镜像会非常的慢,所以一定得设置国内镜像源. ...
- windows简易使用composer 安装国内镜像
1.下载composer.phar文件 地址: https://getcomposer.org/download/ 从下面选择一个 2.下载成功,新建项目(找到已有的项目文件夹)文件夹(D:\PHP ...
- Mac全自动安装brew一键配置国内镜像源
M1版本 安装homebrew 官网方法:macOS(或 Linux)缺失的软件包的管理器 - Homebrew /bin/bash -c "$(curl -fsSL https://raw ...
- pip配置国内镜像源——最新详尽版
国内镜像源 pip如果不配置国内镜像源的话,下载包的速度非常慢,毕竟默认的源在国外呢,国内主要的镜像源有如下,其中我个人喜欢用阿里云的镜像源. 阿里云 http://mirrors.aliyun.co ...
- docker 国内镜像与 docker hub 镜像, docker-compose
目录 1. docker 国内镜像与 docker hub 镜像, docker-compose 1.1. 通过国内镜像安装 docker 1.1.1. Debian 1.1.2. RHEL 1.2. ...
- CentOS7安装Docker及配置国内镜像源
环境CentOS7 一.Docker docker安装 https://docs.docker.com/get-docker/ https://docs.docker.com/engine/insta ...
- Python pip安装第三方库的国内镜像
Python pip 安装第三方库的国内镜像 Windows系统下,一般情况下使用pip在DOS界面安装python第三方库时,经常会遇到超时的问题,导致第三方库无法顺利安装,此时就需要国内镜像源的帮 ...
- pip更换国内镜像源
在采用默认的 pip 安装一些第三方库的时候,由于被墙,经常会出现连接超时的傻逼情况. pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSCo ...
- docker配置国内镜像源
2019独角兽企业重金招聘Python工程师标准>>> 使用docker默认的镜像源,拉取速度很慢,改为国内镜像源之后,快了很多,配置方法也很简单,如下: 编辑 /etc/docke ...
最新文章
- python整数池_【Python】Python中神奇的小整数对象池和大整数对象池
- layUI 实现自定义弹窗
- 第一个 PyQt5程序
- 30 个实例详解 TOP 命令!
- 栈空间和堆空间的区别
- 用Pytorch实现逻辑回归分类
- 基于python实现遗传算法
- Ansible首次ssh问题解决
- 【LeetCode】Maximum Product Subarray 求连续子数组使其乘积最大
- MOS9.0 bootstrap 离线Bulid
- VC++ EasyPR车牌识别
- java word模板生成pdf,java根据模板生成pdf
- QTTabBar v1039
- 2.交互-对鼠标及键盘的使用
- VC网络编程(Socket)项目化视频教程
- 进攻:设备动作流程(一)
- T100学习笔记 - Genero FGL
- 关于18位身份证号码最后一位计算(Java实现)
- js对数组的删除操作
- 深圳核芯物联蓝牙aoa技术培训线上线下齐发力,修炼内功,蓄势待发高精度定位行业的头部公司
热门文章
- ORALCE 数据库静默安装教程(Center OS 7) --用于个人理解
- excel 日期选择器_带有值选择器的Excel预算报告
- Proteus中如何实现按一次键使得74LS161计数器中数值加一并且显示在数码管上
- Style Intelligence应用之电商存货周转率分析
- 腾讯云CDB的AI技术实践:CDBTune
- 2021-2027全球与中国分光束紫外可见分光光度计市场现状及未来发展趋势
- CutPaste:Self-Supervised Learning for Anomaly Detection and Localization 论文解读(缺陷检测)
- vue组件之间传值几种方法
- 最短路径--Dijkstra(狄克斯特拉)算法
- 教你一键解除锁屏模式