ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

光源その2

マウスでカメラを動かそうとコードをいろいろ追加していたら、ライトがうまくあたらなくなってしまった。原因は視点の位置を決定する前に光源の位置を設定していたからだった。

GLfloat lightPosition[4] = {1.0f, 1.0f, 1.0f, 0.0f};
glLightfv(GL_LIGHT0, GL_POSITION, lightPosition);

glLightfv()で光源の位置を決定する場合はそのときのマトリクスの状態が考慮される。自分の書いていたコードでは視点を決定する前にライトの設定をしていたので、まったく違う位置にライトが設定されてしまっていた。