// ------------------------------------------------------------------------------------------------ void PrintHelp() { console::log("apitest - a simple framework for testing various solutions to different rendering problems."); console::log("Usage"); console::log(""); console::log(" apitest [options]\n"); console::log(""); console::log("Options"); for (int i = 0; gClOpts[i].OptionShort != nullptr; ++i) { console::log(" %s, %-22s %s", gClOpts[i].OptionShort, gClOpts[i].OptionLong, gClOpts[i].HelpText); } { const char* kTableEntry = " %-27s%-20s"; console::log(""); console::log("Problems & Solutions"); console::log(kTableEntry, "Problems", "Solutions"); ProblemFactory problemsAndSolutions(true); auto allProblems = problemsAndSolutions.GetProblems(); for (auto probIt = allProblems.cbegin(); probIt != allProblems.cend(); ++probIt) { console::log(""); Problem* prob = (*probIt); // console::log(kTableFormat, prob->GetName().c_str(), ""); auto solutions = problemsAndSolutions.GetSolutions(prob, nullptr); for (auto solnIt = solutions.cbegin(); solnIt != solutions.cend(); ++solnIt) { Solution* soln = (*solnIt); console::log(kTableEntry, prob->GetName().c_str(), soln->GetName().c_str()); } } console::log(""); } { const char* kTableEntry = " %-12s%-20s"; console::log(""); console::log("APIs (use the short name on the command line)"); console::log(kTableEntry, "Short Name", "Long Name"); // This isn't ideal. But it'll work for now. console::log(kTableEntry, GfxApiOpenGLGeneric::SGetShortName(), GfxApiOpenGLGeneric::SGetLongName()); console::log(kTableEntry, GfxApiOpenGLCore::SGetShortName(), GfxApiOpenGLCore::SGetLongName()); #if WITH_D3D11 console::log(kTableEntry, GfxApiDirect3D11::SGetShortName(), GfxApiDirect3D11::SGetLongName()); #endif } }