• opengles2.0 学习笔记


    - 指定图元顶点数据(亦称顶点属性)

      顶点属性有常量顶点属性,和属性数组。

      常量指的是所有的顶点都公用此属性。比如单色的三角形,则颜色属性对所有的顶点都一样。

      通过命令glVertexAtrrib*f(index,float...) 或 glVertexAtrrib*fv(index,float*)来指定。2.0版本暂时只支持 float类型的顶点常量。

      如果每个顶点的某个属性不可以用常量,则可以用属性数组来表示。每一个顶点的属性存放在数组里。

      glVertexAttribPoint(index,size,type,normalized,stride,ptr) 用来指定顶点属性

      index: 把此属性数据绑定在第几个属性槽,范围从 0到  max vertex attributes supported – 1 ,2.0版本要求最少支持8个属性槽。也就是说一个顶点最少有8个属性,基本也够用了。

      size:表示此属性有几个分量。比如如果是表示位置的属性,则可能有3个分量;如果是表示纹理坐标的分量,则可能是2;等等。

      type:表示每个分量的类型,比如可以是 GL_FLOAT GL_BYTE GL_UNSIGNED_BYTE 等

      normalized:表示由非float型向float型转换时,是否需要标准化,即转换到 [0,1],或[-1,1]范围内

      stride:由于属性在buff内有可能不是连续存放的(即通一种属性之间有间隔),stride则表示此间隔,用于寻找下一个属性。

      ptr:即指向此buff的指针。

       顶点属性有两种属性,一个是常量属性,一种是属性数组。要想使用顶点属性数组功能,则需要调用 glEnableVertexAttribArray(index)命令;调用glDisableVertexAttribArray(index)则表示

      index处的表示的属性是常量属性。

      顶点数组数据存在应用程序的内存中,每次调用glDrawElements()和glDrawArrays()都会把顶点数组数据从内存拷贝到图形显存中。很消耗时间跟总线带宽。

      

      

      

  • 相关阅读:
    推荐系统之推荐系统的分类,即分析框架
    问题解决——OpenGL超级宝典 关于gltDrawTorus的错误解决
    SICP 习题 (1.10)解题总结
    [置顶] android 自定义圆角ImageView以及锯齿的处理
    Codeforces Round #199 (Div. 2)
    数组——约瑟夫问题
    素数距离问题_ny_24.java
    [置顶] Guava学习之Splitter
    植物-常见植物:地黄、熟地黄
    植物-常见植物:仙人掌
  • 原文地址:https://www.cnblogs.com/cocox/p/4552647.html
Copyright © 2020-2023  润新知