路遥见人心,日久知马力

博客园 首页 新随笔 联系 订阅 管理
  55 随笔 :: 3 文章 :: 0 评论 :: 10857 阅读

1. VBO 的 target 是 GL_ARRAY_BUFFER

  不是  GL_VERTEX_BUFFER

2. glUniform()用来给uniform传变量

  别用成 glProgramUniform()

3. 下载个 vs2019 的 glsl 高亮插件!就在vs的扩展里能搜到!不然太痛苦了!

4. 用 glEnableVertexAttribArray() 而不是用  glEnableVertexArrayAttrib()

  opengl API发明人脑子不知道咋长的、起这么多混乱而没什么意义的名字

5. 用 glBufferData() 配合 glBufferSubData() 可以实现把同类型的数据连续排布起来的效果!十分实用!

  而 learn opengl 教程里往往都是交错排布的数据、不灵活、而且用 VertexAttribPointer指定时更容易出错! 

6. 一定要复用前面写过的代码、shader、封装好的类、程序框架、每次做新的功能都应该从半途开始做

 如果次次都从头写起那人会疯的、这样还不如用引擎

7. std::vector 在内存不是连续的!而是稳定占16个byte! 

  千万不能在 glBufferData() 传数据的时候直接传个vector进去、那样必错!

  这个bug卡了我两个小时。

  正确做法是用std::copy把vector的内容复制到一个数组里

  (其实准备数据的时候用原生数组能省去这一步,但关键是很容易越界。有时候为了方便还是借用一下vector)

8. 没事不要在控制台打印大批量数据、这样会阻塞程序!std::cout 看上去人畜无害、实际上打印的很慢的

posted on   只讲大白话  阅读(55)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
点击右上角即可分享
微信分享提示