/// <summary> /// Crea la ventana de <c>OSG</c>. /// </summary> protected virtual void CreateOSGWindow() { GraphicsContext.Traits traits = this.CreateTraits(); Trace.WriteLine("Traits:"); Trace.WriteLine(ToString(traits)); this.gc = GraphicsContext.createGraphicsContext(traits); if (!this.gc.valid()) { Trace.WriteLine("El GraphicsContext {0} no es valido", this.gc.ToString()); } // Se establece el 'viewer'. Viewer viewer = new Viewer(); viewer.asOsgViewerView().setLightingMode(osg.View.LightingMode.SKY_LIGHT); this.viewer = viewer; // Se establece la camara. Camera camera = this.viewer.asOsgViewerView().getCamera(); camera.setGraphicsContext(this.gc); camera.setViewport(new Viewport(0, 0, traits.width, traits.height)); camera.setProjectionMatrixAsPerspective(30.0f, (double)traits.width / (double)traits.height, 0.5, 1000.0); camera.setDrawBuffer((uint)OsgModule.GL_FRONT); camera.setReadBuffer((uint)OsgModule.GL_FRONT); camera.setClearColor(new Vec4f(0.2f, 0.2f, 0.2f, 1)); //camera.asCullSettings().setComputeNearFarMode(CullSettings.ComputeNearFarMode.DO_NOT_COMPUTE_NEAR_FAR); camera.setClearMask((uint)(OsgModule.GL_COLOR_BUFFER_BIT | OsgModule.GL_DEPTH_BUFFER_BIT /*| OsgModule.GL_STENCIL_BUFFER_BIT*/)); //DisplaySettings settings = this.CreateDisplaySettings(); //camera.setDisplaySettings(settings); //osgViewer.Viewer.asView(this.Viewer).setDisplaySettings(settings); //this.Camera.attach(Camera.BufferComponent.STENCIL_BUFFER,)); //this.Camera = camera; this.camera = camera; // Se establece el manipulador por defecto: tipo trackball. TrackballManipulator manipulator = new TrackballManipulator(); manipulator.setHomePosition(new Vec3d(-50, 0, 2), new Vec3d(0, 0, 0), new Vec3d(0, 0, 1)); manipulator.setTransformation(new Vec3d(-50, 0, 2), new Vec3d(0, 0, 0), new Vec3d(0, 0, 1)); //manipulator.home(0); //manipulator.setAutoComputeHomePosition(true); manipulator.setAllowThrow(false); manipulator.setVerticalAxisFixed(true); manipulator.setTrackballSize(1); this.Manipulator = manipulator; }
static void Main(string[] args) { Bootstrapper.Configure(); var viewer = SimpleViewer.Create("Hello Veldrid Scene Graph"); viewer.SetCameraManipulator(TrackballManipulator.Create()); var root = Group.Create(); var geometry = Geometry <VertexPositionColor> .Create(); VertexPositionColor[] quadVertices = { new VertexPositionColor(new Vector2(-.75f, .75f), new Vector4(1.0f, 0.0f, 0.0f, 1.0f)), new VertexPositionColor(new Vector2(.75f, .75f), new Vector4(0.0f, 1.0f, 0.0f, 1.0f)), new VertexPositionColor(new Vector2(-.75f, -.75f), new Vector4(0.0f, 0.0f, 1.0f, 1.0f)), new VertexPositionColor(new Vector2(.75f, -.75f), new Vector4(1.0f, 1.0f, 0.0f, 1.0f)) }; geometry.VertexData = quadVertices; uint[] quadIndices = { 0, 1, 2, 3 }; geometry.IndexData = quadIndices; geometry.VertexLayout = new VertexLayoutDescription( new VertexElementDescription("Position", VertexElementSemantic.TextureCoordinate, VertexElementFormat.Float2), new VertexElementDescription("Color", VertexElementSemantic.TextureCoordinate, VertexElementFormat.Float4)); var pSet = DrawElements <VertexPositionColor> .Create( geometry, PrimitiveTopology.TriangleStrip, (uint)geometry.IndexData.Length, 1, 0, 0, 0); geometry.PrimitiveSets.Add(pSet); geometry.PipelineState.VertexShaderDescription = Vertex2Color4Shader.Instance.VertexShaderDescription; geometry.PipelineState.FragmentShaderDescription = Vertex2Color4Shader.Instance.FragmentShaderDescription; var geode = Geode.Create(); geode.AddDrawable(geometry); root.AddChild(geode); viewer.SetSceneData(root); viewer.ViewAll(); viewer.Run(); }
static void Main(string[] args) { Bootstrapper.Configure(); var logger = Veldrid.SceneGraph.Logging.LogManager.CreateLogger <Program>(); var viewer = SimpleViewer.Create("Phong Shaded Dragon Scene Graph"); viewer.SetCameraManipulator(TrackballManipulator.Create()); var root = LightingExampleScene.Build(); viewer.SetSceneData(root); viewer.ViewAll(); viewer.Run(); }
static void Main(string[] args) { Bootstrapper.Configure(); var logger = Veldrid.SceneGraph.Logging.LogManager.CreateLogger <Program>(); var viewer = SimpleViewer.Create("Path Shape Example"); viewer.SetCameraManipulator(TrackballManipulator.Create()); // Build the path scene var root = PathExampleScene.Build(); viewer.SetSceneData(root); viewer.ViewAll(); viewer.Run(); }
static void Main(string[] args) { Bootstrapper.Configure(); var viewer = SimpleViewer.Create("Text Rendering Demo"); viewer.SetCameraManipulator(TrackballManipulator.Create()); var root = Group.Create(); var textNode = TextNode.Create("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor"); var geode = Geode.Create(); geode.AddDrawable(textNode); root.AddChild(geode); viewer.SetSceneData(root); viewer.ViewAll(); viewer.Run(); }
internal PathExampleViewModel() : base() { SceneRoot = Examples.Common.PathExampleScene.Build(); CameraManipulator = TrackballManipulator.Create(); }
public LightingDemoViewModel() : base() { SceneRoot = Examples.Common.LightingExampleScene.Build(); CameraManipulator = TrackballManipulator.Create(); }