欢迎来到OpenGL的世界

Attention

由于网站的改版,本教程现在迁移至:https://learnopengl-cn.github.io/。

这个网站仍然会有无规律的更新,但是大体上是不再维护了。如果要阅读最新版本的教程,还请访问以上地址。

欢迎来到OpenGL的世界。这个工程只是我(JoeyDeVries)的一次小小的尝试,希望能够建立起一个完善的OpenGL教学平台。无论你学习OpenGL是为了学业,找工作,或仅仅是因为兴趣,这个网站都将能够教会你现代(Core-profile) OpenGL的基础,中级,以及高级知识。LearnOpenGL的目标是使用易于理解的形式,使用清晰的例子,展现现代OpenGL的所有知识点,与此同时为以后的学习提供有用的参考。

为什么要阅读这些教程呢?

在互联网上,关于学习OpenGL的有成千上万的文档与资源,然而其中大部分的资源仅仅讨论了OpenGL的立即渲染模式(Immediate Mode,通常会说旧OpenGL),亦或是不完整,缺少适当的文档,或仅仅不适合你的口味。所以我的目标是提供一个既完整,又易懂的平台供人们学习。

如果你很享受那些提供手把手指导的教程,那些提供清晰例子的教程,和那些不会一下将你淹没在细节中的教程,我的这些教程很可能就会适合你。这些教程旨在让那些没有图形编程经验的人们能够理解,又让那些有经验的读者有阅读下去的兴趣。这些教程同样也讨论了一些常用的概念,只需要你再有一点创造力,就能将你的想法变成真正的3D程序。如果如果你觉得前面这些讲的都是你,欢迎继续阅读我的教程。

你将学会什么呢?

我这些教程的核心是现代OpenGL。学习(和使用)现代OpenGL需要用户对图形编程以及OpenGL的幕后运作有非常高的理解才能在编程中有很好的发挥。所以,我们会先讨论核心的图形概念,OpenGL怎样画像素到屏幕上,还有如何利用黑科技做出一些很酷的效果。

除了核心概念之外,我们将会讨论许多有用的技巧,它们都可以用在你的程序中,比如说在你的场景中移动,做出漂亮的光效,加载一些建模软件导出的一些自定义的模型,做一些很酷的后期处理技巧等。最后,我们也将会使用我们已学的知识从头开始做一个小游戏,让你真正体验一把图形编程的魅力。

关于中文翻译

这里是LearnOpenGL教程的中文翻译,英文版的地址为:http://learnopengl.com/

由于翻译可能无法做到精确表达原文意思,我们推荐您在对问题有疑惑的时候去阅读一下英文版的教程。如果您对翻译有更好的建议,可以去我们的GitHub工程上提交Issue或者Pull Request。

如果可以的话,请访问https://learnopengl-cn.github.io/,这里是采用新主题的网站。这里的翻译版本会比较落后一些,只会不定时更新。

