void Application::setPerspectiveView(int x, int y, int width, int height, scalar fovy, scalar zNear, scalar zFar) { // set viewport & perspective projection setViewport(x, y, width, height); setPerspectiveProjection(fovy, zNear, zFar); }
//-------------------------------------------------------------------- // Tato funkce je volana pri kazdem prekresleni okna //-------------------------------------------------------------------- void onDisplay(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);// vymazani barvoveho bufferu i pameti hloubky setPerspectiveProjection(); // nastaveni perspektivni kamery glTranslatef(0.0f, 0.0f, zoomnew); // priblizeni ci vzdaleni objektu podle +/- glRotatef(ynew, 1.0f, 0.0f, 0.0f); // rotace objektu podle pohybu kurzoru mysi glRotatef(xnew, 0.0f, 1.0f, 0.0f); glRotatef(znew, 0.0f, 0.0f, 1.0f); glClearColor(0.0, 0.0, 0.0, 0.0); // nastaveni mazaci barvy na cernou glColor3f(0.0f, 1.0f, 0.0f); // nastaveni barvy pro kresleni drawObjectNormal(); // objekt vykresleny se zapnutou mlhou glFlush(); // provedeni a vykresleni vsech zmen glutSwapBuffers(); // a prohozeni predniho a zadniho bufferu }
// Default constructor Camera::Camera() : xAxis(1, 0, 0), yAxis(0, 1, 0), zAxis(0, 0, 1), position(0, 0, 1) { updateView(); setPerspectiveProjection(-1, 1, -1, 1, .1, 100); }
Camera::Camera( float fov /* = quarter_pi<float>() */, float aspect /* = 16/9.f */, float near /* = 0.1f */, float far /* = 100 */) { setPerspectiveProjection(fov,aspect,near,far); }
void Application::setPerspectiveView(scalar fovy, scalar zNear, scalar zFar) { // set viewport fullscreen, then set perspective setViewport(0, 0, displayWidth_, displayHeight_); setPerspectiveProjection(fovy, zNear, zFar); }