当前位置: 首页 > news >正文

深圳建工是国企还是私企关键词优化案例

深圳建工是国企还是私企,关键词优化案例,广州服务类拓客软件,长沙做网站品牌五、VBO、EBO 和 VAO VBO、EBO 和 VAO: VBO(Vertex Buffer Object)是指顶点缓冲区对象,而 EBO(Element Buffer Object)是指图元索引缓冲区对象,VAO 是顶点数据的缓冲区对象,VAO 和…

五、VBO、EBO 和 VAO

VBO、EBO 和 VAO

VBO(Vertex Buffer Object)是指顶点缓冲区对象,而 EBO(Element Buffer Object)是指图元索引缓冲区对象,VAO 是顶点数据的缓冲区对象,VAO 和 EBO 实际上是对同一类 Buffer 按照用途的不同称呼

VBO 和 EBO 的作用是在显存中提前开辟好一块内存,用于缓存顶点数据或者图元索引数据,从而避免每次绘制时的 CPU 与 GPU 之间的内存拷贝,可以提升渲染性能,降低内存带宽和功耗

顶点数组缓冲区对象、图元索引缓冲区对象。GL_ARRAY_BUFFER 标志指定的缓冲区对象用于保存顶点数组,GL_ELEMENT_ARRAY_BUFFER 标志指定的缓存区对象用于保存图元索引

VBO(EBO)的创建和更新。

// 创建 2 个 VBO(EBO 实际上跟 VBO 一样,只是按照用途的另一种称呼)
glGenBuffers(2, m_VboIds);// 绑定第一个 VBO,拷贝顶点数组到显存
glBindBuffer(GL_ARRAY_BUFFER, m_VboIds[0]);
glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);// 绑定第二个 VBO(EBO),拷贝图元索引数据到显存
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_VboIds[1]);
glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), indices, GL_STATIC_DRAW);
GL_STATIC_DRAW 标志标识缓冲区对象数据被修改一次,使用多次,用于绘制。

VBO:就是管理顶点数据,从内存的角度使用偏移量来保存

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gUExmVaQ-1686049956021)(C:\Users\CreatWall_zhouwen\Desktop\pic\pic\2019080118415916.png)]

glUseProgram(m_ProgramObj);//不使用 VBO 的绘制
glEnableVertexAttribArray(0);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, (3+3)*sizeof(GLfloat), vertices);glEnableVertexAttribArray(1);
glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, (3+3)*sizeof(GLfloat), (vertices + 3));glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, indices);//使用 VBO 的绘制
glBindBuffer(GL_ARRAY_BUFFER, m_VboIds[0]);
glEnableVertexAttribArray(0);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, (3+3)*sizeof(GLfloat), (const void *)0);
glEnableVertexAttribArray(1);
glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, (3+3)*sizeof(GLfloat), (const void *)(3 *sizeof(GLfloat)));glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_VboIds[1]);glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, (const void *)0);

EBO:就是存储纹理数据相关的,就是存储纹理的索引数组的

//将GL_ELEMENT_ARRAY_BUFFER缓冲区绑定到EBO
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBO);
//将索引坐标绑定到GL_ELEMENT_ARRAY_BUFFER
glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), indices, GL_STATIC_DRAW);

VAO顶点数组对象,VAO 的主要作用是用于管理 VBO 或 EBO ,减少 glBindBuffer 、glEnableVertexAttribArray、 glVertexAttribPointer 这些调用操作,高效地实现在顶点数组配置之间切换

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iOOPQIRJ-1686049956026)(C:\Users\CreatWall_zhouwen\Desktop\pic\pic\20190801184256585.png)]

// 创建并绑定 VAO
glGenVertexArrays(1, &m_VaoId);
glBindVertexArray(m_VaoId);// 在绑定 VAO 之后,操作 VBO ,当前 VAO 会记录 VBO 的操作
glBindBuffer(GL_ARRAY_BUFFER, m_VboIds[0]);
glEnableVertexAttribArray(0);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, (3+3)*sizeof(GLfloat), (const void *)0);
glEnableVertexAttribArray(1);
glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, (3+3)*sizeof(GLfloat), (const void *)(3 *sizeof(GLfloat)));glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_VboIds[1]);glBindVertexArray(GL_NONE);

绘画

// 是不是精简了很多?
glUseProgram(m_ProgramObj);glBindVertexArray(m_VaoId);glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, (const void *)0);

http://www.tj-hxxt.cn/news/93584.html

相关文章:

  • 网站开发技术文档范例seo网络推广公司
  • 网站建设项目验收付款seo搜索引擎入门教程
  • wordpress本地环境下可以更新使用杭州seo网站排名
  • 做公司网站要那些资料微信朋友圈广告
  • 济南网站怎么做seo免费的外贸网站推广方法
  • 关于做情侣的网站的图片百度云官网入口
  • 只有一个域名怎么建设网站国内搜索引擎大全
  • 如何用api做网站流量平台排名
  • 海底捞oa管理系统泉州关键词优化排名
  • wordpress 增加阅读量seo推广排名平台有哪些
  • 网页制作流程包括哪些成都百度推广和seo优化
  • 宁波网站设计服务收费价格小广告多的网站
  • 花店网站推广方案单页应用seo如何解决
  • 网站建设与维护 许宝良 课件论坛推广工具
  • 郑州网站建设出名吗网页制作平台有哪些
  • 企业网络方案设计seo技术推广
  • 福州做网站公司有哪些网络推广公司哪家做得好
  • 网页制作与网站建设自考真题昆明seo博客
  • wordpress调用随机缩略图处理器优化软件
  • 企业网站icp备案申请北京百度推广客服电话多少
  • 做游戏门户网站要注意什么移动端关键词排名优化
  • 网站推广seo教程淘宝关键词查询工具
  • 外贸网站建设模板下载网址查询网站
  • 做一个购物网站价格电商怎么做营销推广
  • 工商局官网入口seo是什么seo怎么做
  • 免费建设网站网络营销公司经营范围
  • 网站建设宣传ppt模板下载外链
  • 做网站设计需要哪些知识百度竞价排名广告
  • 网上服务大厅平台深圳网站优化公司
  • 濮阳做网站推广的公司开封网站seo