Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Ist das Thmena interessant? |
Ja |
|
68% |
[ 15 ] |
Nein |
|
22% |
[ 5 ] |
weiß nix |
|
9% |
[ 2 ] |
|
Stimmen insgesamt : 22 |
|
Autor |
Nachricht |
siebenkäs dauerhaft gesperrt
Anmeldungsdatum: 23.09.2005 Beiträge: 178
|
(#529120) Verfasst am: 25.07.2006, 15:03 Titel: |
|
|
Piwi hat folgendes geschrieben: | da steh ich nun ich armer Tor und bin genau so schlau als wie zuvor  |
Wenn du nur auf Microsoftischen Sys arbeitest, dann C#. Effektiv und vom Zeitaufwand her schnell zu erlernen.
Palttformunabhängig hat sich bei mir Python durchgesetzt. Python kann alles, hat alles dabei und ist von vornherein als OOP konzipiert.
Aber auf Microsoft Plattformen bietet sich C# geradezu an.
Also, piwi, nicht kleckern sondern - klotzen!!!
|
|
Nach oben |
|
 |
Piwi auf Wunsch deaktiviert
Anmeldungsdatum: 03.07.2006 Beiträge: 411
|
(#529121) Verfasst am: 25.07.2006, 15:06 Titel: |
|
|
Hmmm,
das hört sich jetzt aber sehr gut an (zumindest für ein blutiges Greenhorn).
Ich werd mal C# vormerken.
Beim nächsten Shoping in der Stadt schau ich mich mal um - kosten usw.
|
|
Nach oben |
|
 |
thomentor Dekadentbot
Anmeldungsdatum: 01.02.2006 Beiträge: 26
Wohnort: mobiler Unterdrückungspalast
|
(#529141) Verfasst am: 25.07.2006, 15:44 Titel: |
|
|
Piwi hat folgendes geschrieben: | Hmmm,
das hört sich jetzt aber sehr gut an (zumindest für ein blutiges Greenhorn).
Ich werd mal C# vormerken.
Beim nächsten Shoping in der Stadt schau ich mich mal um - kosten usw. |
für den einstieg in C# empfehle ich Sharpdevelop - ist eine OpenSource IDE für C#,Vb.Net u.a.
Online Buch Visual CSharp zum Thema.
|
|
Nach oben |
|
 |
Doc Extropy dauerhaft gesperrt
Anmeldungsdatum: 07.03.2006 Beiträge: 6149
|
(#529175) Verfasst am: 25.07.2006, 16:42 Titel: |
|
|
caballito hat folgendes geschrieben: | Doc Extropy hat folgendes geschrieben: | Piwi hat folgendes geschrieben: | Jetzt bin ich echt verunsichert was ich für eine Programmiersprache lernen soll?
Wie es scheint muß ich alle lernen, damit ich entscheiden kann welche für das jeweilige Problem am besten geeignet ist.
Da kommt freude auf.
Langeweile werde ich die nächsten 20 Jahre jedenfalls keine haben. |
C#, glaubs mir. Geringster Lernaufwand, maximaler Effekt, maximale Bandbreite an Möglichkeiten. |
Dass sich "geringster Lernaufwand" und "maximale Bandbreite" rein logisch ausschließen, ist dir schon klar?
|
Schließen sich nicht aus, weil man die APIs nie wirklich lernen muß, sondern eine (im Gegensatz zu z.B. Java, wo es meistens nicht mal Codebeispiele gibt und die Doku in Akademikersprache mit tausenden Wortneuschöpfungen geschrieben ist) hervorragende Doku hat.
Man muß bei C# ein paar Konzepte lernen, alles andere wird durch Betätigen von "F1" erledigt.
C++ ist Zeitverschwendung, außer für ein paar zeitkritische Bestandteile (z.B. eines Computerspiels).
Ich habe schon mal (mit nur ein paar Stunden Arbeit wohlgemerkt!) eine DOOM - 3D - Engine in C# unter Verwendung von DirectX 9.0, völlig objektorientiert, gebastelt, ohne vorher jemals mit DirectX 9.0 (meine Erfahrungen von früher stammen vom völlig anderen Programmiermodell von DirectX 5.0 und 6.0) gearbeitet zu haben.
|
|
Nach oben |
|
 |
Piwi auf Wunsch deaktiviert
Anmeldungsdatum: 03.07.2006 Beiträge: 411
|
(#529183) Verfasst am: 25.07.2006, 17:06 Titel: |
|
|
Also das reicht, jetzt steht es fest C#
ich bedanke mich sehr freundlich bei allen, für die rege teilnahme - bussi
|
|
Nach oben |
|
 |
Antitheist registrierter User
Anmeldungsdatum: 02.01.2006 Beiträge: 433
|
(#529185) Verfasst am: 25.07.2006, 17:10 Titel: |
|
|
Doc Extropy hat folgendes geschrieben: | Ich habe schon mal (mit nur ein paar Stunden Arbeit wohlgemerkt!) eine DOOM - 3D - Engine in C# unter Verwendung von DirectX 9.0, völlig objektorientiert, gebastelt, ohne vorher jemals mit DirectX 9.0 (meine Erfahrungen von früher stammen vom völlig anderen Programmiermodell von DirectX 5.0 und 6.0) gearbeitet zu haben. |
Ohne Vorkenntnisse von DX9? Unglaublich. Das letzte Mal, dass ich etwas mit D3D zu tun hatte, war zu Zeiten von DirectX6 (glaube ich jedenfalls, dass es Version 6 war; das DX meine ich, wo man selbst den ganzen Quatsch mit den COM-Objekten noch per Hand machen musste), und das hat mir schon mehr als gereicht. Hab seither nur noch OpenGL für 3D-Zeugs verwendet, weil das hundertmal einfacher ist als D3D.
|
|
Nach oben |
|
 |
thomentor Dekadentbot
Anmeldungsdatum: 01.02.2006 Beiträge: 26
Wohnort: mobiler Unterdrückungspalast
|
(#529191) Verfasst am: 25.07.2006, 17:22 Titel: |
|
|
Antitheist hat folgendes geschrieben: | Doc Extropy hat folgendes geschrieben: | Ich habe schon mal (mit nur ein paar Stunden Arbeit wohlgemerkt!) eine DOOM - 3D - Engine in C# unter Verwendung von DirectX 9.0, völlig objektorientiert, gebastelt, ohne vorher jemals mit DirectX 9.0 (meine Erfahrungen von früher stammen vom völlig anderen Programmiermodell von DirectX 5.0 und 6.0) gearbeitet zu haben. |
Ohne Vorkenntnisse? Unglaublich. Das letzte Mal, dass ich etwas mit D3D zu tun hatte, war zu Zeiten von DirectX6 (glaube ich jedenfalls, dass es Version 6 war; das DX meine ich, wo man selbst den ganzen Quatsch mit den COM-Objekten noch per Hand machen musste), und das hat mir schon mehr als gereicht. Hab seither nur noch OpenGL für 3D-Zeugs verwendet, weil das hundertmal einfacher ist als D3D. |
Seitdem hat sich IMHO die D3D API stark verbessert- Und dann kommt es natürlich
noch auf das Framework an dass den D3D kram kapselt .
|
|
Nach oben |
|
 |
Antitheist registrierter User
Anmeldungsdatum: 02.01.2006 Beiträge: 433
|
(#529194) Verfasst am: 25.07.2006, 17:30 Titel: |
|
|
thomentor hat folgendes geschrieben: | Seitdem hat sich IMHO die D3D API stark verbessert- Und dann kommt es natürlich noch auf das Framework an dass den D3D kram kapselt . |
Ein Framework, das D3D kapselt? Nein, sowas gabs damals noch nicht, als ich D3D noch verwendete: nur die puren API-Funktionen übers COM-Interface. Und das war - soweit ich mich erinnern kann - grauenhaft. Da konnte man nicht einmal direkt mit D3D anfangen, sondern musste sogar noch DirectDraw-Devices und -Surfaces, -Clipper, etc erzeugen, bevor man überhaupt erst zu D3D vordringen konnte...
|
|
Nach oben |
|
 |
pyrrhon registrierter User
Anmeldungsdatum: 22.05.2004 Beiträge: 8770
|
(#529196) Verfasst am: 25.07.2006, 17:37 Titel: |
|
|
Antitheist hat folgendes geschrieben: | Doc Extropy hat folgendes geschrieben: | Ich habe schon mal (mit nur ein paar Stunden Arbeit wohlgemerkt!) eine DOOM - 3D - Engine in C# unter Verwendung von DirectX 9.0, völlig objektorientiert, gebastelt, ohne vorher jemals mit DirectX 9.0 (meine Erfahrungen von früher stammen vom völlig anderen Programmiermodell von DirectX 5.0 und 6.0) gearbeitet zu haben. |
Ohne Vorkenntnisse von DX9? Unglaublich. |
Unglaublich trifft es recht gut. Ich glaube es nicht.
|
|
Nach oben |
|
 |
caballito zänkisches Monsterpony
Anmeldungsdatum: 16.07.2003 Beiträge: 12112
Wohnort: Pet Sematary
|
(#529200) Verfasst am: 25.07.2006, 17:44 Titel: |
|
|
Doc Extropy hat folgendes geschrieben: | caballito hat folgendes geschrieben: | Dass sich "geringster Lernaufwand" und "maximale Bandbreite" rein logisch ausschließen, ist dir schon klar?
|
Schließen sich nicht aus, weil man die APIs nie wirklich lernen muß, sondern eine (im Gegensatz zu z.B. Java, wo es meistens nicht mal Codebeispiele gibt und die Doku in Akademikersprache mit tausenden Wortneuschöpfungen geschrieben ist) hervorragende Doku hat. |
Dann hat man aber die API nicht gelernt => man kann die Möglichkeiten der API nicht nutzen, die über die Standardkochrezepte hinausgehen.
OK, das entspricht natürlich der M$-Philosophie: Man kriegt mit wenig Aufwand was hin, vorausgesetzt, man überlässt das Denken der Maschine und versucht nicht eigene Feinkonzepte zu realisieren.
Doc Extropy hat folgendes geschrieben: | Man muß bei C# ein paar Konzepte lernen, alles andere wird durch Betätigen von "F1" erledigt. |
Das könnte man im Prinzip über C++ natürlich so ähnlich sagen. Auch da lernt man nicht erst die Möglichkeiten der STL auswendig udn fängt dann an zu programmieren, sondern man lernt das nötigste und den Rest schlägt man nach, wenn mans braucht.
Doc Extropy hat folgendes geschrieben: | C++ ist Zeitverschwendung, außer für ein paar zeitkritische Bestandteile (z.B. eines Computerspiels). |
Es soll Leute geben, die Coputer zu was anderem als zum spielen benutzen.
Doc Extropy hat folgendes geschrieben: | Ich habe schon mal (mit nur ein paar Stunden Arbeit wohlgemerkt!) eine DOOM - 3D - Engine in C# unter Verwendung von DirectX 9.0, völlig objektorientiert, gebastelt, ohne vorher jemals mit DirectX 9.0 (meine Erfahrungen von früher stammen vom völlig anderen Programmiermodell von DirectX 5.0 und 6.0) gearbeitet zu haben. |
Wenn du damit ein komplexes System interagierender Hintrergrundprozesse auf einem Unix-Server aufsetzt - dann bist du richtig gut.
Aber Unix ist ja auch überflüssig, da läuft ja nicht mal DOOM drauf ...
_________________ Die Gedanken sind frei.
Aber nicht alle Gedanken wissen das.
|
|
Nach oben |
|
 |
siebenkäs dauerhaft gesperrt
Anmeldungsdatum: 23.09.2005 Beiträge: 178
|
(#529201) Verfasst am: 25.07.2006, 17:51 Titel: |
|
|
Warum fällt hier eigentlich kein Wort über - Delphi!
Delphi wäre doch eigentlich die Idealste aller Programmiersprachen, wenn, ja wenn nicht die Entwicklungsumgebung etwas teuer wäre.
Spieleprogrammierung und 3D, das lernte ich damals "unter" Delphi 6 und keine Sprache lernte ich leichter, im Netz gibt es sehr gute Seiten und eine riesige Fangemeinde garantiert fast immer eine Lösung zu den täglichen Problemen.
Warum eigentlich nicht Delphi?
|
|
Nach oben |
|
 |
thomentor Dekadentbot
Anmeldungsdatum: 01.02.2006 Beiträge: 26
Wohnort: mobiler Unterdrückungspalast
|
(#529202) Verfasst am: 25.07.2006, 17:52 Titel: |
|
|
Antitheist hat folgendes geschrieben: | thomentor hat folgendes geschrieben: | Seitdem hat sich IMHO die D3D API stark verbessert- Und dann kommt es natürlich noch auf das Framework an dass den D3D kram kapselt . |
Ein Framework, das D3D kapselt? Nein, sowas gabs damals noch nicht, als ich D3D noch verwendete: nur die puren API-Funktionen übers COM-Interface. Und das war - soweit ich mich erinnern kann - grauenhaft. Da konnte man nicht einmal direkt mit D3D anfangen, sondern musste sogar noch DirectDraw-Devices und -Surfaces, -Clipper, etc erzeugen, bevor man überhaupt erst zu D3D vordringen konnte... |
Das muss man heute im prinzip auch noch machen- Es gibt beim SDK aber eine abstrakte Applikationsklasse welche man einfach nur noch abzuleiten braucht. Da sind dann alle wichtigen
Objekte schon Initialisiert und man braucht sich nur noch um diverse Events zu kümmern.
( Init/FrameMove/Render/Destroy )
|
|
Nach oben |
|
 |
Antitheist registrierter User
Anmeldungsdatum: 02.01.2006 Beiträge: 433
|
(#529203) Verfasst am: 25.07.2006, 17:53 Titel: |
|
|
siebenkäs hat folgendes geschrieben: | Warum eigentlich nicht Delphi? |
Pascal?
thomentor hat folgendes geschrieben: | Das muss man heute im prinzip auch noch machen- Es gibt beim SDK aber eine abstrakte Applikationsklasse welche man einfach nur noch abzuleiten braucht. Da sind dann alle wichtigen
Objekte schon Initialisiert und man braucht sich nur noch um diverse Events zu kümmern.
( Init/FrameMove/Render/Destroy ) |
Ich glaube, dass ich mich wohl mit D3D nie mehr versöhnen werde, das hat mich damals dermaßen traumatisiert. Übrigens, gibt's mittlerweile bei D3D sowas Elegantes wie den Matrix-Stack bei OGL? Das habe ich damals auch immer am meisten vermisst!
|
|
Nach oben |
|
 |
thomentor Dekadentbot
Anmeldungsdatum: 01.02.2006 Beiträge: 26
Wohnort: mobiler Unterdrückungspalast
|
(#529205) Verfasst am: 25.07.2006, 18:04 Titel: |
|
|
Antitheist hat folgendes geschrieben: | siebenkäs hat folgendes geschrieben: | Warum eigentlich nicht Delphi? |
Pascal?
|
Antitheist hat folgendes geschrieben: |
thomentor hat folgendes geschrieben: | Das muss man heute im prinzip auch noch machen- Es gibt beim SDK aber eine abstrakte Applikationsklasse welche man einfach nur noch abzuleiten braucht. Da sind dann alle wichtigen
Objekte schon Initialisiert und man braucht sich nur noch um diverse Events zu kümmern.
( Init/FrameMove/Render/Destroy ) |
Ich glaube, dass ich mich wohl mit D3D nie mehr versöhnen werde, das hat mich damals dermaßen traumatisiert. Übrigens, gibt's mittlerweile bei D3D sowas Elegantes wie den Matrix-Stack bei OGL? Das habe ich damals auch immer am meisten vermisst! |
Nun, ich muss zugeben dass ich mir directx9 gerade erst runtergeladen habe und deshalb bei den neusten Entwicklungen nicht ganz firm bin (nur bis dx8)- Wann und wofür wird denn ein Matrixstack eingesetzt?
|
|
Nach oben |
|
 |
Antitheist registrierter User
Anmeldungsdatum: 02.01.2006 Beiträge: 433
|
(#529207) Verfasst am: 25.07.2006, 18:09 Titel: |
|
|
thomentor hat folgendes geschrieben: | Wann und wofür wird denn ein Matrixstack eingesetzt? |
Nun, ein Matrixstack dient einfach nur dazu, eine Hierarchie an 3D-Transformationen zu erstellen (glPushMatrix() und glPopMatrix() wären die entsprechenden Funktionen bei OGL). Aber wie gesagt, sowas gab's damals bei D3D auch gar nicht, musste man also erst selbst eine Klasse schreiben, die das macht.
|
|
Nach oben |
|
 |
Doc Extropy dauerhaft gesperrt
Anmeldungsdatum: 07.03.2006 Beiträge: 6149
|
(#529217) Verfasst am: 25.07.2006, 18:26 Titel: |
|
|
viator hat folgendes geschrieben: | Antitheist hat folgendes geschrieben: | Doc Extropy hat folgendes geschrieben: | Ich habe schon mal (mit nur ein paar Stunden Arbeit wohlgemerkt!) eine DOOM - 3D - Engine in C# unter Verwendung von DirectX 9.0, völlig objektorientiert, gebastelt, ohne vorher jemals mit DirectX 9.0 (meine Erfahrungen von früher stammen vom völlig anderen Programmiermodell von DirectX 5.0 und 6.0) gearbeitet zu haben. |
Ohne Vorkenntnisse von DX9? Unglaublich. |
Unglaublich trifft es recht gut. Ich glaube es nicht. |
Ist halb so wild. Microsoft schmeißt tonnenweise Codebeispiele zum SDK dazu, man bekommt gleich eine Typenbibliothek für .NET und die Mathematik dahinter habe ich schon vor Jahren als ich noch Demos gebastelt habe gelernt.
Wir reden hier über eine MODERNE Sprache und nicht das, was Linux & Java - Typen unter "Programmieren" verstehen.
|
|
Nach oben |
|
 |
Antitheist registrierter User
Anmeldungsdatum: 02.01.2006 Beiträge: 433
|
(#529218) Verfasst am: 25.07.2006, 18:28 Titel: |
|
|
Doc Extropy hat folgendes geschrieben: | Wir reden hier über eine MODERNE Sprache und nicht das, was Linux & Java - Typen unter "Programmieren" verstehen. |
Jetzt bitte nicht persönlich werden!
|
|
Nach oben |
|
 |
Doc Extropy dauerhaft gesperrt
Anmeldungsdatum: 07.03.2006 Beiträge: 6149
|
(#529219) Verfasst am: 25.07.2006, 18:28 Titel: |
|
|
Antitheist hat folgendes geschrieben: | Doc Extropy hat folgendes geschrieben: | Ich habe schon mal (mit nur ein paar Stunden Arbeit wohlgemerkt!) eine DOOM - 3D - Engine in C# unter Verwendung von DirectX 9.0, völlig objektorientiert, gebastelt, ohne vorher jemals mit DirectX 9.0 (meine Erfahrungen von früher stammen vom völlig anderen Programmiermodell von DirectX 5.0 und 6.0) gearbeitet zu haben. |
Ohne Vorkenntnisse von DX9? Unglaublich. Das letzte Mal, dass ich etwas mit D3D zu tun hatte, war zu Zeiten von DirectX6 (glaube ich jedenfalls, dass es Version 6 war; das DX meine ich, wo man selbst den ganzen Quatsch mit den COM-Objekten noch per Hand machen musste), und das hat mir schon mehr als gereicht. Hab seither nur noch OpenGL für 3D-Zeugs verwendet, weil das hundertmal einfacher ist als D3D. |
Du kommst, wenn Du C# und die DirectX Managed API verwendest, gar nicht mehr in Kontakt mit dem COM - Scheiß (der damals tatsächlich etwas schwierig zu handhaben war, ich habe mir da mit einem Thin Layer beholfen, den ich zwischen DirectX und meine eigenen Programme gelegt habe).
|
|
Nach oben |
|
 |
thomentor Dekadentbot
Anmeldungsdatum: 01.02.2006 Beiträge: 26
Wohnort: mobiler Unterdrückungspalast
|
(#529220) Verfasst am: 25.07.2006, 18:30 Titel: |
|
|
Antitheist hat folgendes geschrieben: | thomentor hat folgendes geschrieben: | Wann und wofür wird denn ein Matrixstack eingesetzt? |
Nun, ein Matrixstack dient einfach nur dazu, eine Hierarchie an 3D-Transformationen zu erstellen (glPushMatrix() und glPopMatrix() wären die entsprechenden Funktionen bei OGL). Aber wie gesagt, sowas gab's damals bei D3D auch gar nicht, musste man also erst selbst eine Klasse schreiben, die das macht. |
naja, da würde ja das stack Template für ausreichen
Code: | stack<D3DMatrix> m_mstack; | oder so ähnlich.
|
|
Nach oben |
|
 |
Antitheist registrierter User
Anmeldungsdatum: 02.01.2006 Beiträge: 433
|
(#529222) Verfasst am: 25.07.2006, 18:33 Titel: |
|
|
thomentor hat folgendes geschrieben: | naja, da würde ja das stack Template für ausreichen
Code: | stack<D3DMatrix> m_mstack; | oder so ähnlich. |
Nee, der STL-Stack-Container reicht nicht ganz aus. Es müssen ja intern die Matrizen im Stack auch multipliziert werden, damit man den gewünschten Effekt erhält (man braucht ja nicht nur die oberste Matrix als aktuelle Transformation, sondern das Produkt aller sich auf dem Stack befindlichen Matrizen).
Ist zwar trotzdem nicht schwer, so eine Klasse zu erstellen, aber ich find's einfach schöner, wenn die API sowas schon mitliefert.
|
|
Nach oben |
|
 |
caballito zänkisches Monsterpony
Anmeldungsdatum: 16.07.2003 Beiträge: 12112
Wohnort: Pet Sematary
|
(#529226) Verfasst am: 25.07.2006, 18:48 Titel: |
|
|
Doc Extropy hat folgendes geschrieben: | Wir reden hier über eine MODERNE Sprache und nicht das, was Linux & Java - Typen unter "Programmieren" verstehen. |
Ich dachte, wir reden hier über PROGRAMMIERSPRACHEN und nicht das, was Microsoft & Windows-Junkies unter "Programmieren" verstehen?
_________________ Die Gedanken sind frei.
Aber nicht alle Gedanken wissen das.
|
|
Nach oben |
|
 |
Rene Hartmann Säkular? Na klar!
Anmeldungsdatum: 17.07.2003 Beiträge: 1404
Wohnort: Rhein-Main
|
(#529230) Verfasst am: 25.07.2006, 18:50 Titel: |
|
|
caballito hat folgendes geschrieben: |
Das schwierige an OOP ist nicht die OOP, sondern der völlig verquaste OOP-Jargon, mit dem sich OOP-Apostel wohl wichtig machen wollen, und den halt kein Mensch versteht. Genau das aber ist im C++-Umfeld zuweilen in etwas gemäßigterer Form anzutreffen, so dass man tatsächlich Chancen hat, was zu verstehen. |
So ist es. Wobei der Jargon nicht nur verquast, sondern auch zum großen Teil inkonsistent ist. Hat bei mir eine Ewigkeit gedauert, bis ich den Humbug durchschaut habe, aber seitdem meide ich OO-Sprachen wo es geht.
_________________ "Es kommt darauf an, zur Gruppe der Individualisten zu gehören"
|
|
Nach oben |
|
 |
pyrrhon registrierter User
Anmeldungsdatum: 22.05.2004 Beiträge: 8770
|
(#529232) Verfasst am: 25.07.2006, 18:53 Titel: |
|
|
Doc Extropy hat folgendes geschrieben: | Wir reden hier über eine MODERNE Sprache und nicht das, was Linux & Java - Typen unter "Programmieren" verstehen. |
Nein, wir reden hier über C#, über eine Sprache, die Konzepte aus der Steinzeit reanimiert hat und diese als großartige Neuerungen anpreist. Der Unterschied zu den anderen ist der, dass Microsoft diese Konzepte besonders buggy implementiert hat. Wenn Du eine moderne Sprache möchtest, dann programmiere lieber mit anderen Sprachen.
Doc Extropy hat folgendes geschrieben: | Microsoft schmeißt tonnenweise Codebeispiele zum SDK dazu, man bekommt gleich eine Typenbibliothek für .NET und die Mathematik dahinter habe ich schon vor Jahren als ich noch Demos gebastelt habe gelernt. |
Ich kenne C# recht gut und arbeite tagtäglich damit. Dein präpubertäres Imponiergehabe beeindruckt mich nicht, weil ich recht gut einschätzen kann, was möglich ist und was nicht.
|
|
Nach oben |
|
 |
Rene Hartmann Säkular? Na klar!
Anmeldungsdatum: 17.07.2003 Beiträge: 1404
Wohnort: Rhein-Main
|
(#529233) Verfasst am: 25.07.2006, 18:55 Titel: |
|
|
Antitheist hat folgendes geschrieben: | thomentor hat folgendes geschrieben: | Um CPP zu erlernen empfiehlt es sich erstmal mit C anzufangen.
Erst die stählerne Disziplinschule durch Kernigham & Ritchie
macht den wahren Guru – Das gekasperl um und mit „OO“ kann
man dann immer noch (mit)machen… |
Schon richtig, obwohl man erwähnen muss, dass manche legitime Programmiertechnik in C dann später bei der objektorientierten oder generischen Programmierung unter C++ schnell zum Design-Anti-Pattern verführen kann. Lieber gleich mit einer reinen OO-Sprache anfangen, z.B. Java. |
Unter einer reinen OO-Sprache stelle ich mir aber etwas anderes vor. Die Sonderstellung der eingebauten Typen int, float usw. disqualifiziert Java in dieser Hinsicht.
_________________ "Es kommt darauf an, zur Gruppe der Individualisten zu gehören"
|
|
Nach oben |
|
 |
thomentor Dekadentbot
Anmeldungsdatum: 01.02.2006 Beiträge: 26
Wohnort: mobiler Unterdrückungspalast
|
(#529238) Verfasst am: 25.07.2006, 18:58 Titel: |
|
|
Antitheist hat folgendes geschrieben: | thomentor hat folgendes geschrieben: | naja, da würde ja das stack Template für ausreichen
Code: | stack<D3DMatrix> m_mstack; | oder so ähnlich. |
Nee, der STL-Stack-Container reicht nicht ganz aus. Es müssen ja intern die Matrizen im Stack auch multipliziert werden, damit man den gewünschten Effekt erhält (man braucht ja nicht nur die oberste Matrix als aktuelle Transformation, sondern das Produkt aller sich auf dem Stack befindlichen Matrizen).
Ist zwar trotzdem nicht schwer, so eine Klasse zu erstellen, aber ich find's einfach schöner, wenn die API sowas schon mitliefert. |
Da würde aber auch eine Einheitsmatrix reichen auf die alle gewünschten Matrizzen aufmultipliziert werden-
Die Frage ist wann und in welcher reihenfolge man welche Transformation benötigt.
|
|
Nach oben |
|
 |
caballito zänkisches Monsterpony
Anmeldungsdatum: 16.07.2003 Beiträge: 12112
Wohnort: Pet Sematary
|
(#529239) Verfasst am: 25.07.2006, 18:59 Titel: |
|
|
Rene Hartmann hat folgendes geschrieben: | caballito hat folgendes geschrieben: |
Das schwierige an OOP ist nicht die OOP, sondern der völlig verquaste OOP-Jargon, mit dem sich OOP-Apostel wohl wichtig machen wollen, und den halt kein Mensch versteht. Genau das aber ist im C++-Umfeld zuweilen in etwas gemäßigterer Form anzutreffen, so dass man tatsächlich Chancen hat, was zu verstehen. |
So ist es. Wobei der Jargon nicht nur verquast, sondern auch zum großen Teil inkonsistent ist. Hat bei mir eine Ewigkeit gedauert, bis ich den Humbug durchschaut habe, aber seitdem meide ich OO-Sprachen wo es geht. |
Meinst du damit spezielle OO-Sprachen oder OOP generell?
C++ ist ja in dem Sinne keine OO-Sprache (weswegen viel OOP-ler es ja auch nicht mögen - damit kann ja ganz normal programmieren ... ) - und gerade das liebe ich daran.
Ich betrachte es perönlich ja als Vorteil, über C++ an die OOP geraten sein, eben weil da die Übersetzung in normale Sprache so nahe liegt.
_________________ Die Gedanken sind frei.
Aber nicht alle Gedanken wissen das.
|
|
Nach oben |
|
 |
Antitheist registrierter User
Anmeldungsdatum: 02.01.2006 Beiträge: 433
|
(#529240) Verfasst am: 25.07.2006, 19:03 Titel: |
|
|
thomentor hat folgendes geschrieben: | Da würde aber auch eine Einheitsmatrix reichen auf die alle gewünschten Matrizzen aufmultipliziert werden- |
Schon richtig, am Anfang ist ja auch nur die Einheitsmatrix auf dem Stack... Aber das Prinzip das Stacks ist hundermal eleganter.
thomentor hat folgendes geschrieben: | Die Frage ist wann und in welcher reihenfolge man welche Transformation benötigt. |
Sagen wir, du willst z.B. einen Arm animieren. Dann nimmst du zuerst die Transformationsmatrix für den Arm, renderst diesen, dann pusht du die Matrix für die Hand auf den Stack, renderst diese, und zum Schluß pushst du die Matrix für die Finger.
|
|
Nach oben |
|
 |
thomentor Dekadentbot
Anmeldungsdatum: 01.02.2006 Beiträge: 26
Wohnort: mobiler Unterdrückungspalast
|
(#529247) Verfasst am: 25.07.2006, 19:08 Titel: |
|
|
Antitheist hat folgendes geschrieben: | thomentor hat folgendes geschrieben: | Da würde aber auch eine Einheitsmatrix reichen auf die alle gewünschten Matrizzen aufmultipliziert werden- |
Am Anfang ist ja auch nur die Einheitsmatrix auf dem Stack...
thomentor hat folgendes geschrieben: | Die Frage ist wann und in welcher reihenfolge man welche Transformation benötigt. |
Sagen wir, du willst z.B. einen Arm animieren. Dann nimmst du zuerst die Transformationsmatrix für den Arm, renderst diesen, dann pusht du die Matrix für die Hand auf den Stack, renderst diese, und zum Schluß pushst du die Matrix für die Finger. |
Ja genau- bei der Reihenfolge kann man sich den Speicherplatz für den Stack sparen. Da würde
es eine Temporäre Matrix tun. Der Stack wird erst dann sinnvoll wenn man die vorherigen
Transformationen zurückholen will (mittels pop)
|
|
Nach oben |
|
 |
Antitheist registrierter User
Anmeldungsdatum: 02.01.2006 Beiträge: 433
|
(#529248) Verfasst am: 25.07.2006, 19:10 Titel: |
|
|
thomentor hat folgendes geschrieben: | Ja genau- bei der Reihenfolge kann man sich den Speicherplatz für den Stack sparen. Da würde es eine Temporäre Matrix tun. Der Stack wird erst dann sinnvoll wenn man die vorherigen Transformationen zurückholen will (mittels pop) |
Ja, das ist klar. Aber die ursprüngliche Transformation muss man nach dem Rendern von Objekten sowieso immer zurückholen, da ja meist mehrere Sachen gerendert werden müssen.
|
|
Nach oben |
|
 |
Rene Hartmann Säkular? Na klar!
Anmeldungsdatum: 17.07.2003 Beiträge: 1404
Wohnort: Rhein-Main
|
(#529251) Verfasst am: 25.07.2006, 19:21 Titel: |
|
|
caballito hat folgendes geschrieben: | Rene Hartmann hat folgendes geschrieben: | caballito hat folgendes geschrieben: |
Das schwierige an OOP ist nicht die OOP, sondern der völlig verquaste OOP-Jargon, mit dem sich OOP-Apostel wohl wichtig machen wollen, und den halt kein Mensch versteht. Genau das aber ist im C++-Umfeld zuweilen in etwas gemäßigterer Form anzutreffen, so dass man tatsächlich Chancen hat, was zu verstehen. |
So ist es. Wobei der Jargon nicht nur verquast, sondern auch zum großen Teil inkonsistent ist. Hat bei mir eine Ewigkeit gedauert, bis ich den Humbug durchschaut habe, aber seitdem meide ich OO-Sprachen wo es geht. |
Meinst du damit spezielle OO-Sprachen oder OOP generell?
|
OOP generell mit der Einschränkung, dass abstrakte Datentypen eine vernünftige Sache sind. Alle anderen OOP-Konzepte (insbesondere Objektidentität und Vererbung durch Erweiterung) sind mindestens zweifelhaft.
Interessant übrigens, dass die Vererbung über Erweiterung in Java mittlerweile kritisch gesehen wird (Irgendwo gibt's einen Text mit dem Titel "extends considered harmful", bin jetzt zu faul zum Suchen)
Zitat: |
C++ ist ja in dem Sinne keine OO-Sprache (weswegen viel OOP-ler es ja auch nicht mögen - damit kann ja ganz normal programmieren ... ) - und gerade das liebe ich daran.
|
OK, aber dann hat man ja im Grunde eine Art C. Dann nehme ich lieber gleich ANSI C, das spart die C++-Runtime.
_________________ "Es kommt darauf an, zur Gruppe der Individualisten zu gehören"
|
|
Nach oben |
|
 |
|