我正在尝试在OpenGL ES 2.0中创建一个广告牌。我正在使用this tutorial来创建广告牌转换矩阵。
通常情况下,我在着色器中将世界视图投影矩阵wvp
与模型矩阵m
一起作为一个统一体,并与顶点模型坐标a_position
结合以生成最终坐标:
gl_Position = wvp * m * a_position;
如果广告牌对某个顶点有效,而广告牌转换矩阵称为B,那么这是否意味着我应该这样做:
gl_Position = wv * m * B * a_position;
或者也许:
gl_Position = wv * m * B;
..因为翻译组件出现在广告牌转换矩阵中。
有人可以确认Billboard版本的正确公式是什么吗?
另外,有没有办法使用wvp
代替wv
执行计算,因为我更喜欢在着色器外部为非广告牌显示对象计算它。
非常感谢任何建议!
答案 0 :(得分:0)
对于opengl,2个广告牌有点弃用。
只需在着色器中绘制纹理均匀的glpoints即可。如果我没有误将opengl es 2默认视为点数。 对于适用于Android的iphone,有一个很好的教程。 我现在想不到这个网址,但我会回复你。
编辑:这是我正在谈论的链接:http://ofps.oreilly.com/titles/9780596804824/ch2d.html#PointSprites