扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清屏 glLoadIdentity(); // 将矩阵清为单位矩阵 glPushMatrix(); // 压栈 glTranslatef(0.0, 0.0, -5000.0); // 平移到屏幕中心 glRotatef(0.0f, 1.0f, 0.0f, 0.0f); // 旋转 glRotatef(m_fxAngle, 1.0f, 0.0f, 0.0f); glRotatef(m_fzAngle, 0.0f, 0.0f, 1.0f); glTranslatef(m_fXOff, m_fYOff, m_fZOff); // 平移 glScalef(m_fScale, m_fScale, m_fScale); // 缩放 if (m_nViewMode == 0 || m_bTexture == FALSE) // 执行显示列表 glCallList(Terrain); glPopMatrix(); // 出栈 glFlush(); // 强制绘图完成 SwapBuffers(wglGetCurrentDC()); // 交换缓存 |
void glTranslated(GLdouble x, GLdouble y, GLdouble z ); void glTranslatef(GLfloat x, GLfloat y, GLfloat z ); void glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z); void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z); void glScaled(GLdouble x, GLdouble y, GLdouble z); void glScalef(GLfloat x, GLfloat y, GLfloat z); |
switch(nChar) { // 漫游控制 case VK_UP: m_fYOff += 20; break; case VK_DOWN: m_fYOff -= 20; break; case VK_LEFT: m_fXOff -= 20; break; case VK_RIGHT: m_fXOff += 20; break; case 87: // W m_fxAngle++; break; case 83: // S m_fxAngle--; break; case 65: // A m_fzAngle++; break; case 68: // D m_fzAngle--; break; case 70: // F 前进 m_fScale += 0.05f; break; case 66: // B 后退 if (m_fScale > 0.05f) m_fScale -= 0.05f; break; default: break; } ReDraw(); // 重绘场景 |
m_LeftButtonDown = TRUE; // 开始鼠标漫游 m_LeftDownPos = point; |
if(m_LeftButtonDown) { // 正在鼠标漫游 m_fzAngle -= (float)(m_LeftDownPos.x - point.x)/3.0f; m_fxAngle -= (float)(m_LeftDownPos.y - point.y)/3.0f; m_LeftDownPos = point; ReDraw(); // 重绘场景 } |
m_LeftButtonDown = FALSE; // 结束鼠标漫游 |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者