Bra*_*son 5 iphone opengl-es xamarin.ios opentk
我正在尝试将OpenTK Matrix4传递给着色器制服,但GL.UniformMatrix4似乎没有合适的过载.重载接受float
或者float[]
或ref float
.类似地,我找不到将Matrix4实例转换为float数组的方法 - 我已经看到一个在Matrix4上使用ToArray方法的示例,但这似乎不存在于我正在使用的发行版中.
当然,我遗漏了一些简单的东西,因为这对于将模型/视图/投影矩阵传递给着色器非常重要.
我正在使用最新版本的MonoTouch的OpenTK版本.
这个辅助函数可以工作,但看起来像是一个 hack。
基本上它只是传递 Row0,Col0 的地址。由于 C# 不保证结构中字段的顺序,因此从理论上讲,它的工作主要靠运气。
public static void UniformMatrix4(int location, Matrix4 value)
{
GL.UniformMatrix4(location, 1, false, ref value.Row0.X);
}
Run Code Online (Sandbox Code Playgroud)
当然,OpenTK 应该具有允许直接传递 Matrix4 的绑定。
归档时间: |
|
查看次数: |
1098 次 |
最近记录: |