Докуметация Cтарт Статьи Форум Лента Вход
Не официальное русскоязычное сообщество
Главная
    Документация jMonkeyEngine
        jMonkeyEngine Уроки и Документация
            Документация для продвинутых пользователей
                Чтение возможностей графических карт

Чтение возможностей графических карт

Опубликованно: 03.06.2017, 16:21
Последняя редакция, Andry: 03.09.2017 21:22

Когда разные люди проверяют вашу новую игру, вы можете получить отзывы о том, что ваша игра не запускается на их аппаратном обеспечении, или что некоторые детали не выглядят так, как ожидалось. Вам необходимо определить, какие функции поддерживаются аппаратным обеспечением пользователя, и предложить замену не поддерживаемых функций на старом оборудовании (или деактивировать их автоматически).

Вы можете считывать (и печатать) возможности графической карты пользователя, используя класс com.jme3.renderer.Caps:

Collection<Caps> caps = renderer.getCaps();
Logger.getLogger(HelloWorld.class.getName()).log(Level.INFO, “Caps: {0}”, caps.toString());
Замените HelloWorld на имя класса, в котором вы используете эту строку.

Примеры

Новая видеокарта имеет современные возможности, например OpenGL 2.1 и NonPowerOfTwoTextures:

INFO: Running on jMonkeyEngine 3.0.0
INFO: Using LWJGL 2.8.2
INFO: Selected display mode: 1280 x 720 x 0 @0Hz
INFO: Adapter: null
INFO: Driver Version: null
INFO: Vendor: ATI Technologies Inc.
INFO: OpenGL Version: 2.1 ATI-7.14.5
INFO: Renderer: AMD Radeon HD 6770M OpenGL Engine
INFO: GLSL Ver: 1.20
INFO: Timer resolution: 1.000 ticks per second
INFO: Capabilities: [FrameBuffer, FrameBufferMRT, FrameBufferMultisample,
OpenGL20, OpenGL21, ARBprogram, GLSL100, GLSL110, GLSL120,
VertexTextureFetch, TextureArray, FloatTexture,
FloatColorBuffer, FloatDepthBuffer, PackedFloatTexture, SharedExponentTexture, PackedFloatColorBuffer,
TextureCompressionLATC, NonPowerOfTwoTextures, MeshInstancing]

Вот пример возможностей немного устаревшей видеокарты, которая поддерживает OpenGL 2.0. Если вы используете функции OpenGL 2.1, вам необходимо решить, следует ли подключаться к низкокачественной замене неподдерживаемых функций (если вы все еще хотите поддерживать эту карту); Иначе игра не начнется вообще, и отобразится сообщение об ошибке, объясняющее пользователю, какие возможности у него отсутствуют, необходимые для того чтобы была возможность играть в игру.

INFO: Running on jMonkey Engine 3
INFO: Using LWJGL 2.7.1
INFO: Selected display mode: 1024 x 768 x 0 @0Hz
INFO: Adapter: null
INFO: Driver Version: null
INFO: Vendor: ATI Technologies Inc.
INFO: OpenGL Version: 2.0 ATI-1.6.36
INFO: Renderer: ATI Radeon X1600 OpenGL Engine
INFO: GLSL Ver: 1.20
INFO: Timer resolution: 1.000 ticks per second
INFO: Capabilities: [FrameBuffer, FrameBufferMRT, FrameBufferMultisample,
OpenGL20, ARBprogram, GLSL100, GLSL110, GLSL120,
VertexTextureFetch, FloatTexture,
TextureCompressionLATC, NonPowerOfTwoTextures]

В следующем примере отсутствует NonPowerOfTwoTextures, это говорит о том, что видеокарта этого пользователя не может обрабатывать текстуры с размерами, которые не являются квадратными степенями двух (например, «128×128»).

INFO: Capabilities: [FrameBuffer, FrameBufferMRT, FrameBufferMultisample,
OpenGL20, ARBprogram, GLSL100, GLSL110, GLSL120,
VertexTextureFetch, FloatTexture, TextureCompressionLATC]

Переведено для jmonkeyengine.ru, оригинал
Автор перевода: Andry

Добавить комментарий

jMonkeyEngine.ru © 2017. Все права сохранены.