首页 > 其他分享 >OpenGL教程-中文版

OpenGL教程-中文版

时间:2023-08-11 12:44:32浏览次数:49  
标签:教程 编程 OpenGL 中文版 很酷 LearnOpenGL 图形

本文是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教程的读者。   读完全篇后你会通过清晰的例子来做一些很酷的效果,并学习到图形编程后期处理技巧。

标签:教程,编程,OpenGL,中文版,很酷,LearnOpenGL,图形
From: https://www.cnblogs.com/uwatech/p/17622713.html

相关文章

  • ​​​软件开发入门教程网之​​MySQL LIKE 子句​
    我们知道在MySQL中使用SQLSELECT命令来读取数据,同时我们可以在SELECT语句中使用WHERE子句来获取指定的记录。WHERE子句中可以使用等号=来设定获取数据的条件,如"kxdang_author='RUNOOB.COM'"。但是有时候我们需要获取kxdang_author字段含有"COM"字符的所有记录,......
  • ​​​软件开发入门教程网之​​MySQL 连接的使用​
    在前几章节中,我们已经学会了如何在一张表中读取数据,这是相对简单的,但是在真正的应用中经常需要从多个数据表中读取数据。本章节我们将向大家介绍如何使用MySQL的JOIN在两个或多个表中查询数据。你可以在SELECT,UPDATE和DELETE语句中使用Mysql的JOIN来联合多表查询。JO......
  • 无涯教程-Perl - last函数
    描述这不是功能。last关键字是一个循环控制语句,该语句立即导致循环的当前迭代变为最后一个。不再执行任何语句,循环结束。如果指定了LABEL,则它将退出LABEL标识的循环,而不是当前封闭的循环。语法以下是此函数的简单语法-lastLABELlast返回值这不会返回任何值。例......
  • ios app真机测试到上架App Store详细教程-必看
    Appuploader常见问题转存失败重新上传取消上架基本需求资料1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程)2、开发好的APP通过本篇教程,可以学习到ios证书申请和打包ipa测试上架的完整流程,中途可能会遇到一些报错,一般在教程对常见错误都有解释,仔细看看,不清楚可以联系......
  • 软件开发入门教程网 Search之C++ 动态内存
       C++基本的输入输出   ......
  • 软件开发入门教程网 Search之C++ 环境设置
       C++基本的输入输出   ......
  • 微信多开教程/电脑微信分身
    前言我自己有两个微信号,一个是私人号,另一个是工作号(加各种推销/HR,,,)在手机上微信分身很容易,但是PC端就不能了(张小龙****),所以本文教你如何多开微信教程在桌面上,找到微信的图标,然后右键->属性,如下图所示的,就是微信程序存储的真实路径,复制这个地址在任意位置新建一个txt文......
  • KubeSphere 部署 Zookeeper 实战教程
    前言知识点定级:入门级如何利用AI助手辅助运维工作单节点Zookeeper安装部署集群模式Zookeeper安装部署开源应用选型思想实战服务器配置(架构1:1复刻小规模生产环境,配置略有不同)主机名IPCPU内存系统盘数据盘用途ks-master-0192.168.9.9148501......
  • Streamlit 入门教程:构建一个Dashboard
    Streamlit是一个用于创建数据科学和机器学习应用程序的开源Python库。它的主要目标是使开发人员能够以简单的方式快速构建交互式的数据应用,而无需过多的前端开发经验。Streamlit提供了一种简单的方法来转换数据脚本或分析代码为具有可视化界面的应用程序,这些应用程序可以通过......
  • C++系列二:STL教程-容器+迭代器
    目录前言容器迭代器前言……。容器//容器种类 功能1.序列容器 主要包括vector、list、deque。元素在容器中的位置同元素的值无关,即容器不是排序的。将元素插入容器时,指定在什么位置,元素就会位于什么位置。2.排序容器 包括set、multiset、map、multimap。排序容......