Graphics Shaders: Theory and Practice is intended for a second course in computer graphics at the undergraduate or graduate level, introducing shader programming in general, but focusing on the GLSL shading language. While teaching how to write programmable shaders, the authors also teach and reinforce the fundamentals of computer graphics. The second edition has been updated to incorporate changes in the OpenGL API (OpenGL 4.x and GLSL 4.x0) and also has a chapter on the new tessellation shaders, including many practical examples. The book starts with a quick review of the graphics pipeline, emphasizing features that are rarely taught in introductory courses, but are immediately exposed in shader work. It then covers shader-specific theory for vertex, tessellation, geometry, and fragment shaders using the GLSL 4.x0 shading language. The text also introduces the freely available glman tool that enables you to develop, test, and tune shaders separately from the applications that will use them. The authors explore how shaders can be used to support a wide variety of applications and present examples of shaders in 3D geometry, scientific visualization, geometry morphing, algorithmic art, and more. Features of the Second Edition: Written using the most recent specification releases (OpenGL 4.x and GLSL 4.x0) including code examples brought up-to-date with the current standard of the GLSL language. More examples and more exercises A chapter on tessellation shaders An expanded Serious Fun chapter with examples that illustrate using shaders to produce fun effects A discussion of how to handle the major changes occurring in the OpenGL standard, and some C++ classes to help you manage that transition The authors thoroughly explain the concepts, use sample code to describe details of the concepts, and then challenge you to extend the examples. They provide sample source code for many of the book’s examples at www.cgeducation.org
Seit es Computergrafik gibt, wird kontinuierlich versucht die Qualit t der Darstellung bis hin zum absoluten Realismus zu steigern. Die Shader sind dabei ein wichtiges Hilfsmittel um realistischer scheinende Materialien in der Computergrafik zu erzeugen. Shader bieten dem Grafik-Programmierer eine vorher unerreichte Flexibilit t. Die vorher starren Vorgaben der Grafikprozessoren k nnen nun individuell an die eigenen Bed rfnisse angepasst werden. Dieses Buch bietet einen schnellen Einstieg in die Highlevel Shading Sprachen. Anhand von Beispiel-Shadern in der OpenGL Shading Language (GLSL) werden die Grunds tze erkl rt. Verschiedene Ans tze werden erl utert und m gliche Fehlerquellen werden aufgedeckt. Die Einbindung der entwickelten Shader in eigene OpenGL-Anwendungen wird gekl rt.Zus tzlich wird eine Einf hrung in Textur-Erstellung und 3D-Modeling gegeben.
Get Real-World Insight from Experienced Professionals in the OpenGL Community With OpenGL, OpenGL ES, and WebGL, real-time rendering is becoming available everywhere, from AAA games to mobile phones to web pages. Assembling contributions from experienced developers, vendors, researchers, and educators, OpenGL Insights presents real-world techniques for intermediate and advanced OpenGL, OpenGL ES, and WebGL developers. Go Beyond the Basics The book thoroughly covers a range of topics, including OpenGL 4.2 and recent extensions. It explains how to optimize for mobile devices, explores the design of WebGL libraries, and discusses OpenGL in the classroom. The contributors also examine asynchronous buffer and texture transfers, performance state tracking, and programmable vertex pulling. Sharpen Your Skills Focusing on current and emerging techniques for the OpenGL family of APIs, this book demonstrates the breadth and depth of OpenGL. Readers will gain practical skills to solve problems related to performance, rendering, profiling, framework design, and more.
This document, which consists of approximately 2500 lecture slides, offers a wealth of information on many topics relevant to programming in C++, including coverage of the C++ language itself, the C++ standard library and a variety of other libraries, numerous software tools, and an assortment of other programming-related topics. The coverage of the C++ language and standard library is current with the C++17 standard. C++ PROGRAMMING LANGUAGE. Many aspects of the C++ language are covered from introductory to more advanced. This material includes: the preprocessor, language basics (objects, types, values, operators, expressions, control-flow constructs, functions, and namespaces), classes, templates (function, class, variable, and alias templates, variadic templates, template specialization, and SFINAE), lambda expressions, inheritance (run-time polymorphism and CRTP), exceptions (exception safety and RAII), smart pointers, memory management (new and delete operators and expressions, placement new, and allocators), rvalue references (move semantics and perfect forwarding), concurrency (memory models, and happens-before and synchronizes-with relationships), compile-time computation, and various other topics (e.g., copy elision and initialization). C++ STANDARD LIBRARY AND VARIOUS OTHER LIBRARIES. Various aspects of the C++ standard library are covered including: containers, iterators, algorithms, I/O streams, time measurement, and concurrency support (threads, mutexes, condition variables, promises and futures, atomics, and fences). A number of Boost libraries are discussed, including the Intrusive, Iterator, and Container libraries. The OpenGL library and GLSL are discussed at length, along with several related libraries, including: GLFW, GLUT, and GLM. The CGAL library is also discussed in some detail. SOFTWARE TOOLS. A variety of software tools are discussed, including: static analysis tools (e.g., Clang Tidy and Clang Static Analyzer), code sanitizers (e.g., ASan, LSan, MSan, TSan, and UBSan), debugging and testing tools (e.g., Valgrind, LLVM XRay, and Catch2), performance analysis tools (e.g., Perf, PAPI, Gprof, and Valgrind/Callgrind), build tools (e.g., CMake and Make), version control systems (e.g., Git), code coverage analysis tools (e.g., Gcov, LLVM Cov, and Lcov), online C++ compilers (e.g., Compiler Explorer and C++ Insights), and code completion tools (e.g., YouCompleteMe, and LSP clients/servers).
From geometric primitives to animation to 3D modeling to lighting, shading, and texturing, Computer Graphics Through OpenGL®: From Theory to Experiments, Second Edition presents a comprehensive introduction to computer graphics that uses an active learning style to teach key concepts. Equally emphasizing theory and practice, the book provides an understanding not only of the principles of 3D computer graphics, but also the use of the OpenGL® Application Programming Interface (API) to code 3D scenes and animation, including games and movies. The undergraduate core of the book is a one-semester sequence taking the student from zero knowledge of computer graphics to a mastery of the fundamental concepts with the ability to code applications using fourth-generation OpenGL. The remaining chapters explore more advanced topics, including the structure of curves and surfaces and the application of projective spaces and transformations. New to the Second Edition 30 more programs, 50 more experiments, and 50 more exercises Two new chapters on OpenGL 4.3 shaders and the programmable pipeline Coverage of: Vertex buffer and array objects Occlusion culling and queries and conditional rendering Texture matrices Multitexturing and texture combining Multisampling Point sprites Image and pixel manipulation Pixel buffer objects Shadow mapping Web Resource The book’s website at www.sumantaguha.com provides program source code that runs on various platforms. It includes a guide to installing OpenGL and executing the programs, special software to help run the experiments, and figures from the book. The site also contains an instructor’s manual with solutions to 100 problems (for qualifying instructors only).
Computergrafik umfasst die Erzeugung und Darstellung von einfachen Grafikelementen und Bildern bis hin zur Virtual Reality. Die Anwendung dieser Techniken profitiert von einem soliden Verständnis der entsprechenden Grundlagen. Genau diese werden im Buch von Prof. Klawonn verständlich und nachvollziehbar vermittelt. Er erläutert – am konkreten Beispiel orientiert – die wesentlichen Konzepte und bedient sich dabei der einfachen Sprachmittel der Javaprogrammierung. Die Umsetzung erfolgt praktisch mit Java 2D und Java 3D. Zum Buch gibt es einen umfangreichen Online-Service mit Beispielprogrammen, Aufgaben und Lösungen, Folien und farbigen Illustrationen.
- Die bekannten Design Patterns der Gang of Four im konkreten Einsatz für die Entwicklung von Games - Zahlreiche weitere vom Autor entwickelte Patterns - Sequenzierungs-, Verhaltens-, Entkopplungs- und Optimierungsmuster Für viele Spieleprogrammierer stellt die Finalisierung ihres Spiels die größte Herausforderung dar. Viele Projekte verlaufen im Sande, weil Programmierer der Komplexität des eigenen Codes nicht gewachsen sind. Die im Buch beschriebenen Design Patterns nehmen genau dieses Problem in Angriff. Der Autor blickt auf jahrelange Erfahrung in der Entwicklung von weltweit erfolgreichen Games zurück und stellt erprobte Patterns vor, mit deren Hilfe Sie Ihren Code entwirren und optimieren können. Die Patterns sind in Form unabhängiger Fallbeispiele organisiert, so dass Sie sich nur mit den für Sie relevanten zu befassen brauchen und das Buch auch hervorragend zum Nachschlagen verwenden können. Sie erfahren, wie man eine stabile Game Loop schreibt, wie Spielobjekte mithilfe von Komponenten organisiert werden können und wie man den CPU-Cache nutzt, um die Performance zu verbessern. Außerdem werden Sie sich damit beschäftigen, wie Skript-Engines funktionieren, wie Sie Ihren Code mittels Quadtrees und anderen räumlichen Aufteilungen optimieren und wie sich die klassischen Design Patterns in Spielen einsetzen lassen.
Grundlagen der Entwicklung und Konzeption klassischer Spiele von einem der weltweit führenden Game Designer Mehr als 100 Regeln und zentrale Fragen zur Inspiration für den kreativen Prozess Zahlreiche wertvolle Denkanstöße für die Konzeption eines erfolgreichen Spiels Jeder kann die Grundlagen des Game Designs meistern – dazu bedarf es keines technischen Fachwissens. Dabei zeigt sich, dass die gleichen psychologischen Grundprinzipien, die für Brett-, Karten- und Sportspiele funktionieren, ebenso der Schlüssel für die Entwicklung qualitativ hochwertiger Videospiele sind. Mit diesem Buch lernen Sie, wie Sie im Prozess der Spielekonzeption und -entwicklung vorgehen, um bessere Games zu kreieren. Jesse Schell zeigt, wie Sie Ihr Game durch eine strukturierte methodische Vorgehensweise Schritt für Schritt deutlich verbessern. Mehr als 100 gezielte Fragestellungen eröffnen Ihnen dabei neue Perspektiven auf Ihr Game, so dass Sie die Features finden, die es erfolgreich machen. Hierzu gehören z.B. Fragen wie: Welche Herausforderungen stellt mein Spiel an die Spieler? Fördert es den Wettbewerb unter den Spielern? Werden sie dazu motiviert, gewinnen zu wollen? So werden über hundert entscheidende Charakteristika für ein gut konzipiertes Spiel untersucht. Mit diesem Buch wissen Sie, worauf es bei einem guten Game ankommt und was Sie alles bedenken sollten, damit Ihr Game die Erwartungen Ihrer Spieler erfüllt und gerne gespielt wird. Zugleich liefert es Ihnen jede Menge Inspiration – halten Sie beim Lesen Zettel und Stift bereit, um Ihre neuen Ideen sofort festhalten zu können
Jetzt aktuell zu Java 8: Dieses Buch ist ein moderner Klassiker zum Thema Entwurfsmuster. Mit dem einzigartigen Von Kopf bis Fuß-Lernkonzept gelingt es den Autoren, die anspruchsvolle Materie witzig, leicht verständlich und dennoch gründlich darzustellen. Jede Seite ist ein Kunstwerk für sich, mit vielen visuellen Überraschungen, originellen Comic-Zeichnungen, humorvollen Dialogen und geistreichen Selbstlernkontrollen. Spätestens, wenn es mal wieder heißt "Spitzen Sie Ihren Bleistift", wird dem Leser klar, dass bei diesem Buch sein Mitmachen gefragt ist. Das ist nicht nur unterhaltsam, sondern auch effektiv: Komplexe Sachverhalte lassen sich nach Erkenntnis der modernen Lernwissenschaft am gründlichsten über mehrere verschiedene Kanäle verstehen. Das Buch verspricht dem Leser daher nicht nur Spaß beim Lernen, er wird nach der Lektüre auch die Herausforderungen des Software-Designs meistern können.
​ „Der Mensch mit abweichendem Verhalten ist ein Mensch, auf den diese Bezeichnung erfolgreich angewandt worden ist; abweichendes Verhalten ist Verhalten, das Menschen als solches bezeichnen“: Es ist einer der klassischen Sätze der Devianzsoziologie in einem der Klassiker des Feldes. Howard S. Becker betont fernab von alten und simplistischen Fragen danach, „warum Menschen Regeln brechen“, welche Situationen und welche Prozesse dazu führen, dass Menschen in Positionen geraten, in denen sie als „Regelbrecher“ betitelt werden, wie sie mit diesen Positionen umgehen und sich auch gegen diese wehren. „Außenseiter“ erschien erstmals 1963 in New York und wurde 1981 bei S. Fischer in deutscher Übersetzung publiziert. Seit den frühen neunziger Jahren vergriffen, liegt hier nun eine von Michael Dellwing überarbeitete und herausgegebene Version vor.
Inhalt: Kurven - Reguläre Flächen - Die Geometrie der Gauß-Abbildung - Die innere Geometrie von Flächen - Anhang
Revised ed. of: Computer graphics / James D. Foley ... [et al.]. -- 2nd ed. -- Reading, Mass.: Addison-Wesley, 1995.
Das Goethe-Buch für unsere Zeit: Rüdiger Safranski nähert sich dem letzten Universalgenie aus den primären Quellen - Werke, Briefe, Tagebücher, Gespräche, Aufzeichnungen von Zeitgenossen. So wird Goethe ungewohnt lebendig: Ein junger Mann aus gutem Hause, dem Studentenleben zugetan und dauerverliebt, wird Bestsellerautor, bekommt eine gutdotierte Stellung, dilettiert in Naturforschungen, flüchtet nach Italien, lebt in wilder Ehe - und bei alledem schreibt er seine unvergesslichen Werke. Doch er wollte noch mehr: Das Leben selbst sollte zum Kunstwerk werden. Safranskis souverän geschriebenes Buch macht uns zu Zeitgenossen dieses Menschen und schildert eindringlich, wie Goethe sich zu Goethe gemacht hat.

Best Books