| 22 | #else |
| 23 | #define EXIT(VAL) return (VAL) |
| 24 | int main(int argc, char* argv[]) |
| 25 | #endif |
| 26 | { |
| 27 | try |
| 28 | { |
| 29 | LLGL::Log::RegisterCallbackStd(); |
| 30 | |
| 31 | // Let the user choose an available renderer |
| 32 | LLGL::RenderSystemDescriptor rendererDesc; |
| 33 | |
| 34 | #ifdef LLGL_OS_ANDROID |
| 35 | rendererDesc.moduleName = "OpenGLES3"; |
| 36 | rendererDesc.androidApp = androidApp; |
| 37 | #else |
| 38 | const std::string rendererModule = GetSelectedRendererModule(argc, argv); |
| 39 | rendererDesc.moduleName = rendererModule; |
| 40 | #endif |
| 41 | |
| 42 | //rendererDesc.flags = LLGL::RenderSystemFlags::DebugDevice; |
| 43 | LLGL::RenderingDebugger debugger; |
| 44 | rendererDesc.debugger = &debugger; |
| 45 | |
| 46 | // Load render system module |
| 47 | LLGL::Report report; |
| 48 | LLGL::RenderSystemPtr renderer = LLGL::RenderSystem::Load(rendererDesc, &report); |
| 49 | if (!renderer) |
| 50 | { |
| 51 | LLGL::Log::Errorf("%s", report.GetText()); |
| 52 | EXIT(1); |
| 53 | } |
| 54 | |
| 55 | // Create swap-chain |
| 56 | const LLGL::Display* display = LLGL::Display::GetPrimary(); |
| 57 | const std::uint32_t resScale = (display != nullptr ? static_cast<std::uint32_t>(display->GetScale()) : 1u); |
| 58 | |
| 59 | LLGL::SwapChainDescriptor swapChainDesc; |
| 60 | { |
| 61 | swapChainDesc.resolution = { 800 * resScale, 600 * resScale }; |
| 62 | swapChainDesc.depthBits = 0; // We don't need a depth buffer for this example |
| 63 | swapChainDesc.stencilBits = 0; // We don't need a stencil buffer for this example |
| 64 | #if ENABLE_MULTISAMPLING |
| 65 | swapChainDesc.samples = 8; // check if LLGL adapts sample count that is too high |
| 66 | #endif |
| 67 | } |
| 68 | LLGL::SwapChain* swapChain = renderer->CreateSwapChain(swapChainDesc); |
| 69 | |
| 70 | // Print renderer information |
| 71 | const auto& info = renderer->GetRendererInfo(); |
| 72 | |
| 73 | LLGL::Log::Printf( |
| 74 | "Renderer: %s\n" |
| 75 | "Device: %s\n" |
| 76 | "Vendor: %s\n" |
| 77 | "Shading Language: %s\n" |
| 78 | "Swap Chain Format: %s\n" |
| 79 | "Depth/Stencil Format: %s\n" |
| 80 | "Resolution: %u x %u\n" |
| 81 | "Samples: %u\n", |
nothing calls this directly
no test coverage detected