Wintersalen Sale
 
 

Special Offers see all

Enter to WIN a $100 Credit

Subscribe to PowellsBooks.news
for a chance to win.
Privacy Policy

Tour our stores


    Recently Viewed clear list


    Original Essays | October 21, 2014

    Katha Pollitt: IMG My Bookstore Fantasy — No Customers Necessary



    "Let's open a bookstore," I say to my husband every now and then. "A used bookstore. With a few new books we really like." I'm picturing an... Continue »

    spacer
Qualifying orders ship free.
$14.95
Used Trade Paper
Ships in 1 to 3 days
Add to Wishlist
Qty Store Section
1 Burnside Graphics- Programming

The CG Tutorial: The Definitive Guide to Programmable Real-Time Graphics

by

The CG Tutorial: The Definitive Guide to Programmable Real-Time Graphics Cover

 

Synopses & Reviews

Publisher Comments:

"Cg is the key to unlocking the power of a new generation of programmable graphics hardware. This book is the definitive introduction to Cg, and will be essential for anyone programming high-quality real-time graphics. The Cg Tutorial will teach you to use Cg to create effects never before available for real-time applications."

--Larry Gritz, Author of Advanced RenderMan (Morgan Kaufmann, 2000)

"An important and timely book: Pixel-level procedural textures--animated clouds, fire, water, the whole bag of procedural tricks--finally go from the movie screen to the desktop. Access to computation of this power through a C-like language will usher in an exciting new era for the graphics community."

--Ken Perlin, Professor, New York University

Cg (C for graphics) is a complete programming environment for the fast creation of special effects and real-time cinematic quality experiences on multiple platforms. By providing a new level of abstraction, Cg lets developers more directly target OpenGL®, DirectX®, Windows®, Linux, Mac OS X®, and console platforms, such as the Xbox™, without having to program directly to the graphics hardware assembly language. Cg was developed by NVIDIA® Corporation in close collaboration with Microsoft® Corporation, and is compatible with both the OpenGL API and Microsoft's HLSL for DirectX 9.0.

 

The Cg Tutorial explains how to implement both basic and advanced techniques for today's programmable GPU architectures.

 

