本文是LearnOpenGL教程的中文翻译,英文版的地址为:https://learnopengl.com
学习(和使用)现代OpenGL需要用户对图形编程以及OpenGL的幕后运作有非常好的理解才能在编程中有很好的发挥。所以,我们会首先讨论核心的图形学概念,OpenGL怎样将像素绘制到屏幕上,以及如何利用黑科技做出一些很酷的效果。
除了核心概念之外,我们还会讨论许多有用的技巧,它们都可以用在你的程序中,比如说在场景中移动,做出漂亮的光照,加载建模软件导出的自定义模型,做一些很酷的后期处理技巧等。最后,我们也将会使用我们已学的知识从头开始做一个小游戏,让你真正体验一把图形编程的魅力。
作者:LearnOpenGL-CN组织
目录
1|欢迎来到OpenGL的世界
2|简介
3|OpenGL
4|创建窗口
5|你好,窗口
6|你好,三角形
7|着色器
8|纹理
9|变换
10|坐标系统
11|摄像机
12|复习
13|颜色
14|基础光照
15|材质
16|光照贴图
17|投光物
18|多光源
19|复习
20|Assimp
....
历史存档
本篇转载自《OpenGL教程-中文版》的第1节,本课程篇幅较长,持续更新中。
欢迎来到OpenGL的世界。这个工程是我(Joey de Vries)的一次小小的尝试,希望能够建立起一个完善的OpenGL教学平台。无论你学习OpenGL是为了学业,找工作,还是仅仅因为兴趣,这个网站都将能够教会你现代(Core-profile) OpenGL从基础、中级、到高级的知识。LearnOpenGL的目标是使用易于理解的形式,清晰的例子,展现现代OpenGL的所有知识点,与此同时,为你以后的学习提供有用的参考。
为什么要阅读这些教程呢?
在互联网上,学习OpenGL有成千上万的文档与资源,然而其中大部分的资源仅仅讨论了OpenGL的立即渲染模式(Immediate Mode,通常会说旧OpenGL),亦或是不完整,甚至是仅仅不适合你的学习口味。所以,我的目标是提供一个既完整,又易懂的平台供人们学习。
如果你很享受那些提供手把手指导的教程,那些提供清晰例子的教程,以及那些不会一下将你淹没在细节中的教程,那么我的这些教程很可能就很适合你。我的教程旨在让那些没有图形编程经验的人们能够理解,又让那些有经验的读者有阅读下去的兴趣。我的教程同样也讨论了一些常用的概念,只需要你再有一点创造力,就能将你的想法变成真正的3D程序。如果你觉得前面这些讲的都是你,欢迎继续阅读我的教程。
你将学会什么呢?
我这些教程的核心是现代OpenGL。学习(和使用)现代OpenGL需要用户对图形编程以及OpenGL的幕后运作有非常好的理解才能在编程中有很好的发挥。所以,我们会首先讨论核心的图形学概念,OpenGL怎样将像素绘制到屏幕上,以及如何利用黑科技做出一些很酷的效果。
除了核心概念之外,我们还会讨论许多有用的技巧,它们都可以用在你的程序中,比如说在场景中移动,做出漂亮的光照,加载建模软件导出的自定义模型,做一些很酷的后期处理技巧等。最后,我们也将会使用我们已学的知识从头开始做一个小游戏,让你真正体验一把图形编程的魅力。
关于中文翻译
这里是LearnOpenGL教程的中文翻译,英文版的地址为:https://learnopengl.com/
由于翻译可能无法做到精确表达原文意思,我们推荐您在对问题有疑惑的时候去阅读一下英文版的教程。如果您对翻译有更好的建议,可以去我们的GitHub工程上提交Issue或者Pull Request。如果是对教程的内容有问题,请先查看原文,如果不是翻译错误的话,请直接在原网站评论区向作者(JoeyDeVries)反馈。
如果教程中的源码无法打开的话,可以到教程的GitHub页面上去寻找所需的代码,每一节教程的源码以及练习都位于“src”目录下的对应章节目录中。
以上就是《OpenGL教程-中文版》的第1节,此篇文章比较适合对图形编程感兴趣的读者、想要做3D程序的开发者和想要了解完整易懂的OpenGL教程的读者。
读完全篇后你会通过清晰的例子来做一些很酷的效果,并学习到图形编程后期处理技巧。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。