Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jan 20, 2021 05:37

Foren-Übersicht » DGL » News
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
BeitragVerfasst: So Okt 24, 2010 17:35 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3812
Wohnort: Tespe (nahe Hamburg)
Bild
Vor einigen Monaten erschien das Buch „3D-Grafik mit OpenGL – Das umfassende Praxis-Handbuch“ von Marius Apetri im mitp Verlag. Dieser stellte DGL ein Probeexemplar zur Verfügung und Euch in einer dgltypischen Rezession vorgestellt werden soll. Ein herzlichen Dank an den Verlag für die unbürokratische Abwicklung.

Als ich das erste Mal angeschrieben wurde und ich lass, dass es um ein OpenGL-Buch ging, dachte ich zunächst, es wäre wieder einer der schmalen Handbücher, die es sonst gibt. In der Tat ist es diesmal allerdings ein Werk von immerhin rund 840 Seiten und damit für ein Fachbuch eine soliden Umfang. Im direkten Vergleich mit dem eigenen Bücherschrank schlägt es sogar knapp das „Tibetanische Totenbuch“ ;)

Bereits beim DGL-Treffen wurde das Buch bereits einmal durch die Hände gereicht und nicht nur mir fiel sofort, dass das detaillierte Inhaltsverzeichnis auf, welches sich über immerhin 7 Seiten erstreckt. Auch beim Durchlesen der einzelnen Kapitel fällt auf, dass es nicht die typische Struktur eines Buches zum Thema OpenGL aufweist. Das Buch ist untergliedert in die Teile „Grundlagen der OpenGL-Programmierung“ (122 Seiten), „Einführung in die 3D-Programmierung“ (166 Seiten), „Lokale Ausrichtungen“ (170 Seiten), „Beleuchtung von Gegenständen“ (84 Seiten) und „Bilder“ (116 Seiten) und „Texturprojektion“ (69 Seiten). Man merkt bereits an, dass das Buch damit keiner thematischen Gliederung wie z.B. das Redbook folgt. Auch sollte man sich nicht von der Themenauswahl abschrecken lassen, da die einzelnen Teile in zahlreichen Unterkapitel überdurchschnittlich viele Themen anschneiden.

Der erste Teil des Buches wird bezeichnet als „Grundlagen der OpenGL-Programmierung“ und legt sofort los mit dem Kapitel „Programmsoftware und Grafikhardware“. In dem Kapitel bekommt der Leser nicht nur eine kurze Einführung darüber, was OpenGL eigentlich ist und wie die Namenskoventionen aussehen, sondern auch bereits die ersten Schaltpläne und Erklärungen wie eigentlich der Videospeicher aufgebaut ist. Die Herangehensweise ist hierbei vielmehr theoretischer Natur und greift nicht wirklich den Aufbau moderner Hardware auf.

In diesem Kapitel wird u.a. auch erklärt wie man in OpenGL Punkte und Linien darstellt. Dies mag zunächst noch ein wenig zum Schmunzeln animieren, da dies ja mit ein paar Zeilen Code auch erledigt werden könnte. Doch enthalten diese Kapitel auch Erklärungen darüber, wie eigentlich der Buffer auf den Bildschirm gebracht wird oder die Buffer wieder geleert werden können. So wird scheinbar nebenbei auch noch (gut bebebildert) erklärt, wie eigentlich Antialiasing funktioniert oder man eine orthogonalen Projektionsmatrizen verwendet. Der Autor hat sich dabei merkbar viel Mühe gegeben die einzelnen Sachverhalte nicht nur in Form eines Textes und über Code-Schnipsel zu Erklären, sondern das Verständnis durch eine gute Bebilderung zu unterstützen. So fehlt beispielsweise bei der Erklärung der Unterschiede von GL_LINES, GL_LINE_STRIP und GL_LINE_LOOP keineswegs eine entsprechende Abbildung, die die unterschiedlichen Ergebnisse präsentiert. Oder eben auch einfach nur einmal die Perspektivenverzerrung bei einem Hexagon, wenn die Seitenverhältnisse der orthogonalen Matrix verändert werden.

