gpt4 book ai didi

opengl - 如何使用 glGenTextures

转载 作者:行者123 更新时间:2023-12-03 04:24:12 31 4
gpt4 key购买 nike

在 C 中我会执行以下操作:

GLuint a;
glGenTextures(1, &a);

Haskell 中 glGenTextures 的类型是:

GLsizei -> Ptr GLuint -> IO ()

如何获取 Ptr GLuint 类型的值?

最佳答案

首先,我想指出 Haskell OpenGL 绑定(bind)有一个 high-level incarnation ,即 doesn't require the user to do manual memory management

一般来说,对于任何Storable类型a,您都可以通过mallocArray获得足以容纳该类型的n个元素的内存块。 mallocArray 的结果类型为 Ptr a;就像在 C 中一样,您应该使用 free 来释放分配的内存空间。您还可以使用 allocaArray 临时分配内存(相当于 C 中的堆栈分配)。以下是 OpenGLuses allocaArray in conjunction with glGenTextures 的工作原理:

   genObjectNames n =
allocaArray n $ \buf -> do
glGenTextures (fromIntegral n) buf
fmap (map TextureObject) $ peekArray n buf

您可以找到有关这些主题的更多信息 in the Haskell Wiki

关于opengl - 如何使用 glGenTextures,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6746333/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com