JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=72b14c6a0b0fa84a3775372cf1252e01Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Kapitel 27 DirectX 9 und Visual C++
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Catscratch1
Junior JLI'ler



Anmeldedatum: 20.01.2005
Beiträge: 98

Medaillen: Keine

BeitragVerfasst am: 20.01.2005, 17:14    Titel: Kapitel 27 DirectX 9 und Visual C++ Antworten mit Zitat

Hi,

ich habe ein Problem. Ich habe mir das Buch DirectX 9 und Visual C++ gekauft. Leider habe ich die CD zum Buch verlegt und habe daher Probleme die Beispiele zum Laufen zu kriegen, da ja einiges an Code im Buch fehlt.

Das erste Beispiel in Kapitel 27, wo das Dreieck initialisiert wird habe ich noch prozedural hinbekommen, aber da ich eigentlich C# Programmierer bin, habe ich Probleme das Beispiel objektorientiert zu schreiben.

Ich kriege es nicht hin die Vertexstruktur als Attribut einer Klasse anzulegen.

Ich wäre dankbar, wenn mir jemand das Dreiecksbeispiel als objektorientierten Code geben könnte.

Danke!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 20.01.2005, 17:17    Titel: Antworten mit Zitat

Was nennst Du Objektorientiert? Sag jetzt nicht "Klassen", dann werd ich stinkig, da ich diesen alten Aberglauben nicht abhaben kann.

http://www.zfx.info/Tutorials.php?ID=61 << Bringt was!
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Catscratch1
Junior JLI'ler



Anmeldedatum: 20.01.2005
Beiträge: 98

Medaillen: Keine

BeitragVerfasst am: 20.01.2005, 17:31    Titel: Antworten mit Zitat

naja ich mein schon klassen.
Was nennst du da Aberglauben.
Ich mach nen Vergleich zwischen Managed DirectX und DirectX. Da muss die Struktur wenigstens übereinstimmen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 20.01.2005, 17:50    Titel: Antworten mit Zitat

Also wer denkt man hat OOP nur weil man Klassen benutzt, sollte das Buch das er hat mal ganz schnell auf den Müll werfen!

Nichtmal DirectX ist richtig OOP sondern eher nur son billiger Abklatsch, obwohl das COM-Prinzip anfürsich sehr gut ist.

OOP bedeutet:
- Strickte Einhaltung der Richtlinien, darunter fällt auch das OCP! (DX und Managed kannste knicken, machen die net)
- const-correctness (bei DX? lol)
- typsicherheit (ich sag nur void*)
- getter/setter (naja bei DX ok, aber uff)
- namespaces
- templatebasierung (schon allein der typsicherheit)
- richtige Vererbung ohne Liskov-Prinzip (DX? LOOOOL)
- one defintion rule
- Law of the big three (Komm lassen wir das Thema mal bei DX Wink)

Du siehst nun was OOP ist
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Catscratch1
Junior JLI'ler



Anmeldedatum: 20.01.2005
Beiträge: 98

Medaillen: Keine

BeitragVerfasst am: 21.01.2005, 06:30    Titel: Antworten mit Zitat

Ich kenne mich mit OOP ganz gut aus.

Ich sag ja nur, dass ich das Prinzip so weit wie möglich einhalten will, damit die Struktur mit C# vergleichbar ist.

Ich programmier bisher nur mit C# und Java, daher ist mir der Zeiger, typedef und struct kram ein bisschen unbekannt.

Dass DirectX nicht wirklich OOP ist, sieht man vor allem an den ganzen Konstanten, die im DirectX Package sind.

Managed DirectX ist dagegen konsequent object orientiert, obwohl die in den neuen Versionen von Geheimhaltungsprinzip und Kapselung wieder weggehen, meines erachtens.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 21.01.2005, 07:40    Titel: Antworten mit Zitat

Catscratch1 hat Folgendes geschrieben:
Ich kenne mich mit OOP ganz gut aus.

Sure?

Catscratch1 hat Folgendes geschrieben:
Ich programmier bisher nur mit C# und Java, daher ist mir der Zeiger, typedef und struct kram ein bisschen unbekannt.


