引数に複数要素の配列のポインタを与えるには?

解決


WN  2011-04-20 03:01:54  No: 40463

DelphiでOpenGLを試みておりますが、OpenGLの関数の引数に複数要素
を持つ配列のポインタを与えるところがうまくいきませんので質問
させて下さい。

具体的には、ここ
http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html
のページの内容をDelphiで動作チェックしており、頂点を指定する
関数glVertex3dvや光源の関数glLightfvが出てきます。これらの
関数の引数は複数の要素を持つ配列のポインタなのですが、それを
与えることができません。

例えばC/C++系では
GLdouble vertex[][3] = {
  { 0.0, 0.0, 0.0 }
};

int edge[][2] = {
  { 0, 1 }
};

としておき、
glVertex3dv(vertex[edge[0][0]]);
とすれば(0, 0, 0)を頂点に指定できるようです。これをDelphiで
実現するため"edge"をポインタ変数にしたりしてみたのですが、
コンパイル・エラーになってしまいます。

頂点の指定でしたらglVertex3dvを使わなくとも、glVertex3fで
一点ごと指定できるので回避可能ですが(面倒ですが)、光源の
関数glLightfvですとそうもいかないようで困っています。

どなたか解決策をご教示頂ければ幸いです。


WN  2011-04-25 01:15:31  No: 40464

自己レスです。
glVertex3dvでなくglVertex3fvを使ったりしていたらうまくいきました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加