|
|
v-shaped facets, of the Cook-Torrance model, 74-75
vector mask, 364
vector operation, dp3 instruction as a, 299
vector pipe, 93
vector pipeline, 369
vector processing (color), 370
vector product. See cross product
vector triple product, 20
vectors, 10, 13
angle between, 15
mathematical properties of, 13-20
normalizing, 151
relating across cross products, 20
version 1.0 for pixel shaders. See PS 1.0 through 1.3
version 1.4 for pixel shaders. See PS 1.4
version 2.0 for pixel shaders. See PS 2.0
version 3.0 for pixel shaders, 279
versions, defining for vertex shader code, 267-268
vertex, 12
setting to a flat color, 101
specifying the look of, 195
vertex and pixel shaders, techniques requiring processing by both, 181-189
vertex buffer formats, customized, 126
vertex buffers
allocating dynamic, 125
associating with streams, 128-129
creating, 123-126
sizing, 125
strategies for dynamic and static data, 125-126
vertex color registers (v[u]), for pixel shaders, 282-283
vertex color shading, 154-155
vertex constant registers, setting in DirectX 8, 133-134
vertex data
creating well-formed, 128-129
specifying the source of, 126
vertex data streams, 126-127
vertex declarations, decoupled from vertex shaders in DirectX 9, 132
vertex elements, 117-119
assembling, 118
mapping to input registers, 210-211
vertex fog
applying, 169-172
indicating intensity, 204
versus table fog, 204
vertex format flag, 118-119
vertex input, setting up to the shader, 101
vertex instructions, C-like pseudocode included with, 191-192
vertex normals
vs. face normals, 21-22
placing a transformed and normalized vertex normal value in r1, 151
vertex operations, 96
vertex positions, transforming into clip-space coordinates, 96
vertex shader boolean constants, setting the value of, 213
vertex shader code, defining the version of, 267-268
vertex shader constant registers, querying the number of, 136
vertex shader constants
setting in DirectX 8, 133-134
setting in DirectX 9, 134-135
vertex shader declarator macros, creating the token array, 120-121
vertex shader floating point constants, setting the value of, 211-212
vertex shader input declaration, 97
vertex shader input registers, with corresponding FVF codes, 119
vertex shader instructions, 204-268
vertex shader integer constants, setting the value of, 212-213
vertex shader interface declaration, 119-122
Vertex Shader Reference, 195-271
vertex shader registers, 106
vertex shader version, specifying, 195
vertex shaders, 90, 95-107, 150-180, 195
ambient shading, 155-157
assembling, 130-132
assigning a per vertex color, 154-155
checking for supported versions of, 116
common code for, 150-153
compared to pixel shaders, 108
components of, 150-153
constant color, 153-154
creating and using, 130
input to, 92, 129
for non-orthogonal transformation matrices, 105-106
only job of, 92
for orthogonal transformation matrices, 104-105
output of, 93, 96, 129
overview of, 195
passing data to, 197
referencing individual pieces of a register, 273
replacing sections of the fixed function
pipeline (FFP), 91-92
revision history of, 196
self-contained, 102
technical overview, 92-93
vertex streams
associating a token element-size arrays with, 120
as input to vertex shaders, 92, 93
loading into vertex registers, 129
specifying more than one, 121
using multiple, 127
vertex transform and copy setup code, 150
vertical pipeline, preparing for tessellation pro cessing, 122
vertices. See vertex
view coordinate system, getting the object's vertices into, 98
view direction normalized vector, creating, 151-152
view direction, of specular light, 46
view frustum, 99
view transformation
multiplying, 98
output of, 99
viewer, placing the object's vertices in the same space as, 98
viewer position. See also eye position taking, 151
viewing parameters, setup of, 99
vn. See input vertex registers
vs instruction, 267-268
|
|