Viewport::Viewport(Camera* camera, RenderTarget* target, float left, float top, float width, float height, int ZOrder) : mCamera(camera), mTarget(target), mRelLeft(left), mRelTop(top), mRelWidth(width), mRelHeight(height), mBackColour(ColourValue::Blue), mDepthClearValue(1), mClearEveryFrame(TRUE), mClearBuffers(FBT_COLOUR | FBT_DEPTH), mUpdated(FALSE), mZOrder(ZOrder), mShowOverlays(TRUE), mIsAutoUpdated(TRUE) { LogManager::getSingleton().stream(LML_TRIVIAL) << "Creating viewport on target '" << target->getName() << "'" << ", rendering from camera '" << (camera != 0 ? camera->getName() : "NULL") << "'" << ", relative dimensions " << std::ios::fixed << std::setprecision(2) << "L: " << left << " T: " << top << " W: " << width << " H: " << height << " ZOrder: " << ZOrder; mOrientationMode = mDefaultOrientationMode; RenderSystem* rs = Engine::getSingleton().getRenderSystem(); mMaterialSchemeName = rs->getDefaultViewportMaterialScheme(); _updateDemensions(); if (camera){ camera->notifyViewport(this); } }