QuickDraw 100mal so schnell wie GDIPlus Update10 Texture speichern / Screencap

  • Ich finde das Projekt auch wirklich super. :thumbup:

    Nur verstehe ich in OpenGL(C++) nicht ganz, wie man Bilder in das Programm lädt, aber das hat ja nichts mit dem Projekt zu tun ;)

  • Ich habe mir das ganze mal angeguckt und hätte noch was aufzuführen.
    -Mann sollte dem GUI einen Namen geben dürfen
    -Jpg Texturen laden
    -Bei Rects sollte mann die Strichstärke angeben können
    -In der UDF sollten Funktionsheader sein
    -Code zerfällt. Zu viele Enter.
    -Funktionen umbenennen zu _QuickDraw_Rect oder so
    -Globale Variablen außerhalb der Startup Funktionen deklarieren. Macht nur unnötig errors

  • hallo,

    @Sprenger - Im der DLL kann man der Gui schon einen Namen geben ich muss die Funktion nur noch in die Quickdraw.au3 übernehmen und ich habe vor das man den RenderContext in eine Autoit Gui einbauen kann.
    - Strichdicke sollte auch kein Problem sein
    - Die UDF muss ich nochmal aufräumen und eventuell die Funktionen umbennen
    - JPGs zu laden könnte etwas komplizierter werden, da es viel verschiedene Kompressionen gibt( eventuell benutze ich auch die FreeImage lib )

    gruß Moritz

  • Öhm ich hab mal ne Frage muss das soo aussehen??
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Falls nicht liegt das Problem am Text mit Textur (Z.45 im Bsp)
    könntest du da nochmal nachschauen und ist das bei anderen auch soo??

    Edit: Sonst saubere Arbeit und funktioniert sonst supaaa

    Mfg Keyle

  • Nein das Update hatte nichts mit deinem Problem zu tun. was hast du denn für ein system oder wie alt ist deine opengl version, es kann sein das ältere versionen den stencil buffer nicht unterstützen.

  • Wäre schön, wenn der Kreis mit Textur "runder" ist. (ziemlich verpixelt)
    Kann man auch mit den Kreis (mit Textur) einen Dreh-Effekt erzeugen? [<-] dreht nach links, [->] dreht die die Kugel nach rechts.

    Nur keine Hektik - das Leben ist stressig genug

  • der fehler von keyle liegt an dieser zeile:

    [autoit]

    _QuickDraw_Text( 340, 190, "Hallo Welt", 28, $ptrTexture2, 0xFF000000 )

    [/autoit]


    wenn ich die rausnehme läuft es perfekt!liegt möglicherweise an " $ptrTexture2 " (ein text mit textur??)
    super ist es schon!

  • ja also der Befehl an sich korrekt, wenn du auf Seite 1 guckst siehst du bei dem Bild das der Text bunt mit einer Texture hinterlegt ist ;) . Um die Texture hinter den Text zu legen rendert man den Text nicht in den frame buffer sondern in den stencil buffer(schablonen puffer) und anschließend legt man fegt das Opengl nur da rendern soll, wo der stencil buffer einen bestimmten wert hat. Dadurch wird die Texture nur an den Stellen gezeichnet wo der Text in Stencil buffer ist. Bei euch funktioniert das aber scheinbar nicht und er zeichnet die gesamte Texture :S .

  • das mit dem tga muss ich mir mal anschauen - das mit dem surface mode ebenso, in der udf steht ja auch das nur eine beta version der funktion ist, wenn sie richtig funktioniert sollte es keinen unterschied mehr geben, ebenso kann man dann die surface in der gui verschieben.

    Edit: So um das Problem mit antialiasing musst du folgendes machen

    [autoit]

    Local $Gui = GUICreate("Surface Test", 640, 480 )

    [/autoit][autoit][/autoit][autoit]

    GUISetState()

    [/autoit][autoit][/autoit][autoit]

    _QuickDraw_CreateSurface( $Gui, 0, 0, 640, 480 )

    [/autoit][autoit][/autoit][autoit]

    GUIDelete( $Gui )

    [/autoit][autoit][/autoit][autoit]

    Local $Gui = GUICreate("Surface Test", 640, 480 )

    [/autoit][autoit][/autoit][autoit]

    GUISetState()

    [/autoit][autoit][/autoit][autoit]

    _QuickDraw_CreateSurface( $Gui, 0, 0, 640, 480 )

    [/autoit]

    dann gehts;-)

    Einmal editiert, zuletzt von moritz1243 (4. August 2010 um 19:27)