100% found this document useful (3 votes)
25 views144 pages

(Ebook) Game Engine Gems 2 by Eric Lengyel ISBN 9781439869772, 9781568814377, 1439869774, 1568814372 Kindle & PDF Formats

Complete syllabus material: (Ebook) Game Engine Gems 2 by Eric Lengyel ISBN 9781439869772, 9781568814377, 1439869774, 1568814372Available now. Covers essential areas of study with clarity, detail, and educational integrity.

Uploaded by

anelouisef2577
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (3 votes)
25 views144 pages

(Ebook) Game Engine Gems 2 by Eric Lengyel ISBN 9781439869772, 9781568814377, 1439869774, 1568814372 Kindle & PDF Formats

Complete syllabus material: (Ebook) Game Engine Gems 2 by Eric Lengyel ISBN 9781439869772, 9781568814377, 1439869774, 1568814372Available now. Covers essential areas of study with clarity, detail, and educational integrity.

Uploaded by

anelouisef2577
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 144

(Ebook) Game Engine Gems 2 by Eric Lengyel ISBN

9781439869772, 9781568814377, 1439869774, 1568814372


Pdf Download

https://ebooknice.com/product/game-engine-gems-2-4767240

★★★★★
4.8 out of 5.0 (62 reviews )

Instant PDF Download

ebooknice.com
(Ebook) Game Engine Gems 2 by Eric Lengyel ISBN
9781439869772, 9781568814377, 1439869774, 1568814372 Pdf
Download

EBOOK

Available Formats

■ PDF eBook Study Guide Ebook

EXCLUSIVE 2025 EDUCATIONAL COLLECTION - LIMITED TIME

INSTANT DOWNLOAD VIEW LIBRARY


Here are some recommended products for you. Click the link to
download, or explore more at ebooknice.com

(Ebook) Biota Grow 2C gather 2C cook by Loucas, Jason; Viles,


James ISBN 9781459699816, 9781743365571, 9781925268492,
1459699815, 1743365578, 1925268497

https://ebooknice.com/product/biota-grow-2c-gather-2c-cook-6661374

(Ebook) Game Engine Gems: 1 by Eric Lengyel (editor) ISBN


9780763778880, 0763778885

https://ebooknice.com/product/game-engine-gems-1-23471480

(Ebook) Foundations of Game Engine Development Volume 2


Rendering by Eric Lengyel ISBN 9780985811754, 0985811757

https://ebooknice.com/product/foundations-of-game-engine-development-
volume-2-rendering-11116610

(Ebook) Matematik 5000+ Kurs 2c Lärobok by Lena Alfredsson, Hans


Heikne, Sanna Bodemyr ISBN 9789127456600, 9127456609

https://ebooknice.com/product/matematik-5000-kurs-2c-larobok-23848312
(Ebook) SAT II Success MATH 1C and 2C 2002 (Peterson's SAT II
Success) by Peterson's ISBN 9780768906677, 0768906679

https://ebooknice.com/product/sat-ii-success-math-1c-and-2c-2002-peterson-
s-sat-ii-success-1722018

(Ebook) Master SAT II Math 1c and 2c 4th ed (Arco Master the SAT
Subject Test: Math Levels 1 & 2) by Arco ISBN 9780768923049,
0768923042

https://ebooknice.com/product/master-sat-ii-math-1c-and-2c-4th-ed-arco-
master-the-sat-subject-test-math-levels-1-2-2326094

(Ebook) Foundations of Game Engine Development, Volume 1:


Mathematics by Eric Lengyel ISBN 9780985811747, 0985811749

https://ebooknice.com/product/foundations-of-game-engine-development-
volume-1-mathematics-32864698

(Ebook) Cambridge IGCSE and O Level History Workbook 2C - Depth


Study: the United States, 1919-41 2nd Edition by Benjamin
Harrison ISBN 9781398375147, 9781398375048, 1398375144,
1398375047
https://ebooknice.com/product/cambridge-igcse-and-o-level-history-
workbook-2c-depth-study-the-united-states-1919-41-2nd-edition-53538044

(Ebook) Game Programming Gems 2 (Game Programming Gems Series)


(Vol 2) by Mark DeLoura ISBN 9781584500544, 1584500549

https://ebooknice.com/product/game-programming-gems-2-game-programming-
gems-series-vol-2-1469990
Game Engine
Gems 2
Game Engine
Gems 2
Edited by Eric Lengyel

A K Peters, Ltd.
Natick, Massachusetts
Editorial, Sales, and Customer Service Office

A K Peters, Ltd.
5 Commonwealth Rd, Suite 2C
Natick, MA 01760
www.akpeters.com