Dann würd ich mich mal mehr damit beschäftigen, OOP basiert auch auf Dynamik und da man dynamik nur mit Zeigern (new/delete) erreichen kann... solltest Dus dir mal ansehen, unter Java gibt es auch new.


Catscratch1 hat Folgendes geschrieben:
Dass DirectX nicht wirklich OOP ist, sieht man vor allem an den ganzen Konstanten, die im DirectX Package sind.


Was ist denn das für ein Argument? Tust ja so als ob du niemals Flags benutzt? Anscheinend kennst Du dich doch nicht so sonderlich aus.

CPP:
typedef enum _D3DPRIMITIVETYPE {
    D3DPT_POINTLIST = 1,
    D3DPT_LINELIST = 2,
    D3DPT_LINESTRIP = 3,
    D3DPT_TRIANGLELIST = 4,
    D3DPT_TRIANGLESTRIP = 5,
    D3DPT_TRIANGLEFAN = 6,
    D3DPT_FORCE_DWORD = 0x7fffffff
} D3DPRIMITIVETYPE;
Sieht für mich nach einer guten Einhaltung der OOP aus in Sachen Konstanten, bis auf das typedef aber das gibt es ja schon seit der Entstehung von DX.

Catscratch1 hat Folgendes geschrieben:
Managed DirectX ist dagegen konsequent object orientiert


Oh Herr... Habe Mitleid mit ihm, er weiß nicht was er sagt...


Nimms mir nicht sonderlich übel, aber ich glaube Du solltest Dir mal paar Anständige OOP Bücher kaufen und nicht diese 08/15 Bücher wie "OOP in 21 Tagen" oder das Nachgeplapper "DirectX ist vollkommen nach den OOP richtlinien Programmiert!" bzw. "DirectX benutzt klassen! Also ist es OOP!"
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Catscratch1
Junior JLI'ler



Anmeldedatum: 20.01.2005
Beiträge: 98

Medaillen: Keine

BeitragVerfasst am: 21.01.2005, 16:08    Titel: Antworten mit Zitat

Ruhig bleiben.

Aber Strukturen sind halt eher ein C++ Konstrukt,
Ich benutze daher anstatt Strukturen Klassen mit statischen Attributen, um Konstanten zu definieren. So wird es auch bei Managed DirectX umgesetzt.
Enumerations sind auch nicht schlecht für Konstanten, wie du es zeigst. Kriegt aber in Java beispielsweise seinen Durchbruch erst jetzt mit version 1.5 .
Was ich halt nicht mag sind Strukturen.
Strukturen existieren beispielsweise in Java nicht und in C# sind es wertige typen und nicht speicherreferenzierte. Außerdem sagt unser Prof:
"structs sind Klassen für Arme!"

Wir könnten hier jetzt Stundenlang diskutieren wie die OOP funktioniert, aber das bringt gar nichts. Weil Datentypen nix mit OOP zu tun haben, sondern die Implementierung von Problemstellungen.
Klassen bedeuten keinesfalls OOP, das ist richtig. Wenn mans richtig macht, kann damit OOP realisieren.

Aber, wenn Managed DirectX nicht objekt-orientiert umgesetzt wurde, dann weiß ichs nicht mehr und du musst dann die OOP wirklich missverstanden haben und solltest selbst drüber nachdenken, was du sagst. Ich hoffe du kennst den Unterschied zwischen Managed DirectX und DirectX!


Und zu den Zeigern. In Java gibt es keine Zeiger. Dort gibt es nur Referenzen, welche aber nicht mit den Referenzen in C++ vergleichbar sind.
Der new operator allokiert zwar neuen Speicher, jedoch ist eine Referenz in Java eher ein Handle.

In Java braucht man daher nicht auf den unterschied von call by value oder reference achten, da objekte nur by reference übergeben werden.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 21.01.2005, 18:59    Titel: Antworten mit Zitat

*PopcornNehm* Das wird sicher gleich spannend. Unser guter Patrick schafft es wirklich gut sich gute Kontakte auf zu bauen Very Happy
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
HomeLess_PunkDrummer
JLI Master Trainee


Alter: 36
Anmeldedatum: 28.11.2004
Beiträge: 583
Wohnort: Alter Joghurtbecher an der A4
Medaillen: Keine

