2016-05-29 10 views
1

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

+0

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

+0

Ja, ich weiß darüber, aber nicht, wie ich den Gloss OpenGL-Initialisierungscode ändern soll. – NatureShade

Antwort

2

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.

+0

Heh. Hier haben wir eine Bibliothek, die zwei andere Bibliotheken abstrahiert, deren einziger Zweck darin besteht, mehrere andere Bibliotheken zu abstrahieren. – immibis

+0

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