# Buchempfehlung API's



## kbit (24. Juli 2014)

Guten Tag,
ich wollte mir ein Buch entweder zu DirectX 11 oder Open GL 4 holen aber finde keins, welches gut ist.  Hab ihr Empfehlungen? oder lohnt es sich eher ein Buch zu C++ holen da ich im Moment nur C am lernen bin? 
Gruß kbit


----------



## Crysis nerd (24. Juli 2014)

Also bezüglich OpenGL und DirectX: Wenn du wirklich nur über die API Bescheid wissen willst, sind Online Dokumentationen gut genug. Wenn du allerdings wirklich ein Verständnis for DirectX/OpenGL aufbauen willst, brauchst du tatsächlich was anderes. Ein Buch kann ich dir leider nicht empfehlen, aber ich habe mich in den letzten paar Monaten stark in OpenGL eingelesen. Und dabei kann ich nur diese Seite empfehlen: OpenGL.org. Wenn du des Englischen mächtig bist, hilft das echt super beim verstehen des ganzen Systems.

Und was C++ angeht: C++ unterscheidet sich sehr extrem von C, daher würde ich dir auf jeden Fall nahelegen dich in der Richtung weiter zubilden. Hier sind alle guten Bücher, die ich empfehlen würde auch auf Englisch... Ich weiß nicht, wie gut du mit Englisch klar kommst. 
Sonst aber grundlegende Empfehlungen zur Bücherwahl: Suche nach den Schlagwörtern "C++11", "C++14" und "modernes C++". Es gibt viele Bücher die noch eine C++ Version beschreiben, die 15 Jahre alt ist. Außerdem sind Bücher von Scott Meyers, Herb Sutter und Bjarne Stroustrup zu empfehlen.