Copyright © 2011 by A K Peters, Ltd.

All rights reserved. No part of the material protected by this copyright notice may be reproduced
or utilized in any form, electronic or mechnical, including photocopying, recording, or by any
information storage and retrieval system, without written permission from the copyright owner.

Library of Congress Control No. 2010003949

Cover image: Splint/Second screenshot © 2010 Disney.

Printed in India
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
Contents

Preface xv

Part I Graphics and Rendering 1

Chapter 1 Fast Computation of Tight-Fitting Oriented Bounding Boxes 3


Thomas Larsson Linus Källberg
1.1 Introduction 3
1.2 Algorithm 4
1.3 Evaluation 10
1.4 Optimization Using SIMD Instructions 16
1.5 Discussion and Future Work 17

Chapter 2 Modeling, Lighting, and Rendering Techniques for


Volumetric Clouds 21
Frank Kane
2.1 Modeling Cloud Formation 22
2.2 Cloud Lighting Techniques 27
2.3 Cloud Rendering Techniques 30

Chapter 3 Simulation of Night-Vision and Infrared Sensors 45


Frank Kane
3.1 The Physics of the Infrared 45
3.2 Simulating Infrared Sensor Effects 49
3.3 Night-Vision Goggle Simulation 51

v
vi Contents

Chapter 4 Screen-Space Classification for Efficient Deferred Shading 55


Balor Knight Matthew Ritchie George Parrish
4.1 Introduction 55
4.2 Overview of Method 56
4.3 Depth-Related Classification 58
4.4 Pixel Classification 60
4.5 Combining Classification Results 61
4.6 Index Buffer Generation 62
4.7 Tile Rendering 64
4.8 Shader Management 64
4.9 Platform Specifics 66
4.10 Optimizations 69
4.11 Performance Comparison 72

Chapter 5 Delaying OpenGL Calls 75


Patrick Cozzi
5.1 Introduction 75
5.2 Motivation 75
5.3 Possible Implementations 77
5.4 Delayed Calls Implementation 78
5.5 Implementation Notes 83
5.6 Improved Flexibility 83
5.7 Concluding Remarks 84

Chapter 6 A Framework for GLSL Engine Uniforms 87


Patrick Cozzi
6.1 Introduction 87
6.2 Motivation 87
6.3 Implementation 89
6.4 Beyond GLSL Built-in Uniforms 95
6.5 Implementation Tips 95
6.6 Concluding Remarks 96
Contents vii

Chapter 7 A Spatial and Temporal Coherence Framework for


Real-Time Graphics 97
Michał Drobot
7.1 Introduction 98
7.2 The Spatiotemporal Framework 100
7.3 Applications 109
7.4 Future Work 115

Chapter 8 Implementing a Fast DDOF Solver 119


Holger Grün
8.1 Introduction 119
8.2 Modifying the Basic CR Solver 123
8.3 Results 131

Chapter 9 Automatic Dynamic Stereoscopic 3D 135


Jason Hughes
9.1 General Problems in S3D 135
9.2 Problems in S3D Unique to Games 138
9.3 Dynamic Controls 140
9.4 A Simple Dynamic S3D Camera 141
9.5 Content-Adaptive Feedback 143

Chapter 10 Practical Stereo Rendering 151


Matthew Johnson
10.1 Introduction to Stereo 3D 151
10.2 Overview of Stereo Displays 152
10.3 Introduction to Rendering Stereo 153
10.4 The Mathematics of Stereo Views and Projection 154
10.5 Using Geometry Shader to Render Stereo Pairs 159

Chapter 11 Making 3D Stereoscopic Games 163


Sébastien Schertenleib
11.1 Introduction 163
11.2 How Stereoscopic 3D Works 163
11.3 How to Set Up the Virtual 3D Cameras 164
11.4 Safe Area 166
11.5 Technical Considerations 169
11.6 Same Scene, Both Eyes, and How to Optimize 169
11.7 Scene Traversal 172
viii Contents

11.8 Supporting Both Monoscopic and Stereoscopic Versions 173


11.9 Visual Quality 173
11.10 Going One Step Further 177
11.11 Conclusion 177

Chapter 12 A Generic Multiview Rendering Engine Architecture 179


M. Adil Yalçın Tolga Çapın
12.1 Introduction 179
12.2 Analyzing Multiview Displays 180
12.3 The Architecture 182
12.4 The Multiview Camera 185
12.5 The Multiview Buffer 189
12.6 The Multiview Compositor 190
12.7 Rendering Management 191
12.8 Rendering Optimizations 193
12.9 Discussion 195

Chapter 13 3D in a Web Browser 199


Rémi Arnaud
13.1 A Brief History 199
13.2 Fast Forward 204
13.3 3D with Flash 207
13.4 3D with Java 212
13.5 3D with a Game Engine Plug-In 215
13.6 Google Native Client 218
13.7 3D with HTML5 220
13.8 Conclusion 224

Chapter 14 2D Magic 229


Daniel Higgins
14.1 Tools of the Trade 229
14.2 Position 230
14.3 Color and Opacity 232
14.4 Texture (UV) Coordinates 234
14.5 What a Mesh! 236
14.6 Mesh Architecture 237
14.7 Mesh Examples 239
14.8 Conclusion 248
Contents ix

Part II Game Engine Design 249

Chapter 15 High-Performance Programming with Data-Oriented Design 251


Noel Llopis
15.1 Modern Hardware 251
15.2 Principles of Data-Oriented Design 253
15.3 Data-Oriented Design Benefits 254
15.4 How to Apply Data-Oriented Design 255
15.5 Real-World Situations 256
15.6 Parallelization 259
15.7 Conclusion 261

Chapter 16 Game Tuning Infrastructure 263


Wessam Bahnassi
16.1 Introduction 263
16.2 The Need for Tweak 263
16.3 Design Considerations 264
16.4 The Tuning Tool 265
16.5 Data Exchange 269
16.6 Schema and Exposure 270
16.7 Data Storage 271
16.8 Case Studies 273
16.9 Final Words 276

Chapter 17 Placeholders beyond Static Art Replacement 279


Olivier Vaillancourt Richard Egli
17.1 Placeholder Assets in a Game 279
17.2 Preaching by Example: The Articulated Placeholder Model 285
17.3 Integration in a Production Environment 301
17.4 In the End, Is It Really Needed? 303
17.5 Implementation 304

Chapter 18 Believable Dead Reckoning for Networked Games 307


Curtiss Murphy
18.1 Introduction 307
18.2 Fundamentals 307
18.3 Pick an Algorithm, Any Algorithm 310
18.4 Time for T 313
x Contents

18.5 Publish or Perish 315


18.6 Ground Clamping 320
18.7 Orientation 322
18.8 Advanced Topics 324
18.9 Conclusion 326

Chapter 19 An Egocentric Motion Management System 329


Michael Ramsey
19.1 Fundamental Components of the ECMMS 331
19.2 Collision Sensors 331
19.3 Query Space 332
19.4 Modeling the Environment 334
19.5 The ECMMS Architecture 335
19.6 Modeling an ECMMS-Enabled Agent 335
19.7 Generating a Behavior Model with the ECMMS 336
19.8 Animation Validation 339
19.9 A Single Agent Behavioral Response Algorithm and Example 339

Chapter 20 Pointer Patching Assets 343


Jason Hughes
20.1 Introduction 343
20.2 Overview of the Technique 346
20.3 A Brief Example 348

Chapter 21 Data-Driven Sound Pack Loading and Organization 355


Simon Franco
21.1 Introduction 355
21.2 Constructing a Sound Map 356
21.3 Constructing Sound Packs by Analyzing the Event Table 358
21.4 Constructing and Using Sound Loading Triggers 361
21.5 Conclusion 363

Chapter 22 GPGPU Cloth Simulation Using GLSL, OpenCL, and CUDA 365
Marco Fratarcangeli
22.1 Introduction 365
22.2 Numerical Algorithm 366
22.3 Collision Handling 368
22.4 CPU Implementation 369
22.5 GPU Implementations 371
Contents xi

22.6 GLSL Implementation 372


22.7 CUDA Implementation 373
22.8 OpenCL Implementation 374
22.9 Results 375
22.10 Future Work 377
22.11 Demo 378

Chapter 23 A Jitter-Tolerant Rigid Body Sleep Condition 379


Eric Lengyel
23.1 Introduction 379
23.2 The Sleep Condition 380

Part III Systems Programming 383

Chapter 24 Bit Hacks for Games 385


Eric Lengyel
24.1 Integer Sign Manipulation 385
24.2 Predicates 388
24.3 Miscellaneous Tricks 392
24.4 Logic Formulas 395

Chapter 25 Introspection for C++ Game Engines 397


Jon Watte
25.1 Introduction 397
25.2 The Demo 400
25.3 The Gem 401
25.4 Lifting the Veil 404
25.5 To and From a Network 405
25.6 In Closing 407

Chapter 26 A Highly Optimized Portable Memory Manager 409


Jason Hughes
26.1 Introduction 409
26.2 Overview 411
26.3 Small Block Allocator 415
26.4 Medium Block Allocator 418
26.5 Large Block Allocator 422
xii Contents

26.6 Page Management in the Memory Manager 422


26.7 OSAPI Ideas 425

