Вспомогательный класс для создания нужного платформо-зависимого рендера. Наиболее универсальным использованием является вызов метода Create()
без аргументов.
Вы можете найти больше информации в комментариях ниже.
class CRenderer
{
public:
static IRenderer *Create(
const RendererTechnology technology = RendererTechnology::OpenGL, // Technology to use'); ?>
#ifdef _WIN32
const Version2 &max_version = Version2{ 4, 5 }, // Максимальная версия нативной графики для использования
#endif
#if defined(__linux__) && !defined(__ANDROID__)
const Version2 &max_version = Version2{ 4, 5 }, // Максимальная версия нативной графики для использования
#endif
#ifdef __ANDROID__
const Version2 &max_version = Version2{ 3, 2 }, // Максимальная версия нативной графики для использования
#endif
const bool double_buffered = false, // Использовать ли буферизацию
const int multisample_factor = 0, // Фактор сглаживания
IErrorListener *listener = nullptr, // Слушатель ошибок
const bool debug_context = false); // Нужно ли пытаться создать отладочный контекст для нативной графики
};
На данный момент поддерживается только RendererTechnology::OpenGL
технология.
Для создания рендера в отладочном режиме, нужно указать слушателя listener
. Отладочный контекс нативной графики будет создан только в том случае, если указан слушатель listener
, debug_context
равен true и нативная графика поддерживает отладочный контекст.
Если multisample_factor
больше нуля, наилучшее ближайшее значение к указанному будет выбрано. Например, если указать multisample_factor
равным 16, но нативная графика на устройстве где запускается приложение поддерживает максимальное значение 8, то будет создан рендер с фактором 8, а не 16.
Ниже можно найти список поддерживаемых и использующихся по умолчанию значений.
Платформа | Максимальная версия по умолчанию | Максимальная поддерживаемая версия |
---|---|---|
Windows | 4.5 | OpenGL 3.1 |
Linux | 4.5 | OpenGL 3.1 |
Android | 3.2 | GLES 3.1 |
Пространство имен: | nitisa |
Включение: | Package/Core/Renderer.h |