learn opengl 中文_LearnOpenGL-CN相关推荐

  1. learn opengl 中文_LearnOpenGL CN

    欢迎来到OpenGL的世界 欢迎来到OpenGL的世界.这个工程只是我(Joey de Vries)的一次小小的尝试,希望能够建立起一个完善的OpenGL教学平台.无论你学习OpenGL是为了学业,找 ...

  2. Learn OpenGL (十二):投光物

    平行光 当一个光源处于很远的地方时,来自光源的每条光线就会近似于互相平行.不论物体和/或者观察者的位置,看起来好像所有的光都来自于同一个方向.当我们使用一个假设光源处于无限远处的模型时,它就被称为定向 ...

  3. Learn OpenGL (十一):光照贴图

    在着色器中使用漫反射贴图的方法和纹理教程中是完全一样的.但这次我们会将纹理储存为Material结构体中的一个sampler2D.我们将之前定义的vec3漫反射颜色向量替换为漫反射贴图. 注意samp ...

  4. Learn OpenGL (九):基础光照

    环境光照(Ambient Lighting):即使在黑暗的情况下,世界上通常也仍然有一些光亮(月亮.远处的光),所以物体几乎永远不会是完全黑暗的.为了模拟这个,我们会使用一个环境光照常量,它永远会给物 ...

  5. Learn OpenGL (八):颜色

    当我们在OpenGL中创建一个光源时,我们希望给光源一个颜色.在上一段中我们有一个白色的太阳,所以我们也将光源设置为白色.当我们把光源的颜色与物体的颜色值相乘,所得到的就是这个物体所反射的颜色(也就是 ...

  6. Learn OpenGL (七):摄像机

    1. 摄像机位置 获取摄像机位置很简单.摄像机位置简单来说就是世界空间中一个指向摄像机位置的向量.我们把摄像机位置设置为上一节中的那个相同的位置: glm::vec3 cameraPos = glm: ...

  7. Learn OpenGL (六):坐标系统

    为了将坐标从一个坐标系变换到另一个坐标系,我们需要用到几个变换矩阵,最重要的几个分别是模型(Model).观察(View).投影(Projection)三个矩阵.我们的顶点坐标起始于局部空间(Loca ...

  8. Learn OpenGL (五):向量

    叉乘 叉乘只在3D空间中有定义,它需要两个不平行向量作为输入,生成一个正交于两个输入向量的第三个向量.如果输入的两个向量也是正交的,那么叉乘之后将会产生3个互相正交的向量.接下来的教程中这会非常有用. ...

  9. Learn OpenGL (四):纹理

    为了能够把纹理映射(Map)到三角形上,我们需要指定三角形的每个顶点各自对应纹理的哪个部分.这样每个顶点就会关联着一个纹理坐标(Texture Coordinate),用来标明该从纹理图像的哪个部分采 ...

最新文章

  1. 计算机网络tcp传送,计算机网络基础课程—传输控制协议(Tcp)
  2. 闲谈:我为什么热爱开源
  3. JAVA入门级教学之(switch语句)
  4. mitmproxy抓包软件在mac上边的安装
  5. python123词频统计之哈姆雷特_基于Yarn的Spark环境,统计哈姆雷特词频(1)-阿里云开发者社区...
  6. 微信开发者工具——支持less的插件
  7. jdk版本和java版本一样吗_jdk版本查看,以及java -version 和JAVA_HOME不一致问题
  8. android压力测试命令monkey详解,android压力测试命令monkey详解(示例代码)
  9. sms 短信服务说明
  10. 算法基础课【合集1】
  11. Qt之图像处理(五) 矩阵置换与矩阵相乘
  12. android手机微信输入蓝色字体,微信彩色昵称怎么制作?微信个性蓝色昵称设置图文教程与方法...
  13. Nirvana为应用而生,开启公链市场新纪元
  14. 激活函数(1)Sigmoid激活函数
  15. 计算机一级簇型水平统计图,一级计算机考前水平试题及答案解析
  16. 女人为什么要嫁人?(转)
  17. ${1+$@}是什么意思 (What does ${1+$@} mean)?
  18. 数据分析平台要点梳理
  19. 大数据项目一般金额多少_大数据工作月薪多少 就业前景好不好?
  20. 安装SAS增强型编辑器资源和步骤

热门文章

  1. 如何用VC++开发读取网卡MAC地址的程序
  2. C# Owin初探 概念理解
  3. Go 语言中的 new() 和 make()的区别
  4. Spring EL方法调用实例
  5. Flex与.NET互操作(三):基于WebService的数据访问(下)
  6. 十分钟搞懂JSON(JSON对象---JSON字符串---对象 之间的区别)
  7. Python代码实现飞机大战(经典)
  8. php 实现进制相互转换
  9. 解决fatal: No remote repository specified. Please, specify either a URL...
  10. PHP的.htaccess