Welcome to www.ebook-x.com. Download popular free ebooks, classical free ebooks, new releases and more.

The best Ebooks library for Free Ebooks Download.

Free ebooks Operating System Linux Advanced Linux 3D Graphics Programming

Advanced Linux 3D Graphics Programming

Advanced Linux 3D Graphics ProgrammingChapter 1 reviews the essentials of Linux 3D graphics, as covered in the introductory companion volume Linux 3D Graphics Programming.We cover the fundamentals of 2D graphics, 3D coordinate systems, perspective projection, vectors, matrices, and the C++ library classes—the l3d library—used to implement these basic ideas.
Chapter 2 explores some important techniques which greatly increase the visual realism of polygonal models: texture mapping, lighting, light mapping, and morphing. All of these techniques are implemented in C++ classes.We also take a tour of the symbolic algebra package Calc, available as an extension to the Emacs editor. Calc helps us solve the tedious sets of equations which arise when performing texture mapping.
Chapter 3 is the first of two chapters dealing with Blender, a free and powerful 3D modeling and animation package for Linux (included on the CD-ROM). In two step-by-step tutorials, we walk through the creation of a set of textured and compatible morph targets suitable for 3D morphing, and a human-like figure animated with inverse kinematics. These 3D models are then imported and displayed in a 3D program.
Chapter 4 deals with the correct and efficient drawing of visible surfaces, which becomes especially important when polygon counts increase. Surfaces which are obscured by other surfaces or which are completely outside of the field of vision should be discarded from unnecessary processing as early and as cheaply as possible.We discuss a number of generally applicable techniques, each illustrated with a sample program: back-face culling, the painter’s algorithm, view volume culling, and z-buffering.
Chapter 5 discusses special visible-surface algorithms based on space-partitioning techniques. The techniques discussed include BSP trees, octrees, regular spatial partitioning, and portals. We discuss the use of portals for special techniques such as mirrors, refraction, transparency, and volumetric shadows. A portal engine is implemented as a natural extension of the existing polygon and object classes.
Chapter 6 continues the discussion of portals from a practical point of view.We explore how we can use Blender’s powerful modeling features to create portal-based worlds, using a combination of an edge-coding technique, to encode arbitrary data within a 3D mesh, and postprocessing scripts written in the Perl language.
Chapter 7 covers some special 3D graphics techniques or “tricks”: billboards, lens flare, particle systems, fractal landscapes, dynamic level-of-detail, environment mapping, atmospheric effects, curved surfaces, multi-pass techniques, and camera tracking in 3D.
Chapter 8 discusses non-graphical techniques that can greatly enhance the reality of 3D graphics programs, such as games. Techniques discussed and implemented include: collision detection, digital sound and music with the RPlay sound server, TCP/IP network communications, physics, and artificial intelligence.
Chapter 9 takes a look at the possible future direction of Linux and 3D graphics. We begin with a look at two existing and exciting 3D content development systems under Linux: Game Blender andWorld Foundry.We go through a brief tutorial of 3D game creation with each of these systems. Some speculation about the future of Linux 3D graphics follows.We close by relating the contents of the book to the field of 3D graphics as a whole.
free linux ebook Download: Advanced Linux 3D Graphics Programming
 
More free ebooks
 
Joomla 1.5 Templates by Joomlashack