OpenGL学习笔记一:概念和术语解释

来源:互联网 发布:马来西亚翻译中文软件 编辑:程序博客网 时间:2024/06/07 06:44

OpenGL学习笔记一:概念和术语解释

使用OpenGL之前会有很多名字复杂,类型简单,不明所以的类,查了大量资料,简单归纳,如有出错请指点。

类名和函数解释

  • 1、EAGLContext

    EAGLContext对象管理着渲染状态信息,命令和将被渲染的资源. 并且在将画面显示到context对象之前必须将一个framebuffer 绑定到此Context之上.(实际上将renderbuffer与context绑定也是可以的,甚至我并没有绑定framebuffer或者renderbuffer似乎也是没有问题,此处待定

  • 2、glGenBuffers

    创建缓存对象并且返回缓存对象的标示符。

    void glGenBuffers(GLsizei n, GLuint* buffers)

    参数 解释 GLsizei n 创建的缓存数量 GLuint* buffers 存储单一ID或多个ID的GLuint变量或数组的地址(例如存储顶点坐标的数组或存储顶点坐标索引的数组)
  • 3、glBindBuffer

    将缓存对象绑定到相应的缓存上。

    void glBindBuffer(GLenum target, GLuint buffer)

    参数 解释 GLenum target target告诉VBO该缓存对象将保存顶点数组数据还是索引数组数据:GL_ARRAY_BUFFER或GL_ELEMENT_ARRAY GLuint buffer glGenBuffers接口申请的标识符
  • 4、glBufferData

    把顶点数据从cpu内存复制到gpu内存

    void glBufferData(GLenum target,GLsizeiptr size, const GLvoid* data, GLenum usage);

    参数 解释 GLenum target 同 glBindBuffer中target GLsizeiptr size size为待传递数据字节数量 const GLvoid* data 源数据数组指针,若data为NULL,则VBO仅仅预留给定数据大小的内存空间 GLenum usage 告只缓存对象将如何使用(如:GL_STATIC_DRAW)
  • 5、glEnableVertexAttribArray

    启用顶点属性,OpenGL是个状态机,我们通常见到的glEnable - glDisable函数就是通知OpenGL开启/关闭某种状态的,譬如光照、深度检测等等(我的理解是相当于声明一个buffer)

  • 6、glVertexAttribPointer

    设置合适的格式从buffer里面读取数据

概念解释

  • 顶点

    OpenGL中的图形是有大量的顶点和顶点之间的连线构成的,可以说,顶点是OpenGL图形的基础单元

  • 纹理

    计算机图形学中的纹理既包括通常意义上物体表面的纹理即使物体表面呈现凹凸不平的沟纹,同时也包括在物体的光滑表面上的彩色图案,通常我们更多地称之为花纹。对于花纹而言,就是在物体表面绘出彩色花纹或图案,产生了纹理后的物体表面依然光滑如故。对于沟纹而言,实际上也是要在表面绘出彩色花纹或图案,同时要求视觉上给人以凹凸不平感即可。 凹凸不平的图案一般是不规则的。在计算机图形学中,这两种类型的纹理的生成方法完全一致, 这也是计算机图形学中把他们统称为纹理的原因所在。 所以纹理映射就是在物体的表面上绘制彩色的图案。—— [ 维基百科 ]

  • 着色器

    指一组供计算机图形资源在执行渲染任务时使用的指令,用于计算图像的颜色或明暗。但近来,它也能用于处理一些特殊效果,或者视频后处理。通俗地说,着色器告诉电脑如何用特有的一种方法去绘制物体。—— [ 维基百科 ]

  • VBO

    全称Vertex Buffer Object,为提高绘制效率而生的,详情可参见 这篇文章

0 0