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

27.07.2014, 19:19

Direct3D 2D Bilder Rendern

Guten Abend!

Ich sitze nun schon geraume Zeit hier vor meinem Laptop und suche nach einem (mit meinen Programmierkünsten) machbaren Weg, um 2D Bilder (.png, .jpg oder .bmp, evtl. .dds) zu Rendern. Das ganze sollte mit Direct3D funktionieren. Rastertek hat dazu ja ein Tutorial, nur ist die Seite leider down :/. Also soweit ich weiß muss ich mir ein 2D Render Target erstellen und dann iwie hineinrendern. BrayznarSoft hat auf der Seite ein Tutorial zum Rendern von Text, kann man mit den selben Funktionen (bis auf D2DRenderTarget->DrawBitmap anstatt von D2DRenderTarget->DrawText) auch ein Bild 'Zeichnen'? Und wenn ja, dann wäre die Frage, die ich hätte: Wie lade bzw. erstelle ich eine Bitmap aus einem .bmp Bild?

Hoffe mir kann einer helfen, ich suche nun schon lange nach den Funktionen die ich dafür brauche!

MFG
FERNman

PS: Ich verwende DX11 und C++

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

27.07.2014, 19:51

Was willst Du denn jetzt? Direct2D oder Direct3D? Je nachdem sind natürlich auch die zu verwendenden Methoden jeweils andere.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

3

27.07.2014, 20:01

Ich denke, dass ich wohl Direct2D möchte. Grundsätzlich geht es mir aber darum, dass ich ein Main Menu für mein Programm (mit Bildern als Buttons) erstellen kann, Ingame dann aber auch u. a. Lebensbalken und z.B. ausgewählte Waffe Rendern kann. Es geht mir nicht darum, dass das Bild in einem 3D Raum dargestellt werden soll (ohne Z-Position)!

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

4

27.07.2014, 20:07

Wenn Du 3D willst, willst Du Direct3D und nicht Direct2D. Du musst dann nur eine entsprechende orthographische Projektionsmatrix setzen und die Polygone entsprechend parallel zur Kamera zeichnen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

5

27.07.2014, 20:18

Es tut mir leid, aber ich habe keine Ahnung was eine Orthografische Projektionsmatrix ist. Ich nehme einmal an, dass du damit eine Art View meinst, welches 3D Objekte immer Vor der Kamera erscheinen lässt. Das mit den Polygonen Parallel zur Kamera zeichnen habe ich mir auch schon überlegt, aber ich war / bin mir nicht sicher ob das das beste / einzige Mittel zum Zweck ist. Falls das so ist und du mir erklären kannst, wie ich eine 'Orthografische Projektionsmatrix' erstelle oder mir einen Link zu einer Erklärung geben kannst, wäre ich dir sehr dankbar und mein Problem hätte sich erledigt!

6

27.07.2014, 21:35

Orthographische projektionsmatrizen kannst du einfach mal googlen. Ansonsten auf der msdn Seite einfach nach der entsprechenden Funktion suchen. Oder direkt in die Mathematik dahinter einsteigen, ist nicht all zu kompliziert.

Und ja es ist ein gängiger weg, ein Polygon parallel zur Kamera zu rendern für 2d Graphiken ingame. ;)

Links dazu:
http://www.scratchapixel.com/lessons/3d-…hic-projection/
http://msdn.microsoft.com/en-us/library/…0(v=vs.85).aspx (Funktion deprecated, Matrix dennoch interessant)
EnvisionGame(); EnableGame(); AchieveGame(); - Visionen kann man viele haben. Sie umzusetzen und auf das Ergebnis stolz zu sein ist die eigentliche Kunst.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »iSmokiieZz« (28.07.2014, 14:08)


7

28.07.2014, 13:37

Danke, habs hinbekommen :D

Dein Link zu MSDN funktioniert allerdings nicht, ich gehe davon aus du wolltest mich zu http://msdn.microsoft.com/en-us/library/…0(v=vs.85).aspx weiterleiten :D

Danke und MFG
FERNman

8

28.07.2014, 14:07

Huch, ja. Wollte ich :)
EnvisionGame(); EnableGame(); AchieveGame(); - Visionen kann man viele haben. Sie umzusetzen und auf das Ergebnis stolz zu sein ist die eigentliche Kunst.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

9

29.07.2014, 06:35

Was genau nützt ihm Direct2D, wenn er ebenfalls 3D Objekte will?
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

10

29.07.2014, 12:49

Soweit ich weiß baut Direct2D auf Direct3D auf und lässt sich auch zusammen verwenden.

Es kommt ja immer darauf an was man machen möchte. Um jetzt zum Beispiel ein paar Bildchen oder ein einfaches Rechteck in Direct3D zu zeichnen, wäre Direct2D meiner Meinung nach ein wenig überdimensioniert, das geht auch mit wenig mehr Aufwand direkt in Direct3D. Direct2D wird besonders dann praktisch, wenn man wirklich Vektorgrafiken verwenden will.

Werbeanzeige

Ähnliche Themen