OpenGL / SDL2: биты буфера трафарета всегда 0 на ПК

Я пишу приложение с использованием SDL2 / OpenGL и выполняю некоторые трафаретные операции.

На Mac все работает как положено, однако на ПК трафарет не работает.

При ближайшем рассмотрении я понял, что следующий код обеспечивает разные результаты на моем Mac и ПК:

SDL_Init (SDL_INIT_VIDEO);

SDL_GL_SetAttribute (SDL_GL_STENCIL_SIZE, 8);

SDL_CreateWindow (…);

SDL_CreateRenderer (…)

… делать вещи …

Когда я печатаю биты трафарета (SDL_GL_STENCIL_SIZE) на Mac, я получаю 8. Когда я делаю то же самое на ПК, я получаю 0.

То же самое происходит, запускаю ли я его на реальном ПК или на эмуляторе ПК на Mac.

Что мне не хватает? Как заставить SDL2 запрашивать контекст с помощью буфера трафарета?

Мне кажется, что реализация OpenGL для Mac отличается от настроек по умолчанию, чем на ПК, поэтому я, вероятно, забываю сделать что-то, чтобы специально запросить буфер трафарета, но я не могу найти никакой полезной информации в Интернете …

Помощь ^ _ ^ ‘?

0

Решение

Неважно, я нашел ответ:

На ПК SDL2 по умолчанию был Direct3D (который, я думаю, объяснил бы, почему мой трафаретный буфер opengl там не находился ^ _ ^ ‘).

Чтобы заставить SDL2 использовать определенный драйвер, вы можете использовать второй параметр в SDL_CreateRenderer.

Проблема решена: D

StackOverflow, самая большая резиновая утка из доступных … ^ — ^ ‘

0

Другие решения


По вопросам рекламы [email protected]