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ですとそうもいかないようで困っています。
どなたか解決策をご教示頂ければ幸いです。
自己レスです。
glVertex3dvでなくglVertex3fvを使ったりしていたらうまくいきました。
ツイート | ![]() |