Im zweiten Teil wird dann die Grundlage gelegt für die Theorie, die benötigt wird, um mit OpenGL arbeiten zu können. Es wird erklärt was eigentlich eine Projektion ist, wie Matrizen aufgebaut und verwendet werden können. Bei den Polygonen wird sich ebenfalls mit der Theorie dahinter befasst. Wie müssen eigentlich Vertices angeordnet sein, Unterscheidung von Vorder- und Rückseite, jedoch auch Themen, die man evtl. an dieser Stelle nicht erwartet hätte. So wird beispielsweise recht detailliert der Z-Buffer erklärt oder wie man abgewandte Polygone erkennt.

Besonders angetan hat es mir der dritte Teil des Buches, der sich mit „Lokalen Ausrichtungen“ beschäftigt. Gerade jemand wie ich, der ziemlich mit der Mathematik auf dem Kriegsfuß steht und auch die Grafikprogrammierung rein von der praktischen Seite her angenäht hat, wird hier einige erhellende Momente erleben. Wer also bei Matrizen und Vektoren noch ein unsicheres Gefühl hat, bekommt nochmal die Gelegenheit diese Unsicherheit abzubauen. Überhaupt wird sich in dem Kapitel sehr darauf konzentriert, die unterschiedlichen Auswirkungen von Matrizen auf Objekte darzustellen. Wer sich also bisher darauf beschränkt hat zu glauben, dass die Reihenfolge von Matrizenoperationen nicht egal sind, aber nie verstanden hat wieso – bekommt hier ein paar Erklärungen mit der gewohnt guten Bebilderung des Buches.

Auch positiv zur Kenntnis genommen habe ich, dass auch Themen wie die „hardwareunterstützte Bildbearbeitung“ oder „Farbmischung“ aufgriffen werden. Es gab ja auch bei uns durchaus immer wieder Forderungen mehr Artikel für diese Themen zu schreiben.

Was ist also der Gesamteindruck des Buches? Wie man bereits an der Struktur erkennt, handelt es sich hier vorwiegend um ein Buch, dass sich an eine Anwendung im wissenschaftlichen oder auch bei der industriellen Grafikprogrammierung angestrebt wurde. Immerhin merkt man dies ein wenig an den doch recht ausführlichen Bereich Beleuchtung und Selektion an. Das ist grundsätzlich kein Problem und vielleicht sogar für manch einen der OpenGL beruflich einsetzt sogar hilfreich.

In jedem Fall sollte man positiv erwähnen, dass es sich positiv von anderen Büchern in diesem Bereich abhebt und der Autor ohne Zweifel sich eine Menge Mühe gegeben hat Material zu sammeln. Die meisten Fachbücher beschränken sich leider darauf einzelne Sachverhalte zu erklären und lassen den Leser relativ alleine stehen, sollte etwas noch nicht Verstanden worden sein. Die zahlreichen Bilder und guten Beschriftungen zeigen, dass der Autor sich gerade bei einem komplexeren Thema wie der Grafikprogrammierung durchaus bewusst gewesen ist, dass dies entsprechend ausführlich erklärt werden muss.

An einigen Stellen wirken die Themen ein wenig wirr. Wieso beginnt das Kapitel „Lokale Ausrichtung“ mit einer Erklärung für die Abfrage von Tastatureingaben, setzt sich über die schematische Darstellung von Landschaften fort zu der Erklärung von Polygonzügen? Es ist keineswegs so, dass diese Inhalte an den Stellen deplatziert sind und durchaus die Grundlage für das Kapitel legen. Erschwert allerdings die Verwendung des Buches als reines Nachschlagewerk zu den Themen.

Ob das Buch eine Empfehlung ist, hängt wie so oft von der Frage ab, wer als Zielgruppe gesehen wird. Ein klassisches Einsteigerbuch für Quereinsteiger ist es definitiv nicht. Wer nicht bereits solide Programmieren kann, wird mit dem Buch auch kein Profi-OpenGL-Entwickler werden. Allerdings ist dies eine Aussage, die wir bereits mantraartig seit Jahren selbst predigen. Gleichzeitig verwendet das Buch sehr viele mathematische Formeln und selbst im Redbook werden vergleichsweise selten Matrizen dargestellt. Hier sind es durchaus mal eine halbe Seite, die sich mit kompletten mathematischen Funktionen eindeckt, die man sonst nur aus mathematischen Büchern aus der Uni kennt. Wer also Probleme mit mathematischer Schreibweise hat oder nicht im Leistungskurs Mathe sitzt, wird hier durchaus eine Sprache antreffen, die ihm vielleicht nicht ganz so liegt ;)

