YOU WERE LOOKING FOR: Chapter 6 Test Form 2d Answer Key
Performance rates may not be comparable with designs from other hardware vendors. Future GPUs will further generalize the programmable aspects of current GPUs, and Cg will make this additional programmability easy to use. Each stage receives its...
Figure shows the graphics hardware pipeline used by today's GPUs. The 3D application sends the GPU a sequence of vertices batched into geometric primitives: typically polygons, lines, and points. As shown in Figure , there are many ways to specify...
This process is known as culling. Polygons that survive these clipping and culling steps must be rasterized. Rasterization is the process of determining the set of pixels covered by a geometric primitive. Polygons, lines, and points are each rasterized according to the rules specified for each type of primitive. The results of rasterization are a set of pixel locations as well as a set of fragments. There is no relationship between the number of vertices a primitive has and the number of fragments that are generated when it is rasterized.
For example, a triangle made up of just three vertices could take up the entire screen, and therefore generate millions of fragments! Earlier, we told you to think of a fragment as a pixel if you did not know precisely what a fragment was. At this point, however, the distinction between a fragment and a pixel becomes important. The term pixel is short for "picture element.
A fragment is the state required potentially to update a particular pixel. The term "fragment" is used because rasterization breaks up each geometric primitive, such as a triangle, into pixel-sized fragments for each pixel that the primitive covers. A fragment has an associated pixel location, a depth value, and a set of interpolated parameters such as a color, a secondary specular color, and one or more texture coordinate sets. These various interpolated parameters are derived from the transformed vertices that make up the particular geometric primitive used to generate the fragments. You can think of a fragment as a "potential pixel. Interpolation, Texturing, and Coloring Once a primitive is rasterized into a collection of zero or more fragments, the interpolation, texturing, and coloring stage interpolates the fragment parameters as necessary, performs a sequence of texturing and math operations, and determines a final color for each fragment.
In addition to determining the fragment's final color, this stage may also determine a new depth or may even discard the fragment to avoid updating the frame buffer's corresponding pixel. Allowing for the possibility that the stage may discard a fragment, this stage emits one or zero colored fragments for every input fragment it receives. Raster Operations The raster operations stage performs a final sequence of per-fragment operations immediately before updating the frame buffer. During this stage, hidden surfaces are eliminated through a process known as depth testing. Other effects, such as blending and stencil-based shadowing, also occur during this stage. The raster operations stage checks each fragment based on a number of tests, including the scissor, alpha, stencil, and depth tests.
These tests involve the fragment's final color or depth, the pixel location, and per-pixel values such as the depth value and stencil value of the pixel. If any test fails, this stage discards the fragment without updating the pixel's color value though a stencil write operation may occur. Passing the depth test may replace the pixel's depth value with the fragment's depth. After the tests, a blending operation combines the final color of the fragment with the corresponding pixel's color value. Finally, a frame buffer write operation replaces the pixel's color with the blended color. Figure shows this sequence of operations. In fact, all of the previously described stages can be broken down into substages as well. Visualizing the Graphics Pipeline Figure depicts the stages of the graphics pipeline.
The descriptions in the next two sections present the critical functional features of programmable vertex and fragment processors. The Programmable Vertex Processor Figure shows a flow chart for a typical programmable vertex processor. The data-flow model for vertex processing begins by loading each vertex's attributes such as position, color, texture coordinates, and so on into the vertex processor. The vertex processor then repeatedly fetches the next instruction and executes it until the vertex program terminates. Instructions access several distinct sets of registers banks that contain vector values, such as position, normal, or color. The vertex attribute registers are read-only and contain the application-specified set of attributes for the vertex. The temporary registers can be read and written and are used for computing intermediate results. The output result registers are write-only.
The program is responsible for writing its results to these registers. When the vertex program terminates, the output result registers contain the newly transformed vertex. After triangle setup and rasterization, the interpolated values for each register are passed to the fragment processor. Vector math operations on floating-point vectors of two, three, or four components are necessary. These operations include add, multiply, multiply-add, dot product, minimum, and maximum.
Hardware support for vector negation and component-wise swizzling the ability to reorder vector components arbitrarily generalizes these vector math instructions to provide negation, subtraction, and cross products. Component-wise write masking controls the output of all instructions. Combining reciprocal and reciprocal square root operations with vector multiplication and dot products, respectively, enables vector-by-scalar division and vector normalization. Exponential, logarithmic, and trigonometric approximations facilitate lighting, fog, and geometric computations. Specialized instructions can make lighting and attenuation functions easier to compute. Further functionality, such as relative addressing of constants and flow-control support for branching and looping, is also available in more recent programmable vertex processors. The Programmable Fragment Processor Programmable fragment processors require many of the same math operations as programmable vertex processors do, but they also support texturing operations.
Texturing operations enable the processor to access a texture image using a set of texture coordinates and then to return a filtered sample of the texture image. Even when floating-point operations are available, fragment operations are often more efficient when using lower-precision data types. GPUs must process so many fragments at once that arbitrary branching is not available in current GPU generations, but this is likely to change over time as hardware evolves.
Cg still allows you to write fragment programs that branch and iterate by simulating such constructs with conditional assignment operations or loop unrolling. Figure shows the flow chart for a current programmable fragment processor. As with a programmable vertex processor, the data flow involves executing a sequence of instructions until the program terminates. Again, there is a set of input registers. However, rather than vertex attributes, the fragment processor's read-only input registers contain interpolated per-fragment parameters derived from the per-vertex parameters of the fragment's primitive.
Write operations to write-only output registers become the color and optionally the new depth of the fragment. Fragment program instructions include texture fetches. What Cg provides is a language and a compiler that can translate your shading algorithm into a form that your GPU's hardware can execute. With Cg, rather than program at the level shown in Figures and , you can program in a high-level language very similar to C. First, Cg bases its syntax and semantics on the general-purpose C programming language.
Second, Cg incorporates many concepts from offline shading languages such as the RenderMan Shading Language, as well as prior hardware shading languages developed by academia. Figure Sources of Cg's Technology Heritage Figure shows the general-purpose programming languages, 3D application programming interfaces, and shading languages that inspired Cg's development. Over the course of this book, you will find that Cg mostly does what C programmers expect.
Cg differs from C in situations where either Cg's specialization for GPUs or performance justifies a change. HLSL and Cg are the same language but reflect the different names each company uses to identify the language and its underlying technology. This flexibility means that NVIDIA's Cg implementation provides a way to author programs that work with both dominant 3D programming interfaces and whatever operating system you choose.
The cars are clean and in good condition. I will definitely recommend your app service to everyone! George Google Love. Love using eCabs. Their drivers are all a great bunch of guys and girls. The app is super easy and customer care is always helpful, professional and friendly. Elli Thanks eCabs for your amazing service! Always on time and super safe! Josette Facebook My daughter forgot her bag in one of the cabs complete with spectacles and house keys. The bag was found and returned with all contents thanks to their lost and found policy. Thank you so much for your professionalism eCabs! Ramona Facebook I used the eCabs app during my trip to Malta. It allowed my family and I to move around the island without the stress of driving myself and parking hassles. I loved that you get a fixed price for the trip in advance, the clean cabs and the polite drivers. The price is also very reasonable.
Now we turn to relationships between third parties and the principal or agent. When the agent makes a contract for his principal or commits a tort in the course of his work, is the principal liable? What is the responsibility of the agent for torts committed and contracts entered into on behalf of his principal? How may the relationship be terminated so that the principal or agent will no longer have responsibility toward or liability for the acts of the other?
These are the questions addressed in this chapter. Types of Authority There are three types of authority: express, implied, and apparent see Figure We will consider each in turn. Express Authority The strongest form of authority is that which is expressly granted, often in written form. One common form of express authority Contractually given authority to the agent from the principal, orally or in writing, communicated to the third party. The principal bears the risk of any wrongful action of his agent, as demonstrated in Allen A. Funt Productions, Inc. Chemical Bank. Allen A. Chemical Bank, N. Allen Funt —99 was an American television producer, director, and writer, best known as the creator and host of Candid Camera from the s to s, which was broadcast as either a regular show or a series of specials. Its most notable run was from to on CBS. In fact, for several years the accountant embezzled money from the company by writing checks to himself and depositing them in his own account.
The company sued its bank, charging it with negligence, apparently for failing to monitor the amount of money taken by the accountant. But the court dismissed the negligence complaint, citing a state statute based on the common-law agency principle that a third party is entitled to rely on the express authorization given to an agent; in this case, the accountant drew checks on the account within the monetary limits contained in the signature cards on file with the bank. Letters of introduction and work orders are other types of express authority.
Figure It is impossible to delineate step-by-step the duties of a general agent; at best, a principal can set forth only the general nature of the duties that the agent is to perform. If express authority were the only valid kind, there would be no efficient way to use an agent, both because the effort to describe the duties would be too great and because the third party would be reluctant to deal with him.
The theory of implied authority The authority of an agent to perform acts that are reasonably necessary to accomplish the purpose of the agency. In either event, the business manager has a relatively large domain of implied authority. He can buy goods and services; hire, supervise, and fire employees; sell or junk inventory; take in receipts and pay debts; and in general, direct the ordinary operations of the business. On the other hand, a manager does not have implicit authority to undertake unusual or extraordinary actions on behalf of his principal.
In the absence of express permission, an agent may not sell part of the business, start a new business, change the nature of the business, incur debt unless borrowing is integral to the business, as in banking, for example , or move the business premises. Andy has no implied authority to change the name or to commission the artist, though he does have implied authority to engage a printer to replenish the stationery supply—and possibly to make some design changes in the letterhead. Even when there is no implied authority, in an emergency the agent may act in ways that would in the normal course require specific permission from the principal. If unforeseen circumstances arise and it is impracticable to communicate with the principal to find out what his wishes would be, the agent may do what is reasonably necessary in order to prevent substantial loss to his principal. During World War II, Eastern Wine Corporation marketed champagne in a bottle with a diagonal red stripe that infringed the trademark of a French producer.
No comments:
Post a Comment