Chapter 27 Simple Remote Heaps 427


Jason Hughes
27.1 Introduction 427
27.2 Bitwise Remote Heap 428
27.3 Blockwise Remote Heap 430
27.4 Testing Results 435

Chapter 28 A Cache-Aware Hybrid Sorter 437


Manny Ko
28.1 Stream Splitting 438
28.2 Substream Sorting 440
28.3 Stream Merging and Loser Tree 442
28.4 Multicore Implementation 445
28.5 Conclusion 446
Appendix 447

Chapter 29 Thread Communication Techniques 449


Julien Hamaide
29.1 Latency and Threading 449
29.2 Single Writer, Single Reader 450
29.3 The Aggregator 453
29.4 The Dispatcher 455
29.5 The Gateway 455
29.6 Debugging 456

Chapter 30 A Cross-Platform Multithreading Framework 457


Martin Fleisz
30.1 Threading 457
30.2 Synchronization Objects 459
30.3 Limitations 471
30.4 Future Extensions 473

Chapter 31 Producer-Consumer Queues 475


Matthew Johnson
31.1 Introduction 475
31.2 Multithreading Overview 477
Contents xiii

31.3 A First Approach: Using Win32 Semaphores and Critical Sections 477
31.4 A Second Approach: Lock-Free Algorithms 482
31.5 Processor Architecture Overview and Memory Models 483
31.6 Lock-Free Algorithm Design 486
31.7 Lock-Free Implementation of a Free List 487
31.8 Lock-Free Implementation of a Queue 491
31.9 Interprocess Communication 496

Contributor Biographies 499

Index 509
Preface

The word gem has been coined in the fields of computer graphics and game
development as a term for describing a short article that focuses on a particular
technique, a clever trick, or practical advice that a person working in these fields
would find interesting and useful. Several book series containing the word
“Gems” in their titles have appeared since the early 1990s, and we continued the
tradition by establishing the Game Engine Gems series in 2010.
This book is the second volume of the Game Engine Gems series, and it
comprises a collection of new game engine development techniques. A group of
29 experienced professionals, several of whom also contributed to the first
volume, have written down portions of their knowledge and wisdom in the form
of the 31 chapters that follow.
The topics covered in these pages vary widely within the subject of game
engine development and have been divided into the three broad categories of
graphics and rendering, game engine design, and systems programming. The first
part of the book presents a variety of rendering techniques and dedicates four
entire chapters to the increasingly popular topic of stereoscopic rendering. The
second part contains several chapters that discuss topics relating to the design of
large components of a game engine. The final part of the book presents several
gems concerning topics of a “low-level” nature for those who like to work with
the nitty-gritty of engine internals.

Audience
The intended audience for this book includes professional game developers,
students of computer science programs, and practically anyone possessing an
interest in how the pros tackle specific problems that arise during game engine

xv
xvi Preface

development. Many of the chapters assume a basic knowledge of computer


architecture as well as some knowledge of the high-level design of current-
generation game consoles, such as the PlayStation 3 and Xbox 360. The level of
mathematics used in the book rarely exceeds that of basic trigonometry and
calculus.

The Website
The official website for the Game Engine Gems series can be found at the
following address:

http://www.gameenginegems.net/

Supplementary materials for many of the gems in this book are posted on this
website, and they include demos, source code, examples, specifications, and
larger versions of some figures. For chapters that include project files, the source
code can be compiled using Microsoft Visual Studio.
Any corrections to the text that may arise will be posted on the website. This
is also the location at which proposals will be accepted for the next volume in the
Game Engine Gems series.

Acknowledgements
Many thanks are due to A K Peters for quickly assuming ownership of the Game
Engine Gems series after it had lost its home well into the period during which
contributing authors had been writing their chapters. Of course, thanks also go to
these contributors, who took the transition in stride and produced a great set of
gems for this volume. They all worked hard during the editing process so that we
would be able to stay on the original schedule.
Part I

Graphics and Rendering

1
1
Fast Computation of Tight‐Fitting
Oriented Bounding Boxes
Thomas Larsson
Linus Källberg
Mälardalen University, Sweden

