void inciarlizar_motor_render(float m_viewWidth, float m_viewHeight){ glClearColor(0.1f, 0.2f, 0.0f, 1.0f); glUseProgram(_program); _shd_posicion = getParametro( "position"); _shd_normal = getParametro( "normal"); _shd_textura = getParametro("textura_cord"); _shd_mvp = getUniform( "MVP"); _shd_text = getUniform("textura"); // Enable depth test glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LESS); /* Perspectiva */ mtxLoadPerspective(mPerspectiva, 45, (float)m_viewWidth / (float)m_viewHeight,1.0,10000); mtxLoadIdentity(mModelo); /* Camara 4.0f, 3.0f, 3.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f) */ float vecEye[3] = {2.0f, 0.0f, 3.0f}; float vecCentro[3] = {0.0, 0.0, 0.0}; float vecUp[3] = {0.0, 1.0, 0.0}; mtxLookAt(mModeloCamara, vecEye, vecCentro, vecUp); //colocamos el modelo en las cordenadas 0.0f en la x,y,z mtxTranslateApply(mModelo, 0.0f, 0.0f, 0.0f); crear_buffers(); long witdh = 0.0f, height = 0.0f; textura_id = load_texture_TGA(PATH_TEXTURA, &witdh, &height, GL_REPEAT, GL_REPEAT); glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, textura_id); glUseProgram(0); }
// 透視投影を設定 void Camera::loadPerspective() { mtxLoadPerspective(projection.matrix, fieldOfView, aspect, zNear, zFar); }