名称

glVertexAttrib - 指定通用顶点属性的值

C规范

void glVertexAttrib1f(    GLuint index,GLfloat v0);
void glVertexAttrib2f(    GLuint index,GLfloat v0, GLfloat v1);
void glVertexAttrib3f(    GLuint index,GLfloat v0,GLfloat v1,GLfloat v2);
void glVertexAttrib4f(    GLuint index,GLfloat v0,GLfloat v1,GLfloat v2,GLfloat v3);
void glVertexAttrib1fv(    GLuint index,const GLfloat *v);
void glVertexAttrib2fv(    GLuint index,const GLfloat *v);
void glVertexAttrib3fv(    GLuint index,const GLfloat *v);
void glVertexAttrib4fv(    GLuint index,const GLfloat *v);

参数

index

指定要修改的通用顶点属性的索引。

v0,v1,v2,v3

指定要用于指定顶点属性的新值。

v

指定指向要用于通用顶点属性的值数组的指针。

描述

glVertexAttrib入口点系列允许应用程序在编号位置传递通用顶点属性。

通用属性定义为组织为数组的四组件值。此数组的第一个条目编号为0,并且数组的大小由依赖于实现的符号常量GL_MAX_VERTEX_ATTRIBS指定。可以使用glVertexAttrib调用修改此数组的各个元素,该调用指定要修改的元素的索引以及该元素的值。

这些命令可用于指定index指定的通用顶点属性的一个,两个,三个或全部四个组件。命令名称中的1表示只传递一个值,它将用于修改通用顶点属性的第一个组件。第二个和第三个组件将设置为0,第四个组件将设置为1。同样,命令名称中的2表示为前两个组件提供值,第三个组件将设置为0 ,第四个组件将设置为1.命令名称中的3表示为前三个组件提供的值,第四个组件将设置为1,而名称中的4表示提供了值对于所有四个组件

字母f表示参数的类型为float。当v附加到名称时,命令可以获取指向浮点数组的指针。

允许OpenGL ES着色语言属性变量的类型为mat2,mat3或mat4。可以使用glVertexAttrib入口点加载这些类型的属性。矩阵必须按列主要顺序加载到连续的通用属性槽中,每个通用属性槽中有一列矩阵。

在顶点着色器中声明的用户定义的属性变量可以通过调用glBindAttribLocation绑定到通用属性索引。这允许应用程序在顶点着色器中使用描述性变量名称。对指定通用顶点属性的后续更改将立即反映为对顶点着色器中相应属性变量的更改。

顶点着色器中的通用顶点属性索引和用户定义的属性变量之间的绑定是程序对象状态的一部分,但通用顶点属性的当前值不是。每个通用顶点属性的值是当前状态的一部分,即使使用了不同的程序对象,它也会被维护。

应用程序可以自由修改未绑定到命名顶点着色器属性变量的通用顶点属性。这些值仅作为当前状态的一部分进行维护,顶点着色器不会访问这些值。如果在顶点着色器执行时未更新绑定到顶点着色器中的属性变量的通用顶点属性,则顶点着色器将重复使用当前顶点属性的当前值。

注意

应用程序可以将多个属性名称绑定到同一个通用顶点属性索引。这称为别名,只有在顶点着色器中只有一个别名属性变量处于活动状态时,或者如果没有通过顶点着色器的路径消耗多个别名到同一位置的属性时,才允许使用别名。不需要OpenGL实现来进行错误检查以检测别名,允许它们假设不会出现别名,并且允许它们采用仅在没有别名的情况下才能工作的优化。

错误

GL_INVALID_VALUEindex>=GL_MAX_VERTEX_ATTRIBS

相关Gets

glGet 参数GL_CURRENT_PROGRAM

glGetActiveAttrib 参数program和活动属性变量的索引

glGetAttribLocation 参数program和属性变量名

glGetVertexAttrib 参数GL_CURRENT_VERTEX_ATTRIBindex

另见

glBindAttribLocation,glVertexAttribPointer

版权

https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glVertexAttrib.xml

https://blog.csdn.net/flycatdeng

Copyright © 1991-2006 Silicon Graphics, Inc.本文档的许可是根据SGI Free Software B License.详见http://oss.sgi.com/projects/FreeB/.

