private static void Graphics3DApplication_Initialize(Graphics3DDevice obj) { Viewport vp1 = ViewportManager.CreateViewport("main1", ViewportCreator.CreateViewport( 0, 0, Graphics3DSystem.Configuration.ScreenConfiguration.Width, Graphics3DSystem.Configuration.ScreenConfiguration.Height / 2, Color.Blue)); vp1.Camera.ViewInformation.Position = new Vector3(2, 2, 2); Viewport vp2 = ViewportManager.CreateViewport("main2", ViewportCreator.CreateViewport( 0, Graphics3DSystem.Configuration.ScreenConfiguration.Height / 2, Graphics3DSystem.Configuration.ScreenConfiguration.Width, Graphics3DSystem.Configuration.ScreenConfiguration.Height / 2, Color.Red)); vp2.Camera.ViewInformation.Position = new Vector3(2, 2, 0); Mesh mesh = MeshManager.CreateMesh("mesh1", MeshCreator.CreateBox(1, 1, 1)); Entity entity = EntityManager.CreateEntity("entity1", EntityCreator.CreateObjectEntity(mesh)); Light light = LightManager.CreateLight("light1", LightCreator.CreatePointLight(new Vector3(5, 5, 5), Color.White, Color.Red, Color.White, 8f)); EntityNode node = obj.RootNode.AddEntityNode("node1", entity); }
public void ScreenFromWindow_CentreScreenCentredHalfSizedViewportContained() { var camera = _cameras.CreateCamera2D((uint)_windowResolution.X, (uint)_windowResolution.Y, 1.0f); var viewport = _viewportManager.CreateViewport((uint)(0.25f * _windowResolution.X), (uint)(0.25f * _windowResolution.Y), (uint)(0.5f * _windowResolution.X), (uint)(0.5f * _windowResolution.Y)); _cameras.SetCamera2DFocusZoomAndRotation(camera, Vector2.Zero, 1.0f, 0.0f); var windowPosition = 0.5f * _windowResolution; var screenPositionExpected = Vector2.Zero; var result = _transforms.ScreenFromWindow(windowPosition, camera, viewport); Assert.Equal(screenPositionExpected.X, result.Position.X, 4); Assert.Equal(screenPositionExpected.Y, result.Position.Y, 4); Assert.True(result.Contained); }