Um es also ganz klar zu sagen: Dieses Buch widmet sich nicht der Spieleentwicklung, sondern der Grafikprogrammierung selbst. Genau dies ist allerdings gerade sehr erfrischend, weil es für diesen Bereich bereits zahlreiche (schlechte!) Bücher gibt. Allerdings ist die Themenauswahl für einen Spieleentwickler eher ungeeignet. Immerhin geht es dabei auch recht viel um Illusion und weniger um Genauigkeit. Auch richtet sich das Buch nicht unbedingt an jene, die eine Highend-Grafikkarte mit den neusten Features programmieren wollen. Immerhin wieder stößt man in dem Buch über exotische OpenGL-Funktionen (die sicherlich ihre Daseinsberechtigung haben!), ich jedoch in all den Jahren nie wirklich gebraucht habe. Der reine Hobbyist oder wer auf effektvolle Grafiken aus ist, wird vermutlich mit dem Buch weniger anfangen können. Insbesondere da ein Preis für 50€ gerade für die Jüngeren ein wenig happiger sein könnte.

Da dies Buch (leider!) kein solides Quellenverzeichnis hat, mag es für eine wissenschaftliche Arbeit nur bedingt geeignet sein. Diese Aussage bezieht sich allerdings nur auf das Fehlen des Quellenverzeichnisses, keineswegs auf den Inhalt! Dieser ist solide und wird für jeden Studenten, der im Bereich Grafikprogrammierung unterwegs ist eine wahre Fundgrube für Erklärungen sein und gerade durch seine gute Aufarbeitung und den Detailgrad für eine Vertiefung sehr gut geeignet sein. Insbesondere eben auch, da das Buch immer wieder einmal mit kleineren Übungsaufgaben den Leser anhält sich gedanklich auf eine Fragestellung einzulassen. Dies hilft durchaus dabei die Durcharbeitung des Buches auch als Selbststudium zu begreifen und an den Rechner zu setzen, um etwas auch mal praktisch auszuprobieren, anstatt nur die Theorie zu konsumieren. Auch halte ich das Buch gerade für Mathematiker für sehr geeignet, um ein wenig Luft im Bereich der Informatik zu schnuppern. Das Buch wird sicherlich dabei helfen zwischen beiden Bereichen eine Brücke zu schlagen.

Gerade wer beruflich irgend etwas mit Darstellung und Visualisierung zu tun hat, sollte unbedingt einen Blick auf das Buch werfen. Überall dort, wo es um die Darstellung von Daten mittels OpenGL geht, punktet das Buch leicht durch seinen Detailgrad und auch seiner Gliederung. Hier ist es eben durchaus auch sehr angenehm bei einem Kapitel über Linien und Punkten auch etwas über die Möglichkeiten der Kantenglättung zu lesen.

Grundsätzlich also ein positives Fazit, dass sich keineswegs gegenüber Büchern zu dem Thema in einer Uni-Bücherei verstecken muss und durch zahlreiche Darstellungen und Erklärungen zum Selbststudium eignet. Gerade durch die Anzahl der Themen die angeschnitten wird, kann man dem Autor nicht vorwerfen oberflächlich geblieben zu sein. Durch seine kompakte Art enthält das Buch sehr viel Wissen über Grafikprogrammierung und OpenGL. Es empfiehlt sich daher aus meiner Sicht vorwiegend an Fortgeschrittene und Profis als an Einsteiger, die gerade dabei sind sich in die Grafikprogrammierung einzuarbeiten.

Wer das Buch ebenfalls bereits gelesen hat oder es Fragen geben sollte, kann diese natürlich gerne hier stellen. Auch weitere Literaturempfehlungen sind bei DGL stets willkommen.

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo Okt 25, 2010 18:04 
Offline
DGL Member