Android,OpenGL ES,图形学

GLES2.0中文API-glVertexAttrib相关推荐

  1. GLES2.0中文API-glUseProgram

    名称 glUseProgram- 使用程序对象作为当前渲染状态的一部分 C规范 void glUseProgram(GLuint program); 参数 program 指定程序对象的句柄,该程序对 ...

  2. GLES2.0中文API-glGet

    名称 glGet - 返回所选参数的值 C规范 void glGetBooleanv(    GLenum pname,      GLboolean * params); void glGetFlo ...

  3. GLES2.0中文API-glBindAttribLocation

    名称 glBindAttribLocation - 将通用顶点属性索引与命名属性变量相关联 C规范 void glBindAttribLocation(GLuint program, GLuint i ...

  4. GLES2.0中文API-glGetActiveAttrib

    名称 glGetActiveAttrib - 激活纹理单元 C规范 void glGetActiveAttrib(    GLuint program,      GLuint index,     ...

  5. GLES2.0中文API-glUniform

    名称 glUniform - 指定当前程序对象的统一变量的值 C规范 void glUniform1f(    GLint location, GLfloat v0); void glUniform2 ...

  6. GLES2.0中文API-glTexImage2D

    名称 glTexImage2D- 指定一个二维的纹理图片 C规范 void glTexImage2D(GLenum target, GLint level, GLint internalformat, ...

  7. GLES2.0中文API-glReadPixels

    名称 glReadPixels - 从帧缓冲区中读取一个像素块 C规范 void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei heigh ...

  8. GLES2.0中文API-glCopyTexImage2D

    名称 glCopyTexImage2D - 将像素复制到2D纹理图像中 C规范 void glCopyTexImage2D(    GLenum target,      GLint level,   ...

  9. GLES2.0中文API-glGetActiveUniform

    名称 glGetActiveUniform - 返回有关活动统一变量的信息 C规范 void glGetActiveUniform(GLuint program, GLuint index, GLsi ...

最新文章

  1. Android中SearchView修改字体颜色
  2. 三角形和矩形傅里叶变换_信号与系统:第三章傅立叶变换2.ppt
  3. oracle二进制转换字母,如何将oracle二进制数据转换为word文本
  4. 性能测试-了解硬件之CPU(一)
  5. 麦克纳姆轮全向移动机器人速度空间分析
  6. 高通又失一员大将,英特尔成功挖角高通CFO
  7. 2022最新开源分销商城小程序源码系统前端+后端+搭建教程
  8. java实时百分比进度条_Java 进度条百分比简单算法,根据数据量计算
  9. 【手拉手 带你准备电赛】使用定时器中断更改PWM占空比
  10. 如何将excel三列数据合为一列日期数据
  11. CTF线下AWD攻防步骤总结
  12. 【邢不行|量化小讲堂系列24-Python量化入门】股票自动程序化下单交易 | 视频教程
  13. Day3—HTML个人简历制作及五彩导航练习
  14. ubuntu 如何在终端下切换到指定的文件夹或盘根目录
  15. BearPi-HM_Nano开发板WiFi编程开发——UDP客户端
  16. OSPF建立邻居、邻接关系
  17. 毕业设计-基于机器学习的二维码和条形码识别
  18. angular 数据加载完毕执行js方法
  19. 解决SysFader:iexplore.exe应用程序错误
  20. [Unity小项目]3D像素跑酷游戏

热门文章

  1. 股市行情的真谛--威廉.D.江恩
  2. Keras Conv1d 参数及输入输出详解
  3. 中国苯二亚甲基二异氰酸酯XDI市场发展格局及未来前景动向分析报告2022-2028年
  4. 年度盘点 || 2019年十大营销事件
  5. 快速余弦变换matlab,离散余弦变换 - MATLAB Simulink - MathWorks 中国
  6. 使用jquery.validate.js,当onfocusout: true,同时focus验证失败元素时会导致$(#form).valid()总是返回true?...
  7. 53 张图详解防火墙的 55 个知识点
  8. armbian 斐讯n1_记录一下斐讯N1盒子刷Armbian的各种坑
  9. 华为交换机配置Guest vlan
  10. 前端学习资料 百度云盘