Multisampling ist eine Methode um Aliasing Effekte zu verringern. Dazu werden pro Bildschirmpixel mehrere Subpixel berechnet.

Dieser Vorgang geschieht in zwei einfachen Schritten. Zuerst müssen Sie der API mitteilen, dass beim Erzeugen des Fensters zusätzlicher Platz für die zusätzlichen Pixel bereitgestellt werden soll.

Binden Sie den folgenden Code in der graphics.c ein, bevor das Fenster erzeugt wird.

glfwWindowHint(GLFW_SAMPLES, 4);

Anschließend müssen Sie Multisampling als Feature aktivieren. Binden sie den folgenden Code ein, nachdem Ihr Fenster erzeugt wurde.


glEnable(GL_MULTISAMPLE);

Besonderheiten unter Windows

Unter Windows erhalten Sie möglicherweise einen Fehler weil GL_MULTISAMPLE undefiniert sei. Um dies zu beheben müssen Sie zusätzlich GLFW_INCLUDE_GLEXT definieren bevor Sie GLFW einbinden. Auch unter macOS und Linux schadet es nicht, diese Anpassung vorzunehmen, ihr Code bleibt damit cross-plattform-fähig.

Passen Sie den Anfang Ihrer graphics.h wie folgt an:

#define GLFW_INCLUDE_GLEXT

#include <GLFW/glfw3.h>

Unterschiede in der Implementierung

Je nachdem was Ihre Hardware kann und welche Treiber Sie installiert haben, kann das Ergebnis variieren. Testen Sie ob Sie auf Ihrem System einen Unterschied in der Qualität sehen können. Falls Sie nicht sehen, lohnt sich ein Blick auf die Framerate. Aktiviertes MSAA sollte zu einer signifikanten Verringerung der FPS führen.