Registriert: Mi Sep 15, 2010 18:22
Beiträge: 59
Wohnort: Sachsen Meißen
Programmiersprache: Pascal, C(++), Java
Das klingt nicht schlecht was Du da schreibst. Ich denke ich werde es mir bestellen. Es gibt leider nur wenige, aber keine guten Bücher zu OpenGL auf Deutsch. Ein Buch wie "Spielprogrammierung mit DirectX und C++", vielleicht kennt es einer von euch, nur für OpenGL wäre mal ein Meilenstein. Quasi "Spielprogrammierung mit OpenGL und Delphi" :)
Wie gut wird denn das Thema Shader aufgegriffen, im Bezug da bei Null anzufangen?

_________________
bluesky


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo Okt 25, 2010 19:16 
Offline
DGL Member

Registriert: Di Okt 13, 2009 17:25
Beiträge: 365
Programmiersprache: C++
Ich denke, du meinst "3D-Spielprogrammierung mit DirectX und C++" von David Scherfgen? Das kenne ich. :) Was ich bei Büchern grundsätzlich immer problematisch finde, ist dass man häufig die Hälfte davon gar nicht braucht. Zum Beispiel hätte sich der der eben genannte Autor imho den DirectX-spezifischen Teil in seinem Buch sparen können. Was ich aus dem Buch gelernt habe, sind eigentlich größtenteils die Grundprinzipien.

Bei "3D-Grafik mit OpenGL" stört mich wiederum, dass nochmal so ausführlich auf totale Basics wie Matrizen / Vektoren eingegangen wird. Ich will nicht behaupten, dass ich das alles perfekt beherrsche, aber ich komme ganz gut klar damit. Die Seiten wären meiner Meinung nach besser in fortgeschrittene Themen investiert.

Aber sicher sind die Basics-Kapitel für Einsteiger sehr wichtig. Man kann eben kein Buch schreiben, das für alle perfekt "zugeschnitten" ist. Daher fände ich inzwischen Bücher, die sich auf ein sehr spezielles Gebiet (z.B. Shader) der Spieleprogrammierung beschränken (mit meinetwegen nur 200 Seiten) interessanter.


Zuletzt geändert von mrtrain am Mi Aug 31, 2011 21:03, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo Okt 25, 2010 19:36 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3812
Wohnort: Tespe (nahe Hamburg)
Shader ist ein sehr begrenztes Kapitel drin. Dort geht es um die Grundlagen, also wie man einen Shader einbindet, nicht jedoch keine typischen Aufgaben. Im Buch konkret um Polygonschattierung mit knapp 30 Seiten. Wie bereits geschrieben es geht in dem Buch im "Grafikprogrammierung" im klassischen Sinne. Wer auf Effekte, Grafik oder Spielmechanik aus ist, wird vermutlich mit dem Buch nur wenig anfangen können. Es erklärt eben sehr viel Theorie rund um das Thema Grafikprogrammierung und entsprechend ausführlich sind z.B. auch Inhalte rund um Vektoren und Matrizen. Als Basic-Buch würde ich es ebenfalls nicht einstufen, dass es sich schon inhaltlich an Fortgeschrittene richtet, die auch das "warum" verstehen wollen und nicht nur das "wie".

Was konkrete Bücher zur Spieleprogrammierung angeht... ich habe bisher noch kein gutes in den Händen gehalten, da meist nicht die richtige Balance zwischen den Themen gefunden wird. Meist sind hier Quellen im Netz wesentlich besser geeignet um wirklich relevante Informationen raus zu ziehen.

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo Okt 25, 2010 20:05 
Offline
DGL Member

Registriert: Mi Sep 15, 2010 18:22
Beiträge: 59
Wohnort: Sachsen Meißen
Programmiersprache: Pascal, C(++), Java
Genau dieses Buch meine ich. Das Buch ist wirklich gut um den allgemeinen Aufbau eines Spiels zu lernen. Die DirectX Kapitel habe ich bisher, zu meiner Schande, nur teilweise gelesen.