Major topics covered include:

  • 3D transformations
  • Per-vertex and per-pixel lighting
  • Skinning and key-frame interpolation
  • Environment mapping
  • Bump mapping
  • Fog
  • Performance optimization
  • Projective texturing
  • Cartoon shading
  • Compositing
  •  

    The accompanying CD-ROM includes the tools needed to run the sample programs in the book.

    Synopsis:

    This text provides a guide to the Cg graphics language. The CD contains a program called 'cgtutor' which allows users to try out the various examples in the book.

    Synopsis:

    "Cg is the key to unlocking the power of a new generation of programmable graphics hardware. This book is the definitive introduction to Cg, and will be essential for anyone programming high-quality real-time graphics. The Cg Tutorial will teach you to use Cg to create effects never before available for real-time applications."

    --Larry Gritz, Author of Advanced RenderMan (Morgan Kaufmann, 2000)

    "An important and timely book: Pixel-level procedural textures--animated clouds, fire, water, the whole bag of procedural tricks--finally go from the movie screen to the desktop. Access to computation of this power through a C-like language will usher in an exciting new era for the graphics community."

    --Ken Perlin, Professor, New York University

    Cg (C for graphics) is a complete programming environment for the fast creation of special effects and real-time cinematic quality experiences on multiple platforms. By providing a new level of abstraction, Cg lets developers more directly target OpenGL®, DirectX®, Windows®, Linux, Mac OS X®, and console platforms, such as the Xbox™, without having to program directly to the graphics hardware assembly language. Cg was developed by NVIDIA® Corporation in close collaboration with Microsoft® Corporation, and is compatible with both the OpenGL API and Microsoft's HLSL for DirectX 9.0.

    The Cg Tutorial explains how to implement both basic and advanced techniques for today's programmable GPU architectures.

    Major topics covered include:

  • 3D transformations
  • Per-vertex and per-pixel lighting
  • Skinning and key-frame interpolation
  • Environment mapping
  • Bump mapping
  • Fog
  • Performance optimization
  • Projective texturing
  • Cartoon shading
  • Compositing
  • The accompanying CD-ROM includes the tools needed to run the sample programs in the book.

    0321194969B02192003

    Synopsis:

    System requirements: Microsoft Windows XP with a GeForce4 Ti GPU, GeForce FX (recommended), or equivalently programmable GPU.
    Includes bibliographical references and index.

    About the Author

    Randima (Randy) Fernando is Manager of Developer Education at NVIDIA. Mark J. Kilgard is a Senior Software Engineer at NVIDIA.

    Table of Contents

    Figures and Plates.

    Examples.

    Tables.

    Equations.

    Foreword.

    Preface.

    1. Introduction.

    What Is Cg?

    A Language for Programming Graphics Hardware.

    Cg's Data-Flow Model.

    GPU Specialization and CPU Generalization.

    The Performance Rationale for Cg.

    Coexistence with Conventional Languages.

    Other Aspects of Cg.

    The Limited Execution Environment of Cg Programs.

    Vertices, Fragments, and the Graphics Pipeline.

    The Evolution of Computer Graphics Hardware.

    Four Generations of Computer Graphics Hardware.

    The Graphics Hardware Pipeline.

    The Programmable Graphics Pipeline.

    Cg Provides Vertex and Fragment Programmability.

    Cg's Historical Development.

    Microsoft and NVIDIA's Collaboration to Develop Cg and HLSL.

    Noninteractive Shading Languages.

    Programming Interfaces for 3D Graphics.

    The Cg Environment.

    Standard 3D Programming Interfaces: OpenGL and Direct3D.

    The Cg Compiler and Runtime.

    The CgFX Toolkit and File Format.

    Exercises.

    Further Reading.

    2. The Simplest Programs.

    A Simple Vertex Program.

    Output Structures.

    Identifiers.

    Structure Members.

    Vectors.

    Matrices.

    Semantics.

    Functions.

    Input and Output Semantics Are Different.

    The Function Body.

    Compiling Your Example.

    Vertex Program Profiles.

    Classes of Cg Compilation Errors.

    Profile-Dependent Errors.

    The Norm: Multiple Entry Functions.

    Downloading and Configuring Vertex and Fragment Programs.

    A Simple Fragment Program.

    Fragment Program Profiles.

    Rendering with Your Vertex and Fragment Program Examples.

    Rendering a Triangle with OpenGL.

    Rendering a Triangle with Direct3D.

    Getting the Same Results.

    Exercises.

    Further Reading.

    3. Parameters, Textures, and Expressions.

    Parameters.

    Uniform Parameters.

    The const Type Qualifier.

    Varying Parameters.

    Texture Samplers.

    Sampler Objects.

    Sampling Textures.

    Sending Texture Coordinates While Sampling a Texture.

    Math Expressions.

    Operators.

    Profile-Dependent Numeric Data Types.

    Standard Library Built-In Functions.

    2D Twisting.

    Double Vision.

    Exercises.

    Further Reading.

    4. Transformations.

    Coordinate Systems.

    Object Space.

    Homogeneous Coordinates.

    World Space.

    The Modeling Transform.

    Eye Space.

    The View Transform.

    Clip Space.

    The Projection Transform.

    Normalized Device Coordinates.

    Window Coordinates.

    Applying the Theory

    Exercises.

    Further Reading.

    5. Lighting.

    Lighting and Lighting Models.

    Implementing the Basic Per-Vertex Lighting Model.

    The Basic Lighting Model.

    A Vertex Program for Basic Per-Vertex Lighting.

    The Fragment Program for Per-Vertex Lighting.

    Per-Vertex Lighting Results.

    Per-Fragment Lighting.

    Implementing Per-Fragment Lighting.

    The Vertex Program for Per-Fragment Lighting.

    The Fragment Program for Per-Fragment Lighting.

    Creating a Lighting Function.

    Declaring a Function.

    A Lighting Function

    Structures.

    Arrays.

    Flow Control.

    Computing the Diffuse and Specular Lighting.

    Extending the Basic Model.

    Distance Attenuation.

    Adding a Spotlight Effect.

    Directional Lights.

    Exercises.

    Further Reading.

    6. Animation.

    Movement in Time.

    A Pulsating Object.

    The Vertex Program.

    Displacement Calculation.

    Particle Systems.

    Initial Conditions.

    Vectorized Computations.

    The Particle System Parameters.

    The Vertex Program.

    Dressing Up Your Particle System.

    Key-Frame Interpolation.

    Key-Framing Background.

    Interpolation Approaches.

    Basic Key-Frame Interpolation.

    Key-Frame Interpolation with Lighting.

    Vertex Skinning.

    The Theory of Vertex Skinning.

    Vertex Skinning in a Vertex Program.

    Exercises.

    Further Reading.

    7. Environment Mapping Techniques.

    Environment Mapping.

    Cube Map Textures.

    Generating Cube Maps.

    The Environment Mapping Concept.

    Computing Reflection Vectors.

    Assumptions for Environment Mapping.

    Reflective Environment Mapping.

    Application-Specified Parameters.

    The Vertex Program.

    The Fragment Program.

    Control Maps.

    Vertex Program vs. Fragment Program.

    Refractive Environment Mapping.

    The Physics of Refraction.

    The Vertex Program.

    The Fragment Program.

    The Fresnel Effect and Chromatic Dispersion.

    The Fresnel Effect.

    Chromatic Dispersion.

    Application-Specified Parameters.

    The Vertex Program.

    The Fragment Program.

    Exercises.

    Further Reading.

    8. Bump Mapping.

    Bump Mapping a Brick Wall.

    The Brick Wall Normal Map.

    Storing Bump Maps As Normal Map Textures.

    Simple Bump Mapping for a Brick Wall.

    Specular Bump Mapping.

    Bump Mapping Other Geometry.

    Bump Mapping a Brick Floor.

    The Vertex Program for Rendering a Brick Floor.

    Bump Mapping a Torus.

    The Mathematics of the Torus.

    The Bump-Mapped Torus Vertex Program.

    Bump Mapping Textured Polygonal Meshes.

    Examining a Single Triangle.

    Caveats.

    Generalizing to a Polygonal Mesh.

    Combining Bump Mapping with Other Effects.

    Decal Maps.

    Gloss Maps.

    Geometric Self-Shadowing.

    Exercises.

    Further Reading.

    9. Advanced Topics.

    Fog.

    Uniform Fog.

    The Attributes of Fog.

    The Mathematics of Fog.

    Intuiting the Equations.

    Creating Uniform Fog with Cg.

    Nonphotorealistic Rendering.

    Toon Shading.

    Implementing Toon Shading.

    Putting It All Together.

    Problems with This Technique.

    Projective Texturing.

    How Projective Texturing Works.

    Implementing Projective Texturing.

    The Code for Projective Texturing.

    Shadow Mapping.

    Compositing.

    Mapping Input to Output Pixels.

    Basic Compositing Operations.

    Exercises.

    Further Reading.

    10. Profiles and Performance.

    Profile Descriptions.

    The Vertex Shader Profile for DirectX 8.

    The Basic NVIDIA Vertex Program Profile for OpenGL.

    The ARB Vertex Program Profile for OpenGL.

    The Vertex Shader Profiles for DirectX 9.

    The Advanced NVIDIA Vertex Program Profile for OpenGL.

    The Pixel Shader Profiles for DirectX 8.

    The Basic NVIDIA Fragment Program Profile for OpenGL.

    The DirectX 9 Pixel Shader Profiles.

    The ARB Fragment Program Profile for OpenGL.

    The Advanced NVIDIA Fragment Program Profile for OpenGL.

    Performance.

    Use the Cg Standard Library.

    Take Advantage of Uniform Parameters.

    Using Vertex Programs vs. Fragment Programs.

    Data Types and Their Impact on Performance.

    Take Advantage of Vectorization.

    Use Textures to Encode Functions.

    Use Swizzling and Negation Freely.

    Shade Only the Pixels That You Must.

    Shorter Assembly Is Not Necessarily Faster.

    Exercises.

    Further Reading.

    Appendix A. Getting Started with Cg.

    Getting This Book's Accompanying Software.

    Getting the Cg Toolkit.

    Appendix B. The Cg Runtime.

    What Is the Cg Runtime?

    Why Use the Cg Runtime?

    Future-Proofing.

    No Dependency Issues.

    Input Parameter Management.

    How Does the Cg Runtime Work?.

    Header Files.

    Creating a Context.

    Compiling a Program.

    Loading a Program.

    Modifying the Program Parameters.

    Executing a Program.

    Releasing Resources.

    Handling Errors.

    More Details.

    Appendix C. The CgFX File Format.

    What Is CgFX?

    Format Overview.

    Techniques.

    Passes.

    Render States.

    Variables and Semantics.

    Annotations.

    A Sample CgFX File.

    Cg Plug-Ins Supporting the CgFX Format.

    Learning More About CgFX.

    Appendix D. Cg Keywords.

    Cg Keyword List.

    Appendix E. Cg Standard Library Functions.

    Mathematical Functions.

    Geometric Functions.

    Texture Map Functions.

    Derivative Functions.

    Debugging Function.

    Index. 0321194969T02192003

    Product Details

    ISBN:
    9780321194961
    Author:
    Fernando, Randima
    Publisher:
    Addison-Wesley Professional
    Author:
    Kilgard, Mark J.
    Location:
    Boston, Mass.
    Subject:
    Computer Graphics - General
    Subject:
    Computer graphics
    Subject:
    Computer animation
    Subject:
    Digital Media - Video & Animation
    Subject:
    Graphics-General
    Copyright:
    Edition Description:
    Trade paper
    Series Volume:
    03-38
    Publication Date:
    February 2003
    Binding:
    TRADE PAPER
    Grade Level:
    Professional and scholarly
    Language:
    English
    Illustrations:
    Yes
    Pages:
    384
    Dimensions:
    24 cm. +

    Other books you might like

    1. Youth in Revolt: The Journals of...
      Used Trade Paper $7.50
    2. Sex Transmitted Diseases 2nd Ed:... New Hardcover $106.95
    3. The Developmental Psychopathology of... New Hardcover $85.50
    4. A History of Great Inventions Used Hardcover $13.95
    5. Tricks of the Trade (Theatre Arts) Used Trade Paper $16.95
    6. Mammal Community Dynamics:... New Trade Paper $146.50

    Related Subjects

    Computers and Internet » Graphics » Digital Media » Video and Animation
    Computers and Internet » Graphics » General
    Computers and Internet » Graphics » Programming
    Computers and Internet » Software Engineering » Programming and Languages

    The CG Tutorial: The Definitive Guide to Programmable Real-Time Graphics Used Trade Paper
    0 stars - 0 reviews
    $14.95 In Stock
    Product details 384 pages Addison-Wesley Professional - English 9780321194961 Reviews:
    "Synopsis" by , This text provides a guide to the Cg graphics language. The CD contains a program called 'cgtutor' which allows users to try out the various examples in the book.
    "Synopsis" by ,
    "Cg is the key to unlocking the power of a new generation of programmable graphics hardware. This book is the definitive introduction to Cg, and will be essential for anyone programming high-quality real-time graphics. The Cg Tutorial will teach you to use Cg to create effects never before available for real-time applications."

    --Larry Gritz, Author of Advanced RenderMan (Morgan Kaufmann, 2000)

    "An important and timely book: Pixel-level procedural textures--animated clouds, fire, water, the whole bag of procedural tricks--finally go from the movie screen to the desktop. Access to computation of this power through a C-like language will usher in an exciting new era for the graphics community."

    --Ken Perlin, Professor, New York University

    Cg (C for graphics) is a complete programming environment for the fast creation of special effects and real-time cinematic quality experiences on multiple platforms. By providing a new level of abstraction, Cg lets developers more directly target OpenGL®, DirectX®, Windows®, Linux, Mac OS X®, and console platforms, such as the Xbox™, without having to program directly to the graphics hardware assembly language. Cg was developed by NVIDIA® Corporation in close collaboration with Microsoft® Corporation, and is compatible with both the OpenGL API and Microsoft's HLSL for DirectX 9.0.

    The Cg Tutorial explains how to implement both basic and advanced techniques for today's programmable GPU architectures.

    Major topics covered include:

  • 3D transformations
  • Per-vertex and per-pixel lighting
  • Skinning and key-frame interpolation
  • Environment mapping
  • Bump mapping
  • Fog
  • Performance optimization
  • Projective texturing
  • Cartoon shading
  • Compositing
  • The accompanying CD-ROM includes the tools needed to run the sample programs in the book.

    0321194969B02192003

    "Synopsis" by , System requirements: Microsoft Windows XP with a GeForce4 Ti GPU, GeForce FX (recommended), or equivalently programmable GPU.
    Includes bibliographical references and index.
    spacer
    spacer
    • back to top

    FOLLOW US ON...

         
    Powell's City of Books is an independent bookstore in Portland, Oregon, that fills a whole city block with more than a million new, used, and out of print books. Shop those shelves — plus literally millions more books, DVDs, and gifts — here at Powells.com.