render_backend_chooser.odin 1006 B

12345678910111213141516171819202122232425262728
  1. package karl2d
  2. when ODIN_OS == .Windows {
  3. DEFAULT_RENDER_BACKEND :: RENDER_BACKEND_INTERFACE_D3D11
  4. } else when ODIN_OS == .Linux || ODIN_OS == .Darwin {
  5. DEFAULT_RENDER_BACKEND :: RENDER_BACKEND_INTERFACE_GL
  6. } else when ODIN_OS == .JS {
  7. //DEFAULT_RENDER_BACKEND :: RENDER_BACKEND_INTERFACE_WEBGL
  8. } else when ODIN_OS == .Freestanding {
  9. DEFAULT_RENDER_BACKEND :: RENDER_BACKEND_NIL
  10. }
  11. CUSTOM_RENDER_BACKEND_STR :: #config(KARL2D_RENDER_BACKEND, "")
  12. when CUSTOM_RENDER_BACKEND_STR != "" {
  13. when CUSTOM_RENDER_BACKEND_STR == "gl" {
  14. RENDER_BACKEND :: RENDER_BACKEND_INTERFACE_GL
  15. } else when CUSTOM_RENDER_BACKEND_STR == "d3d11" {
  16. RENDER_BACKEND :: RENDER_BACKEND_INTERFACE_D3D11
  17. } else when CUSTOM_RENDER_BACKEND_STR == "nil" {
  18. RENDER_BACKEND :: RENDER_BACKEND_NIL
  19. } else {
  20. #panic(CUSTOM_RENDER_BACKEND_STR + " is not a valid value for KARL2D_RENDER_BACKEND. Available backends are: gl, d3d11")
  21. //RENDER_BACKEND :: DEFAULT_RENDER_BACKEND
  22. }
  23. } else {
  24. RENDER_BACKEND :: DEFAULT_RENDER_BACKEND
  25. }