【发布时间】:2020-10-28 05:49:41
【问题描述】:
我找到了一个 repo 来解决我在使用 OpenGL 时遇到的问题,但它都是用 GL 4.5 编写的,我正在编写的应用程序需要是 GL 3.0 代码才能支持 OSX。通过在 docs.GL 上引用它并将其转换回我熟悉的 3.0 代码,我已经能够翻译大部分代码。
我在理解下面的代码方面有点吃力,所以我只是想知道是否有人能够指出我正确的方向。
vertexArray
vertexBuffer
indexBuffer
都是int
GL.VertexArrayVertexBuffer(vertexArray, 0, vertexBuffer, IntPtr.Zero, Unsafe.SizeOf<ImDrawVert>());
GL.VertexArrayElementBuffer(vertexArray, indexBuffer);
GL.EnableVertexArrayAttrib(vertexArray, 0);
GL.VertexArrayAttribBinding(vertexArray, 0, 0);
GL.VertexArrayAttribFormat(vertexArray, 0, 2, VertexAttribType.Float, false, 0);
GL.EnableVertexArrayAttrib(vertexArray, 1);
GL.VertexArrayAttribBinding(vertexArray, 1, 0);
GL.VertexArrayAttribFormat(vertexArray, 1, 2, VertexAttribType.Float, false, 8);
GL.EnableVertexArrayAttrib(vertexArray, 2);
GL.VertexArrayAttribBinding(vertexArray, 2, 0);
GL.VertexArrayAttribFormat(vertexArray, 2, 4, VertexAttribType.UnsignedByte, true, 16);
编辑:如果有人想知道,我将 OpenTK 与 C# 一起使用。
【问题讨论】:
-
"我正在编写的应用程序必须是 GL 3.0 代码才能支持 OSX" MacOS 支持 GL 4.1(假设您有合适的硬件)。但是,MacOS 弃用了 OpenGL,并且几乎可以随时将其删除。因此,您可能希望避免将自己限制在这样的平台上。
-
在我看来像 DSA 代码。
标签: c# opengl opengl-3 opengl-4