Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Tutto e di + - Veldrid CrossPlattform .NET Rendering
Forum - Tutto e di + - Veldrid CrossPlattform .NET Rendering

Avatar
Thejuster (Member)
Guru^2


Messaggi: 1810
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 10:48
Mercoledì, 11/04/2018
Volevo presentarvi Veldrid.

Per chi non lo conosce, Veldrid è un implementazione OpenSource di:

OpenGL 3, Metal, Vulkan e DirectX 11


https://github.com/mellinoe/veldrid


Le prestazioni sono altissime anche solo il fatto di utilizzare Vulkan in .net è un qualcosa di incredibile.

con dei semplici Statements è possibile scegliere il target


Codice sorgente - presumibilmente C++

  1. #if TEST_VULKAN
  2.     public class VulkanTextureTests : TextureTestBase<VulkanDeviceCreator> { }
  3. #endif
  4. #if TEST_D3D11
  5.     public class D3D11TextureTests : TextureTestBase<D3D11DeviceCreator> { }
  6. #endif
  7. #if TEST_METAL
  8.     public class MetalTextureTests : TextureTestBase<MetalDeviceCreator> { }
  9. #endif
  10. #if TEST_OPENGL
  11.     public class OpenGLTextureTests : TextureTestBase<OpenGLDeviceCreator> { }
  12. #endif
  13. #if TEST_OPENGLES
  14.     public class OpenGLESTextureTests : TextureTestBase<OpenGLESDeviceCreator> { }
  15. #endif




Ed il codice è molto familiare alle DirectX

come ad esempio la creazione di una Texture

Codice sorgente - presumibilmente Plain Text

  1. Texture texture = RF.CreateTexture(
  2.                 TextureDescription.Texture2D(1024, 1024, 1, 1, PixelFormat.R32_G32_B32_A32_UInt, TextureUsage.Staging));
  3.  
  4.             MappedResource map = GD.Map(texture, MapMode.ReadWrite, 0);
  5.             GD.Unmap(texture, 0);





PM Quote