- 博客(8)
- 资源 (7)
- 收藏
- 关注
翻译 【Modern OpenGL】转换 Transformations
我们已经学会了怎样创建对象,并且学会利用着色或者纹理使他们呈现出表面细节,但是它们还并不是十分有趣,因为它们只是静止的对象。我们虽然可以通过在每帧中改变它们的顶点坐标值挥着通过重新配置他们的缓存区使它们动起来,但是这样做是十分繁杂并且消耗更多能量。实际上,有更好的办法可以转换一个对象:使用一个矩阵对象。 矩阵是一种十分强大的数学概念,一开始看上去是令人生畏的。但是当你习惯它们的时候,你会觉得它们非常有用。
2015-12-28 20:09:04
2448
翻译 【Modern OpenGL】纹理 Textures
为了使我们创建的对象(比如说三角形)更加生动,我们已经学习了为对象的每个像素点设置不同的颜色来使它变得更加有趣。但是,在实际应用中,这种方式需要我们为模型创建太多的颜色,还要完成颜色与点的映射,工作量巨大,这不现实。一种普遍为人们所接受的方式是使用纹理。纹理是二维图像(虽然也有一维或者三维纹理的存在),用于描述对象的细节。比如用一张印有砖头的图像贴到一个三维的房子对象的表面上,这个三维的房子变得逼真。因为图像上能
2015-12-28 19:44:58
1656
翻译 【Modern OpenGL】Shader
正如在上一篇教程中提到的,shader是在GPU中运行的小程序。如上一个教程中实现的最简单的vertex shader和fragment shader,一个shader基本上负责图形渲染流水线中的一个阶段的功能。从根本上来说,shader就是将输入转化成输出的操作。而且,它们之间是独立的,除了以输入和输出方式外,他们之间不允许进行通信。
2015-12-28 19:36:44
2027
1
翻译 【Modern OpenGL】第一个三角形
如果你按照上面的过程成功绘制了三角形或者矩形。你已经挺过了学习现代OpenGL几乎是最艰难的一段:绘制一个简单的三角形。万事开头难嘛。实际上,这其中包含了很多相关的知识,如果没有学过图形学相关的内容,看起来还是比较吃力的。如果有相关的图形学基础,可以发现,本次教程是对理论知识的一次小小实践。充分地理解这个过程是十分必要的,也是后面继续学习的基础。一旦对这些概念和过程有了充分的了解,后面的内容应该就相对简单一些了。
2015-12-18 21:06:28
3876
1
翻译 【Modern OpenGL】创建窗口
说明:跟着learnopengl的内容学习,不是纯翻译,只是自己整理记录。 强烈推荐原文,无论是内容还是排版。 原文链接 本文地址: http://blog.csdn.net/aganlengzi/article/details/50354192## Hello Window在这一次中让我们首先测试上次配置的GLFW和GLEW是否能够正常的运行。上次已经新建了一个空工程,但是其中并没有
2015-12-18 20:58:17
1893
翻译 【Modern OpenGL】环境搭建
就本人了解到的内容来看,国内使用GLFW的还是比较少的,至少不像GLUT那么多。那么这个教程的作者为什么要选择这个库呢?通过调研我发现了如下的解释: 首先glut太老,已经“死掉了”——最后一个版本好像还是90年代的。其次,现在出现的freeglut虽然完全兼容glut,但是好像bug太多,稳定性不太好。好像还可以使用Qt做类似的功能,但是太庞大,所以选择GLFW可能是一个非常好的选择。GLFW是开源的,另一个比肩
2015-12-18 20:55:58
1448
翻译 【Modern OpenGL】OpenGL简介
在早些时候,使用OpenGL意味着使用立即渲染模式(immediate mode,也被叫做固定功能流水线),这是一种简单易用的图形绘制模式。在这种模式中,大多数OpenGL的功能都被隐藏在库中,而(使用这些库的)开发者在控制OpenGL如何完成计算上并没有什么自由。他们十分渴求更大的灵活性,并最终使得规格定义变得更加灵活,开发者获得了对他们图形更多的控制权。立即渲染模式虽然十分容易理解和使用,但是它也十分的低效。因此
2015-12-18 20:51:45
2870
翻译 【Modern OpenGL】前言
网络上实际有很多的关于OpenGL的教程(像经典的NeHe),但是大多数的只是集中于OpenGL的立即渲染模式(通常被称作老OpenGL)或者并不完整,缺少合适的文档。而作者想要提供现代OpenGL的学习网站,首先是完整的,其次是易于理解的。
2015-12-18 20:45:51
954
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人