Beispiel #1
0
 public Renderer()
 {
     _pipeline              = new Pipeline();
     _counters              = new Counters();
     _window                = new Window(this);
     _textureCopy           = new TextureCopy(this);
     _backgroundTextureCopy = new TextureCopy(this);
     _sync             = new Sync();
     PersistentBuffers = new PersistentBuffers();
     ResourcePool      = new ResourcePool();
 }
Beispiel #2
0
 public ITexture CreateTexture(TextureCreateInfo info, float scaleFactor)
 {
     if (info.Target == Target.TextureBuffer)
     {
         return(new TextureBuffer(this, info));
     }
     else
     {
         return(ResourcePool.GetTextureOrNull(info, scaleFactor) ?? new TextureStorage(this, info, scaleFactor).CreateDefaultView());
     }
 }
Beispiel #3
0
 public void Dispose()
 {
     _textureCopy.Dispose();
     _backgroundTextureCopy.Dispose();
     PersistentBuffers.Dispose();
     ResourcePool.Dispose();
     _pipeline.Dispose();
     _window.Dispose();
     _counters.Dispose();
     _sync.Dispose();
 }
Beispiel #4
0
 public void PreFrame()
 {
     _sync.Cleanup();
     ResourcePool.Tick();
 }
Beispiel #5
0
 public void PreFrame()
 {
     ResourcePool.Tick();
 }