#include #include #include #include "XC3DGSD3D12/App.h" int WINAPI wWinMain(HINSTANCE instance, HINSTANCE, PWSTR, int showCommand) { XC3DGSD3D12::App app; int argumentCount = 0; LPWSTR* arguments = CommandLineToArgvW(GetCommandLineW(), &argumentCount); for (int index = 1; index + 1 < argumentCount; ++index) { if (std::wstring(arguments[index]) == L"--frame-limit") { app.SetFrameLimit(static_cast(_wtoi(arguments[index + 1]))); ++index; } else if (std::wstring(arguments[index]) == L"--scene") { app.SetGaussianScenePath(arguments[index + 1]); ++index; } else if (std::wstring(arguments[index]) == L"--summary-file") { app.SetSummaryPath(arguments[index + 1]); ++index; } else if (std::wstring(arguments[index]) == L"--screenshot-file") { app.SetScreenshotPath(arguments[index + 1]); ++index; } } if (arguments != nullptr) { LocalFree(arguments); } if (!app.Initialize(instance, showCommand)) { const std::wstring message = app.GetLastErrorMessage().empty() ? L"Failed to initialize XC 3DGS D3D12 MVS." : app.GetLastErrorMessage(); MessageBoxW(nullptr, message.c_str(), L"Initialization Error", MB_OK | MB_ICONERROR); return -1; } return app.Run(); }