2016-08-04 51 views
1

我試圖用intel平行工作室在msvs中使用opengl在fortran95中可視化二維真實數組。爲此,我已經找到(試圖理解)fglDrawPixelshttp://polarhome.com/service/man/?qf=fgldrawpixels&tf=2&of=IRIX&sf=3fortran fgldrawpixels character * 8指向數據的指針

在子程序的解釋

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預計...

任何幫助或暗示的,這是大加讚賞

回答

3

對例程接口的描述不正確。 pixels參數的類型是整數(K_GLvoid),換句話說,是地址大小的整數。它不是一個Fortran指針。通常你會在這裏使用LOC(緩衝區),其中緩衝區是你用來保存像素數據的任何變量。所有這些參數都是按值傳遞的,調用約定是STDCALL。

如果您使用的是英特爾Visual Fortran,模塊IFOPNGL將使用正確的接口聲明此內容。