GLKBaseEffect で const スポット ライトの位置を設定する必要があるため、モデルビューを変更してもライトは同じ場所にとどまります。どうすればこれを達成できますか?
質問する
558 次
2 に答える
1
GLKBaseEffect を使用してライトの位置を設定すると、その modelviewMatrix プロパティに現在保存されている値が使用されます。したがって、この値を 2 回設定する必要があります。1 回はライト用、もう 1 回はオブジェクト用です。
self.effect.transform.modelviewMatrix = GLKMatrix4Identity;
self.effect.light1.position = GLKVector4Make(0.0, 1.0, 3.0, 1);
GLKMatrix4 modelViewMatrix = GLKMatrix4MakeTranslation(0.0f, 0.0f, -3.0f);
modelViewMatrix = GLKMatrix4Rotate(modelViewMatrix, GLKMathDegreesToRadians(90), 0, 1, 0);
self.effect.transform.modelviewMatrix = modelViewMatrix;
それはトリックを行う必要があります
于 2012-12-23T10:45:02.890 に答える