登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> 开发 vlog >> 主题: opengl 着色器的点缓冲的坑     [回主站]     [分站链接]
标题
opengl 着色器的点缓冲的坑
clq
浏览(1) + 2025-07-22 20:03:28 发表 编辑

关键字:

opengl 着色器的点缓冲的坑

如果一个顶点由 5 个 float 组成,那么它们在着色器代码中的表示为

attribute vec3 aPos;
attribute vec2 aTexCoord;

如果一个顶点由 8 个 float 组成,那么它们在着色器代码中的表示为

attribute vec3 aPos;
attribute vec3 aNorm;
attribute vec2 aTexCoord;

这里有个大坑,如果 aNorm 在后面的 main 代码中没有用到,那么 aTexCoord 就会读取到 aNorm 的数据! 原因是 gpu 编译器会优化掉没有用到的代码。
这在 opengl es 2 下也是这样的,在 3.0 后应该好点,因为会直接指定它们在顶点缓冲的排列位置。

如果调试中实在要用到没处理过的数据的话,可以考虑让它 * 0.00001 这样的极小数,然后加到某个 xyz 分量下就行了。









总数:0 页次:1/0 首页 尾页  
总数:0 页次:1/0 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1