2016-07-16 1 views
3

J'ai rencontré un problème où je veux être capable de changer l'anti alias pendant que la fenêtre est ouverte. SDL2 ne permet que l'anti-aliasing (échantillonnage) à définir avant la création de la fenêtre et je me demandais s'il y avait un moyen de ne pas avoir à recréer la fenêtre chaque fois que je change le niveau de l'échantillon.Modification de l'anti-alias OpenGL après la création de la fenêtre SDL?

Exemple:

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

Répondre

2

Si vous voulez MultiSampling à faire partie de votre fenêtre, vous avez pas d'autre choix que de recréer la fenêtre. Cependant, le multi-échantillonnage est une fonction d'une cible de rendu. Donc, si vous voulez un meilleur contrôle, il vous suffit d'allouer un rendebuffer multi-échantillonné, de l'attacher à un framebuffer object, puis de le rendre (avec un tampon profondeur/stencil approprié, selon vos besoins particuliers). Lorsque vous voulez afficher l'image, blit the multisampled renderbuffer to the window.

+0

Merci pour cette info. Je pourrais l'utiliser dans des projets ultérieurs mais j'ai trouvé une réponse plus simple à mon problème. – Jarann