Opengl 如何使用glGenTextures
在C中,我将执行以下操作:Opengl 如何使用glGenTextures,opengl,haskell,Opengl,Haskell,在C中,我将执行以下操作: GLuint a; glGenTextures(1, &a); Haskell中的glGenTextures类型为: GLsizei -> Ptr GLuint -> IO () 如何获得类型为Ptr GLuint的值?首先,我想指出Haskell-OpenGL绑定有一个 一般来说,对于任何可存储的类型a,您可以获得足够的内存块来存储所述类型的n元素。具有类型Ptr a的结果;就像在C中一样,您应该使用来释放分配的内存空间。您还可以使用临时分配
GLuint a;
glGenTextures(1, &a);
Haskell中的glGenTextures
类型为:
GLsizei -> Ptr GLuint -> IO ()
如何获得类型为
Ptr GLuint
的值?首先,我想指出Haskell-OpenGL绑定有一个
一般来说,对于任何可存储的类型a
,您可以获得足够的内存块来存储所述类型的n
元素。具有类型Ptr a
的结果;就像在C中一样,您应该使用来释放分配的内存空间。您还可以使用临时分配内存(相当于C中的堆栈分配)。以下是如何使用OpenGL
库:
您可以找到有关这些主题的更多信息。我认为以下内容的确切含义是:
GLuint a;
glGenTextures(1, &a);
是:
如果需要传递数组,可以使用withArray
获取列表,并使用该列表保留和初始化缓冲区。另外,allocarray
可以为您创建缓冲区,而无需对其进行初始化
GLuint a;
glGenTextures(1, &a);
import Foreign.Marshal.Utils( with )
with a $ \dir_a -> glGenTextures 1 dir_a