Менять сглаживание OpenGL после создания окна SDL?

Я столкнулся с проблемой, когда хочу изменить сглаживание, когда окно открыто. SDL2 позволяет только устанавливать сглаживание (сэмплирование) перед созданием окна, и мне было интересно, есть ли способ не создавать окно заново каждый раз, когда я изменяю уровень сэмплирования.

Пример:

SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 4); // Before the window
SDL_Window* window = SDL_CreateWindow("title", 0, 0, 960, 540, SDL_WINDOW_OPENGL);

3

Решение

Если вы хотите, чтобы мультисэмплинг был частью вашего окна, у вас нет другого выбора, кроме как воссоздать окно.

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

2

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

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector