public ParallelRender(Direct3d d3d, GEMSParallel parallel, GEMSMesh mesh) : base(d3d) { this.parallel = parallel; this.parallel.GEMSParallel_DataChanged += new GEMSParallel.GEMSParallel_DataChangedEventHandler(OnGEMSParallelDataChanged); this.mesh = mesh; }
//our default constructor used to initialize the device. public Xilath() { direct3d = new Direct3d(); //instantiate the Direct3d object if (!direct3d.InitGraphics()) //if we cannot initialize the device then { MessageBox.Show("Device could not be created. Program quiting.."); //show an appropriate message } }
public Camera ( Direct3d d3d ) { this.d3d = d3d; this.d3d.Resize +=new EventHandler ( OnD3dResize ); this.d3d.DxLost +=new Direct3d.DxDirect3dDelegate ( d3d_DxLost ); this.d3d.DxRestore +=new Direct3d.DxDirect3dDelegate ( d3d_DxRestore ); viewArcball.SetWindow ( d3d.ClientSize.Width , d3d.ClientSize.Height ); }
public GEMSProjectRender(Direct3d d3d) : base(d3d) { d3d.DxRender3d += new Direct3d.DxDirect3dDelegate(d3d_DxRender3d); //Create a camera camera = new Camera(d3d); camera.ViewChanged += new Camera.ViewChangedEventHandler(PerformViewChanged); }
private Line line; //Draw device public BoundingBoxRender(Direct3d d3d, Vector3 minVector3, Vector3 maxVector3) : base(d3d) { base.minVector3 = minVector3; base.maxVector3 = maxVector3; line = new Line(d3d.Dx); line.Width = Direct3dRender.DefaultLineWidth; }
public GEMSSingleRender(Direct3d d3d, GEMSSingle source, GEMSProjectRender render) : base(d3d) { if (source != null) { this.source = source; this.source.GEMSSingle_DataChanged += new GEMSSingle.GEMSSingle_DataChangedEventHandler(GEMSSingle_DataChanged); this.parentRender = render; } }
public static GeometryRender Create(Direct3d d3d, GeometryModel source) { GeometryRender render = null; //Create the geometry object based type switch (source.GetType().Name) { case "ConeModel": render = new ConeRender(d3d, source); break; case "CylinderModel": render = new CylinderRender(d3d, source); break; case "CuboidModel": render = new CuboidRender(d3d, source); break; case "LineModel": render = new LineRender(d3d, source); break; case "PointModel": render = new PointRender(d3d, source); break; case "RectangleModel": render = new RectangleRender(d3d, source); break; case "SphereModel": render = new SphereRender(d3d, source); break; case "RoundModel": render = new RoundRender(d3d, source); break; case "SingleEOSymbolModel": render = new SingleEOSymbolRender(d3d, source); break; default: break; } if (render != null) { render.Initialize( ); } return(render); }
public DomainRender(Direct3d d3d, GEMSComputationalDomain domain) : base(d3d, Vector3.Empty, Vector3.Empty) { this.domain = domain; if (domain != null) { OnGEMSComputationalDomainDataChanged(null, null); domain.GEMSComputationalDomain_DataChanged += new GEMSComputationalDomain.GEMSComputationalDomain_DataChangedEventHandler(OnGEMSComputationalDomainDataChanged); } }
public PointRender(Direct3d d3d, Vector3 position, Color color) : base(d3d, null) { model = new PointModel(); model.Position = position; model.ModelColor = GeometryRender.DefaultPointColor; base.source = model; Initialize(); }
public GridRender(Direct3d d3d, Camera camera, GEMSEnvironment enviroment) : base(d3d) { this.enviroment = enviroment; this.gridDisplayed = enviroment.GridDisplayed; this.gridPlane = enviroment.GridPlane; this.gridOffset = enviroment.GidOffset; this.gridSize = enviroment.GridSize.Value; this.camera = camera; enviroment.GridOptionChanged += new GEMSEnvironment.GridOptionChangedEventHandler(OnGridOptionChanged); camera.ViewChanged += new Camera.ViewChangedEventHandler(OnViewChanged); camera.ProjectionChanged += new Camera.ProjectionChangedEventHandler(OnProjectionChanged); isDisplayed = IsDisplay(camera.Look); }
public AxisRender(Direct3d d3d, Camera camera) : base(d3d) { lineRender = new Line(d3d.Dx); this.camera = camera; this.camera.ViewChanged += new Camera.ViewChangedEventHandler(camera_ViewChanged); this.camera.ProjectionChanged += new Camera.ProjectionChangedEventHandler(camera_ProjectionChanged); System.Drawing.Font localFont = new System.Drawing.Font("Verdana", 10.0f, FontStyle.Bold); font = new Microsoft.DirectX.Direct3D.Font(d3d.Dx, localFont); xAxisConeMatrial = GraphicsUtility.InitMaterial(Direct3dRender.DefaultXAxisColor); yAxisConeMatrial = GraphicsUtility.InitMaterial(Direct3dRender.DefaultYAxisColor); zAxisConeMatrial = GraphicsUtility.InitMaterial(Direct3dRender.DefaultZAxisColor); }
/// <summary> /// Occurs when it is time to render 3d objects. /// </summary> private void d3d_DxRender3d(Direct3d d3d, Device dx) { //Console.WriteLine ( "viewPortWidth = {0},viewPortHeight = {1}" , viewPortWidth , viewPortHeight ); SetupLight( ); d3d.View = camera.ViewMatrix; d3d.Projection = camera.ProjectionMatrix; if (isFit) { ComputeFitViewPort( ); isFit = false; } if (m_project != null) { Render( ); } }
/// <summary> /// Called each frame to render the mesh /// </summary> private void d3dModel_DxRender3d(Direct3d d3d, Device dx) { if (mMesh == null) return; // Setup the lights dx.Lights[0].Enabled = true; dx.Lights[0].Type = LightType.Directional; dx.Lights[0].Direction = new Vector3(0, 0, 1); dx.Lights[0].Diffuse = Color.White; dx.Lights[0].Position = new Vector3(0, 0, 0); dx.RenderState.NormalizeNormals = true; // Lighting only when there are normals dx.RenderState.Lighting = (int)(mMesh.M.VertexFormat & VertexFormats.Normal) != 0; // Setup camera dx.Transform.Projection = Matrix.PerspectiveFovLH( (float)Math.PI / 4, 640f / 480f, 50.0f, 2000.0f); dx.Transform.View = Matrix.LookAtLH(new Vector3(0, 0, -220), new Vector3(0.0f, 0.0f, 0.0f), new Vector3(0.0f, 1.0f, 0.0f)); // Use mip map dx.SamplerState[0].MipFilter = TextureFilter.Linear; dx.SamplerState[0].MinFilter = TextureFilter.Linear; dx.SamplerState[0].MagFilter = TextureFilter.Linear; // Adjust mesh to fit view port Vector3 center; float radius = mMesh.BoundingSphereMin(out center); dx.Transform.World = Matrix.Translation(-1*center) * Matrix.Scaling(1/radius, 1/radius, 1/radius) * Matrix.Scaling(90, 90, 90) * Matrix.RotationQuaternion(mOrientation); // Draw mesh using mesh specified materials mMesh.Draw(true); // For an interesting effect, comment above line and uncomment following lines //dx.Material = GraphicsUtility.InitMaterial(Color.Red); //mMesh.Draw(true); }
public ConeRender(Direct3d d3d, GeometryModel source) : base(d3d, source) { }
private void d3d_DxLoaded(Direct3d d3d, Device dx) { sceneRender = new GEMSProjectRender(d3d); }
public LineRender(Direct3d d3d, GeometryModel source) : base(d3d, source) { line = new Line(d3d.Dx); line.Width = Direct3dRender.DefaultLineWidth; }
void d3d_DxLost ( Direct3d d3d , Device dx ) { dxLost = true; }
void d3d_DxRestore ( Direct3d d3d , Device dx ) { dxLost = false; }
public SingleEOSymbolRender(Direct3d d3d, GeometryModel source) : base(d3d, source) { }
public RectangleRender(Direct3d d3d, GeometryModel source) : base(d3d, source) { }
public PointsRender(Direct3d d3d, List <CustomVertex.PositionColored> positions) : base(d3d) { this.positions = positions; }
public Direct3dRender(Direct3d d3d) { this.d3d = d3d; this.d3d.DxLost += new Direct3d.DxDirect3dDelegate(d3d_DxLost); this.d3d.DxRestore += new Direct3d.DxDirect3dDelegate(d3d_DxRestore); }
public GeometryRender(Direct3d d3d, GeometryModel source) : base(d3d) { this.source = source; }