/// <summary> /// Dispose resources /// </summary> public void Dispose() { if (Mesh != null) { Mesh.Dispose(); } Mesh = null; if (SpecularMap != null) { SpecularMap.Dispose(); } SpecularMap = null; if (HeightMap != null) { HeightMap.Dispose(); } HeightMap = null; if (BumpMap != null) { BumpMap.Dispose(); } BumpMap = null; if (DiffuseMap != null) { DiffuseMap.Dispose(); } DiffuseMap = null; }
private static void OnTimer(ref double delta, UInt32 Id) { quadInput.Update(); quadRender.BeginRender(); quadRender.Clear(0); camera.Enable(); quadRender.RenderToGBuffer(true, quadGBuffer); quadRender.SetBlendMode(TQuadBlendMode.qbmNone); texture.Draw(new Vec2f()); quadRender.RenderToGBuffer(false, quadGBuffer); camera.Disable(); IQuadTexture DiffuseMap; quadGBuffer.GetDiffuseMap(out DiffuseMap); DiffuseMap.Draw(new Vec2f(), 0xFF080808); t += delta; Particle prt; if (t > 1.0) { t = 0.0f; Random rand = new Random(); prt = new Particle(); prt.radius = rand.Next(50, 250); prt.X = rand.Next(800); prt.Y = -100; prt.Z = rand.Next(5, 35); prt.color = (uint)(rand.NextDouble() * 0xFFFFFF) + 0xFF000000; mList.Add(prt); } quadRender.SetBlendMode(TQuadBlendMode.qbmSrcAlphaAdd); for (int i = mList.Count - 1; i >= 0; i--) { prt = mList[i]; prt.Y += (float)delta * 100.0f; mList[i] = prt; quadGBuffer.DrawLight(new Vec2f(prt.X, prt.Y), prt.Z, prt.radius, prt.color); camera.Enable(); quadRender.Rectangle(new Vec2f(prt.X - 2, prt.Y - 2), new Vec2f(prt.X + 2, prt.Y + 2), prt.color); camera.Disable(); quadRender.FlushBuffer(); if (prt.Y > 1000) { mList.RemoveAt(i); } } quadRender.EndRender(); }
public override void Initialize() { Contract.Requires <InvalidOperationException>(DiffuseMapKey != null); DiffuseMap = Content.Load <Texture>(DiffuseMapKey); if (!DiffuseMap.IsInited) { DiffuseMap.Initialize(); } TextureMap.Add(TextureReference.Diffuse.ToString(), DiffuseMap); }
public void Dispose() { if (DiffuseMap != null) { DiffuseMap.Dispose(); } if (Program != null) { Program.DisposeChildren = true; Program.Dispose(); } }
public void Dispose() { if (DiffuseMap != null) { DiffuseMap.Dispose(); } // if (Program != null) // { // Program.DisposeChildren = true; // Program.Dispose(); // } }
public override int GetHashCode() { unchecked { var hashCode = (Name != null ? Name.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (DiffuseMap != null ? DiffuseMap.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (NormalMap != null ? NormalMap.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (SpecularMap != null ? SpecularMap.GetHashCode() : 0); hashCode = (hashCode * 397) ^ Color.GetHashCode(); return(hashCode); } }
private bool disposedValue = false; // To detect redundant calls protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { // TODO: dispose managed state (managed objects). } if (DiffuseMap != null) { DiffuseMap.Dispose(); } if (NormalMap != null) { NormalMap.Dispose(); } if (DiffuseAlphaMap != null) { DiffuseAlphaMap.Dispose(); } if (ColorTable != null) { ColorTable.Dispose(); } if (MaskMap != null) { MaskMap.Dispose(); } if (SpecularMap != null) { SpecularMap.Dispose(); } // TODO: free unmanaged resources (unmanaged objects) and override a finalizer below. // TODO: set large fields to null. disposedValue = true; } }
public void Accept(ShaderGeneratorContext context) { DiffuseMap.Accept(context); }
private void DestroyRenderTargets() { DiffuseMap?.Dispose(); Lightmap?.Dispose(); }
public void Visit(MaterialGeneratorContext context) { DiffuseMap.Visit(context); }