Ich bin in der gloss Bibliothek und als vernünftige Person bin ich ziemlich irritiert durch das Fehlen von Anti-Aliasing. Ich kenne einige OpenGL-Fensterhinweise, die das Aktivieren von Anti-Aliasing unterstützen, insbesondere den GL.lineSmooth
Hinweis. Beim Durchsehen der Gloss-Schellack-Dokumentation scheint es jedoch keine offensichtliche Möglichkeit zu geben, OpenGL-Hinweise zu setzen. Wie würde ich also weitermachen?Set OpenGL Fenster Hinweise in Gloss
Antwort
Hier ist das Beste, was ich herausfinden kann ...
gloss
Abstracts Grafiken Backends über die Typklasse, und es gibt zwei Instanzen definiert:
instance Backend GLFWState
instance Backend GLUTState
Welches verwendet wird, bei der Kompilierung gesteuert wird Zeit über die CPP-Makros WITHGLUT
und WITHGLFW
.
Das erklärt, warum glanz keine Funktionen zur Anpassung des GL-Setups bietet - das Backend ist abstrakt.
Der Code Initialisierung für das GLUT-Backend ist in der initializeGLUT
Funktion in Grafik/Glanz/Internals/Interface/Backend/GLUT.hs
Vielleicht können Sie diese Routine ändern GLUT einrichten sie Art und Weise möchten Sie erhalten eine benutzerdefinierte Version von Glanz.
Heh. Hier haben wir eine Bibliothek, die zwei andere Bibliotheken abstrahiert, deren einziger Zweck darin besteht, mehrere andere Bibliotheken zu abstrahieren. – immibis
Ja, die einfachste Option scheint die "Initialize" -Funktion zu modifizieren und den Gloss manuell zu kompilieren. Ich werde es versuchen, wenn ich nach Hause komme. – NatureShade
Sie könnten sich die ['gl'] (https://hackage.haskell.org/package/gl) Bibliothek ansehen - angeblich handelt es sich um einen _complete_ Satz OpenGL Raw Bindings. – ErikR
Ja, ich weiß darüber, aber nicht, wie ich den Gloss OpenGL-Initialisierungscode ändern soll. – NatureShade