/// <summary> /// Creates a new instance of <see cref="XNAEffectImplementation"/>. /// </summary> /// <param name="renderer">The XNA renderer.</param> /// <param name="byteCode">The compiled byte code.</param> internal XNAEffectImplementation(XNARenderer renderer, byte[] byteCode) { _renderer = renderer; _graphicsDevice = renderer.GraphicsDevice; _cachedByteCode = byteCode; _effect = new XFG.Effect(_graphicsDevice, byteCode); base.SetParameters(new XNAEffectParameterCollection(_effect.Parameters)); base.SetTechniques(new XNAEffectTechniqueCollection(_effect.Techniques)); _currentTechnique = (XNAEffectTechnique)base.Techniques[0]; }
/// <summary> /// Creates a new instance of <see cref="XNAIndexBufferImplementation"/>. /// </summary> /// <param name="renderer">The XNA renderer.</param> /// <param name="format">The index format.</param> /// <param name="indexCount">The number of indices.</param> /// <param name="usage">The buffer usage specifying what type of memory the buffer should be created in.</param> internal XNAIndexBufferImplementation(XNARenderer renderer, IndexFormat format, int indexCount, ResourceUsage usage) : base(format, indexCount, usage) { _renderer = renderer; _graphicsDevice = renderer.GraphicsDevice; if (usage == ResourceUsage.Static) { _indexBuffer = new XFG.IndexBuffer(_graphicsDevice, XNAIndexFormat, indexCount, XFG.BufferUsage.None); } else { _indexBuffer = new XFG.DynamicIndexBuffer(_graphicsDevice, XNAIndexFormat, indexCount, XFG.BufferUsage.None); } }
/// <summary> /// Creates a new instance of <see cref="XNAIndexBufferImplementation"/>. /// </summary> /// <param name="renderer">The XNA renderer.</param> /// <param name="indices">The index data</param> /// <param name="usage">The buffer usage specifying what type of memory the buffer should be created in.</param> internal XNAIndexBufferImplementation(XNARenderer renderer, DataBuffer <int> indices, ResourceUsage usage) : base(indices, usage) { _renderer = renderer; _graphicsDevice = renderer.GraphicsDevice; if (usage == ResourceUsage.Static) { _indexBuffer = new XFG.IndexBuffer(_graphicsDevice, XNAIndexFormat, indices.Length, XFG.BufferUsage.None); } else { _indexBuffer = new XFG.DynamicIndexBuffer(_graphicsDevice, XNAIndexFormat, indices.Length, XFG.BufferUsage.None); } _indexBuffer.SetData <int>(indices.Buffer); }
public XNAGraphicsContext(GraphicsDeviceManager gdm, ContentManager cm) { _gdm = gdm; _gd = gdm.GraphicsDevice; _spriteBatch = new SpriteBatch(_gd); _cm = cm; _gContentManager = new GraphicsContentManager(); _renderer = new XNARenderer(this); _cameraWidth = 720; _cameraHeight = 480; _gdm.PreferredBackBufferWidth = 1280; _gdm.PreferredBackBufferHeight = 720; _basicEffect = new BasicEffect(_gd); }
/// <summary> /// Creates a new instance of <see cref="XNAVertexBufferImplementation"/>. /// </summary> /// <param name="renderer">The XNA renderer.</param> /// <param name="decl">The vertex declaration.</param> /// <param name="vertexCount">The vertex count.</param> /// <param name="usage">The resource usage.</param> /// <exception cref="Tesla.Core.TeslaException">Thrown if there was an error creating the XNA buffer</exception> internal XNAVertexBufferImplementation(XNARenderer renderer, VertexDeclaration decl, int vertexCount, ResourceUsage usage) : base(decl, vertexCount, usage) { _renderer = renderer; _graphicsDevice = renderer.GraphicsDevice; try { XFG.VertexDeclaration xnaDecl = XNAHelper.ToXNAVertexDeclaration(decl); if (usage == ResourceUsage.Static) { _vertexBuffer = new XFG.VertexBuffer(_graphicsDevice, xnaDecl, vertexCount, XFG.BufferUsage.None); } else { _vertexBuffer = new XFG.DynamicVertexBuffer(_graphicsDevice, xnaDecl, vertexCount, XFG.BufferUsage.None); } } catch (Exception e) { Dispose(); throw new TeslaException("Error creating XNA buffer: \n" + e.Message, e); } }
/// <summary> /// Creates a new instance of <see cref="XNAIndexBufferImplementation"/>. /// </summary> /// <param name="renderer">The XNA renderer.</param> /// <param name="indices">The index data</param> /// <param name="usage">The buffer usage specifying what type of memory the buffer should be created in.</param> internal XNAIndexBufferImplementation(XNARenderer renderer, DataBuffer <short> indices, ResourceUsage usage) : base(indices, usage) { if (indices == null) { throw new ArgumentNullException("indices", "Indices cannot be null."); } _renderer = renderer; _graphicsDevice = renderer.GraphicsDevice; if (usage == ResourceUsage.Static) { _indexBuffer = new XFG.IndexBuffer(_graphicsDevice, XNAIndexFormat, indices.Length, XFG.BufferUsage.None); } else { _indexBuffer = new XFG.DynamicIndexBuffer(_graphicsDevice, XNAIndexFormat, indices.Length, XFG.BufferUsage.None); } _indexBuffer.SetData <short>(indices.Buffer); }
private void initGui() { DrawableUIElemts = new List <IEnumDrawableUIElemt>(); renderer = new XNARenderer(); panel = new StackPanel() { Orientation = Orientation.Veritical, ActualWidth = 240, ActualHeight = 440, X = 990, Y = 200 }; DrawableUIElemts.Add(panel); panel.UpdateLayout(); const int PanelRaw = 2; tilesPanel = new MultiScrollStackPanel(PanelRaw) { ActualWidth = 960, ActualHeight = PanelRaw * 32, X = 0, Y = 0, }; DrawableUIElemts.Add(tilesPanel); tilesPanel.UpdateLayout(); var button = new SampleButton(10, 220) { Content = "Add", }; panel.AddChild(button, () => { Status = S_Add; }); var button2 = new SampleButton(10, 350) { Content = "Remove", }; panel.AddChild(button2, () => { Status = S_Remove; }); var button3 = new SampleButton(10, 450) { Content = "Clear", }; panel.AddChild(button3, new Action(OnClear)); var button4 = new SampleButton(10, 10) { Content = "Load", }; panel.AddChild(button4, new Action(OnLoad)); var button5 = new SampleButton(10, 10) { Content = "Save", }; panel.AddChild(button5, new Action(OnSave)); ShowAllTiles(); }