CRenderer


Вспомогательный класс для создания нужного платформо-зависимого рендера. Наиболее универсальным использованием является вызов метода 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