[EDIT: Mir sind gerade noch folgende Sachen eingefallen: Die offizielle Seite des C++ Standards hat eine super "Get Started" Seite, die den Einstieg erleichtert: http://isocpp.org/get-started. Dort sind auch einige Bücher zu finden. Und dann gibt es noch diese Liste mit Büchern: http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list]

Hoffe das hilft schonmal.
Was genau hast du denn vor, wenn man fragen darf?


----------



## kbit (24. Juli 2014)

ich möchte halt gerne Spiele entwickeln und ja ich bin mir bewusst das es viel Zeit braucht und viel Aufwand ist


----------



## Bunny_Joe (24. Juli 2014)

kbit schrieb:


> ich möchte halt gerne Spiele entwickeln und ja ich bin mir bewusst das es viel Zeit braucht und viel Aufwand ist


 
Warum dann nicht eine bestehende OpenSourceEngine nehmen und es dir so biegen wie du es haben willst.
Man muss ja nicht wieder immer bei 0 anfangen....


----------



## DarkMo (24. Juli 2014)

ich hab mir mal die opengl superbibel geholt. is so weit ok *find* hab halt keinen vergleich zu anderen büchern ^^ aber achte drauf, das du ne aktuelle auflage erhälst, sonst gurkste mit ogl 1 oder so rum ^^


----------



## kbit (24. Juli 2014)

Ich habe gehört das die opengl superbibel nicht zum einstieg geeignet sei im thema

EDIT: C reicht nicht für mein vorhaben oder?


----------



## Hänschen (24. Juli 2014)

Ich will dir nicht den Spass nehmen, aber ich wollte auch mal Spiele am PC programmieren 

Leider musste ich einsehen dass die Programmiererei am PC eine sich rasch verändernde/weiterentwickelnde sehr umfangreiche heavy-Industrie-Posse ist und man als nicht-Geschulter sogut wie keine Chance hat.
Die richtigen Spiele-Coder gehen aufs Studium, Lehrgänge, Praktikum etc. sonst hätten die auch keinen Durchblick.

Was ich aber als möglich sehe: Java !
Java wird immer beliebter und ist eine sehr übersichtliche Sprache, die ganze Umgebung ist sehr einfach gehalten und verändert sich nur wenig über die Jahre - dazu der optimierfähige Code (siehe Minecraft).
Ich hab grad "Java für Dummies" hier als Buch und es ist super, habe auch ein 3D-Grafik Buch hier das aber erstmal verschoben wurde ^^


----------



## kbit (24. Juli 2014)

Ich möchte ja auch Informatik studieren und gehe dem nächst auf ein Fachoberschule mit dem Schwerpunkt Technische Informatik  ich möchte es halt ausprobieren und ich muss sagen das mir Java nicht wirklich gefällt^^ 
Wieso wird eigentlich nur Open GL Bücher Empfohlen?


----------



## Crysis nerd (24. Juli 2014)

kbit schrieb:


> EDIT: C reicht nicht für mein vorhaben oder?


Es kommt drauf an... Letztendlich kann man solche Fragen immer mit "C ist turing vollständig" beantworten, was in anderen Worten heißt: Mit C kannst du alles machen, auch jedes Spiel. Aber auch Pokemon Gelb ist Turing vollständig... 

Letztendlich geht es um die Frage, mit welcher Sprache man gut, bequem, schnell, einfach, ... ein Spiel entwickeln kann. 
C ist eine Sprache einem kaum etwas abnimmt, also würde ich schon mal den Punkt "bequem" bei C verneinen. Wenn du natürlich C schon gut beherrscht und erst mal Grafikprogrammierung betreiben willst (also erstmal ein wenig rumspielen), sollte dich nichts davon abhalten C zu nutzen.

Was Hänschen sagt, würde ich jetzt mal in Frage stellen. Vorallem wenn du schon Ahnung von C hast, fang jetzt nicht mit Java an. Ich bin hier im Forum leider schon bekannt, immer Java schlecht zureden, aber so ist das nun mal. Daher nur Tipp: Eventuell erstmal nicht.

EDIT:


kbit schrieb:


> Ich möchte ja auch Informatik studieren und gehe dem nächst auf ein Fachoberschule mit dem Schwerpunkt Technische Informatik  ich möchte es halt ausprobieren und ich muss sagen das mir Java nicht wirklich gefällt^^
> Wieso wird eigentlich nur Open GL Bücher Empfohlen?


Wenn du mit dem Schwerpunkt Technische Informatik studierst, lass wirklich erstmal die Finger weg von Java. Gut, dass wir das schon mal geklärt hätten.

Wegen OpenGL: Viele Experten (nennenswert wäre John Carmack) sind der Meinung, dass die DirectX API schöner ist als die OpenGL API. DirectX hat nur leider den Nachteil nur unter Windows zu laufen. Ich persönlich arbeite derzeit fast nur unter Linux Systemen und daher war meine Wahl einfach. Probier ruhig OpenGL, es ist jetzt auch nicht fundamental viel schlimmer als DirectX. Und die Bewertung ging nur das Design an, nicht die Geschwindigkeit (dort sind beide APIs ca. gleich stark).


----------



## kbit (24. Juli 2014)

Also zuerst lieber C++ lernen und später wegen der API nochmal nachfragen? ^^


----------



## bingo88 (24. Juli 2014)

Wobei du im Studium vermutlich eher mit Java zutun bekommst, zumindest am Anfang. Das ist mittlerweile ein Trend, wobei an einigen Unis sogar mit Skriptsprachen wie Python angefangen wird. Und ich kann es auch nur noch einmal erwähnen: Java ist nicht mehr so lahm wie alle behaupten, in den meisten Fällen ist die Geschwindigkeit vällig ausreichend, wenn man nicht gerade einen 10 Jahre alten Rechner verwendet. Es werden Spiele in Jacascript und HTML5 geschrieben, wie kann Java da schlechter sein 

Edit: Der Thread ist kaum ne Seite lang und wir diskutieren schon wieder über Java...

C für Spiele kannst du machen, Quake 1-3 wurden beispielsweise in C geschrieben. Allerdings ist es mit C meiner Meinung nach viel schwieriger, ein Projekt dieser Größe "sauber" zu halten. Ich würde dir daher auch eher zu C++ raten, wobei bevor du mit so einem Projekt anfängst, erst mal damit einigermaßen sicher umgehen solltest. Spiele sind mit das komplexeste, was man so zusammenklempnern kann, und wenn man da so ohne Planung drauf los rennt, kommt eigentlich nur ein großer Haufen Kot (Code auch ) dabei raus.


----------



## Crysis nerd (24. Juli 2014)

Das hab ich nicht ganz so gesagt, aber es wäre eine gute Möglichkeit 

Aber ich habe noch eine weitere Alternative: Ich entwickel gerade für ein Programmier-Praktikum an meiner Uni eine Library, die den Umgang mit OpenGL viel einfacher und intuitiver macht. Ich werde in 2 Wochen das Praktikum, in dem es Hauptsächlich um "Computergrafik" geht, leiten und dort meine Library intensiv einsetzen. Ich habe auch bereits das letzte Semester die Vorlesung zum Thema Computergrafik begleitet und eine Gast-Vorlesung gehalten. 
Wenn du die nächsten Wochen damit verbringst, modernes C++ zu lernen, kann ich danach dir diese Library zu Verfügung stellen. Sie braucht noch ein wenig bis zur Fertigstellung der ersten stabilen Version. Aber was die Library angeht, werde ich sowieso noch mal ein Thema in diesem Forum eröffnen.

Was hällst du erstmal von der Idee? Vorteil: Du programmierst in modernem C++, dir werden die ekeligen OpenGL Aufgaben abgenommen, aber du arbeitest trotzdem noch ziemlich nah an der Hardware.

EDIT:


bingo88 schrieb:


> Wobei du im Studium vermutlich eher mit Java zutun bekommst, zumindest am Anfang. [...] Und ich kann es auch nur noch einmal erwähnen: Java ist nicht mehr so lahm wie alle behaupten, in den meisten Fällen ist die Geschwindigkeit vällig ausreichend, wenn man nicht gerade einen 10 Jahre alten Rechner verwendet. Es werden Spiele in Jacascript und HTML5 geschrieben, wie kann Java da schlechter sein


Wenn er an einer Fach-Hochschule im Fach "technische Informatik" studiert, ist die Wahrscheinlichkeit tatsächlich hoch, dass er Java kaum zu Gesicht bekommt. Zumindest weiß ich das von der Fach-Hochschule aus der Stadt, in der ich studiere. Du hast recht, dass wir nicht in jedem Thread über Java diskutieren sollten, nur ein Hinweis: Performance ist keiner meiner Hauptkritikpunkte an Java. Falls Interesse an weiterdiskutieren -> PN oder eigener Thread. Hier ist jetzt mit Java Schluss, weil der Threadersteller schon gesagt hat, dass er es nicht mag. Punkt.



bingo88 schrieb:


> C für Spiele kannst du machen, Quake 1-3 wurden beispielsweise in C geschrieben. Allerdings ist es mit C meiner Meinung nach viel schwieriger, ein Projekt dieser Größe "sauber" zu halten. Ich würde dir daher auch eher zu C++ raten, wobei bevor du mit so einem Projekt anfängst, erst mal damit einigermaßen sicher umgehen solltest. Spiele sind mit das komplexeste, was man so zusammenklempnern kann, und wenn man da so ohne Planung drauf los rennt, kommt eigentlich nur ein großer Haufen Kot (Code auch ) dabei raus.


Stimme dir absolut zu. Große Projekte in C sind recht schwierig zu verwalten.


----------



## kbit (24. Juli 2014)

Ok  ich finde die idee gut  meinst du Internet tutorials reichen oder sollte ich mir lieber ein Buch zulegen? Außerdem kennst du eine gute IDE ? Dev c ++ stürzt nur noch ab und bei code blocks werden bei mir die Datein zuerst immer als Virus erkannt von Avast 
Vielen Dank


----------



## Crysis nerd (24. Juli 2014)

Oh mein Gott, der Thread ist echt schnelllebig, so schnell kann ich garnicht Tippen 



kbit schrieb:


> Ok  ich finde die idee gut  meinst du Internet tutorials reichen oder sollte ich mir lieber ein Buch zulegen? Außerdem kennst du eine gute IDE ? Dev c ++ stürzt nur noch ab und bei code blocks werden bei mir die Datein zuerst immer als Virus erkannt von Avast
> Vielen Dank


Viele erfahrenen C++ Programmierer sagen, dass man sich auf jeden Fall ein Buch zulegen sollte. Und auch ich kenne kein ordentliches Online Tutorial zu C++. Je länger man sich mit Informatik beschäftigt, desto schwieriger sieht man ein Tutorial (zu irgendeinem Thema), was man tatsächlich gut findet.
Du hast jetzt nichts zum Englisch lesen gesagt, aber ich denke diese Buch wäre ziemlich gut: Amazon.com: C++ Primer (5th Edition) (9780321714114): Stanley B. Lippman, Josée Lajoie, Barbara E. Moo: Books
Wenn du noch ein wenig ausführlicher lernen möchtest, wohl eher dieses: http://www.amazon.com/Programming-P...=8-2-fkmr1&keywords=bjarne+stroustrup+deutsch

Zur IDE: Du könntest dich daran gewöhnen keine IDE zu benutzen. Ich z.B. nutze Sublime Text, was ein sehr guter Code-Editor ist, aber keine komplette IDE. Andere nutzen Vi oder Emacs, welches auch nur Code-Editoren sind. Dabei lernst du auch gleich einen C++ Compiler von der Kommandozeile zu bedienen. Wenn dir das aber zu viel Arbeit ist, kannst du dir tatsächlich erstmal eine IDE zulegen. Code::Blocks finde ich nich so super, Eclipse mag ich nicht. Zu empfehlen ist tatsächlich Visual Studio von Microsoft. Die Express Version ist kostenlos und als Student bekommst du über DreamSpark Premium auch alle anderen Versionen kostenlos.


----------



## DarkMo (24. Juli 2014)

also die superbible war meine erste bekanntschaft mit opengl - und ich bekomm immerhin schonmal was ausgegeben ^^ (kannst ja nach meinem opengl projekt hier mal suchen). aber dort wird halt c++ verwendet - wenn du da doch eher java oder was anderes wölltest, ist das dann wohl suboptimal ^^


----------



## kbit (24. Juli 2014)

ok ich probiere es mal mit Notepad ++ und informiere mich wie ich unter windows 7 per Kommandozeile kompiliere 
EDIT: Ich möchte kein Java benutzten  jedesmal wenn ich an Java denke muss ich dran denken wie instabiel Minecraft ist ....


----------



## bingo88 (24. Juli 2014)

Online Tutorials reichen in der Regel für einen Einstieg, wobei es gute und schlechte Tutorials gibt - so wie es gute und schlechte Bücher gibt


----------



## Crysis nerd (24. Juli 2014)

kbit schrieb:


> ok ich probiere es mal mit Notepad ++ und informiere mich wie ich unter windows 7 per Kommandozeile kompiliere


Okay das ist schon mal kein schlechter Anfang. Notepad++ ist auch nicht schlecht, aber wenn du nicht gerade Riesen-Fan davon bist, kannst du ja auch mal einen Blick darauf werfen: Sublime Text: The text editor you'll fall in love with
Und unter Windows7 kompilieren: Kannst du gerne machen und spricht auch grundsätzlich nichts dagegen. Nur derzeit kompiliert meine Library nicht mit dem Visual Studio Compiler (VC++). Wenn du allerdings GCC (bzw g++) unter Windows nutzt, ist alles gut. 
Eine Alternative wäre noch, dass du dir eine Virtuelle Maschine mit Ubuntu einrichtest. Das ist super schnell aufgesetzt und du kannst direkt anfangen zu programmieren. Aber wenn dir das jetzt zu viel Arbeit ist, kannst du es auch erstmal sein lassen.



kbit schrieb:


> EDIT: Ich möchte kein Java benutzten  jedesmal wenn ich an Java denke muss ich dran denken wie instabiel Minecraft ist ....


Und damit nun Schluss mit Java in diesem Thread


----------



## Olstyle (24. Juli 2014)

Spiele werden auf Engine-Grundlage designed. Ganz andere Programmierer erstellen wiederum diese Engine. Je nach Zielsetzung solltest du dich daher unter Umständen (wenn du denn grundsätzlich programmieren kannst) besser mit der Skriptsprache der gewählten Engine und garnicht mit "klassischen" Programmiersprachen beschäftigen.

@Crysis nerd: Du erfindet GLUT neu?

Zur Editorfrage: Ich mag ja Geany. Ist irgendwo zwischen Editor und IDE.


----------



## kbit (24. Juli 2014)

Ok Sublime sieht auch nicht schlecht aus  und wegen ubuntu habe ich auch einen Dualboot schon mal eingerichtet nur seit dem Graka wechsel ist ubuntu nur im Low graphics mode  und ich habe nicht verstanden wie ich compilieren sollte  
Ich möchte es zuerst mal mit c++ und open gl probieren


----------



## bingo88 (24. Juli 2014)

70$ für einen Texteditor? Unter Linux? WTF?


----------



## kbit (24. Juli 2014)

what?


----------



## bingo88 (24. Juli 2014)

Der Sublime Editor kostet 70$. Da kann der noch so gut sein, da würde ich ja sogar EMACS für lernen.


----------



## kbit (24. Juli 2014)

ich habe nur gesehn das es kostenlos ist für windows  vom link von crysis nerd


----------



## Crysis nerd (24. Juli 2014)

bingo88 schrieb:


> Online Tutorials reichen in der Regel für einen Einstieg, wobei es gute und schlechte Tutorials gibt - so wie es gute und schlechte Bücher gibt


Da hast du recht, nur als Anfänger kann man dazwischen nicht unterscheiden. Und Tutorials schreiben meistens solche Dumpfbacken wie wir in diesem Thread, wo jeder am liebsten seine eigene Meinung vertreten will 



Olstyle schrieb:


> Spiele werden auf Engine-Grundlage designed. Ganz andere Programmierer erstellen wiederum diese Engine. Je nach Zielsetzung solltest du dich daher unter Umständen (wenn du denn grundsätzlich programmieren kannst) besser mit dem Skriptsprache der gewählten Engine und garnicht mit "klassischen" Programmiersprachen beschäftigen.


Da hast du nicht ganz recht. Ja viele viele Spiele werden mit Engines geschrieben und nicht mehr von Scratch. Und mit Unity ist eine super Engine auf den Markt gekommen, die Einsteigern das Leben erleichtert. Aber nicht alle Spiele werden so programmiert und es gibt noch genug Spiele, die von Hand programmiert werden. Unter anderem auch, weil eine Engine für diese spezielle Art von Spiel nicht reichen würde. 
Aber auch hier noch mal einen kleinen Fingerzeig, dass der Herr Threadersteller Technische Informatik studiert und daher weniger von Scriptsprachen hat, als von Grafikprogrammierung in z.B. C++. Letztendlich kommt es auf die Person an: Freut man sich mehr über ein drehendes, buntes Dreieck bei dem man komplett versteht, was die Grafikkarte macht, oder freut man sich über ein Rennspiel, was man in kurzer Zeit in Unity gescriptet hat? Beides ist absolut zu verstehen. Ich bin allerdings der Typ mit dem Dreieck 



Olstyle schrieb:


> @Crysis nerd: Du erfindet GLUT neu?


Nein... Ich hoffe, dass niemand mehr GLUT benutzt. Es ist erschreckend alt und erschreckend... ungut. Auch wenn das Projekt mit freeGlut weitergeführt wird, ist es immer noch alt und ihhh. Außerdem ist glut absolut nicht das, von dem ich rede. Als OpenGL-Loader-Library würde ich im übrigen glew empfehlen. Also glut: Nix gut.



kbit schrieb:


> Ok Sublime sieht auch nicht schlecht aus  und wegen ubuntu habe ich auch einen Dualboot schon mal eingerichtet nur seit dem Graka wechsel ist ubuntu nur im Low graphics mode  und ich habe nicht verstanden wie ich compilieren sollte
> Ich möchte es zuerst mal mit c++ und open gl probieren


Das ist immer so ein Problem mit Linux Systemen 
Ich sprach aber auch davon, eine virtuelle Maschine zu erstellen, z.B. in VirtualBox. Dort hast du auch keine Probleme mit Hardware. 
Und was das kompilieren angeht: Woran genau hakt es?


*EDIT:* Sublime kann man sich tatsächlich teuer kaufen. Aber die Homepage bietet auch eine kostenlose Testversion an, die man ewig nutzen kann. Sie meckert nur sehr selten beim Speichern einer Datei mal, dass man es eventuell kaufen könnte.


----------



## kbit (24. Juli 2014)

VM's finde ich erschreckend langsam. Ich weiß nicht wie ich sagen kann per konsole das genau die Datei kompiliert werden soll


----------



## bingo88 (24. Juli 2014)

kbit schrieb:


> ich habe nur gesehn das es kostenlos ist für windows  vom link von crysis nerd


 Offenbar hat der kein forciertes Ablaufdatum, ist wohl ähnlich zu der Art wie Winrar damit umgeht.



kbit schrieb:


> VM's finde ich erschreckend langsam. Ich weiß nicht  wie ich sagen kann per konsole das genau die Datei kompiliert werden  soll


 Ich habe in meinen VMs fast native Performance, weiß ja nicht, was du da gemacht hast.

BTW: Das Meiden von GLUT finde ich schon mal gut


----------



## kbit (24. Juli 2014)

ich habe das programm von oracle benutzt


----------



## bingo88 (24. Juli 2014)

Du meinst Virtual Box? Das nutze ich auch, mit openSUSE und Ubuntu, beides 64-Bit. Wobei Ubuntu dank dem blöden Unity durchaus hardwarefressend ist. Du könntest dir sonst auch Lubuntu ansehen, dass ist im Prinzip ein Ubuntu mit einem sehr leichtgewichtigen Desktop.


----------



## Crysis nerd (24. Juli 2014)

kbit schrieb:


> VM's finde ich erschreckend langsam. Ich weiß nicht wie ich sagen kann per konsole das genau die Datei kompiliert werden soll


 
Ich muss leider gestehen, dass ich nicht großartig Ahnung von dem VC++ habe, aber für gcc kann ich es dir zumindest verraten:

```
g++ -Wall -o test.exe test.cpp
```
Dieser Befehl kompiliert die Datei test.cpp und erstellt die ausführbare Datei test.exe (-o sagt, wie die Datei, die rauskommt, heißen soll). Der -Wall Flag sagt, dass gcc bitte über alle nennenswerten Warnungen informieren soll. Damit sollte man immer kompilieren, um mögliche Fehler zu erkennen.

Wenn du allerdings mehrere .cpp Dateien hast, solltest du dir vorher erst die Build-Pipeline von C++ angucken. Also, damit du verstest, was ich damit meine:

```
SourceCode ----> [PreProcessor] ----> Intermediate ---> [Compiler] ----> ObjectFile ----> [Linker] -----> Executable
```


----------



## kbit (24. Juli 2014)

muss ich nicht in irgendeiner art ihm sagen wo test.cpp ist?


----------



## Crysis nerd (24. Juli 2014)

Wenn du in einer KommandoZeile bist, befindest du dich immer in einem Verzeichnis. Am Anfang befindet man sich meist in seinem Nutzerverzeichnis. Du musst also vorher dahin navigieren, wo deine test.cpp liegt. Das tust du z.B. mit dem Befehl "cd Ordner", wobei "Ordner" ein Ordner in deinem aktuellen Verzeichnis ist, in den du reinwechseln möchtest.


----------



## kbit (24. Juli 2014)

ok danke


----------



## DarkMo (24. Juli 2014)

is ja wie zu dos zeiten xD das is für mich so ein punkt, wieso ich linux ned ab kann  aber gut, darum gehts ja nich *bappen halt*


----------



## kbit (24. Juli 2014)

ich deinstalliere ubuntu und gucke wegen vm und beginne mir modern c++ anzugucken  ich denke den Thread kann man schließen


----------



## Crysis nerd (24. Juli 2014)

Ach der kann gerne auch auf bleiben  
Falls du nochmal fragen hast oder noch andere Fragen oder Anmerkungen haben.

Frage: Ubuntu deinstallieren? Also dein Dualboot aufheben? Möglicherweise eine schlechte Idee, weil der Bootloader dabei beschädigt werden könnte...
Wenn es dich nicht großartig stört und du dein Windows auf garkeinen Fall neu installieren möchtest, lass Ubuntu mal drauf. Oder geh es vorsichtig an


----------



## kbit (24. Juli 2014)

Ok vielen dank für eure hilfe 
EDIT: Habe das schonmal gemacht und man repariert den bootloader bei dem vorgang mit einer windows cd


----------



## XPrototypeX (24. Juli 2014)

Mich wundert es das noch keiner C# erwähnt hat. Bin zwar eher auf der Java Seite unterwegs, sollte man aber auf keinen Fall unterschätzen. Man hat eine Java Like Sprachumfang sehr gute API und hat trotzdem eine relativ performante DirectX Anbindung. Ist natürlich langsamer als C++ (da managed code) aber man muss sich nicht mit dem ganzen Krampf ala Mehrfachvererbung, Pointers, objekt destruktion beschäftigen.

Edit: Wenn es Linux ist kann man das mit C# natürlich knicken.


----------



## kbit (24. Juli 2014)

Mich wundert es das DirectX 11 kaum erwähnt wurde und alle nur OpenGL ansprechen  wieso eigentlich?


----------



## bingo88 (24. Juli 2014)

Naja, es ging ja direkt um C/C++. Ansonsten, klar hast in Prinzip recht, aber die Sprachfrage wurde bereits "abgeschmettert"


----------



## kbit (24. Juli 2014)

Ist direktx im vergleich zu opengl schlechter oder liegt es daran das dx windows exclusiv ist?


----------



## bingo88 (24. Juli 2014)

Das kannst du so pauschal nicht sagen, man kann mit beiden APIs gute Ergebnisse erzielen. Die Arbeit erledigen tun beide APIs, man muss sich auch in beide einarbeiten.


----------



## Crysis nerd (24. Juli 2014)

Zu OpenGL/DirectX hatte ich vorhin schon was geschrieben. DirectX ist nicht schlechter, sondern das Design der API wird von Vielen sogar als besser erachtet. Aber von der Performance unterscheiden sich die beiden nicht... Man kann mit beiden APIs komplett die gleichen Spiele machen.


----------



## kbit (24. Juli 2014)

ok


----------



## Olstyle (24. Juli 2014)

C# ist mit Mono sogar garnicht mal schlecht unter Linux nutzbar. Was die Grundperformance an geht ist es aber auf beiden Plattformen langsamer als Java im Servermodus. Der Grafikcode über XNA läuft aber wohl echt ganz gut. Das wiederum wurde aber eingestellt .

Der Hauptgrund warum DX nicht ausführlich behandelt wurde dürfte dran liegen dass sich bis jetzt nur einer der Beteiligten tiefer mit so was beschäftigt hat und der halt auf Multiplatform besteht. Ich selbst kenne leider auch nur ein paar Basics in OGL und hab DX nur mal benutzt um an Infos zur Grafikkonfiguration zu kommen(weil ich in dem Fall explizit die D3D Interpretation der Bildschirmaufteilung brauchte).

Edit: Man bin ich langsam.


----------



## kbit (24. Juli 2014)

Trotzdem Danke für die Antwort


----------



## bingo88 (24. Juli 2014)

Als XNA Ersatz gibt es MonoGame, das ist sogar relativ ähnlich was die API angeht. Läuft auch auf anderen Plattformen, z. B. Android.

Ich hatte mich vor einiger Zeit mal mit DX11 auseinandergesetzt, hatte vorher nur mit DX9 gearbeitet (bin aber schon seit dem 7er SDK dabei...). Da ich aber auch eher von Windows weg bin, ist das für mich uninteressant geworden. Was ich jedoch festgestellt hatte: Alles, was ich von früheren Versionen kannte, war bei DX11 anders


----------



## Crysis nerd (24. Juli 2014)

bingo88 schrieb:


> Alles, was ich von früheren Versionen kannte, war bei DX11 anders.



Ja, weg von der FixedFunctionPipeline 
Das war ein großer Schritt von DX9 zu DX10 (was letztlich auch in DX11 geblieben ist). OpenGL hat die FFP auch schon seit diversen Versionen abgeschafft (seit 3.0 wenn mich nicht alles täuscht [zu faul zum googlen]). FFP ist auch doof gewesen...


----------



## kbit (24. Juli 2014)

Was ist ffp?


----------



## DarkMo (24. Juli 2014)

besagte fixed function pipeline ^^


----------



## kbit (24. Juli 2014)

ja was ist das?


----------



## Crysis nerd (24. Juli 2014)

FFP = Fixed Function Pipeline. Weiß nicht, ob andere Leute die Abkürzung benutzen, aber ich war gerade zu faul zum tippen 

Und was das ist... Tja das kann man nicht umbedingt gut schnell erklären. Ich probiers mal:
Die Grafikkarte führt eine Reihe von Schritten aus, um uns tolle Sachen anzuzeigen, die sog. Graphics Pipeline. Ihre Hauptaufgabe ist es, Dreiecke, die durch eine Position in der Welt definiert sind, auf den Bildschirm zu zeichnen. Um das zu tun, durchläuft so ein Dreieck zahlreiche Schritte, sog. Stages der Graphics Pipeline. Früher (also MIT der FFP), war es so, dass man einige Dinge, wie z.B. Position der virtuellen Kamera, festgelegt hat und dann nur noch die Pipeline angeschmissen hat. Das hat sich aber als viel zu unflexibel erwiesen und wurde dann von Programmierbaren Stages, den sog. Shadern abgelößt. Jetzt besteht die Graphics Pipeline aus konfigurierbaren UND programmierbaren Stages. Das bietet wesentlich höhere Flexbilität für den Programmierer und kann auch Performance einsparen. 

Der einzige Nachteil ist nur, dass man am Anfang ein wenig mehr Arbeit hat, um überhaupt 3D-Transformation ans laufen zu bekommen. Heißt: Man muss sich selber sog. Transformationsmatrizen zusammenbauen, um WorldSpace-Transformationen (wie Translation, Rotation und Skalierung) sowie perspektivische Projektionen durchzuführen. 
Aber das Leben ist mit Shadern schon viel schöner


----------



## kbit (24. Juli 2014)

ok


----------



## bingo88 (24. Juli 2014)

Crysis nerd schrieb:


> Ja, weg von der FixedFunctionPipeline
> Das war ein großer Schritt von DX9 zu DX10 (was letztlich auch in DX11 geblieben ist). OpenGL hat die FFP auch schon seit diversen Versionen abgeschafft (seit 3.0 wenn mich nicht alles täuscht [zu faul zum googlen]). FFP ist auch doof gewesen...


 Das meine ich noch nicht mal, das kannte ich zu dem Zeitpunkt ja schon von OpenGL. Irgendwie war das alles doof.


----------



## kbit (25. Juli 2014)

So ubuntu deinstalliert  welche software zum erstellen von vm's würdet ihr mir empfehlen und welche linux version ?


----------



## Crysis nerd (25. Juli 2014)

VirtualBox und Ubuntu 14.04
EDIT: Ich mag VMWare zwar lieber, aber das kostet viel zu viel :/


----------



## kbit (25. Juli 2014)

Der Link wie ich Ubuntu deinstalliert habe:  Ubuntu entfernen   Falls es jemanden interessiert 
beides Downloaded jzt


----------



## kbit (25. Juli 2014)

ist es schlimm wenn es eine ältere ubuntu version (13.10) ist?


----------



## bingo88 (25. Juli 2014)

Nee, du kannst aus dem laufen den Betrieb heraus auf die neue Upgraden: sudo do-release-upgrade auf der Konsole (Terminal) ausführen. Du solltest allerdings mit dem Upgrade nicht ewig warten, da die 13.10er bald ausm Support läuft (ist keine LTS)

Edit: Zu spät, seit 17. Juli kein SUpport mehr ^^


----------



## kbit (25. Juli 2014)

bin am updaten ^^


----------



## kbit (28. Juli 2014)

was haltet ihr von diesem Tutorial zu c++ ? http://www.youtube.com/playlist?list=PL5F6340BD21EE9F1A
Was ist eigentlich SFML ?


----------



## XPrototypeX (28. Juli 2014)

Wieso sellst du so fragen nicht einfach google so aus dem context gerissen wüsste ich es jedenfalls nicht. 

Zu dem Link: Hoppla da ist etwas schiefgelaufen


----------



## kbit (28. Juli 2014)

der Link funktioniert jzt
EDIT: Das mit SFML hat sich erledigt


----------



## XPrototypeX (28. Juli 2014)

Wow in 3 Stunden will der dir C++ beibrigen? Das ist echt sportlich. Ich habe mir jetzt nur die Themen die behandelt werden angeschaut, für einen Überblick ausreichend.  

Kleinere Projekte wirst du damit sicher zustande bringen. Aber erstmal muss eine steile Lernkurve erfolgen.


----------



## kbit (28. Juli 2014)

würded ihr dieses Buch http://www.amazon.de/gp/product/0321714113/ref=s9_simh_gw_p14_d0_i1?pf_rd_m=A3JWKAKR8XB7XF&pf_rd_s=center-2&pf_rd_r=0813HDASH3B7ATTA8GVN&pf_rd_t=101&pf_rd_p=455353687&pf_rd_i=301128 oder eher dieses Buch http://www.amazon.de/Programming-Principles-Practice-Using-C/dp/0321992784/ref=la_B000AQ349S_1_3?s=books-intl-de&ie=UTF8&qid=1406563122&sr=1-3 empfehlen ? 
außerdem welches Buch ist gut zum Lernen von OGL geeignent?


----------



## XPrototypeX (29. Juli 2014)

Der C++ Primer wird immer gerne empfohlen. Wie verständlich das dort alles erklärt ist weiß ich nicht. Generell für Anfänger ist immer learning by doing zu empfehlen. Besondere Keywords bzw. API Funkionen lernst du dann on the fly. Ein gewisse Grundverständnis  muss da natürlich vorhanden sein, da reicht aber denke ich auch ein einfaches Video Tutorial.

So rießen Programmierbücher empfehlen sich oft als Referenz. Daher man schlägt bestimmte Konstrukte nach und ließt wie man bestimmte Sachen am saubersten löst (natürlich brauch man davor einen gewissen Grad an Érfahrung).

Mit OGL kenn ich mich persönlich nicht aus.


----------