@Phobeus Danke für die Infos.

Wie findet ihr dieses Buch "Shader mit GLSL: Eine Einführung in die OpenGL Shading Language"?
Die Beschreibung klingt viel versprechend. Nur der Preis von 48€ ist für 158 Seiten im Taschenformat für meinen Geschmack überzogen.

_________________
bluesky


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Okt 26, 2010 11:14 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2576
Wohnort: Berlin
Programmiersprache: C/C++, C#
Ich hab in der Regel die Englischen Fassungen der Bücher überflogen, da bisher kein einziges Buch überhaupt mal mir ansprechend OpenGL und Shader erklärt hat. Was mich allerdings mehr stört, dass es kein Buch gibt was sich auf aktuelleren Stoff bezieht. Also das schreiben von OpenGL1-2 Bücher sind mitlerweile ziemliche verschwendete Energie und es gibt genug in diesem Bereich. Was fehlt wären mal Bücher zu 3 und 4, welche sich massiv von 1 und 2 unterscheiden und wer nicht mindestens 2 und 3 beherrscht hat auch keine Chance mehr in der Game Industrie. Selbst OpenGL ES 2 ist schon recht unterschiedlich zu OpenGL 1 und 2, da es sich an den meisten OpenGL3 specs orientiert und das ist der Standard für iPhone, Android und einige Consolen.

Heute bin ich allerdings auch schon darüber hinaus und finde GPU Gems, ShaderX und so weiter sehr gut. Meine Lieblingsbücher sind http://www.gameenginebook.com/ und http://www.amazon.com/Structures-Progra ... 1931841942 .

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Okt 27, 2010 17:53 
Offline
DGL Member

Registriert: Mi Sep 15, 2010 18:22
Beiträge: 59
Wohnort: Sachsen Meißen
Programmiersprache: Pascal, C(++), Java
Auf paperc kann man 3 Seiten des Buches "Shader mit GLSL: Eine Einführung in die OpenGL Shading Language" kostenlos ansehen. Irgendwie ist diese Funktion nicht ganz abgesichert sodass man alle Seiten ansehen kann. Daraus haben ich mir eine PDF erstellt.

Ich habe bisher nur ein bisschen durch die Seiten geblättert. Alles ist recht kurz beschrieben bis auf die Beispiele, die sind umso ausführlicher. In fast jedem Kapitel und Unterkapitel kommt erst mal ein englisches Zitat von einem Satz bis zu einer Viertelseite, welches im weiteren Verlauf erklärt bzw. sinngemäß übersetzt wird. Was soll das?
Wenn sich jemand ein Buch auf Deutsch kauft, dann sollte man nicht seitenweise Platz mit englischen Zitaten verschwenden. Insgesamt wirkt es auf mich eher wie eine erweiterte Facharbeit.

Bisheriges Fazit: Nicht zu empfehlen und schon recht nicht für 48 €.
Wer selbst ein Blick darauf werfen möchte PM an mich.

Frage:
Welches Buch ist besser OpenGL Superbible oder OpenGL Programming Guide Version 3.0 & 3.1?
Kommt davon bald auch ein Buch zur Version 4.0 & 4.1?

_________________
bluesky


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Okt 28, 2010 00:12 
Offline
DGL Member

Registriert: So Apr 01, 2007 17:51
Beiträge: 42
Wohnort: Hamm/Westf.
Phobeus hat geschrieben:
Vor einigen Monaten erschien das Buch „3D-Grafik mit OpenGL – Das umfassende Praxis-Handbuch“ von Marius Apetri im mitp Verlag.

Da dem Buch eine CD beiliegt , auf welcher Sprache beziehen sich die Beispiele ?

Gento


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Okt 28, 2010 16:34 
Offline
DGL Member

Registriert: Mi Sep 15, 2010 18:22
Beiträge: 59
Wohnort: Sachsen Meißen
Programmiersprache: Pascal, C(++), Java
199 Programme in C++ für Linux mit GLUT und das selbe für Windows und noch 4 Programme in Java

_________________
bluesky


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Foren-Übersicht » DGL » News


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.047s | 17 Queries | GZIP : On ]