3D Konzept in GDI+: Text Rotation auf Glaskugel / Globus Rotation

  • Hier eine kleine 3D Studie (Konzept) für


    eine Text Rotation auf einer "Glaskugel",

    3D Object Rotation v1.1.6.jpg


    eine Text Rotation um eine Kugel,
    3D Object Rotation v1.1.7.jpg


    eine Globus Rotation.
    3D Object Rotation v1.2.6.jpg


    Die Globus Rotation läuft quasi in "Echtzeit", momentan noch... :P

  • Die Globus Rotation ist ziemlich lahm, momentan noch...

    Der Grund ist offensichtlich....
    330x die Schleife durchlaufen und jedes Mal zwischen 5 und 250 Punkte um(be)rechnen dauert.
    Wir hatten das bereits in Assembler umgesetzt und sind bei der Berechnung von ALLEN Path- Koordinaten bei ca. einer Millisekunde gelandet...was dann die FPS von 1 auf ca. 30-40 pushed.
    Letztendlich limitieren die GDI-Funktionen die FPS.
    Weitere Geschwindigkeitsoptimierungen liegen im wiederholten "Zeichnen" des Hintergrundes, das dauert auf meinem Rechner ca. 15-20ms, blitten des Hintergrundes in einen Backbuffer nur 1ms.

  • Momentan sieht die Rotation richtig aus, ist aber im Grunde genommen eine optische Täuschung (beide Beispiele)! ;)


    Andy: das der drehende Globus langsam läuft, ist offensichtlich, wenn man sich Schleife anschaut. Keine Ahnung, wann ich das Problem mit der Z-Achse gelöst bekomme. Anschließend kann der ASM Boost anfahren, um die Darstellung richtig und schnell darzustellen. Ferner müssen wir uns überlegen, wie man verdeckte Bereiche eines Objekts nicht zeichnet (3D Objekte). Diese Beispiele sind ja "nur" flache Objekte.

    Der Weg zu dem drehenden und brennenden 3D AutoIt Logo ist noch ein bissl weit weg (zumindest für mich)...

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Ferner müssen wir uns überlegen, wie man verdeckte Bereiche eines Objekts nicht zeichnet (3D Objekte). Diese Beispiele sind ja "nur" flache Objekte.

    Ist mir schon klar. "Normalerweise" schreibt man sich für richtiges (!) 3D einen Raytracer, welcher den vom Betrachter nähesten Punkt auf dem Strahl zeichnet. Alle "dahinter" liegenden Punkte sind somit verdeckt und unsichtbar.
    Das Problem vom Globus ist ja die Transparenz der Meere. Würdest du die Meere blau einfärben, könnte man zuerst die Länder der Globusrückseite zeichnen, dann die vorderen. Das vordere überdeckt das hintere Bild...
    Problem hier ist die Rechenpower, die hinteren Bilder braucht man garnicht darzustellen, man sieht sie nach der Überdeckung ja sowieso nicht!

    Ich würde voll auf Pseudo 3d gehen, ein "flaches" Bild, welches durch Effekte wie Schatten/Spitzlichter aufgehübscht wird.

  • Das Problem vom Globus ist ja die Transparenz der Meere. Würdest du die Meere blau einfärben, könnte man zuerst die Länder der Globusrückseite zeichnen, dann die vorderen. Das vordere überdeckt das hintere Bild...

    Jein, denn ich benutze ja Pfade (Pathes) und deren Punkte können gleichzeitig auf der vorderen bzw. hinteren Seite (Z-Achse) sein. Die Transparenz spielt hier keine Rolle.

    Eukalyptus hatte das in seinem Beispiel mit der Schrift auf der Kugel anders gelöst. Vielleicht kann man diese Idee verwenden, um das Problem mit der Z-Achse zu lösen.

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • [OT]Original schafft auch nur 1 Umdrehung pro Tag[/OT]

    :rofl:

    Ich muss mal schauen, ob ich eine Map mit weniger Polygonen finde, damit schneller läuft oder gleich Andy's ASM Variante modifizieren und einbauen.

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • :rofl:

    Und wieder ein Klassiker, der mir entgangen ist, weil ich nicht richtig lese bzw. weil mir infolge Betriebsblindheit (FPS) die "schönen" Sachen verborgen bleiben... :thumbup:

    Ich stelle mir gerade einen tiefenentspannten User vor seinem Rechner sitzend vor, gerade das Script runtergeladen und ausgeführt, seine bessere Hälfte schaut ihm über die Schulter, "Oh schön, ein Bild der sich drehenden Erde..." und der User schaut verzückt der Animation zu...und schaut....und schaut...und schaut...bis er nach 24h seiner besseren Hälfte fröhlich zuruft: "Schatz, klasse, jetzt hat sie sich einmal gedreht!!!". Diese daraufhin: "Ist wirklich toll gemacht, nennt man das bei euch Programmierern nicht "Echtzeit"?!"
    :klatschen:

  • Ich stelle mir gerade einen tiefenentspannten User vor seinem Rechner sitzend vor, gerade das Script runtergeladen und ausgeführt, seine bessere Hälfte schaut ihm über die Schulter, "Oh schön, ein Bild der sich drehenden Erde..." und der User schaut verzückt der Animation zu...und schaut....und schaut...und schaut...bis er nach 24h seiner besseren Hälfte fröhlich zuruft: "Schatz, klasse, jetzt hat sie sich einmal gedreht!!!". Diese daraufhin: "Ist wirklich toll gemacht, nennt man das bei euch Programmierern nicht "Echtzeit"?!"

    Made my day :D

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.