Antialiasing im GM aktivieren

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Antialiasing im GM aktivieren

    Guten Morgen^^

    In Sachen 3D sieht im GM bei Bildschirmen mit geringer Auflösung immer alles sehr kantig aus,
    da anscheinend kein Antialiasing aktiviert ist. Wie aktiviere ich es nun?

    Falls ich es außerhalb des Programms aktivieren muss, wäre ein Streifen Code, der das auch kann
    sehr hilfreich.
  • Du kannst keine scharfen Kannten durch Antialiasing wegbekommen [Edit: Ich spreche hier von 3D-Edges/Kannten :) ].
    Das einzigste was hier hilft, ist die View-Dimensionen an die Display-Dimension anzupassen (durch Stretching, nicht durch 1:1 Anpassung), nur als Beispiel :
    Ein Room oder View hat 1024x768pixel
    und deine Display-Resolution hat 1920x1080pixel.

    GML-Quellcode

    1. //ROOM width = 1024 und ROOM height = 768 !!!
    2. display_set_all(1920,1080,-1,-1);
    3. window_set_fullscreen(true);


    Ich gehe ganz stark davon aus, dass du das auch gemeint hast. Ansonsten, du weisst sicherlich, dass es Textur-Antialiasing gibt:

    GML-Quellcode

    1. texture_set_interpolation(true);

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Gleich knallt's ()

  • Danke für die Antworten.

    @Tice:
    Das sieht zwar ganz gut aus. Ist jedoch schwer zu hand haben und
    verschlingt ziemlich leistung. Ich probier's mal aus :)

    @Gleich knallt's:
    Das mit dem Anpassen vom Bildschrim habe ich schon drin.
    Den Standart Texture-Shader vom GM nutze ich immer.
    (Ausser bei durchsichtigen Texturen: Tiefenprobleme, ganz schlimme Dinge D: )

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Mr. Diesel ()

  • hab ich mir schon fast gedacht.

    Ich weiss... es is'n Albtraum, dass YYG keine Anstallten macht, etwas im Bereich D3D zu verbessern oder hinzuzufuegen. ;/
    Stattdessen fummeln die am OS-Porting rum. Und wegen einer laecherlichen Ambient-Lighting Funktion in D3D, mach ich mir gar nich erst die Muehe auf 8.1 aufstocken.
    Ich bete jeden Tag drum, dass wir bald mit netten Shadern und Mesh-Funktionen gesegnet werden ^^

  • Du kannst keine scharfen Kannten durch Antialiasing wegbekommen [Edit: Ich spreche hier von 3D-Edges/Kannten :) ].
    Das einzigste was hier hilft, ist die View-Dimensionen an die Display-Dimension anzupassen


    Das stimmt nicht. Die Auflösung zu ändern, bringt da überhaupt nichts.
    Antialiasing ist genau das, was man braucht um die Kanten zu glätten. SDX und ich haben mal eine DLL entwickelt, mit der man direkt auf das D3D-AA zugreifen kann. Damit ist es auch möglich z.B. 8x AA zu aktivieren, jedoch hat diese DLL aus unerfindlichen Gründen bei den meisten nicht funktioniert.

    GML-Quellcode

    1. Ich bete jeden Tag drum, dass wir bald mit netten Shadern und Mesh-Funktionen gesegnet werden


    Da kannst du lange beten.
    Aber mit C++ und der GMAPI kannst du zumindest Shader benutzen. Als Alternative gibt es da auch eine fertige DLL, die dir das ermöglicht. Bedenke jedoch, dass der GM DX8 benutzt, welches wiederum kein HLSL unterstützt.

    © 2008 by Teamgrill Productions
  • Stretching, ist das einzigste was GM zubieten hat wenn'de mit D3D operierst. Wenn das eure DLL was besseres kann, das is gut, immer her damit ^^

    GMAPI... du meinst, voellig bei Windows bleiben? Ne, ne, neeee
    Gott sei dank haben wir eine 39DLL mit dessen Mac Port Version.
    Ganz im Ernst... wenn ich schon mit C++ rumalbern will, kann ich auch gleich mit C anfangen und Hardwareprogrammierer werden... da eh alles OpenGL SDK unterstuetzt... bis auf XBox (weis ich gar nich ma, ob's beides unterstuetzt... eher warscheinlich). Spendier ich lieber 10 Jahre, eine eigene Engine zu coden.
  • @-$Marvin$-

    Scheint so, als unterstütze meine Graka kein AA D:
    Denn in der Hilfe steht zwar, dass sich etwas ändern müsste nach

    GML-Quellcode

    1. display_reset(8)

    jedoch merke ich rein gar nichts.

    @Soul Reaver

    Außerhalb des GM kenne ich mich recht wenig mich Programmieren aus.
    Zuvor war nur Python mit Tkinter und OpenGl angesagt. ( C++ in der Console :\ )
    Die GMAPI kann ich nicht bedienen. Jedoch brauche ich keinen Shader. Der Standart Pixel-Shader
    ist in Ordnung. Ich werde warten, bis sich eine gute Lösung für das AA findet.

    Und: Die Auflösung anzupassen bringt schon etwas:
    Je mehr Pixel auf einem haufen, desto weniger kantig wirkt das Bild.
    Vielleicht meinst du etwas ganz anderes. Aber da ist ein Unterschied.

    View in Room:
    W: 1024
    H: 768
    Port on Screen:
    W: 1024
    H: 768

    View in Room:
    W: 1024
    H: 768
    Port on Screen:
    W: 1920
    H: 1080

    Probier es aus und du wirst episches feststellen.

    EDIT:
    @Gleich knallt's
    Warte, warte, warte. Stretching = Absoluter Fail.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Mr. Diesel ()


  • Also bei mir funzt das und die interpolation tritt ein... oder reden wir ueber vollkommen unterschiedliche dinge?

    Edit: Also nochmal um mein Punkt klarzustellen, die Interpolation hierbei wird hervorgerufen durch stretching (english fuer "dehnen"). Wir zwingen die Grafik-Hardware dazu ein Bild was kleiner ist, als die Bildschirmaufloesung sich ueber diese Flaeche auszudehnen, wobei der AA (Antialising-Effekt) entsteht (Edit2: "angewendet wird", muss es heissen). :)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Gleich knallt's ()

  • Also der Effekt kommt zwar auf der 3D-"Ebene" zum vorschein, jedoch wird die orthogonale Ebene auch gestreckt,
    was dann wieder nicht so schön aussieht. :(
    Zudem kommt, dass ich eigentlich bei 3D Projekten am Anfang immer die Viewgröße an die Displaygröße anpasse. :wacko:

    Welche Grafikkarten unterstützen eigentlich das AA im GM?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Mr. Diesel ()