Irrlicht 1.7 Realtime 3D Engine Beginner's Guide


Irrlicht 1.7 Realtime 3D Engine Beginner's Guide
eBook: $26.99
Formats: PDF, PacktLib, ePub and Mobi formats
$22.94
save 15%!
Print + free eBook + free PacktLib access to the book: $71.98    Print cover: $44.99
$44.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Overview
Table of Contents
Author
Reviews
Support
Sample Chapters
  • A comprehensive guide for C++ programmers to learn Irrlicht from scratch
  • Learn to add, manipulate, and animate meshes
  • Manage scenes, nodes, and cameras
  • Use particle systems, shaders, and lights for enhancement
  • Written in beginner's guide style with exhaustive explanations of code and plenty of screenshots added in for ease of learning

Book Details

Language : English
Paperback : 272 pages [ 235mm x 191mm ]
Release Date : October 2011
ISBN : 1849513988
ISBN 13 : 9781849513982
Author(s) : Johannes Stein, Aung Sithu Kyaw
Topics and Technologies : All Books, Game Development, Beginner's Guides, Open Source, Web Graphics & Video

Table of Contents

Preface
Chapter 1: Installing Irrlicht
Chapter 2: Creating a Basic Template Application
Chapter 3: Loading Meshes
Chapter 4: Overlays and User Interface
Chapter 5: Understanding Data Types
Chapter 6: Managing Scenes
Chapter 7: Using Nodes—The Basic Objects of the Irrlicht 3D Engine
Chapter 8: Managing Cameras
Chapter 9: Lightening the Scene
Chapter 10: Creating Eye Candy Effects with Particle Systems
Chapter 11: Handling Data and Files
Chapter 12: Using Shaders in Irrlicht
Appendix A: Deploying an Irrlicht Application
Appendix B: Pop Quiz Answers
Index
  • Chapter 1: Installing Irrlicht
    • Irrlicht license
    • System requirements
    • Time for action – downloading Irrlicht
    • Contents of the Irrlicht package
      • bin folder
      • doc folder
      • examples folder
      • lib folder
      • include folder
      • media folder
      • source folder
      • tools folder
      • Text files
    • Irrlicht on Windows with Visual Studio
    • Time for action – adding file references
      • Project-specific configuration
    • Compiling Irrlicht as a dynamic library using Visual Studio
      • For 6t4-bit Windows
      • Installing Microsoft's DirectX SDK
    • Time for action – compiling Irrlicht as a dynamic library
    • Time for action – compiling the Irrlicht dynamic library with modifications
      • Additional configurations
    • Building an example with Visual Studio
    • Time for action – building an Irrlicht example
    • Using Irrlicht with CodeBlocks
    • Time for action – creating an application using the CodeBlocks wizard
      • CodeBlocks under Linux
    • Irrlicht on Linux
    • Time for action – compiling the static library
    • Making Irrlicht available on the whole system
    • Time for action – compiling "Hello World" on Ubuntu
    • Irrlicht on Mac OS X with Xcode
    • Time for action – compiling the static library on Mac OS X
    • Time for action – compiling "Hello World" project with Xcode
    • Summary
    • Chapter 2: Creating a Basic Template Application
      • Creating a new empty project
        • Visual Studio
        • CodeBlocks
        • Linux and the command line
        • Xcode
      • Time for action – creating the main entry point
      • Using Irrlicht namespaces
      • Irrlicht device
      • Time for action – creating an Irrlicht device
        • The createDevice method
      • The "game loop"
      • Time for action – creating the "game loop"
        • beginScene
        • endScene
      • Summary
      • Chapter 3: Loading Meshes
        • What is a mesh?
        • Time for action – loading a mesh
          • Differences between mesh formats
            • OBJ
            • MD2/MD3
            • COLLADA
            • X
        • Using textures
        • Time for action – applying texture to a mesh
        • Time for action – manipulating our mesh
        • Time for action – animating our mesh
        • Summary
        • Chapter 4: Overlays and User Interface
          • What is an overlay?
          • Time for action – drawing a 2D image
          • Using a sprite sheet
          • Time for action – using a sprite sheet
          • Making sprite sheets
          • Time for action – making sprite sheets
          • Drawing primitives
          • Time for action – drawing primitives
            • Rectangles
            • Polygons
            • Lines
          • Graphical user interface
          • Displaying text on the screen
          • Time for action – displaying text on the screen
          • Using the Irrlicht font tool
          • Time for action – using the Irrlicht font tool
          • Adding buttons to our GUI
          • Time for action – adding buttons to your GUI
          • Summary
          • Chapter 5: Understanding Data Types
            • Using C++ templates
              • What are templates?
              • Using templates
            • Time for action – using templates
            • Type definitions
            • Class types
              • video::SColor
              • video::SColorf
              • core::rect
              • core::dimension2d
              • core::array
              • core::list
            • Vectors
              • Dot product
              • Cross product
              • Magnitude (length)
              • Unit vector
              • Normalization
              • Direction vector
            • Time for action – moving a ball
            • Summary
            • Chapter 6: Managing Scenes
              • What is a scene?
              • Getting CopperCube/IrrEditCopp
                • Windows version
                • Mac OS X version
              • What is CopperCube?
              • Why are we using CopperCube?
              • Time for action – creating a new scene
              • Time for action – adding meshes to our scene
              • Time for action – adding lights
              • Time for action – adding geometrical objects
              • Time for action – finishing up our scene
              • Time for action – exporting our scene
              • Time for action – loading an Irrlicht scene
              • Summary
              • Chapter 7: Using Nodes—The Basic Objects of the Irrlicht 3D Engine
                • What is a node?
                • Overview of different nodes
                  • Scene node
                  • Camera scene node
                  • Billboard scene node
                  • Mesh scene node
                  • Light scene node
                  • Dummy transformation scene node
                  • Particle system scene node
                  • Terrain scene node
                  • Text scene node
                • Working with nodes
                • Time for action – working with nodes
                • Animating nodes
                • Time for action – animating nodes
                  • Fly circle
                  • Fly straight
                  • Follow spline
                  • Rotation
                  • Delete
                  • Texture
                  • Collision response
                • Adding a custom scene node
                • Time for action – adding a custom scene node
                • Summary
                • Chapter 8: Managing Cameras
                  • What is a camera?
                  • Extending our template application
                  • Time for action – extending our template application
                  • Creating terrains
                  • Time for action – creating terrains
                  • Adding a camera scene node
                  • Time for action – adding a camera scene node
                  • Adding prefabricated cameras
                  • Time for action – adding prefabricated cameras
                  • Summary
                  • Chapter 9: Lightening the Scene
                    • Using irrEdit to set up lights
                    • Time for action – creating a global ambient light
                      • Ambient light
                      • Materials
                      • Emissive color
                    • Time for action – adding a light scene node
                      • Attenuation
                    • Time for action – setting up Irrlicht
                    • Time for action – setting up global ambient light
                    • Time for action – creating a custom light node
                      • Directional light
                      • Point light
                    • Time for action – adding a spot light and an animator
                      • Spot light
                    • Time for action – manipulating shininess and specular
                    • light color
                      • Gouraud shading
                    • Time for action – adding a shadow
                    • Summary
                    • Chapter 10: Creating Eye Candy Effects with Particle Systems
                      • Particle systems
                      • Time for action – creating a simple particle effect in irrEdit
                      • Time for action – modifying the particle material
                      • Time for action – adding a particle system in Irrlicht
                      • Time for action – adding a simple water surface
                      • Time for action – adding a particle affector
                      • Time for action – activating a particle effect on a mouse event
                      • Summary
                      • Chapter 11: Handling Data and Files
                        • Loading data from an external file
                        • Time for action – loading data from an external file
                        • Time for action – reading data in tokens, line-by-line
                        • Time for action – saving data to a file
                        • Time for action – loading data from an XML file
                        • Time for action – writing data to an XML file
                        • Time for action – reading specific data types from an XML file
                        • Time for action – reading data from an archive
                        • Summary
                        • Chapter 12: Using Shaders in Irrlicht
                          • Rendering pipeline
                          • Shaders
                          • Vertex shaders
                          • Fragment /pixel shaders
                          • Geometry shaders
                          • Time for action – setting up the GLSL demo
                          • Data communication
                          • Time for action – using a toon shader
                          • Time for action – applying a gooch shader
                          • Going further with shaders
                          • Summary
                          • Appendix A: Deploying an Irrlicht Application
                            • What is meant by "deployment"?
                            • Deploying Irrlicht applications on Windows platforms
                            • Deploying the Irrlicht applications on Linux platforms
                              • Start helper script for Linux
                            • Deploying for Mac OS X platforms
                              • Creating universal applications and compatibility
                            • Deploying the source code
                              • Why deploy the source code?
                              • Deploying the source
                            • Summary
                            • Appendix B: Pop Quiz Answers
                              • Chapter 2, Creating a Basic Template Application
                              • Chapter 3, Loading Meshes
                              • Chapter 4, Overlays and User Interface
                              • Chapter 5, Understanding Data Types
                              • Chapter 7, Using Nodes—The Basic Objects of the Irrlicht 3D Engine
                              • Chapter 12, Using Shaders in Irrlicht

                              Johannes Stein

                              Johannes Stein has been interested in software and game development for the better half of his life. He has used a variety of technologies, programming languages, and platforms. In the last few years, he worked as a freelancer using web and mobile technologies for a number of different companies and startups, working on several iOS apps and games. Among the technologies he uses are Sparrow, Cocos2D, and UIKit. He co-authored the book Irrlicht 1.7 Realtime 3D Engine Beginner's Guide, which was published in 2011 by Packt Publishing. He can be followed on Twitter @Stoney-FD.


                              Aung Sithu Kyaw

                              Aung Sithu Kyaw is originally from Myanmar, (Burma) and has over seven years of experience in the software industry. His main interests include game-play programming, startups, entrepreneurship, writing, and sharing knowledge. He holds a Master of Science degree from Nanyang Technological University (NTU), Singapore, majoring in Digital Media Technology. Over the past few years, he has worked as a Research Programmer at INSEAD, Sr. Game Programmer at Playware Studios Asia, Singapore, and lastly as a Research Associate at NTU. In 2011, Aung co-founded Rival Edge Pte Ltd., a Singapore-based interactive digital media company that provides a technical consultancy service to creative agencies and also produces social mobile games. Visit http://rivaledge.sg for more information. Aung is the co-author of Irrlicht 1.7 Realtime 3D Engine Beginner's Guide, Packt Publishing, and is also a visiting lecturer at NTU conducting workshops on game design and development using Unity3D.He can be followed on Twitter @aungsithu and by using his LinkedIn profile linkedin.com/in/aungsithu.

                              Code Downloads

                              Download the code and support files for this book.


                              Submit Errata

                              Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

                              Sample chapters

                              You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

                              Frequently bought together

                              Irrlicht 1.7 Realtime 3D Engine Beginner's Guide +    OpenGL 4.0 Shading Language Cookbook =
                              50% Off
                              the second eBook
                              Price for both: $39.00

                              Buy both these recommended eBooks together and get 50% off the cheapest eBook.

                              What you will learn from this book

                              • Set up Irrlicht on different platforms
                              • Create your very first empty application using different platforms and IDEs
                              • Apply textures to meshes, load, and access them
                              • Add and manipulate images
                              • Change the graphical layout of the user interface
                              • Learn about data types to access objects in a 3D space and facilitate the workflow
                              • Manipulate and manage scenes
                              • Set up a custom node and animate it using Node Animator
                              • Learn how to move the camera
                              • Add prefabricated and custom cameras
                              • Add, manage, and manipulate lights
                              • Create eye-candy effects with particle systems
                              • Handle data and files with Irrlicht
                              • Implement shaders for complex effects
                              • Deploy your application

                              In Detail

                              The Irrlicht Engine is a cross-platform high-performance real-time 3D engine written in C++. It features a powerful high-level API for creating complete 3D and 2D applications such as games or scientific visualizations.

                              Irrlicht 1.7 Realtime 3D Engine Beginner's Guide will teach you to master all that is required to create 2D and 3D applications using Irrlicht, beginning right from installation and proceeding step-by-step to deployment.

                              Beginning with installation, this book guides you through creating a basic template application, followed by meshes, overlays, and UI. You will then scan through data types, nodes, scenes, camera, lights, and particle systems. Finally, you will learn about some advanced concepts such as handling data, files, and shaders, followed by the last stage – deployment.

                              This book is a step-by-step guide to Irrlicht that starts at an easy level for beginners and then gradually works to more advanced topics through clear code examples and a number of demos, which illustrate theoretical concepts.

                              Approach

                              A beginner's guide with plenty of screenshots and explained code.

                              Who this book is for

                              If you have C++ skills and are interested in learning Irrlicht, this book is for you. Absolutely no knowledge of Irrlicht is necessary for you to follow this book!

                              Code Download and Errata
                              Packt Anytime, Anywhere
                              Register Books
                              Print Upgrades
                              eBook Downloads
                              Video Support
                              Contact Us
                              Awards Voting Nominations Previous Winners
                              Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
                              Resources
                              Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software