当前位置: 首页>>代码示例>>C++>>正文


C++ context::rotate方法代码示例

本文整理汇总了C++中context::rotate方法的典型用法代码示例。如果您正苦于以下问题:C++ context::rotate方法的具体用法?C++ context::rotate怎么用?C++ context::rotate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在context的用法示例。


在下文中一共展示了context::rotate方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: begin_frame

	void begin_frame(context& gc) {
	  //glEnable(GL_CULL_FACE);
	  //glCullFace(GL_FRONT);
	  glDisable(GL_CULL_FACE);


	  glMatrixMode(GL_PROJECTION);
	  glLoadIdentity();

	  float ofsx = -gc.screen_size().width_/2.0f;
	  float ofsy = -gc.screen_size().height_/2.0f;
	  if (rotate_ == -999.0f) {
		// first time
		rotate_ = gc.rotate();
		ofsx_ = ofsx;
		ofsy_ = ofsy;
	  }

	  if (gc.rotate()- rotate_ > 180.0f) rotate_ += 360.0f;
	  if (gc.rotate() - rotate_ < -180.0f) rotate_ -= 360.0f;

	  rotate_ = rotate_  * 0.9f +  gc.rotate() * 0.1f;
	  ofsx_ = ofsx_ * 0.95f + ofsx * 0.05f;
	  ofsy_ = ofsy_ * 0.95f + ofsy * 0.05f;

	  //glOrthof(0.0f, (float)gc.screen_size_.width_, (float)gc.screen_size_.height_, 0.0f, -1.0f, 1.0f);
	  float w = (float)gc.device_screen_size().width_;
	  float h = (float)gc.device_screen_size().height_;
	  glOrthof(-1.0f, 1.0f, 1.0f, -1.0f,  -1.0f, 1000.0f);
	  glScalef(2.0f/w,  2.0f/h, 1.0f);

	  glRotatef(-rotate_, 0.0f,0.0f,1.0f);
	  glTranslatef(ofsx_, ofsy_, 0.0f);




	  glMatrixMode(GL_MODELVIEW);
	  glLoadIdentity();

#if 0
{
    const double t = glutGet(GLUT_ELAPSED_TIME) / 1000.0;
    const double a = t*90.0;
    glDisable(GL_DEPTH_TEST);
    glColor4d(1,1,1,1);
    glPushMatrix();
	glTranslated(400.0,300.0,0.0);
	glRotated(60,1,0,0);
	glRotated(a,0,0,1);
	glutSolidSphere(100,16,16);
    glPopMatrix();
}
#endif
	}
开发者ID:venkatarajasekhar,项目名称:ssa,代码行数:55,代码来源:layer.hpp


注:本文中的context::rotate方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。