2017-09-12 6 views
0

は、私は、このOpenGLの機能は、Delphiで宣言されています:デルファイの配列をPGLint(つまり:^ integer)に変換するには?

私は、この関数はこのように呼んでなければなりませんウェブ上で発見、試料中の
PGLint = ^GLint; 
GLint = Integer; 
glTexParameteriv(target, pname: GLenum; params: PGLint); 

int crop_rect[4] = {x, y, width, height}; 
glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_CROP_RECT_OES, crop_rect); 

私が変換する方法を知りませんがデルファイのcrop_rect?特にglTexParameterivに渡す方法は?このよう

+1

私はあなたが使用していると思う[このライブラリ](https://github.com/maerlyn/old-delphi-codes/blob/master/3DSZOVEG/OpenGL.pas) ? crop_rectは、整数の配列、またはより単純に4つの整数のサイズのバッファであると予想されます。最初の整数(つまり、バッファの先頭)へのポインタを関数に渡します。私はライブラリがそのようなバッファを初期化する関数を持っていると思うが、私は一目でそれを見つけることができませんでした。 – GolezTrol

答えて

1

var 
    crop_rect: array [0..3] of GLint ; 
.... 
crop_rect[0] := x; 
crop_rect[1] := y; 
crop_rect[2] := width; 
crop_rect[3] := height; 
glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_CROP_RECT_OES, @crop_rect[0]); 
+0

これは見た目ですが、なぜクラッシュするのかわかりません:(もっと深く調べてみます –

+0

ここのコードは、私が見る限り、Cコードの直接変換です。問題はおそらく引数にありますドキュメントを確認しましたか? –

関連する問題