Beispiel #1
0
	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);
		}
	}