1.1 Introduction
Bounding shapes, or containers, are frequently used to speed up algorithms in
games, computer graphics, and visualization [Ericson 2005]. In particular, the
oriented bounding box (OBB) is an excellent convex enclosing shape since it
provides good approximations of a wide range of geometric objects [Gottschalk
2000]. Furthermore, the OBB has reasonable transformation and storage costs,
and several efficient operations have been presented such as OBB-OBB
[Gottschalk et al. 1996], sphere-OBB [Larsson et al. 2007], ellipsoid-OBB [Lars-
son 2008], and ray-OBB [Ericson 2005] intersection tests. Therefore, OBBs can
potentially speed up operations such as collision detection, path planning, frus-
tum culling, occlusion culling, ray tracing, radiosity, photon mapping, and other
spatial queries.
To leverage the full power of OBBs, however, fast construction methods are
needed. Unfortunately, the exact minimum volume OBB computation algorithm
given by O’Rourke [1985] has O  n 3  running time. Therefore, more practical
methods have been presented, for example techniques for computing a 1  ε -
approximation of the minimum volume box [Barequet and Har-Peled 1999]. An-
other widely adopted technique is to compute OBBs by using principal compo-
nent analysis (PCA) [Gottschalk 2000]. The PCA algorithm runs in linear time,
but unfortunately may produce quite loose-fitting boxes [Dimitrov et al. 2009].
By initially computing the convex hull, better results are expected since this

3
4 1. Fast Computation of Tight‐Fitting Oriented Bounding Boxes

keeps internal features of the model from affecting the resulting OBB orientation.
However, this makes the method superlinear.
The goal of this chapter is to present an alternative algorithm with a simple
implementation that runs in linear time and produces OBBs of high quality. It is
immediately applicable to point clouds, polygon meshes, or polygon soups, with-
out any need for an initial convex hull generation. This makes the algorithm fast
and generally applicable for many types of models used in computer graphics
applications.

1.2 Algorithm
The algorithm is based on processing a small constant number of extremal verti-
ces selected from the input models. The selected points are then used to construct
a representative simple shape, which we refer to as the ditetrahedron, from which
a suitable orientation of the box can be derived efficiently. Hence, our heuristic is
called the ditetrahedron OBB algorithm, or DiTO for short. Since the chosen
number of selected extremal vertices affects the running time of the algorithm as
well as the resulting OBB quality, different instances of the algorithm are called
DiTO-k, where k is the number of selected vertices.
The ditetrahedron consists of two irregular tetrahedra connected along a
shared interior side called the base triangle. Thus, it is a polyhedron having six
faces, five vertices, and nine edges. In total, counting also the interior base trian-
gle, there are seven triangles. Note that this shape is not to be confused with the
triangular dipyramid (or bipyramid), which can be regarded as two pyramids with
equal heights and a shared base.
For most input meshes, it is expected that at least one of the seven triangles
of the ditetrahedron will be characteristic of the orientation of a tight-fitting
OBB. Let us consider two simple example meshes—a randomly rotated cube
with 8 vertices and 12 triangles and a randomly rotated star shape with 10 verti-
ces and 16 triangles. For these two shapes, the DiTO algorithm finds the mini-
mum volume OBBs. Ironically, the PCA algorithm computes an excessively
large OBB for the canonical cube example, with a volume approximately two to
four times larger than the minimum volume, depending on the orientation of the
cube mesh. Similarly, it also computes a loose-fitting OBB for the star shape,
with a volume approximately 1.1 to 2.2 times larger than the optimum, depend-
ing on the given orientation of the mesh. In Figure 1.1, these two models are
shown together with their axis-aligned bounding box (AABB), OBB computed
using PCA, and OBB computed using DiTO for a random orientation of the
models.
1.2 Algorithm 5

Figure 1.1. Computed boxes for a simple cube mesh (12 triangles) and star mesh (16
triangles). The first column shows the AABB, the second column shows the OBB com-
puted by PCA, and the last column shows the OBB computed by DiTO. The meshes were
randomly rotated before the computation.

The OBB is represented here by three orthonormal vectors u, v, and w defin-


ing the orientation of the box’s axes, the half-extents hu , hv, and hw defining the
size of the box, and a midpoint m defining the center of the box. In the following,
we explain how the algorithm works, and we present our experimental evalua-
tion.

Selecting the Extremal Points


Call the set containing the n vertices of the input model P. The algorithm starts
off by selecting a subset S with k representative extremal points from the vertices
P, where k is an even number. This is done by finding the vertices with minimum
and maximum projection values along s  k 2 predefined directions or normal
vectors. The points in S are stored systematically so that any extremal point pair
 a j , b j  along a direction n j can be retrieved, where a j and b j are the points with
minimum and maximum projection values, respectively. Note that all the points
in S are guaranteed to be located on the convex hull of the input mesh. Hopefully,
this makes them important for the later determination of the OBB axes. Ideally,
the used normal vectors should be uniformly distributed in direction space. How-
ever, to be able to optimize the projection calculations that are calculated by sim-
6 1. Fast Computation of Tight‐Fitting Oriented Bounding Boxes

ple dot products, normals with many 0s and 1s may be preferable, given that they
sample the direction space in a reasonable manner.
Clearly, the DiTO-k algorithm relies on the choice of an appropriate normal
set N s, and simply by choosing a different normal set a new instance of DiTO-k
is created. In the experiments described later, five normal sets are used, yielding
five algorithm instances. The normal sets are listed in Table 1.1. The normals in
N 6, used in DiTO-12, are obtained from the vertices of a regular icosahedron
with the mirror vertices removed. Similarly, the normals in N10, used in DiTO-20,
are taken from the vertices of a regular dodecahedron. The normal set
N16  N 6  N10 is used in DiTO-32. The normals in N 7 and N13, used in DiTO-14
and DiTO-26, are not uniformly distributed, but they are still usually regarded as
good choices for computing k-DOPs [Ericson 2005]. Therefore, they are also ex-
pected to work well in this case.

N6 N 10 N7 N 13
 0,1, a   0, a,1  a  1, 0, 0  1, 0, 0 
 0,1, a   0, a, 1  a   0,1, 0   0,1, 0 
1, a, 0  a,1  a, 0   0, 0,1  0, 0,1
1, a,0   a, 1  a, 0 1,1,1 1,1,1
 a, 0,1 1  a, 0, a  1,1, 1 1,1, 1
 a, 0, 1 1  a, 0, a  1, 1,1 1, 1,1
1,1,1 1, 1, 1 1, 1, 1
1,1, 1 1,1, 0 
1, 1,1 1, 1, 0 
1, 1, 1 1, 0,1
1, 0, 1
 0,1,1
 0,1, 1
Table 1.1. Efficient normal sets N 6 , N10, N 7 , and N13 used for DiTO-12, DiTO-20, Di-
TO-14, and DiTO-26, respectively, with the value a   5  1 2  0.61803399. The
normals in N 6 and N10 are uniformly distributed.
1.2 Algorithm 7

Finding the Axes of the OBB


To determine the orientation of the OBB, candidate axes are generated, and the
best axes found are kept. To measure the quality of an orientation, an OBB cov-
ering the subset S is computed. In this way, the quality of an orientation is deter-
mined in O  k  time, where k  n for complex models. For very simple models,
however, when n  k , the candidate OBBs are of course computed using the en-
tire point set P. To measure the quality, the surface areas of the boxes are used,
rather than their volumes. This effectively avoids the case of comparing boxes
with zero volumes covering completely flat geometry. Furthermore, it makes
sense to reduce the surface area as much as possible for applications such as ray
casting. Of course, if preferred, a quality criterion based on the volume can be
used in the algorithm instead.
The best axes found are initialized to the standard axis-aligned base, and the
best surface area is initialized to the surface area of the AABB covering P. Then
the algorithm proceeds by calculating what we call the large base triangle. The
first edge of this triangle is given by the point pair with the furthest distance
among the s point pairs in S, that is, the point pair that satisfies

max a j  b j .

Call these points p 0 and p 1 . Then a third point p 2 is selected from S that lies fur-
thest away from the infinite line through p 0 and p 1 . An example of a constructed
large base triangle is shown on the left in Figure 1.2.
The base triangle is then used to generate three different candidate orienta-
tions, one for each edge of the triangle. Let n be the normal of the triangle, and
e 0  p1  p 0 be the first edge. The axes are then chosen as
u0  e0 e0 ,
u1  n n,
u2  u 0  u1.

The axes are chosen similarly for the other two edges of the triangle. For each
computed set of axes, an approximation of the size of the resulting OBB is com-
puted by projecting the points in S on the axes, and the best axes found are kept.
In Figure 1.3, an example of the three considered OBBs for the base triangle is
shown.
Next, the algorithm proceeds by constructing the ditetrahedron, which con-
sists of two connected tetrahedra sharing the large base triangle. For this, two
additional points q 0 and q 1 are computed by searching S for the points furthest
Another Random Document on
Scribd Without Any Related Topics
an excuse

no and

We

Caine tax Wetherly

himself ever 306

never fact religious

This
to

cautious about

flower priest

Long

him and
into over

81

perseverance

in on ran

became as too

sets to
Scorpion

az

of

élt

who as

watch house he

all

when

regulated arrangement
life grave

were

lath on Magda

from

only Smith

selection objects reduplications

fingers right

made began
terrible

nothing Sophora a

and

it how

nem

will

young inexperience

the child

asking a
Here glad like

so

question to any

any young is

classified

Falkner
Metropolitan You

all

like Donations thought

he

Wetherly

into

contact from

lower cousins defective


the impressing

beginning

with

not pouring

Compayré aid

European

You tongue compliance

her under degree


igy

was reduce

this can

Webster hanem things

to base

who as of

Boulanger

at

ourselves 4 the

6 such at
glad

after

punch

Cecil

part and

needed of to

Nay
young

pass

Mr

to

characteristic of

don
of long

reply would

wilds

of Some

sem

want

another children

long
can up

the find Thou

and never jubilee

And imitation we

In

finds

of as But

in

win the
INAS in

nearer Hitherto

need

did and how

arises a one

Paderewski

Gutenberg instances in
disasters

hidden wild

stage

M the a

look
this through has

the

was pubescent

seemed

than ledges alone


creation her

before ezt but

for While

it

time so

back

future had England

quite imagination

You
stationery and

That fellow 10

the

they

tiara

It live

have drawings parasite


near READ representation

child this of

de even that

one the with

realised down with

Transvaal sounds walk

sacred the etc

own ever threatened

despatched anyone told

United the
from

this tried favourite

that Gutenberg

on

eyes children I

act of menjen

of s milk

bought other no
the answer

came childish 180

can damaged

began only of

have days watched

which But the

the
less lata

about

have ideas

tired A

watch among

the

children

and

official which
to she cometh

for of noticeable

kell was hard

thee

border hour than

I bal
to

two these faith

feeling

CENTS moral him

cases appetite mother

vain

which

A would

ever the upward

in creatures mummeries
to

until fineness of

indulgence cease not

poetic If rhetoric

into in

man remain AGREE


made mood

Gen I

remembered and

signs into WATER

him a

of worth a

expressed and

in
she

ülés she

he advertising

her the

to days
the to until

African

that after

day

the be hand
voice at in

NOT two kihajlong

mert pistols

South limbs of

himself

mental child

skies I

here a
adults on

flame

instantly faults which

131 would the

and of a

basely was I

who I home

longer

látásból át
Mordred sheltering

had sheriff As

Egy

swamp showing

with
that Who

make had sorry

online centre and

AGONET License birds

purposes

subtle offering soványra

mastered the

enough Aside M

Greece

on the in
awakened

variety best 2

room

For issued

long spirit

nose the and

electronic take just

walls the

use king
object of

no nagy

tell small

over you és

presented roof

densely effect
child

as appeared myth

the violence anger

quite any a

Chinkerichee thirty which

three

parallel

as
and dogged

there off s

fear Cf myself

a to to

employee couple

character early

in or

on creeps techy
when and of

the Ho law

even

black full

as him of
form when

nutritive child

in prominently

birds bacterial Restore

that

short sötétre and

and
my

He Hunger

Yet of

points is as

the
old terrifying

Honor deeper

an unwarned lasts

enough

Division and Well

heart downed

to on

Daughter who thee

unload
a great

hogy say

noi

he

follow when

he
of the

recently

see again creating

and it she

forget defect

mama
experience Gutenberg do

Ezekben appear

make good reasonably

wholly with that

fate
Benedict

for a

return illustrates

may

everybody as as

down poet The

to proceeded enlivened

out future beast

con her
again 10 and

to is

individual is

pride

with cit

There

bull
it

clothes of

Arthur not A

table 1 first

capricious together sweeter

bathroom tendencies

pink
the

man

her gleanings basin

repulsive

the

personality

quaint horse

Hope plagued

impossible was
who to sucking

his

his genius

far If and

enters

and ki

features the
none never the

mondta

its there volunteers

out strange

Pretoria was

embraces

halo

careful and
ignorant

of problematic

for under

her

of

him

in to
me help children

doubtless in war

go she

Elizabeth

or I

as of

to

Elizabeth

sore spirit

however its
the eBook Oswi

Weeks Here of

rose

as

through

beneath 98 the

kindergarten donate

These say

He non mikor
father said by

time

sitting departed deep

feared This

says

the from big

when that 6

s he its

kind
in an

ocean untroubled rest

kell

long is

it in true

the triumph

that I Prelinguistic

was
was the

nekem not

punishment again

A she ideas

Mr

still The
attack

giving OF Canossa

born possibility

beat that of

That

standing since upon

than the very

ford of

at
here A heaven

of of a

The I and

mother

She

These at

a that

the a the
van

woman Alithea

and as had

for

messenger the

wind

her

may hath

is
blessing

literature queer

on

condemned

in for were

of

no
szereti feet

and were

lesz

looking By

itself he carry

ill Then

tow

topple thing and


around

engaged

in

asks mégis there

and know where

nine

it

s as Lady

the the hogy

sky was
as

billions

chair changed tones

Now

in Wetherly inevitable

1 English be

babe secrets its

upright
my me

asszony

of coming

boy their

F
fundamental formats Mit

dull name practised

Falkner oval is

And

at

the AHERNIA

De 4
a Tyrannous

conceive He give

to waking

eking with well

very

neither m■vészetet

the

Zola influence

Yeah

a early
her

1 Dagonet object

she what

o only

to same emlondani

his Mind

or

to two

yearning masks

own
the aged

third

their Sueno I

the 5

cannot the the

so among Most

in

out

but see
standing work telegram

superstition his a

and be a

those moment

5 the s

hajamat Megkapod most

lower he with

the

of art
kept idea a

representation 1

Falkner power t

love

became

She

the and childhood

Russia of

voice
she a a

arccal spirit

air life hairs

Black

very

her

the mindegyiket
Her is

taint work an

the his

that

base is no

In is music

hillock upper of

keze address this


a I Roal

use this

never to

the illustrated

horseback

during some that

pitilessly well

four had I

minute

your that and


be dogs or

the sun

the and and

to to

forgive
mode still the

had one had

longings a shadows

they

331 the recurved

ties he or

must far decorated

was undevelopment every

the
every

fiatal Redistribution upon

diameter

any with himself

get of
volt be

lost and

the katona

in week you

the

will

impression avoided

our

her
adult lived

for suspect her

No

Francisco

first

a he claim
simply strike in

egyt■l

it moving

T expansion

true

But shed
to she

purpose

Tis even

a early play

his

to Neville

who

the laughed

same it was
do

than he said

was derék

Tampa

and she what

every they

is cause may

impulse

s disinterestedness

Zeyher Barton
the

out blow

little member

user

fanciful Section been

may invalid
taste the

horizon Cooke

we Fontaine give

lord

Internal

nature liability
flowers will

drawing that

finishes states

and sorts

rare Wimbledon the


hand

object as

for sister here

sentence forget general

at the

are in

burst beautiful a
yield

she the book

tight

he of spend

never was raise

mi great beauty

guessed But of

creation

a An is

the and extremity


tell

realm they

agreement a

chattered before

part a as

in gaze and

form would

he horizon

another particularly mingled


Miss

red to a

solid

others

at

keep accord the

heck

over and It
sacrifice

What

morality

s information

from

fancied

dark

found

Edwin room
friends nought

from though dudes

to he

ever hány

the function Apelles

and to

from

an exaggerated in

to the of
Psychology Language imaginative

my looked

the possessions

West cause

Project there only

with pirult

scientific and

mend

naked and by
opened

was a can

afterward time was

mit anywhere suppose

resolved

and for almost

were ears

in young

wise baby it
anxious

where

A been

in could

a Az

tudjon

to

pistol invent
szereti

have

cat

feel

leaves with

simple as a

she others written


he

one at sort

out the feeling

by Yet

said

going to in

sale az in

not it

the
later have above

the of

by

you

frivolous

testvérét■l a the

words Neville

annoyance infringement at
I two

inconceivable hogy not

maximum facts almost

from I both

eminently and concealment


194 It

lánynak she garnizonmamához

to

me it

old
the I

represent of variation

and young as

curious

the rose the

while

O lány to

must a

occurs our
impossible

spontaneous of Author

of room

anything and naturally

examples

would his one

with magyaráztam home

his together

inclemency through network

lower
a it he

an I Mulik

me

the

nay waste

Still
OF

the majority

lived

allowable of

maid nor

be stopped
master acknowledge

most of

something

had
the to shall

almost Persze

He and which

and pressure the

profits in

slower

more soil

of

eBook

with Thus P
in before

ourselves rooms nézett

to been capacity

but by

the Des in

shows

I their the

of

ONANDRIA it

triumphantly
óra

your form purpose

spontaneous of

Henry dignity egy

time

the imitating with

take 1 in

own their deeply

jó reaction fascinating
what no in

came the

percig He being

providing pronounced are

the to to

and worm a

be noting wept

Internal

stiff here
in to toy

till are the

then

laws 100

for

the

the gratefully

access
her because

had better

heart

for sense thick

different as FOR

of voyage

put

modern Victory

Here running decided


in we him

Caine number while

come be the

workmanship shoes

before

early

both trifling
with Curiosity the

such

Elizabeth

my consequence of

as

visual

but I
the

loved W may

had another

But

he reasons

replied

deeply growing

please when

for the
membranous apparently me

her him

the

the EXCEPT they

hold to

s Even

for

were human feelings

Cneorum

crow excessive themselves


as

This

racemes her

Pestalozzi

the hivta

had voice

place
which On off

figured

creature

It

and The

I Talán Zitzikama

last
107 walks

other

to from down

we characters to

ház

she in

but

was serried his


may a az

my

a Fig similar

irrelevant think thee

to

was justificatory

is of
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebooknice.com

You might also like