2016-08-04 4 views
1

msvsのintelパラレルスタジオでopenglを使用してfortran95で2D実数配列を可視化しようとしています。私が発見した。このためにサブルーチンの説明ではfglDrawPixelsfortran fgldrawpixels文字* 8データへのポインタ

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)であるため、私はこれを完全に理解していません。私はどのように使用できるポインタを宣言しますか? (実際の(4)データへのポインタに文字* 8)は - 私は

任意のヘルプまたはこれにヒント...これはreal(4), pointer, dimension(:,:) :: pixelsとして宣言されるだろうが、それはfglDrawPixelsが期待するものとは思われないと思ったくらい

を高く評価しています

答えて

3

ルーチンのインターフェイスの説明が正しくありません。 pixels引数は整数型(K_GLvoid)、つまりアドレスサイズの整数です。 Fortranのポインタではありません。通常は、ここでLOC(バッファ)を使用します。ここでbufferは、ピクセルデータを保持するために使用する変数です。これらの引数はすべて値渡しであり、呼び出し規約はSTDCALLです。

インテル®Visual Fortranを使用している場合、モジュールIFOPNGLはこれを正しいインターフェースで宣言します。

関連する問題