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


C++ camera::setCamera方法代码示例

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


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

示例1: renderFun

// this is the render function.  It contains flags to set up the differnt shaders and what
// to draw.  One can remove most of is not all of theem
void renderFun() {
  // DEBUGGING FLAGS
  static int drawTri = 1;
  static int drawSkybox = 1;
  static int drawLines = 0;
  static Vector3f pos=Vector3f(0,0,100);
  static Vector3f lookat=Vector3f(0 ,0 ,0);
  static Vector3f up=Vector3f(0,1,0);
  static int zoom = -70;
  static int camZoom = 1;
  static int setCam = 0;

  // setting up the camera manually if needed
  // can be remved
  if (setCam) {
    cam.setCamera(pos, lookat, up);
    setCam = 0;
  }

  // setting up the camera zoom manually if needed
  // can be remved
  if (camZoom) {
    cam.zoomIn(zoom);
    camZoom = 0;
  }

  // setting opengl - clearing the buffers
  glEnable(GL_DEPTH_TEST);    // need depth test to correctly draw 3D objects
  glClearColor(1.0,1.0,1.0,1);
  glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);

  if (drawSkybox) {
    skybox.displaySkybox(cam);
  }

  if (drawTri) {
    glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
    displayBoxFun(sphereBoxProg);
  }

  // if (drawLines) {
  //   glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
  //   displayBoxFun(sphereLinesBoxProg);
  // }

  glutSwapBuffers();
}
开发者ID:ryanseys,项目名称:comp4002-assigns,代码行数:49,代码来源:main.cpp

示例2: main

int main(int argc, char** argv) {
  int rc;
  Shader s;

  // set the camera to an initial position
  cam.setCamera(Vector3f(0,-10,100), Vector3f(0,0,0), Vector3f(0,1,0));

  glutInit(&argc, argv);
  // glutInitDisplayMode(GLUT_RGBA|GLUT_DOUBLE|GLUT_DEPTH|GLUT_3_2_CORE_PROFILE);
  glutInitDisplayMode(GLUT_RGBA|GLUT_DOUBLE|GLUT_DEPTH);
  glutInitWindowSize(600,600);
  glutInitWindowPosition(10, 10);

  glutCreateWindow("skybox");
  glutDisplayFunc(renderFun);
  glutIdleFunc(idleFun);
  // setCallbackFun();

  // initialize GLEW
  // GLenum err = glewInit();
  // if ( err != GLEW_OK)  printf(" Error initializing GLEW! \n");

  loadTextures();
  skybox.init();
  // skybox2.init();

  Init_Geometry();
  InitVBO();

  rc = loadShaders(s);
  if (rc != 0) {
    printf("error after createing shaders rc = %d \n", rc);
    getchar();
  }

  glutMainLoop();
}
开发者ID:ryanseys,项目名称:comp4002-assigns,代码行数:37,代码来源:main.cpp


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