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

24.08.2006, 09:51

Frage zur initialisierung

Hallo leute..ich bin jetzt schon seit ca 2 jahren mit c++ dran(mal mehr mal weniger).Ich würde gerne weiter kommen und Richtung 3D Anwendug
oder ähnlichem gehen. Was mich immer abschreckt und mich so ein wenig
nervt, ist das immer wieder neue initialisieren von Directx, oder der aufwand ein Fenster zu erstellen!
Ich hätte gern irgend eine Klasse oder Funktion die das für mich übernimmt, die ich dann in alle Programme einarbeiten kann. Also zum Beispiel MachMirEinFenster(), DirectxInit() und fertig ist die Laube.Aber irgendwie bekomme ich das nicht so hin.In der tribase Engine sind ja ähnliche Funktionen...aber leider kann man den aufbau nicht einsehen.
Hat jemand nen Vorschlag wie ich das am besten meistern kann??

Anonymous

unregistriert

2

24.08.2006, 10:04

Eine Möglichkeit wären ja Defines von den Datentypen von DirectX, wo du
dann nur die Defines ändern musst, um DX zu updaten, wenn ich deine
Frage soweit richtig verstanden habe. DirectXInit() und MachMirEinFenster()
solltest du aber hinkriegen, gibt genügend Tutorials.

Steven77

Alter Hase

Beiträge: 515

Wohnort: Münster - Gievenbeach

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

3

24.08.2006, 10:55

Ein Fenster zu erstellen und Direct3D zu initialisieren sollte wirklich kein Problem in Form von Abschreckung sein. Sei es, dass du es jedesmal mit Copy-und-Paste in deine Anwendung kopierst, oder du dir -- wie du ja gerne würdest -- einfach zu bedienende Funktionen dafür schreibst. Wenn du erstmal in die 3D-Programmierung eingestiegen bist, wirst du sehr schnell merken, dass es da weitaus "heftigere" Dinge gibt, als ein Fenster zu erzeugen und Direct3D (oder sonstige DirectX-Komponenten) zu initialisieren. Aber es wäre schade, wenn dich das abschreckte.
Wenn du die Tribase-Enginge nutzen möchtest, solltest du dir David Scherfgens Buch "3D-Spieleprogrammierung mit DirectX 9 und C++" anschaffen. Ohne die Tribase-Engine kannst du Online-Tutorials nutzen, jedoch empfehle ich dir in jedem Fall irgendein Buch.
Kommen Sie nie mit einem Schwert zu einer Schießerei.

Black-Panther

Alter Hase

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

4

24.08.2006, 11:44

Außerdem solltest du dann als D3D Progger schon wissen, wie man D3D initialisiert... Ich mein, das sind Grundlagen, die sollte man schon kennen... Niemand hier spricht von Auswendiglernen der Initialisierung, aber dass man sie wenigstens mal gemacht hat, sollte schon sein ;-)
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

5

24.08.2006, 14:25

Re: Frage zur initialisierung

Zitat von »"jojoac"«

...In der tribase Engine sind ja ähnliche Funktionen...aber leider kann man den aufbau nicht einsehen...


Also eigentlich bekommt man beim Buch gleich die Tribase mit Header und Source mitgeliefert :)
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

6

25.08.2006, 12:39

Das mit dem Initialisieren bekomm ich schon hin...aber wo packt ihr das ganze zeug denn immer rein, doch nicht in die main.cpp...wie ist es denn am besten aufzuteilen, so das ich es immer wieder benutzen kann?
Ich hab da echt nen Knoten im Kopf :?
Gruß
Jojac

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

7

08.12.2006, 00:02

Ist zwar schon länger her aber vielleicht interessiert es ja irgendwann mal irgendjemanden:)
bn zwar noch weit am anfang aber ich löse das über eine eigene funktion.
Einfach ne Funktion dxinit() oder so schreiben und da alles rein.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

8

08.12.2006, 00:18

so hab ich das am anfang auch gemacht.

und dann hab ich mir ein paar wrapper klassen geschrieben die ich zum teil auch immer noch verwend, wenn ich schnell mal was ausprobieren will...

sich so ein testframework zu basteln is ne feine sache ;)

Werbeanzeige