我试图可视化一个二维真实的数组在fortran95使用opengl与英特尔并行演播室在msvs。为此,我发现(试图理解) fglDrawPixels on http://polarhome.com/service/man/?qf=fgldrawpixels&tf=2&of=IRIX&sf=3
在解释子例程中
SUBROUTINE fglDrawPixels( INTEGER*4 width,
INTEGER*4 height,
INTEGER*4 format,
INTEGER*4 type,
CHARACTER*8 pixels )上面写着像素
指定指向像素数据的指针。
我不完全理解这一点,因为我要显示的数据是真实的(4)(或GL_FLOAT),我如何声明我可以使用的指针?(字符*8指向一个指向真实(4)数据的指针)-我以为这将被声明为real(4), pointer, dimension(:,:) :: pixels,但这似乎不是fglDrawPixels所期望的.
任何关于这方面的帮助或暗示都是非常感谢的。
发布于 2016-08-04 16:01:21
对例程接口的描述是不正确的。像素参数是整数(K_GLvoid)类型,换句话说,是一个地址大小的整数.它不是Fortran指针。通常,您将在这里使用LOC(缓冲器),其中缓冲区是用来保存像素数据的任何变量。所有这些参数都是通过值传递的,调用约定是STDCALL。
如果您使用的是Intel Visual Fortran,则模块IFOPNGL使用正确的接口声明这一点。
https://stackoverflow.com/questions/38772049
复制相似问题