Название: Computer Graphics Programming in OpenGL Using C++, Third Edition Автор: V. Scott Gordon, John Clevenger Издательство: Mercury Learning and Information Год: 2024 Страниц: 589 Язык: английский Формат: pdf (true), epub (true) Размер: 40.0 MB, 80.7 MB
This updated edition includes step-by-step instruction on modern OpenGL 4.0+ GLSL shader programming with C++, along with the theoretical foundations of 3D computer graphics. Every shader stage is explored, from the basics of modeling, textures, lighting, shadows, etc., through advanced techniques such as tessellation, noise maps, water, and stereoscopy. This new edition includes expanded coverage of camera control, refraction, and a new chapter on ray tracing with bounding volume hierarchies for complex models. The companion files include all the source code, shaders, model files, skyboxes, etc., needed to run every example in the book.
One of the things that we hope is unique about this book is that we have strived to make it accessible to someone new to 3D graphics programming. While there is by no means a lack of information available on the topic—quite the contrary—many students are initially overwhelmed. This text is our attempt to write the book we wish we had had when we were starting out, with step-by-step explanations of the basics, progressing in an organized manner up through advanced topics. We considered titling the book “shader programming made easy”; however, we don’t think that there really is any way of making shader programming “easy.” We hope that we have come close.
This book teaches OpenGL programming in C++. There are several advantages to learning graphics programming in C++: •OpenGL’s native language is C, so a C++ program can make direct OpenGL function calls. •OpenGL applications written in C++ typically exhibit very high performance. •C++ offers modern programming constructs (classes, polymorphism, etc.) not available in C. •C++ is a popular language choice for using OpenGL, and a large number of instructional resources for OpenGL are available in C++.
It is worth mentioning that there do exist other language bindings for OpenGL. Popular alternatives exist for Java, C#, Python, and many others. This textbook focuses only on C++.
There are two major additions in this 3rd edition of Computer Graphics Programming in OpenGL Using C++: •Chapter 17 – Ray Tracing of Complex Models •Appendix D – Building a Simple Camera Controller
Ray Tracing is a hot topic in computer graphics, and Chapter 17 expands on our coverage to include: (1) ray tracing models stored in OBJ files, and (2) using bounding volume hierarchies to improve performance and make the ray tracing of complex models feasible. We are excited to finally be able to include this important material in our book.
Features: Covers modern OpenGL 4.0+ GLSL shader programming with C++, and instructions for both PC/Windows and Macintosh Provides complete source code for each example, fully explained along with tips for performance optimization Includes step-by-step instruction for using each GLSL programmable pipeline stage (vertex, tessellation, geometry, and fragment) Designed in a 4-color, “teach-yourself” format with numerous examples that the reader can run just as presented Explores practical examples for modeling, lighting, and shadows (including soft shadows), terrain, water, and 3D materials such as wood and marble Expanded coverage of ray tracing, to include complex models and bounding volume hierarchies Includes companion files with source code, shaders, OBJ models, textures, skydomes, normal maps, high resolution figures, and more
Table of contents: 1: Getting Started. 2: The OpenGL Graphics Pipeline. 3: Mathematical Foundations. 4: Managing 3D Graphics Data. 5: Texture Mapping. 6: 3D Models. 7: Lighting. 8: Shadows. 9: Sky and Backgrounds. 10: Enhancing Surface Detail. 11: Parametric Surfaces. 12: Tessellation. 13: Geometry Shaders. 14: Other Techniques. 15. Simulating Water. 16. Ray Tracing and Compute Shaders. 17. Ray Tracing of Complex Models. 18. Stereoscopy. Appendix A: Installation and Setup for Windows (PC). Appendix B: Installation and Setup for Macintosh. Appendix C: Using the Nsight Graphics Debugger. Appendix D: Building a Simple Camera Controller. Index.
Скачать Computer Graphics Programming in OpenGL Using C++, Third Edition
Внимание
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.