void BumpMapping::render() { if(m_pEffect == NULL) return; HRESULT hr; //-- ÉèÖÃeffect²ÎÊý float t = timeGetTime()/3000.0f; float r = 60; m_lightPos.x = sinf(t) * r; m_lightPos.z = cosf(t) * r; m_lightPos.y = sinf(t) * r; hr = m_pEffect->SetFloatArray("lightPos",(float*)&m_lightPos,3); hr = m_pEffect->SetFloatArray("eyePos",(float*)&g_camera.getEyePos(),3); D3DXMATRIX matWorld; D3DXMatrixIdentity(&matWorld); D3DXMATRIX matWorldViewProj = matWorld * g_camera.getViewMat() * g_camera.getProjectMat(); m_pEffect->SetMatrix("matWorldViewPrj",&matWorldViewProj); hr = m_pEffect->SetMatrix("matWorld",&matWorld); //-- drawEarth(); DrawingUtil::getInst()->drawLight(m_lightPos); ShaderSimpler::render(); }
void CDrawChangeGroup::displayEvent() { CLearnOpenGLBase::displayEvent(); if (g_drawEarth) { drawEarth(); } else { drawRobotArm(); } glutSwapBuffers(); }