次のコードを使用して、2Dゲームでスポットライトを作成しようとしています
float[] ambient = {0.1f, 1, 1, 1};
float[] position = {45, 20, 0, 1};
float[] direction = {0, -1, 0};
gl.glEnable(GL10.GL_LIGHT1);
gl.glLightfv(GL10.GL_LIGHT1, GL10.GL_AMBIENT, ambient, 0 );
gl.glLightfv(GL10.GL_LIGHT1, GL10.GL_POSITION, position, 0);
gl.glLightfv(GL10.GL_LIGHT1, GL10.GL_SPOT_DIRECTION, direction, 0);
gl.glLightf(GL10.GL_LIGHT1, GL10.GL_SPOT_CUTOFF, 30.0f);
一般的にスポットは機能していますが、移動したり、方向やカットオフを変更したりすることはできません。位置ベクトルを変更すると、8は同じ位置に留まるか、完全に消えます。同じことが方向とカットオフでも起こります。それは常に45度の角度で左/上に輝いています。GL_AMBIENTをGL_DIFFUSEまたはGL_SPECULARに変更すると、ライトも消えます。変更できるのはライトの色だけです。
私は何が間違っているのですか?