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.
- 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.
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 over 2000 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). 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), code sanitizers (e.g., ASan, UBSan, and TSan), debugging and testing tools (e.g., Catch2), performance analysis tools (e.g., Perf, PAPI, Gprof, and Valgrind/Callgrind), build tools (e.g., CMake and Make), and version control systems (e.g., Git). OTHER TOPICS. An assortment of other programming-related topics are also covered, including: data structures, algorithms, computer arithmetic (e.g., floating-point arithmetic and interval arithmetic), cache-efficient algorithms, vectorization, good programming practices, and software documentation.
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.
COMPREHENSIVE COVERAGE OF SHADERS AND THE PROGRAMMABLE PIPELINE From geometric primitives to animation to 3D modeling to lighting, shading and texturing, Computer Graphics Through OpenGL®: From Theory to Experiments is a comprehensive introduction to computer graphics which 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 takes 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, applications of projective spaces and transformations and the implementation of graphics pipelines. This book can be used for introductory undergraduate computer graphics courses over one to two semesters. The careful exposition style attempting to explain each concept in the simplest terms possible should appeal to the self-study student as well. Features • Covers the foundations of 3D computer graphics, including animation, visual techniques and 3D modeling • Comprehensive coverage of OpenGL® 4.x, including the GLSL and vertex, fragment, tessellation and geometry shaders • Includes 180 programs with 270 experiments based on them • Contains 750 exercises, 110 worked examples, and 700 four-color illustrations • Requires no previous knowledge of computer graphics • Balances theory with programming practice using a hands-on interactive approach to explain the underlying concepts
Von gespiegelten Universen, sozialen Netzwerken, dem Aufstieg des Homo oeconomicus und dem Ärger im Lehrerzimmer Kann uns die Mathematik helfen, besser zu lügen? Wird es Maschinen geben, die klüger sind als wir? Wie wäre es, in einem gespiegelten Universum zu leben? Was können wir von Fischen in einem Teich lernen? Ob Sie es glauben oder nicht – Antworten auf all diese Fragen finden Sie in der Welt der Zahlen. Mathematik ist einfach überall. Dieses Buch behandelt in 35 kurzen Kapiteln ihre überraschendsten Anwendungen im Alltag. Es holt das oft so ungeliebte Fach aus dem Klassenzimmer mitten ins Leben, und es zeigt, wie die Mathematik jenes „verborgene Netz“ knüpft, das unsere Welt durchdringt und beherrscht. Richard Elwes lädt sie zu einer anregenden Entdeckungsreise ein. Es geht um Wettervorhersagen, Wahlen und Warteschlangen, um bildgebende Verfahren und schwarze Löcher, um ein mathematisches Modell, wie man zu Reichtum gelangt, und um Einsteins Wegweiser durch den Raum. Sie werden die Formel für jedes jemals geschossene Foto kennenlernen und sich Ihrer eigenen Erbsubstanz nähern. Das Chaos im Karpfenteich zeigt, warum die oft so fremd erscheinende Welt der Mathematik Ihnen viel näher und vertrauter ist, als Sie es sich bisher vorstellen konnten.
​ „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.
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. Das erfolgreiche Buch von Prof. Klawonn, das jetzt bereits in der dritten Auflage vorliegt, vermittelt genau das - verständlich und nachvollziehbar. Prof. Klawonn erläutert die wesentlichen Konzepte an konkreten Beispielen und bedient sich dabei der einfachen Sprachmittel der Javaprogrammierung. Die Umsetzung erfolgt praktisch mit Java 2D und Java 3D. Auch zur dritten Auflage gibt es wieder einen umfangreichen Online-Service mit Beispielprogrammen, Aufgaben und Lösungen, Folien und farbigen Illustrationen.
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
Das Buch gibt einen Querschnitt durch das Spektrum der Anwendungen der Computergraphik in Mathematik und Naturwissenschaften. Dabei werden auch neue computergraphische Algorithmen, komplexe Anwenderpakete und sogar Hardwarelösungen diskutiert. Die Beiträge in diesem Band, die auf Vorträgen der ersten Bremer Computer-Graphik-Tage vom Juli 1988 basieren, sind entsprechend vielfältig: Sie reichen von der Berechnung und Visualisierung mathematischer Objekte und Fraktale über Probleme des Medical Imaging bei der Darstellung volumetrischer Daten, Untersuchungen von Oberflächentexturen für Bildsynthese bis hin zur Diskussion verschiedener Ansätze der Parallelisierung computergraphischer Algorithmen. Bei der Darstellung neuer Lösungswege für komplexe Probleme der Visualisierung wurde besonderer Wert auf die praktischen Details gelegt, so daß der interessierte Leser diese Lösungen auch in einer eigenen Implementierung nachvollziehen kann.
Steigen Sie mit diesem Buch in die Welt des Programmierens ein und zwar mit der beliebten Programmiersprache Java! Schritt für Schritt werden Sie mit den Grundlagen, wie zum Beispiel Variablen, Schleifen und objektorientierter Programmierung, vertraut gemacht, probieren viele anschauliche Beispiele aus und schreiben Ihr erstes eigenes Programm. Dieses Buch steht Ihnen bei allen Herausforderungen jederzeit mit hilfreichen Tipps und Lösungsvorschlägen zur Seite, sodass Sie auf Ihrem Weg zum Programmierer optimal gerüstet sind! Mit den Programmbeispielen zum Herunterladen können Sie das Gelernte direkt ausprobieren.
Mit VBA (Visual Basic f?r Applikationen) k?nnen Sie Applikationen, zum Beispiel die Microsoft-Office-Komponenten Word, Excel und Access, auf Ihre Bed?rfnisse zuschneiden und somit Programmabl?ufe steuern. In "VBA f?r Dummies" zeigt Ihnen John Paul Mueller, wie Sie eigene Benutzeroberfl?chen f?r die Microsoft-Office-2007-Applikationen erstellen, strukturierte VBA-Programme schreiben und t?gliche Arbeiten automatisieren k?nnen. Er erkl?rt, wie Sie Formulare gestalten, Fehler in der VBA-Programmierung suchen und beheben und er f?hrt Sie in die objektorientierte Programmierung ein. Au?erdem zeigt er, wie Sie die neue Multifunktionsleiste in den Office-2007-Anwendungen an Ihre Anforderungen anpassen, wie Sie digitale Signaturen in Dokumente einbinden, XML-Dokumente mit VBA weiterentwickeln und alte VBA-Codes schnell aktualisieren.
Inhalt: Kurven - Reguläre Flächen - Die Geometrie der Gauß-Abbildung - Die innere Geometrie von Flächen - Anhang
Computer Aided Geometric Design (CAGD) stellt die mathematischen Grundlagen für das in der Technik weitverbreitete CAD bereit. Vorlesungen zu diesem Themenbereich gehören heute an allen technisch orientierten Universitäten und Fachhochschulen zum Standard-Angebot. Das Buch liefert eine an der Praxis orientierte, dabei aber mathematisch exakte Einführung und führt den Leser bis an neueste Entwicklungen des Gebietes heran. Aus Besprechungen der amerikanischen Auflage: "Altogether, this book gives a solid introduction to CAGD methods, points out their advantages and disadvantages, can function as a reference book for programmers in CAGD, and is a perfect textbook."

Best Books