|
|
painterly rendering style, 81
parallelepiped, defined by vectors, 20, 21
parallelogram, formed by two vectors, 19
partial precision, specifying (_pp) modifier, 296
partial precision declaration modifier, 369
partial precision log2, computing, 231-234
partial precision modifier (_pp), applying to the declaration statement, 211
partial precision power of two, computing, 221
pen and ink style, 81-82
per-polygon normals, 42
per vertex fog values, setting, 168
per-vertex normals, 42
perfect isotropic reflection, 39
perfect reflectors, all surfaces becoming, 69
perpendicular phase, of the electric and magnetic fields in a wave of energy, 64, 65
perspective divide
performing in the pixel shader, 362
performing on fetched texture coordinates, 333
perspective projection, performing on texture coordinates before texture sampling, 341
perturbation data, transformed by a 2 × 2 bump environment-mapping matrix, 328, 329-330
phase instruction, 274, 275, 319-320
phase one instructions, 319
phase two instructions, 319
Phong's lighting equation, implementing Blinn's simplification to, 162
Phong's specular equation, compared to Blinn's, 49
Phong's specular light equation, 45-48
physically based illumination, 58-74
physically based surface models, 74-76
piecewise addition, notation for, 11
piecewise multiplication
of color values, 25
notation for, 11
pigment-saturated translucent coatings, subsurface scattering of, 36, 37
pipeline, from vertex data to rendering, 129
Pixar's RenderMan, 3
pixel-blending section of the multitexture section, of the FFP, 93
pixel registers, range clamped to, 110
pixel shader code, defining the version being used, 321-322
pixel shader constants, setting, 136
pixel shader reference, 273-371
pixel shaders, 90, 107-111, 273
adding diffuse and specular colors, 109
assembling, 130-132
breaking up into two sections, 319-320
checking for supported versions of, 116
creating and using, 130
def statements in, 133
determining how textures get blended, 177
higher precision registers in DirectX 9, 279
instructions for, 273
loading, 133
output of, 94
replacing sections of the fixed function
pipeline (FFP), 91-92
revision history of, 279-281
technical overview, 93-94
texture addressing in version 2.0, 276
unique behavior between shader versions, 109
version 1.0 through 1.3, 274
version 1.4, 275
version 2.0, 276
versions 2.0 or better, 109
versions of, 273
vertex fog value inaccessible to, 204
pixels
calculating the color of particular, 24
calculating the z and w depth values of, 343
hardware accelerated method of manipulating, 111
terminating processing if texture coordinates or registers are less than 0, 337
tracing through scenes, 5
plane, defining in 3-space, 17
point primitives, adding "detail" to a scene, 172
point size, varying, 173
point size register (oPts), 172, 204
point size shader, 172-174
point size vector component, FVF vertex shader register mapping order, 199
point sprites, 173
points, 10, 12, 13
Poisson, Simeon Denis, 67
Poisson's bright spot, 67
polarization angele, 68-69
polarized lenses, 68
polarized light, fraction transmitted and reflected, 66
position 2 vector component, FVF vertex shader register mapping order, 199
position vector component, FVF vertex shader register mapping order, 199
positional light. See also local light
Lambertian diffuse lighting with, 158-161
Poulin-Fourier model, replacing randomly oriented v-shaped grooves with aligned cylindrical shapes, 78-79
pow macro, 255-256, 320-321
power function, computing for a scalar value, 255, 320-321
_pp (partial precision hint) modifier, 296, 368, 369
precision, indicating a lower for a register, 211
primitive calls, 137
printed images, manipulating to look like screen image, 23
printers, gamuts of, 24
prism, passing white light triangle, 62, 63
projection matrix, calculating, 99
PS 1.0 through 1.3, 274, 281
PS 1.1 through 1.3, 285
PS 1.4, 275, 280-281, 285
PS 2.0, 276, 280
texture addressing, 276
texture registers in, 285
ps instruction, 321-322
"pure" device, specifying, 115
|
|