How we did it:
For any feedback, any questions, any notes or just for chat - feel free to follow us on social networks
Written by an expert in the game industry, Christer Ericson's new book is a comprehensive guide to the components of efficient real-time collision detection systems. The book provides the tools and know-how needed to implement industrial-strength collision detection for the highly detailed dynamic environments of applications such as 3D games, virtual reality applications, and physical simulators. Of the many topics covered, a key focus is on spatial and object partitioning through a wide variety of grids, trees, and sorting methods. The author also presents a large collection of intersection and distance tests for both simple and complex geometric shapes. Sections on vector and matrix algebra provide the background for advanced topics such as Voronoi regions, Minkowski sums, and linear and quadratic programming. Of utmost importance to programmers but rarely discussed in this much detail in other books are the chapters covering numerical and geometric robustness, both essential topics for collision detection systems. Also unique are the chapters discussing how graphics hardware can assist in collision detection computations and on advanced optimization for modern computer architectures. All in all, this comprehensive book will become the industry standard for years to come.
This book provides readers with an in-depth exploration of 3D game engine architecture. It covers state-of-the-art software architecture principles in the context of game engine design, investigates the subsystems typically found in a real production game engine, surveys engine architectures from actual shipping games, and explores how the differences between game genres can affect engine design. Topics covered include large-scale C++ software architecture in a games context; engine subsystems including rendering, audio, collision, physics and game world models; multi-player engines; tools pipelines for modern games.
Beginning Android Games offers everything you need to join the ranks of successful Android game developers. You'll start with game design fundamentals and programming basics, and then progress towards creating your own basic game engine and playable games. This will give you everything you need to branch out and write your own Android games. The potential user base and the wide array of available high-performance devices makes Android an attractive target for aspiring game developers. Do you have an awesome idea for the next break-through mobile gaming title? Beginning Android Games will help you kick-start your project. The book will guide you through the process of making several example games for the Android platform, and involves a wide range of topics: The fundamentals of game development The Android platform basics to apply those fundamentals in the context of making a game The design of 2D and 3D games and their successful implementation on the Android platform For those looking to learn about Android tablet game app development or want Android 4 SDK specific coverage, check out Beginning Android 4 Games Development, now available from Apress. What you’ll learn How to set up and use the development tools for developing your first Android application The fundamentals of game programming in the context of the Android platform How to use the Android's APIs for graphics (Canvas, OpenGL ES 1.0/1.1), audio, and user input to reflect those fundamentals How to develop two 2D games from scratch, based on the Canvas API and OpenGL ES. How to create a full-featured 3D game How to publish your games, get crash reports, and support your users How to complete your own playable 2D OpenGL games Who this book is for This book is for people with a basic knowledge of Java who want to write games on the Android platform. It also offers information for experienced game developers about the pitfalls and peculiarities of the platform. Table of Contents Android, the New Kid on the Block First Steps with the Android SDK Game Development 101 Android for Game Developers An Android Game Development Framework Mr. Nom Invades Android OpenGL ES: A Gentle Introduction 2D Game Programming Tricks Super Jumper: A 2D OpenGL ES Game OpenGL ES: Going 3D 3D Programming Tricks Droid Invaders: the Grand Finale Publishing Your Game What’s Next?
Randi J. Rost, Bill Licea-Kane, Dan Ginsburg
The definitive OpenGL Shading Language reference AND tutorial - now fully updated and revised for the latest version * *Includes extensive new coverage, including a thorough discussion of GLSL for OpenGL ES, the emerging standard for handheld media devices. *Clear, approachable, and relevant examples that help programmers quickly address the challenges they're most likely to encounter. * Authored by experts who have been intimately involved in the design and evolution of the OpenGL Shading Language. OpenGL Shading Language, 3/e is the definitive guide to creating graphics applications with the newest version of the OpenGL Shading Language. Using this book, graphics programmers will learn how to exploit the full performance and flexibility of modern GPU hardware to create stunningly realistic and creative effects. One part reference, one part tutorial, this will be their go-to source from the moment they begin learning the language until they've become seasoned experts. This book's content has become ever more important to a wider spectrum of graphics programmers. For years, programmers treated graphics hardware as 'state machines' whose behavior could only be modified by changing bits of state. This severely limited the effects they could realistically achieve. The OpenGL Shading Language puts control of graphics hardware squarely in the programmer's hands: key stages of the graphics pipeline are now completely programmable. With this new freedom, of course, the programmer also gains new responsibilities. It's a fundamental paradigm shift -- and this book will help programmers make the leap. This edition covers significant enhancements in the new version of OpenGL Shading Language, including the latest version of GLSL for OpenGL ES, the emerging standard for handheld media devices. As in previous editions, however, it relies throughout on clear, approachable code samples that address the specific tasks and skills graphics programmers are most likely to need
Introduction to 3D Game Programming with DirectX 9.0c: A Shader Approach presents an introduction to programming interactive computer graphics, with an emphasis on game development, using real-time shaders with DirectX 9.0. The book is divided into three parts that explain basic mathematical and 3D concepts, show how to describe 3D worlds and implement fundamental 3D rendering techniques, and demonstrate the application of Direct3D to create a variety of special effects. With this book understand basic mathematical tools used in video game creation such as vectors, matrices, and transformations; discover how to describe and draw interactive 3D scenes using Direct3D and the D3DX library; learn how to implement lighting, texture mapping, alpha blending, and stenciling using shaders and the high-level shading language (HLSL); explore a variety of techniques for creating special effects, including vertex blending, character animation, terrain rendering, multi-texturing, particle systems, reflections, shadows, and normal mapping;f ind out how to work with meshes, load and render .X files, program terrain/camera collision detection, and implement 3D object picking; review key ideas, gain programming experience, and explore new topics with the end-of-chapter exercises.
Jason Sanders, Edward Kandrot
The complete guide to developing high-performance applications with CUDA - written by CUDA development team members, and supported by NVIDIA * *Breakthrough techniques for using the power of graphics processors to create highperformance general purpose applications. *Packed with realistic, C-based examples -- from basic to advanced. *Covers one of today's most highly-anticipated new technologies for software development wherever performance is crucial: finance, design automation, science, simulation, graphics, and beyond. NVIDIA graphics processors have immense computational power. With NVIDIA's breakthrough CUDA software platform, that power can be put to work in virtually any type of software development that requires exceptionally high performance, from finance to physics. Now, for the first time, two of NVIDIA's senior CUDA developers thoroughly introduce the platform, and show developers exactly how to make the most of it. CUDA C by Example is the first book on CUDA development for professional programmers - and the only book created with NVIDIA's direct involvement. Concise and practical, it focuses on presenting proven techniques and concrete example code for building high-performance parallelized CUDA programs with C. Programmers familiar with C will need no other skills or experience to get started - making high-performance programming more accessible than it's ever been before.
Covers mathematical concepts that are needed to develop 3D game programming and graphics.
David H. Eberly
A major revision of the international bestseller on game programming! Graphics hardware has evolved enormously in the last decade. Hardware can now be directly controlled through techniques such as shader programming, which requires an entirely new thought process of a programmer. 3D Game Engine Design, Second Edition shows step-by-step how to make a shader-based graphics engine and how to tame the new technology. Much new material has been added, including more than twice the coverage of the essential techniques of scene graph management, as well as new methods for managing memory usage in the new generation of game consoles and portable game players. There are expanded discussions of collision detection, collision avoidance, and physics — all challenging subjects for developers. * Revision of the classic work on game engines — the core of any game. * Includes Wild Magic, a commercial quality game engine in source code that illustrates how to build a real-time rendering system from the lowest-level details all the way to a working game. * Fully revised and updated in 4 colors, including major new content on shader programming, physics, and memory management for the next generation game consoles and portables.
Philip J. Schneider, David H. Eberly
A collection of proven solutions to fundamental problems, including building primitives, distance calculation, approximation, containment, decomposition, intersection determination, separation, and more. This work covers problems relevant for both 2D and 3D graphics programming.
David Brackeen, Bret Barker, Laurence Vanhelsuwé
A guide to Java game programming techniques covers such topics as 2D and 3D graphics, sound, artificial intelligence, multi-player games, collision detection, game scripting and customizing keyboard and mouse controls.
Peter Shirley, Michael Ashikhmin, Steve Marschner
With contributions by Michael Ashikhmin, Michael Gleicher, Naty Hoffman, Garrett Johnson, Tamara Munzner, Erik Reinhard, Kelvin Sung, William B. Thompson, Peter Willemsen, Brian Wyvill. The third edition of this widely adopted text gives students a comprehensive, fundamental introduction to computer graphics. The authors present the mathematical foundations of computer graphics with a focus on geometric intuition, allowing the programmer to understand and apply those foundations to the development of efficient code. New in this edition: Four new contributed chapters, written by experts in their fields: Implicit Modeling, Computer Graphics in Games, Color, Visualization, including information visualization Revised and updated material on the graphics pipeline, reflecting a modern viewpoint organized around programmable shading. Expanded treatment of viewing that improves clarity and consistency while unifying viewing in ray tracing and rasterization. Improved and expanded coverage of triangle meshes and mesh data structures. A new organization for the early chapters, which concentrates foundational material at the beginning to increase teaching flexibility.
This is the newly revised and expanded edition of the popular introduction to the design and implementation of geometry algorithms arising in areas such as computer graphics, robotics, and engineering design. The second edition contains material on several new topics, such as randomized algorithms for polygon triangulation, planar point location, 3D convex hull construction, intersection algorithms for ray-segment and ray-triangle, and point-in-polyhedron. A new "Sources" chapter points to supplemental literature for readers needing more information on any topic. A novel aspect is the inclusion of working C code for many of the algorithms, with discussion of practical implementation issues. The self-contained treatment presumes only an elementary knowledge of mathematics, but reaches topics on the frontier of current research, making it a useful reference for practitioners at all levels. The code in this new edition is significantly improved from the first edition, and four new routines are included. Java versions for this new edition are also available. All code is accessible from the book's Web site (http://cs.smith.edu/~orourke/) or by anonymous ftp.
The author, a computer graphicist, shares his insight and experience in "Jim Blinn's Corner", an award-winning column in the technical magazine "IEEE Computer Graphics and Applications" in which he unveils his graphics methods and observations. This compendium presents 20 of the column's articles, leading you through the 'graphics pipeline'
Graphics and game developers must learn to program for mobility. This book will teach you how. "This book - written by some of the key technical experts...provides a comprehensive but practical and easily understood introduction for any software engineer seeking to delight the consumer with rich 3D interactive experiences on their phone. Like the OpenGL ES and M3G standards it covers, this book is destined to become an enduring standard for many years to come." - Lincoln Wallen, CTO, Electronic Arts, Mobile “This book is an escalator, which takes the field to new levels. This is especially true because the text ensures that the topic is easily accessible to everyone with some background in computer science...The foundations of this book are clear, and the authors are extremely knowledgeable about the subject.? - Tomas Akenine-Möller, bestselling author and Professor of Computer Science at Lund University "This book is an excellent introduction to M3G. The authors are all experienced M3G users and developers, and they do a great job of conveying that experience, as well as plenty of practical advice that has been proven in the field." - Sean Ellis, Consultant Graphics Engineer, ARM Ltd The exploding popularity of mobile computing is undeniable. From cell phones to portable gaming systems, the global demand for multifunctional mobile devices is driving amazing hardware and software developments. 3D graphics are becoming an integral part of these ubiquitous devices, and as a result, Mobile 3D Graphics is arguably the most rapidly advancing area of the computer graphics discipline. Mobile 3D Graphics is about writing real-time 3D graphics applications for mobile devices. The programming interfaces explained and demonstrated in this must-have reference enable dynamic 3D media on cell phones, GPS systems, portable gaming consoles and media players. The text begins by providing thorough coverage of background essentials, then presents detailed hands-on examples, including extensive working code in both of the dominant mobile APIs, OpenGL ES and M3G. C/C++ and Java Developers, graphic artists, students, and enthusiasts would do well to have a programmable mobile phone on hand to try out the techniques described in this book. The authors, industry experts who helped to develop the OpenGL ES and M3G standards, distill their years of accumulated knowledge within these pages, offering their insights into everything from sound mobile design principles and constraints, to efficient rendering, mixing 2D and 3D, lighting, texture mapping, skinning and morphing. Along the way, readers will benefit from the hundreds of included tips, tricks and caveats. *Written by key industry experts who helped develop the standards of the field *Hands-on code examples are presented throughout the book, and are also offered on the companion website *Provides examples in the two most popular programing interfaces, OpenGL ES and M3G
This book is a step-by-step tutorial that includes complete source code for all of the games covered. It adopts an engaging style to teach all the game development concepts. Each block of code is explained, and game development concepts are diagrammed and covered in detail. Each game begins with a concept description and concludes with suggestions for expanding on the finished game. If you are an aspiring game developer who wants to take a shot at creating games for the Microsoft Windows platform with the XNA Framework, then this book is for you. Using this book, you can get started with creating games without any game development experience. A basic knowledge of C# would be helpful to kick-start your game development, but it's not essential.
Andrew S. Glassner
The creation of ever more realistic 3D images is central to the development of computer graphics. Ray tracing is one of the most popular and powerful means by which photo-realistic images can now be created. From fundamental principles to advanced applications, this guide provides how-to procedures and a detailed understanding of the scientific foundations of ray tracing. Richly illustrated with color and b&w plates.
Gino van den Bergen, Dirk Gregorius
Implementing physical simulations for real-time games is a complex task that requires a solid understanding of a wide range of concepts from the fields of mathematics, physics, and software engineering. This book is a gems-like collection of practical articles in the area of game physics. Each provides hands-on detail that can be used in practical applications. The chapters cover topics such as collision detection, particle-based simulations, constraint solving, and soft-body simulation. An introductory section provides the mathematical foundations and offers some background for the problems inherent in successful physics simulation. The contributors write based on their experience in developing tools and runtime libraries either in game companies or middleware houses that produce physics software for games on PCs and consoles.
Michael E. Mortenson
This completely revised Second Edition of "Computer Graphics" includes valuable information on major organizational changes within the last few years. This edition brings to the fore the basic mathematical tools of computer graphics, including vectors, matrices, and transformations. Additionally, it provides a strong, comprehensive base in exploring math, computer science, physics, engineering, and in special subjects such as algebraic and computational geometry, geometric modeling, and CAD/CAM. A highly diversified book that can be utilized as a primary textbook, supplemental teaching resource, individual tutorial, or key reference text. Includes new chapters on symmetry, limit and continuity, constructive solid geometry, and the Bezier curve. Provides many new figures and exercises. Contains an annotated suggested reading list with exercises and answers in each chapter. Appeals to both academics and professionals. Offers a new solutions manual for instructors.
John F. Hughes, Andries Van Dam, James D. Foley, Steven K. Feiner
Computer Graphics: Principles and Practice, Third Edition, remains the most authoritative introduction to the field. The first edition, the original "Foley and van Dam," helped to define computer graphics and how it could be taught. The second edition became an even more comprehensive resource for practitioners and students alike. This third edition has been completely rewritten to provide detailed and up-to-date coverage of key concepts, algorithms, technologies, and applications. The authors explain the principles, as well as the mathematics, underlying computer graphics-knowledge that is essential for successful work both now and in the future. Early chapters show how to create 2D and 3D pictures right away, supporting experimentation. Later chapters, covering a broad range of topics, demonstrate more sophisticated approaches. Sections on current computer graphics practice show how to apply given principles in common situations, such as how to approximate an ideal solution on available hardware, or how to represent a data structure more efficiently. Topics are reinforced by exercises, programming problems, and hands-on projects. This revised edition features New coverage of the rendering equation, GPU architecture considerations, and importance- sampling in physically based rendering An emphasis on modern approaches, as in a new chapter on probability theory for use in Monte-Carlo rendering Implementations of GPU shaders, software rendering, and graphics-intensive 3D interfaces 3D real-time graphics platforms-their design goals and trade-offs-including new mobile and browser platforms Programming and debugging approaches unique to graphics development The text and hundreds of figures are presented in full color throughout the book. Programs are written in C++, C#, WPF, or pseudocode-whichever language is most effective for a given example. Source code and figures from the book, testbed programs, and additional content will be available from the authors' website (cgpp.net) or the publisher's website (informit.com/title/9780321399526). Instructor resources will be available from the publisher. The wealth of information in this book makes it the essential resource for anyone working in or studying any aspect of computer graphics.
Billy Lamberta, Keith Peters
Alexandre Santos Lobao, Ellen Hatton
Written in easy-to-understand language, this book is a must-read if you'd like to create out-of-the-ordinary, yet simple games. Authors Alexandre Lobao and Ellen Hatton demonstrate the ease of producing multimedia games with Managed DirectX 9.0 and programming the games with Visual Basic .NET on the Everett version of Microsoft's Visual Studio. The authors emphasize simplicity, but still explore important concepts of Managed DirectX 9.0, such as Direct3D, DirectSound, DirectMusic (using the COM interface), DirectInput (including force-feedback joysticks), DirectShow, and DirectPlay. Additional chapters discuss game programming technologies: Speech API for generating character voices, GDI+ for simple games, and multithreading. A bonus chapter even shows you how to port a simple game to a Pocket PC. The book includes two chapters' worth of sample games. The first presents a game with simple features; the second extends that game and presents additional concepts. A library of game programming helper classes is also created, step by step, in both chapters.
Explains the complex technical aspects of video game programming in comprehensive language, covering such areas as 3-D graphics, "voxel graphics," digitized sound and music, modem communications, and game assembly. Original. (Intermediate).