我想学习OpenGL,并已咨询了几个“指南”和“教程”。这些“指南”和“教程”说,“做这个,这个和这个,然后你有绘制命令”。不那么好想过OpenGL学习材料
我正在寻找一些OpenGL的学习材料,它实际上解释了引擎是如何工作的,而不是在这里给我无意识的东西 - 你是做什么的。我已经咨询过像www.glprogramming.com/red/这样的东西,并且一直都不高兴。到目前为止,在第一章中,我不知道配置选项如何工作,opengl有什么样的“上下文结构”,实际上有什么扩展,最重要的是,在读完所有内容后,这完全没有意义:
I也浏览过,看过“framebuffer”和“renderbuffer”以及“OpenGL context”。我仍然不知道这些是什么(我认为在阅读这些东西之前我至少知道帧缓冲是什么)。有冲突的解释是,帧缓冲区保存所有基元的数据,并且帧缓冲区被绑定(??)到一个渲染缓冲区,它执行某些操作?无论如何,所有这些“指南”都会在第1章中详细说明绑定和缓冲这些词。在红皮书的第1章中,我可以看到glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
。我不知道这是做什么的,因为这一章没有告诉我,下一个也没有。
想象一下,如果我只是向您投掷GObject系统,并说:“好吧,那么,就把这段代码放进去,然后定制它并编写您的应用程序。”这就是我读过的所有内容。 不可能这样学习,因为我不理解幕后发生了什么。
我想知道:
- 什么帧缓冲是
- 什么帧缓冲的内部结构是
- 我如何使用/创建帧缓冲区对象
- 同样的事情了“渲染” ,我怀疑我可能不需要
- 什么是GL扩展以及它们如何与引擎交互
- 如果我想要在屏幕上绘制3D立方体以及这些对象做什么,我必须创建哪些类型的对象
- 如何从开始到结束初始化opengl系统,以便设置内存来绘制,跟踪顶点/基元/纹理/其他元数据,渲染等
- 流水线从开始到结束的过程,比如说我想渲染一个红色方块到内存中的位置
- 像glVertex3f这样的调用如何与引擎
- 所有其他缓冲区如何工作,如“颜色缓冲区”和“顶点缓冲区”
- 背后的所有理论有点废话像
GL_COLOR_BUFFER_BIT
- 什么是深度缓冲区和模板缓冲区,他们如何与绘图交互?它们是帧缓冲区对象的一部分吗?
基本上我想在人们向我抛出代码和奇怪术语之前,实际学习OpenGL背后的理论。我想知道系统是如何工作的,然后我开始无意识地从网上复制代码并称之为“学习”。出于某种原因,没有人写这样的材料。
任何人都可以在这里解释这些事情或指出我在正确的方向(最好是指导,明白我不知道GL)?
http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Table-of-Contents.html – 2012-08-19 01:07:22
到目前为止,在链接上这么好,比我发现的任何东西都好,但我我仍然对“缓冲区”的术语感到困惑,特别是像“顶点缓冲区”这样的东西。这件事在什么地方浮现在内存中,系统如何与多个人一起工作?帧缓冲区和渲染缓冲区之间最大的区别是什么?非常不错的链接。 – Relish 2012-08-19 01:12:32
这篇维基百科文章解释了缓冲区:http://en.wikipedia.org/wiki/Data_buffer – 2012-08-19 01:16:33