CDR6275

Michio SHIRAISHI Official Site

CGプログラミング (2018 Fall)

資料はこちらです。

11月29日の授業LookAt.cpp

void LookAt::update(){
  double currentElapsedTime = glfwGetTime();
  /* トラック
  Matrix::setLookAtM(viewMatrix, 0, 
	  (float)(0.5*currentElapsedTime), 0.0, 4.0, 
	  (float)(0.5*currentElapsedTime), 0.0, 0.0, 
	  0.0, 1.0, 0.0);
	  */
  /* パン
  double angle = currentElapsedTime * 360.0 / 5.5;
  Matrix::setLookAtM(viewMatrix, 0,
	  0.0, 0.0, 4.0,
	  cos(angle / 180.0*3.14), 0.0, 4.0 + sin(angle / 180.0*3.14),
	  0.0, 1.0, 0.0);
	  */
  /* ズームイン
  Matrix::setLookAtM(viewMatrix, 0,
	  0.0, 0.0, 4.0,
	  0.0, 0.0, 0.0,
	  0.0, 1.0, 0.0);

  Matrix::perspectiveM(projectionMatrix, 0, 45.0 - currentElapsedTime, (float)windowWidth / windowHeight, 1.0, 100.0);
  */

  float modelViewMatrix[16];
  Matrix::multiplyMM(modelViewMatrix, 0, viewMatrix, 0, modelMatrix, 0);
  
  float invertMatrix[16];
  Matrix::invertM(invertMatrix, 0, modelViewMatrix, 0);
  Matrix::transposeM(normalMatrix, 0, invertMatrix, 0);

}