Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

20.11.2008, 12:37

Animationen und Interaktionen auf dem Desktop

Grundsätzlich: Welche Möglichkeiten gibt es, Animationen auf dem Desktop wiederzugeben?

Ihr kennt sicher alle Karl Klammer, die Büroklammer, die jeden Office-Anwender begleitet und mit witzigen Anims aufheitert. Hat jemand eine Ahnung, welche Technologien da dahinterstecken und in welcher Form solche Animationen vorliegen? (sind es einfache gifs?! :roll: )
(denke Layered Windows ist auf jedenfall mal eine Voraussetzung)

Des weiteren würde mich mal interessieren, ob man mit DirectX direkt das Desktop beeinflussen kann. Also beispielsweise das aktive Desktop auf einen 3D Screen rendern. (Würde sicherlich coole Effekte möglich machen :shock:)

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

2

20.11.2008, 12:46

Ich habe doch das Tutorial raufgesetzt.. Hast du das mal angeschaut?

Animationen werden dann einfach so gemacht, dass eine grössere Bitmap geladen wird und dann halt beim rendern jeweils andere Koordinaten für die Soruce angegeben werden, so, dass ein anderer Ausschnitt geblittet wird..

Also mit DirectX kannst du direkt nicht auf den Screen rendern. Aber es ist kein Problem die ganze Szene in eine Textur zu rendern und dann kannst du gleich vorgehen, wie in meinem Tut und die Textur auf den Screen bringen.

3

20.11.2008, 14:21

Ja doch hab ich mir angeschaut. :D
Verstehe ich das richtig: ich brauche eine große Bitmap auf der die einzelnen Ausschnitte bzw. Frames abgebildet sind. Und ich durchlaufe diese einzelnen Abschnitte dann in einer von mit definierten Geschwindigkeit?!

DirectX: Müsste ich dann das aktuelle Desktop komplett mit der gerenderten Textur(die das aktuelle Desktop enthält) überdecken?
Und weiter: Hier wäre es doch dann auch ohne weiteres möglich das Screenmate in die 3D Umbebung zu nehmen (zb als *.x) und entsprechend zu handeln? Und wie verhält es sich mit der Destop-Interaktion. Die würde doch komplett verloren gehen, oder? Denkst du es gäbe die Möglichkeit einen Teil des Desktops (400x400px) als 3D Screen zu rendern, in diesem Screen dann die Animation via X File auszuführen und bei einer Bewegung (beispielsweise links->rechts) immer den aktuellen Hintergrund aus dem 2D in diesen 400x400px Screen als einen 3D Screen zu rendern? Ist das Performance-technisch überhaupt tragbar?

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

4

20.11.2008, 14:31

Zitat

Verstehe ich das richtig: ich brauche eine große Bitmap auf der die einzelnen Ausschnitte bzw. Frames abgebildet sind. Und ich durchlaufe diese einzelnen Abschnitte dann in einer von mit definierten Geschwindigkeit?!

Ja, so in etwa läuft das ab..

Zitat

DirectX: Müsste ich dann das aktuelle Desktop komplett mit der gerenderten Textur(die das aktuelle Desktop enthält) überdecken?

Nein. Warum auch?!

Zitat

Und weiter: Hier wäre es doch dann auch ohne weiteres möglich das Screenmate in die 3D Umbebung zu nehmen (zb als *.x) und entsprechend zu handeln?

Wie schon gesagt, du kannst einfach die ganze Szene in eine Textur rendern und das dann weitergeben. Da spielt es keine Rolle mehr, ob das mal 3D war, oder nicht.

Zitat

Und wie verhält es sich mit der Destop-Interaktion. Die würde doch komplett verloren gehen, oder? Denkst du es gäbe die Möglichkeit einen Teil des Desktops (400x400px) als 3D Screen zu rendern, in diesem Screen dann die Animation via X File auszuführen und bei einer Bewegung (beispielsweise links->rechts) immer den aktuellen Hintergrund aus dem 2D in diesen 400x400px Screen als einen 3D Screen zu rendern? Ist das Performance-technisch überhaupt tragbar?

Wie gesagt kannst/musst du ja ein eigenes Window machen und das kann deine gewünschten Dimensionen habe.
Wie das mit der Performance aussieht weiss ich nicht. Das ist alles genau gleich, wie sonst mit DirectX auch, ausser, dass UpdateLayeredWindow ev. nicht damit klar kommt. Kann sein. Müsstest es halt ausprobieren.

Werbeanzeige