BeitragVerfasst am: 21.01.2005, 19:21    Titel: Antworten mit Zitat

Ich setze 20 Euro auf Catscratch1. Obwohl Patrick sehr sehr erfahren ist, scheint unser Neuling hier mehrere Asse im Ärmel zu ham Very Happy
_________________
"Was die Götter angeht, so ist es mir unmöglich, zu wissen, ob sie existieren oder nicht, noch, was ihre Gestalt sei. Die Kräfte, die mich hindern, es zu wissen, sind zahlreich, und auch ist die Frage verworren und das menschliche Leben kurz."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 21.01.2005, 19:21    Titel: Antworten mit Zitat

FallenAngel84 hat Folgendes geschrieben:
*PopcornNehm* Das wird sicher gleich spannend. Unser guter Patrick schafft es wirklich gut sich gute Kontakte auf zu bauen Very Happy


Ich sag nur noch eines: Auf son bullshit lass ich mich net mehr ein, ist doch Kinderkacke
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 21.01.2005, 19:30    Titel: Antworten mit Zitat

Patrick hat Folgendes geschrieben:
FallenAngel84 hat Folgendes geschrieben:
*PopcornNehm* Das wird sicher gleich spannend. Unser guter Patrick schafft es wirklich gut sich gute Kontakte auf zu bauen Very Happy


Ich sag nur noch eines: Auf son bullshit lass ich mich net mehr ein, ist doch Kinderkacke


Is nun mal so, hier kommen recht viele Anfänger und auch Erfahrene rein, bisher hast du nur selten einen guten Eindruck auf diese Leute gemacht. Wenns bullshit ist dann erklärs einmal ausführlich und lass dich nicht auf Streiterein ein Wink Immerhin konnte man von uns bisher behaupten das wir ne freundliche Community waren, ich fänds schön wenns so bleibt.

Was jezz nicht heissen soll: "Piss da Patrick!" du bist uns immer herzlich willkommen, besonders dein Wissen macht deine leichte Unprofessionalität im Verhalten zu anderen wett.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
HomeLess_PunkDrummer
JLI Master Trainee


Alter: 36
Anmeldedatum: 28.11.2004
Beiträge: 583
Wohnort: Alter Joghurtbecher an der A4
Medaillen: Keine

BeitragVerfasst am: 21.01.2005, 19:32    Titel: Antworten mit Zitat

Hart aber gerecht. Muss ja nicht alles so schlecht sein wie es scheint, und jemand der void* Dinger nimmt hat sicherlich auch seine Gründe.
_________________
"Was die Götter angeht, so ist es mir unmöglich, zu wissen, ob sie existieren oder nicht, noch, was ihre Gestalt sei. Die Kräfte, die mich hindern, es zu wissen, sind zahlreich, und auch ist die Frage verworren und das menschliche Leben kurz."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 21.01.2005, 19:43    Titel: Antworten mit Zitat

FallenAngel84
Sorry, aber bin momentan sehr depri, daher bitte ich mein Verhalten zu entschuldigen. Man hat ja nicht jeden Tag die Freundin im Krankenhaus mit 21 Knochenbrüchen und einer Hirnblutung... *schnief*
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 21.01.2005, 19:45    Titel: Antworten mit Zitat

Oh das tut mir leid, gute Besserung wünsche ich.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
HomeLess_PunkDrummer
JLI Master Trainee


Alter: 36
Anmeldedatum: 28.11.2004
Beiträge: 583
Wohnort: Alter Joghurtbecher an der A4
Medaillen: Keine

BeitragVerfasst am: 21.01.2005, 19:46    Titel: Antworten mit Zitat

Woah, das kann keiner wissen. das tut mir leid. Ich hoffe es geht ihr wieder. Was war denn passiert? Echt, wünsch ihr gute besserung von mir...oder uns.
_________________
"Was die Götter angeht, so ist es mir unmöglich, zu wissen, ob sie existieren oder nicht, noch, was ihre Gestalt sei. Die Kräfte, die mich hindern, es zu wissen, sind zahlreich, und auch ist die Frage verworren und das menschliche Leben kurz."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum