Index

Symbols
*.SIM file   293
.DLL   334
.PDB data   293
.RAW   292
.SIM   290
_thread   241
2D coordinate axis   45
2D mouse clicks   319
2D points into 3D object space, convert   319
32 bit Windows 95 application   289
3D API   24

A
aberration   85
About Box   343
abstract class   226
abstract definition   222
abstract object   16
        definition   225
abstraction   11, 13, 23
control   13
access   28
access information   257
access operators   37, 158
access path control problems   25-26
access problems   25-26
accessing device contexts   184
accumulation buffer   304
ActiveOpenGL   333-343
ActiveOpenGLCtl   336-343
ActiveX   180, 332-333
        Control Pad   332
        controls   340-341
addition   48, 58
adjacent cubes   150
adjacent polygons   91
        joining of   147
adjoining faces   47
adjustable rendering   290
aesthetic appeal   9
aesthetic requirements   9
afx   336
algebra
        linear   44-50
algorithm
        Cohen-Sutherland   131
        Cyrus-Beck clipping   131
        marching cubes   145
        marching parallelogram   145
        marching sphere   145
        object space   136, 144
        object space decomposition   144
        painter's   137-139
        pixel space   136
        z-buffer   136
allocated data space   35
allocated space   9, 36-37, 249
allocation   9, 35
alpha blending   100, 112-113, 317
alpha buffer   304
alpha level   48, 316
alpha parameter   112-113
ambient lighting   105, 109
angle   29-31, 47, 50, 55, 57, 58, 82, 165, 169, 375-379, 396-400, 402, 403, 404
angle of rotation   320
angular measurement   53
angular rotation   224
animating model   20
animation   21, 154, 164
        paths   171
        smooth   293
        state   20-21
animator   172-173
antialiasing   274
        OpenGL   308, 317-318
API. See application programming interface
API function call   271
application
        model   13
        multiple view   179
        object   13-14
        registration   13-14
        single view   178-179
        thread   310
application frameworks   246
application programming interface   198
application specific messages   14
applying model and world transformations   134
approximation model   75
arbitrarily high accuracy   150
array   17
        construct   40-41
        dynamic sizing   9
        storage   36-37
Assembly language   242
association   15, 16
atmospheric (fog) effects   318
attribute   252
auto-rotate   190
AutoCAD   289
autofield tracking   274
automatic backface culling   307
automatic destruction   261
automatic model rotation   257
automatic rotation   284
auxiliary buffer   304
auxiliary functions   300
average   34, 39
average center   237
Average()   39
axial rotation   21
axial rotation transformation   328
axis
        coordinate   46
        differential angle   302
        normal coordinate   47
        right-hand coordinate   46
        rotation   57
        standard   53
        standard coordinate   84
axis of rotation   323

B
b-splines   170
back buffer   183, 297, 298
back clipping plane   304
back side   136
back-to-front order   137
backface culling   22, 82, 93, 136, 274, 317
        automatic   307
bands   116
base class   226, 239, 259
base class function   241
base geometric transformations   302
base level methods   21
base lighting   108
base member   261
base object   22
base or selected color   107-108
begin/end blocks   290
binary representation   130
binary space partitioning tree   136, 141-144
        root of the tree   142
binary tree   6
bit testing pattern   130
bit-blot   191, 196
bit-planes   113
BitBlt   188, 189
bitmap   191, 330
bitmap context   193
bitmap definition   193
bitmap handles   191
bitmap image   330
bitmap picture   135
bitmap textures   135
BITMAPINFOHEADER   191
bitwise simplification   107
black hole   201
blending calculations   316
blending function   118, 151, 211, 235
blitting   135
blob   117, 175, 230
        real-time   211
blob field   258
blob model   211, 243, 262, 271-272
Blob Modify   214-215, 277, 279
blob object   227
blob space   251, 262
blobby fields   243
blobman model   214
block operations   102
Bloomenthal, Jules   117, 150, 228
        implicit surface tessellation   145, 149-150
blue color component   48, 316
BOOL wglDeleteContext(...)   298
Boolean comparison   128
Boolean flag   261
Boolean function   147
Boolean space   148
Boolean state variables   257
Boolean switch   132, 134
Boolean test   128
Boolean variable   308
Borland OWL   183
bottom and top planes   128
boundary based representation   98
boundary box   83
boundary conditions   79, 91
boundary sphere   83
bounding box   132, 133, 401
        localized   131
bounding information   191
bounding point   47
bounding rectangle   259
bounding region   95
bounding space   90, 127
bounding sphere   244
bounding sphere intersection   252
Bresenham's line drawing method   99, 100
BSP tree. See binary space partitioning tree
buffer
        back   183, 297, 298
        color   342
        depth   195, 197, 342
        double   183, 188-190, 282-283, 297, 304
        frame   99
        front   298
        information   305
        off-screen   195
        screen   298
build polygons   150
building moving models   293

C
C++   xvii, 5, 7, 12, 19, 28, 34, 37, 41
CActiveOpenGLCtrl   334
calculate slope constants   99
camera   65, 154, 167, 169, 342
camera viewing model   257
canonical parallel viewing volume   131
CArchive object   180
casting conversions   102
CD-ROM   175, 293
CDC   183
census   1
center   47, 58, 80
central viewing point   324
centroid   233
chemical structures   292-293
child controls   25
child documents   14
child object   20-21
child windows   299
ChoosePixelFormat(...)   299
class   1, 5, 11, 19, 22, 28-33, 36, 38, 39, 41, 154, 157, 166, 167, 353, 355-358
        abstract   226
        base   239, 259
        generic   29
class member   257
ClassWizard   338
clear off-screen buffer   188
click position   326
click-and-drag interface   117, 212
click-and-drag tools   262
click-and-drag user interface   85
client window   192, 277
clip
        far   190
        near   190
clipboard   330
clipping   127-135
        a point   129
        a triangle   130-131
        plane   129
        region   310
        test   128, 131
clipping into the viewing volume   128-129
CList   29, 30
clockwise convention   93
clockwise fashion   93
closest intersecting object   251
closest ray point   85
clusters   79
code
        time-critical   26
code optimization   5
code reusability   12
code reuse   6, 25
coefficients   159
Cohen-Sutherland algorithm   131
COleControl   334
collecting object data   134
collection of fields   227
collection of pixels   98
collection of polygons   198
collections of transformations   84
color
        alpha blending   112-113, 317
        alpha level   48, 316
        alpha parameter   112-113
        base or selected   107-108
        blending   48
        blue   48, 316
        conversion   194
        depth   194
        dithering   318
        final rendering   107
        flat shading   114
        green   48, 316
        n-vertex   114
        pixel   112, 114
        red   48, 316
        single   114
        transparency   48
        working palette   309
color bits   304
color buffer   342
color depth   304
color selection   105, 301
color structure   48
color table   191
color transition   116
coloring parameters   204
COM model. See Component Object Model
command enabler handling functions   264
command event   255
        code   263
command functions   264
command handler   263
command messages   13-14
command update handler   329
common vertex   81
compare   143
compiler   41, 197
complex objects   82, 85
complex polygon structures   290
complex polygonal surfaces   117-119
complex smooth objects   117
complex spline data sets   156
component   6, 13, 18, 45, 48, 58, 59, 106, 109-112, 157, 167, 379, 380, 504, 505, 507
        constant   16
        diffuse   111
        replaceable   16
        specular   111
Component Object Model(COM)   180, 332
computer animation   154
computer friendly algorithms   72-77
computer visualization   292-293
concatenate composition sets   71
concave
        polygons   96, 147
        ring   206
consistency   8-9
consistent execution   9
constant component   16
constant string pointer   261
constructive solid geometry   147-151
constructor   25, 33, 158-159, 223, 303
        default   231
        parameterized   231
container   248
container array index   248
container class   38
container objects   234
context   305
context information
        creation and deletion of   23
continue traversing   150
control points   290
control transparency   22
Control Wizard   336
convex   96
convex 3D polyhedra   131
convex areas
        series of   96
coordinate
        object space   320
        window   320
coordinate axis   46
COpenGLView   300
COpenGLView object   300-315
COpenGLView window   300
coplanar   122
Copy   34, 37
copy operator   232
copying   10, 34, 36, 183
correction
        distance-based   65
counterclockwise fashion   93
CPaintDC   184
create a context   297
create polished coherent design   9
create visual   293
creating
        model   280-284
creation and deletion of context information   23
criteria types   145
cross product   49, 81
cross-library drawing interfaces   22-24
CSG (Constant Segment)   289
cube   47, 65, 82, 132
        edges   270
cubes
        adjacent   150
        marching   150
cubic spline   154
Cull   83
current device context   298
current frame   259
current pixel format   302
current projection   195
current state   225
current tool   278
current transformation   326
current window   298
current window viewport   311
currently displayed window   298
cursor   263, 296, 328-330
        current   328
        selecting   328
cursor bitmap   263
cursor icon   328
curve fitting   154
CView   181
cycle-eating monster   26, 32
cylinder   22
Cyrus-Beck clipping algorithm   131

D
data
        flow   17
        member   17, 18, 29, 34, 35, 42, 222
        object   24
        primitive   22
        space   34
        vector-based   302
data access hiding, no   6
data containment figure   246
data densification   170
data flow   17
data flow diagram   4
data hiding   248
data representations   45
data series sets   156
data structure changes   6
data structure model   96
data structures   6, 9, 11, 18, 32, 40, 131
data transformations   302
database   5, 21, 23, 30-132, 134, 243
        edge list   92
        object   132, 273
        polygon   14
        spline   159-160
        structure   142
        triangle   217
decide what not to do   102
decompose   206
decompose boundary space   99
decompose slopes   99
decomposing into primitives   134
decomposing space into triangles   149
decomposition   21, 145
        polygon-based   97
        polygonal   98
        special   275
default constructor   231
default light   307
default location   339-340
default operations   327
default parameters   307
default value   34, 306
definition equations   213
delayed invalidate   311
delta   9
densification   204, 206
density blending equations   211
density contribution   233, 241-242
density equation definition   213
density field equations   212
density fields   230
density tessellator   213
depth buffer   195, 197, 342
depth constants   99
depth slope constants   99
depth value   306
derived   12
derived member   225
derived methods   23
derived object   22, 183
DescribePixelFormat(...)   299
design
        coherent   9
        corruption   6
        functional-oriented   18-19
        initial stage   9
        issues   12
        object-oriented   7, 12-13, 18-19, 26
        polished   9
        preliminary   9
destroy context   297
destruction   35
        automatic   261
destructor   33, 223, 236, 303
detail level   275
details   26
determine min y and max y   99
development environment   184
development problems
        object-oriented   24-26
device context   183, 194
        accessing   184
        graphics   183
device context handle   191, 297
device context handling   214
device context screen coordinates   244
device screen memory   183
dialog box   257
        About   343
        Blob Modify   214-215, 277, 279
        Color   214
        Field Modify   278, 279
        File   293
        Left Arm   214
        modal   310
        Solid Revolver   204, 206
        support   273-277
        Volume Visualization Parameters   275
differential axis angle   302
diffuse components   111
diffuse lighting   109-110
diffuse reflectivity   110
digital polygons   98-100
digital space   98
dimensions   168
dimple   202
direct acces   13
Direct Draw Interface   189
Direct-3D   24, 71
Direct-X   189
direction of reflection   111
direction test   138
direction vector   59
directional component   109, 110
directional content   109
directional information   46
dispersion phase   173
display device objects   21
display updates   327
distance aberration   85, 265
distance aberration effects   84, 85-86
distance adjustment   314
distance comparison   137, 245
distance corrected projection   64
distance correction adjustment   267
distance formula   265-266
distance-based correction   65
distant point   138
distributed visualization   332
distributed visualization models   180-181
dithering
        of colors   318
        OpenGL   318
divide-and-conquer   15, 16
divide-and-conquer sort   137-138
division by z   67
DLL   334
DNA   292
document abstraction   253
document container object   256
document data   14
document manager   14, 214
document object   14, 179, 214
document view   13, 289
document view application model   253
document view object   213
document view object model   13-14
documented object   25
DoesSphereIntersect   80
dot product   49, 82, 129
double buffer   190, 297
double-buffering   188-189, 282-283, 304
draw event   311
draw index list   132, 134
draw into off-screen buffer   188
Draw Lines   6
draw models   297
Draw Object   20, 21, 22, 23
draw optimization   310
Draw Polygons   6
drawing   131, 183
        commands   315
        step   183
drawing into frame buffer   135
drawing with the Windows API   184-187
dynamic basis   36
dynamic sizing array   9
dynamic space   36
dynamic surfaces   294

E
easier to maintain   18
easy and productive   28
edge curve   165, 204
edge list databases   92
edge-based system   92
effect equation set   108
effect functions   112-113
effect-based lighting model   106
effects
        distance aberration   84, 85-86
        environmental   112
        lighting   119
        luminosity   105
element accesses   40-41
element phase of Silly Putty   211
elimination   55
elimination and hiding of objects   131-134
elimination process   131
emitted light   106, 108
emulate an object-oriented system   5
endpoints   47
        test   129
entertainment applications   178
enumeration   257
environment
        effects   112
        realistic   112
equation
        computer friendly algorithms   72-77
        cross product   49
        definition   211, 213
        density blending   211
        density field   212
        dot product   49
        effect set   108
        factoring   55
        form   242
        inverse square   242
        material   106
        ray   78
        spline   155, 170
        standard line   99
        surface differential   44
        symbolic math tool   75
evaluations
        recursive   102
evaluators   174
event handler   312
event message   184
execution
        consistent   9
exponential   74
external graphics library   184
eye vector   324
eyepoint   83, 85, 127, 136-137, 165, 169, 251, 274
eyepoint orientation   143
eyepoint-to-mouse coordinate ray   243

F
facets   82
factor set   107
factoring   55
far plane   127
fast for small one-time projects   5
field densities   211
field model   151
Field Modify   278, 279
field objects   252
field of view   85, 169, 313-314
        angle   297
        default   304
Field Select tool   278, 279
field strength   237
field tessellator   216-217
filled triangles   218
FILO. See first in last out
final rendering color   107
final test   146
finite dimensional units   106
first in last out   84
fisheye effect   86, 313-314
fisheye problems   85
flat shading   114, 115
floating point operation   103
formula-based mapping   40, 41
frame buffer   99
frame buffer, drawing into   135
frame copy operation   183
frame output   212
front buffer   298
front side   136
full perspective projection   67
full spectrum of colors   318
function
        base class   241
        blending   118, 151, 211, 235
        Boolean   147
        distance comparison   137
        effect   112-113
        height field   201
        implicit surface   147
        inline   71
        inverse   73-74
        LSpline member   158-163
        member   51, 63
        member access   238
        normal transcendental   73
        object rotation   56
        overloaded   166
        trackball   314
        two-dimensional   81
        utility member   158
function call   71, 261, 306
function cycle   301
function handlers   283
function member   17, 193, 309
function operator   37
function oriented paradigm   6
function prototypes   299
function variables   315
functional members   20
functional oriented design   18
functional paradigm   4-8, 13
        advantages of   4-5
        disadvantages of   5-6
        graphics models using   6-7
functional rendering pipeline data   7
functional system   4
functional viewpoint   345

G
game development   288
game modeling   105
GDI   183
        functions   338
generic class   5, 11, 28, 29, 32-36, 39, 166
        implementation   33
        template   40
generic primitive handling   22
geometric adjustment   313
geometric information   302
geometric model   79, 198, 295
geometric object   47, 130
geometric shape   92
geometric transformation   52
geometric transformation calculations   94
geometrical information   129
geometrical pipeline   129
geometry
        perspective   307
geometry contexts   261
geometry format   289
geometry information   253
geometry members   302
GetPixelFormat(...)   299
glClear   342
global data space   178
global transformation   231
good control and visibility   5
Gouraud shading   116
graphic models   305
graphic rendering pipeline   85
graphics
        model   22
        three-dimensional   9, 28
graphics data   134
graphics data structures   301
graphics device context   191
graphics device contexts   183
graphics engine   7, 9, 11, 14, 20, 22, 32
graphics engineer   181
graphics enthusiasts   344
graphics library   184
graphics model   301
graphics rendering   246
graphics rendering invalidation   249
graphics software developer   112
green color component   48, 316

H
HAL. See hardware abstraction layers
handle information   192
handler   311
hardware abstraction layers   13
hardware trick   141
HasPoint3D   81, 215
height field   200
height field evaluator   203
height field function   201
height field tessellation   92
height of the land   107-108
HGLRC wglCreateContext (...)   298
hidden surface removal   118, 135-144, 282-283, 306         hide object   83
hiding   131
        messages   301
high-priority   310
high-speed intersections   77-83
high-speed three-dimensional modeling   211
higher order primitives   131
HPALETTE   301
HSR. See hidden surface removal
HWND   192
hybrid collections   128
hybrid intersection calculation   82
hybrids   171
HyperChem-3D   289

I
ideal pixel format   304
identification of objects   19
identify parameters   165
identity matrix   307, 324
identity palette   194
idle lock condition   312
idle lock release   310
idle processing   262
idle time   264
image-based morphing   154
imagination   112
implementation stage   15-16
implicit function of a sphere   147
implicit surface   82, 117, 295
implicit surface function   147
implicit surface tessellation
        Jules Bloomenthal   145, 149-150
in back case   144
in front case   143
incidence angle   110
incident ray   111
independent copy   241
index   137
indexed list of edges   92
indexed vertex list   91, 93
individual unit   4
individual view   310
infinite subscripting   37
information   18
information hiding   12, 26
inheritance   5, 12, 18, 25
inherited object hierarchy   182
initial design stage   9
initial state defaults   260
initial variables   219
initial viewing model   304
initialization   183, 303-315
order   23
initializer   225
inline   35
inline function   71, 102
inner Phong shading   117
inner polygon shading   274
input ray   244
input stream   226
insert object(s)   143
insertion sort   137
instantaneous tessellation   268
integer index   291, 309
integers
        assumptions   103
Intel's 3DR   24
intensity   109, 111
intensity calculations   109
interactive controls   329
interactive entertainment applications   178
interactive mouse events   301
interactive real-time resolution adjustment   290
interface
        click-and-drag   85, 117
        control   15
        mouse   325-330
        object   15, 16
        platform   23
        toolbar   273
        user   85, 233, 243-244, 251
        Windows   254
interface identification   337
internal spline initialization   158
Internet   180-181
Internet Explorer   332
interpixel blasting   141
interpolation   21, 153-154
interpolation slope   123
interpolation techniques   21
intersection   77-79, 81-83
        calculation   77, 220, 243, 244
        criteria   143
        high-speed   77
        hybrid calculation   82
        line   265-266
        of rays and hybrid objects   82-83
        point   80, 83, 219, 220, 323
        ray-to-cube   82
        ray-to-plane   77-79
        ray-to-polygon   81-82
        ray-to-sphere   79-80
        sphere   79
        test   82, 245
        three-dimensional   215-216
IntersectLinePlane   79, 221
Invalidate   308
invalidate   283, 298
inverse function   73-74
inverse square equation   242
IsDirty()   223

J
jaggies   318
joining of adjacent polygons   147

L
LACE-3D   41, 114, 115, 164, 175
layer masks   304
left and right planes   127
left mouse button   272
length   6, 50, 59
light
        model   107
        source   105, 109, 340
lighting   24, 105-107, 119, 135
        adjustment   120
        ambient   105, 109
        base   108
        component parameters   307
        default   307
        diffuse   109-110
        diffuse reflectivity   110
        effect-based model   106
        emitted   108
        environmental effects   108
        polygon   105-106
        reflective   111
        special effects   111-112
        specular component   111
        specular reflection   111
        spotlight   110
        techniques   105
lighting capabilities   281
lighting component parameters   307
lighting effects   105-106, 111, 135, 274
lighting model   24, 100, 105, 110
lighting parameters   105, 308
lighting ray angle   109
lighting types   107-108
lighting vector   110
limiting memory accesses   13
line   47, 51, 128, 308
        clipping   129-130
        endpoint   47
line definition   234
line drawing
Bresenham's method   100
line segment   45, 81
line strip   128
line-to-sphere intersection   245
linear algebra   44-50, 181, 245
linear interpolation   150, 153
linear radix exchange sort   137
linked list   6, 9, 10, 17, 21, 29, 31, 137
linking and including OpenGL headers   299-300
list
property   22
texture   22
vertex   22
LIVE space modeler   290
LMatrix   37, 40-42, 158, 352-358, 377
LObject   222
local pixel structure   304
local space   298
local variables   260
local view variable   265
localized polygons   131
location   59, 134-135
location of the light   307
location translation   21
logical locations   44
lookup tables   55
low-priority thread   310
LPoint3   50-71, 51-52, 56, 59, 60, 63, 68, 69, 79, 80, 221
        projection using   64-68
        scaling using   58-59
        skewing using   61-63
        translation using   59-61
LPolySet   191
LProjectionParam   189
LSmoothMover   167, 169
LSpline   156-167, 163, 166-168, 382
LSpline member functions   158-160
LSpline object   156-158
LSplineNumbers   156-159
LTriangle   29-31, 376, 378
LTriangleCollection   30
LTriangleSet   29, 30
luminosity effects   105
LVector   11, 32-41, 156, 158, 166

M
magnitude   34, 38, 46, 50, 59
Magnitude()   39
main frame   329
main layer   304
maintenance   7, 8, 18
maintenance time   15-16
mapping
        one-to-one   194
        real-world   18
        textures   120-121
maps
        message   336
marching cubes   150
        algorithm   145
marching parallelogram   145
marching sphere   145
market segment   344
material equation   106
material parameters   106, 307
material properties   106
matrices
        skewing transformation   62
        sparse   40-41
        tri-diagonal   40-41
matrix   37, 40, 92, 135
        reference   303
matrix class   37
matrix stack   53, 71, 84, 307
matrix transformation   257
        information   303
maximum   99
mean value   39
member
        data   12, 17, 18, 29, 35
        derived   225
        function   17
        model construction   22
        protected   228
member access function   12, 238
member function   21, 31, 36, 51, 63
member variables   256, 259
memory accesses
        limiting   13
memory allocation   28
memory fill operation   195
memory space   34, 134, 298
memory-to-screen copy   196
mesh-based shapes and surfaces   294-295
mesh-based surfaces   294
message
        application specific   14
        command   13-14
        flags   259
        hiding   301
        idle lock release   310
        maps   336
        Windows   284
metatheoretical substantialism   211
MFC   28, 30, 167, 183, 312
MFC and cursors   296, 328-330
MFC message maps   336
Microsoft Foundation Classes. See MFC
Microsoft Visual C++   289
midpoint bisection   150
midpoint insertion   170
minimum   99
MIP map   24, 120-122
modal dialog boxes   310
model
        approximation   75
        blob   243, 262, 271-272
        blobman   214
        current   302
        data structure   96
        distributed visualization   180-181
        effect-based   106
        field   151
        flat-shaded   115
        geometric   198, 295
        graphic   305
        lighting   100, 105-107
        morphing   294
        object   134
        polyform   289
        polygon   91, 96
        shading   113
        specular   111
        surface   91, 117
        tessellation   253
        testing   241
        transparent environment   171
        viewing volume   127-128
        wireframe   98, 240
model construction members   22
model creating   280-284
model database object   20
model draw loop   284
model of light   112
model painting   280-284
model view   307
model view matrix   307
model view matrix stack   315
model view stack   342
modeling color effect   113
modeling engine   77
modeling function surfaces   200-203
modeling geometry   183, 297
modeling information   259, 305
modeling objects   318
modeling parameters   190, 273-274
modeling space   259
ModelView stack   85
modularity   18
molecular and protein structures   292-293
molecular modeling   xiv, 107
molecular structures   293
momentum   163, 170
Monte Carlo octane atom collisions   292
morphing
        image-based   154
        model   294
mouse   301
        interactive events   301
mouse button   263
        left   272, 325-326
        right   279, 280, 326, 327
mouse click   320
mouse click, 2D   319
mouse event   258
mouse events and 3D i