Free Ebook The CG Tutorial: The Definitive Guide to Programmable Real-Time Graphics, by Randima Fernando, Mark J. Kilgard
Those are some of the advantages to take when obtaining this The CG Tutorial: The Definitive Guide To Programmable Real-Time Graphics, By Randima Fernando, Mark J. Kilgard by on the internet. Yet, just how is the way to obtain the soft data? It's very right for you to visit this web page because you could get the link page to download the e-book The CG Tutorial: The Definitive Guide To Programmable Real-Time Graphics, By Randima Fernando, Mark J. Kilgard Merely click the web link supplied in this post and also goes downloading. It will certainly not take significantly time to obtain this e-book The CG Tutorial: The Definitive Guide To Programmable Real-Time Graphics, By Randima Fernando, Mark J. Kilgard, like when you need to go with publication store.
The CG Tutorial: The Definitive Guide to Programmable Real-Time Graphics, by Randima Fernando, Mark J. Kilgard
Free Ebook The CG Tutorial: The Definitive Guide to Programmable Real-Time Graphics, by Randima Fernando, Mark J. Kilgard
The CG Tutorial: The Definitive Guide To Programmable Real-Time Graphics, By Randima Fernando, Mark J. Kilgard. Offer us 5 mins as well as we will show you the very best book to check out today. This is it, the The CG Tutorial: The Definitive Guide To Programmable Real-Time Graphics, By Randima Fernando, Mark J. Kilgard that will be your ideal choice for much better reading book. Your five times will not spend squandered by reading this web site. You can take the book as a source to make much better concept. Referring guides The CG Tutorial: The Definitive Guide To Programmable Real-Time Graphics, By Randima Fernando, Mark J. Kilgard that can be positioned with your needs is at some point tough. But here, this is so easy. You could locate the best thing of book The CG Tutorial: The Definitive Guide To Programmable Real-Time Graphics, By Randima Fernando, Mark J. Kilgard that you can read.
How can? Do you think that you do not require adequate time to opt for shopping book The CG Tutorial: The Definitive Guide To Programmable Real-Time Graphics, By Randima Fernando, Mark J. Kilgard Never ever mind! Simply rest on your seat. Open your kitchen appliance or computer and be online. You can open up or go to the link download that we gave to obtain this The CG Tutorial: The Definitive Guide To Programmable Real-Time Graphics, By Randima Fernando, Mark J. Kilgard By by doing this, you can get the online e-book The CG Tutorial: The Definitive Guide To Programmable Real-Time Graphics, By Randima Fernando, Mark J. Kilgard Checking out guide The CG Tutorial: The Definitive Guide To Programmable Real-Time Graphics, By Randima Fernando, Mark J. Kilgard by online could be truly done easily by waiting in your computer system as well as gadget. So, you could continue every single time you have leisure time.
Checking out the e-book The CG Tutorial: The Definitive Guide To Programmable Real-Time Graphics, By Randima Fernando, Mark J. Kilgard by on-line could be also done effortlessly every where you are. It seems that waiting the bus on the shelter, hesitating the list for line up, or various other places possible. This The CG Tutorial: The Definitive Guide To Programmable Real-Time Graphics, By Randima Fernando, Mark J. Kilgard can accompany you during that time. It will not make you feel weary. Besides, by doing this will certainly also improve your life high quality.
So, merely be right here, discover guide The CG Tutorial: The Definitive Guide To Programmable Real-Time Graphics, By Randima Fernando, Mark J. Kilgard now and read that swiftly. Be the very first to read this book The CG Tutorial: The Definitive Guide To Programmable Real-Time Graphics, By Randima Fernando, Mark J. Kilgard by downloading and install in the link. We have some various other books to check out in this web site. So, you could locate them also effortlessly. Well, now we have actually done to offer you the best e-book to review today, this The CG Tutorial: The Definitive Guide To Programmable Real-Time Graphics, By Randima Fernando, Mark J. Kilgard is actually suitable for you. Never ever dismiss that you need this book The CG Tutorial: The Definitive Guide To Programmable Real-Time Graphics, By Randima Fernando, Mark J. Kilgard to make far better life. Online book The CG Tutorial: The Definitive Guide To Programmable Real-Time Graphics, By Randima Fernando, Mark J. Kilgard will actually provide simple of every little thing to review and also take the benefits.
- Sales Rank: #1168350 in Books
- Published on: 2003-03-08
- Original language: English
- Number of items: 1
- Dimensions: 9.18" h x 1.00" w x 7.34" l, 1.83 pounds
- Binding: Paperback
- 384 pages
From the Back Cover
"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:
The accompanying CD-ROM includes the tools needed to run the sample programs in the book.
0321194969B02192003
About the Author
Randima (Randy) Fernando is Manager of Developer Education at NVIDIA.
Mark J. Kilgard is a Senior Software Engineer at NVIDIA. Excerpt. © Reprinted by permission. All rights reserved.
Once upon a time, real-time computer graphics was all about vertices, triangles, and pixels. In fact, it still is. However, the level at which a programmer controls the processing and appearance of these graphics primitives has advanced considerably. Until a few years ago, programmers had to rely on the CPU to process all the transformation and rasterization algorithms needed to produce computer-generated images. Over time, hardware engineers executed these algorithms via specialized, high-performance 3D graphics hardware. Rather than implement the algorithms directly, programmers learned to access the hardware-provided graphics functionality through standard 3D programming interfaces, such as OpenGL (developed by Silicon Graphics SGI) and Direct3D (developed by Microsoft). At first, such costly 3D graphics hardware appeared only in high-priced UNIX workstations and flight simulators. Now, through the miracle of Moore’s Law, the benefits of graphics hardware acceleration have been bestowed on low-cost PCs and game consoles.
Although the performance gained by employing dedicated graphics hardware to execute the brute-force tasks of transforming vertices, rasterizing triangles, and updating pixels far exceeded the performance possible just with CPU programming, real-time 3D programmers gave up a considerable measure of control in exchange for this speed. Developers were limited to using a fixed-function palette of graphics operations that the hardware could handle. Sometimes a skilled and dedicated programmer could coax the graphics programming interface and hardware to accomplish something beyond the ordinary, but this was usually hard, time-consuming work.
While graphics hardware engineers were advancing the real-time performance of their specialized pixel-pushing hardware, off-line computer graphics software packages such as Pixar’s PhotoRealistic RenderMan were changing the look of movies and television with amazing computer-generated special effects. The pre-recorded nature of movies and most television content makes these media well suited for offline rendering. Computer-generated images for film and video are not rendered in real time but instead carefully constructed frame by frame in hours, days, or weeks using standard general-purpose CPUs. The advantage of using general-purpose CPUs is that rather than settle for hard-wired hardware algorithms, programmers and artists can use the CPU to create any effect they might imagine. What these so-called offline rendering systems lack in relative speed, they make up in rendering quality and realism.
The flexibility and generality of offline rendering systems are the key features that have been missing from preceding generations of 3D graphics hardware. In other words, what was lost was programmability.
Realizing this limitation, computer graphics architects have designed a new generation of graphics hardware that permits an unprecedented degree of programmability. Now, many of the programmable shading techniques that are employed so successfully in offline rendering can enter the realm of real-time graphics.
Developers of offline rendering systems created a type of specialized computer language known as a shading language to express the graphics operations required to make surfaces look the way artists intend. A shading language for programmable graphics hardware provides the same sort of functionality but in the context of real-time graphics hardware. Graphics programmers and artists benefit from such a high-level programming language in much the same way that conventional programmers do from C++ or Java. Using a high-level language for graphics hardware automates the process of translating the programmer’s intent into a form that the graphics hardware can execute.
This book is about Cg, the premier language for programmable graphics hardware. NVIDIA developed Cg in close collaboration with Microsoft. Cg is the most portable and productive way for you to unleash the power within programmable graphics hardware. This book is a tutorial to teach you how to write Cg programs.
Our Intended AudienceWe tried to write this book in a way that makes it valuable to both novices and advanced readers. If you’re new to the world of programmable graphics, this book should give you a firm foundation on which to build. If you encounter a word or concept that is foreign to you and not sufficiently explained, consult the “Further Reading” section at the end of each chapter.
The main audience for this book is 3D game and application programmers, managers of such projects, real-time 3D artists, and computer graphics students—or anyone else interested in learning about the state of the art in real-time rendering. You do not have to be an experienced programmer to learn Cg from this book, though you should be relatively familiar with programming language concepts. If you are familiar with C or one of its derivatives, such as C++ or Java, Cg will be very approachable. Cg programs are relatively short, often less than a page, so even an artist or novice programmer can get the gist of Cg from this tutorial and learn to write interesting Cg programs.
Computer graphics programming involves math. Understanding basic algebra and trigonometry will help you appreciate several sections. You should also be familiar with the math behind basic computer graphics vertex transformation and lighting models. You do not need to know OpenGL or Direct3D, but familiarity with either programming interface is very helpful. All of the Cg examples described work with either OpenGL or Direct3D unless otherwise noted. Some examples that require advanced Cg functionality may not work on older graphics processors.
The Book’s StructureChapter 1 introduces Cg. Each chapter that follows is a short tutorial that presents specific Cg concepts and techniques. The tutorials build upon each other, so we recommend reading the chapters in order.- Chapter 1 lays out the foundations of Cg and real-time programmable graphics hardware.
- Chapter 2 presents the simplest Cg programs.
- Chapter 3 explains parameters, textures, and expressions.
- Chapter 4 shows how to transform vertices.
- Chapter 5 covers the implementation of lighting models with Cg.
- Chapter 6 describes how to animate and morph models with Cg vertex programs.
- Chapter 7 explains environment mapping with Cg.
- Chapter 8 shows how to implement bump mapping.
- Chapter 9 discusses a number of advanced topics: fog, cartoon shading, projected spotlights, shadow mapping, and compositing.
- Chapter 10 explains the set of currently available Cg vertex and fragment profiles, and provides advice for improving the performance of Cg programs.
This book gets you started but does not contain everything you will eventually want to know about Cg. This tutorial complements other documentation (such as the Cg Toolkit User’s Manual: A Developer’s Guide to Programmable Graphics) included with the Cg Toolkit. Please consult the user’s manual and other Cg documentation for further information.
Trying the ExamplesWe’ve designed the accompanying software framework so that you can get straight to work, even if you don’t know anything about OpenGL, Direct3D, C, or C++. Our goal is to isolate the Cg language and allow you to experiment freely with it. Of course, as you move toward starting a real-world application with Cg, your project will probably require some combination of OpenGL, Direct3D, C, and C++.
The accompanying software framework allows you to try out the various Cg examples in the book without worrying about graphics APIs, C, or C++ code. The latest versions of the applications are free to download via the book’s companion Web site. The software on the accompanying CD works only on the Windows platform, but versions for Linux and Macintosh systems are available online. Appendix A explains how to download the latest versions of Cg and the accompanying tutorial application.
The tutorial application makes it easy for you to tweak the book’s examples, to see how changing a particular Cg example can immediately affect the rendered 3D result. If you can, have a computer that supports Cg nearby to try out the examples. With our software, you just write Cg programs without worrying about the particulars, such as loading 3D models and textures. When you want to know all the gory details, examine the source code, all of which is freely available for download, so you can see how Cg interfaces with C++ and OpenGL or Direct3D. The Cg Toolkit also comes with several simple examples that you can learn from.The end of each chapter includes suggested exercises that you can work on to explore Cg further.
0321194969P02192003
Most helpful customer reviews
0 of 0 people found the following review helpful.
Useful for Developers.
By Stephanus
Should you want to know about Cg, this is the text to get. It is free on the nVidia Developer web site, but this text makes for an easier digest content.
However...
The text itself is somewhat cheaply produced, and the ink is light, making reading difficult except under very good lighting conditions. The content itself is quite well done.
0 of 0 people found the following review helpful.
excellent guide to using cg
By Steven Whitley
As the owner of a game company, books like this are a valuable asset in getting our developers who aren't familiar with CG up to speed on the subject.
This book is highly recommended by our development staff, and our developers went out an purchased their own personal copies of the book even though we have it in our office library.
10 of 10 people found the following review helpful.
Good intro to shaders
By Dave & Amy Astle
This is a well written book covering the Cg shading language. It contains a lot of useful information about Cg and graphics programming techniques in general. Unfortunately, I felt like it didn't cover as much of Cg as I would have liked, making the book less useful than it could have been.
The book starts with a history of shaders and programmable hardware, an overview of Cg, and a summary of related technologies, such as HLSL and CgFX. It then spends some time covering the syntax and semantics of Cg, and then moves on to the core material of the book, in which the authors explain key graphics pipeline functionality and how it can be implemented using Cg. The book concludes with several appendices covering the Cg runtime, CgFX file format, and Cg standard library, as well as other reference material.
The topics covered include transformations, animation, lighting, environment mapping, bump mapping, fog, shadow mapping, toon shading, and projective texturing. The explanations are all clear and understandable, in particular the chapter on bump mapping, which is one of the easiest introductions to the topic I've encountered. Features of Cg are introduced as needed while explaining these topics, rather than introducing them all at once, which is very conducive to learning. In addition, the authors include warnings and workarounds for techniques which may not be supported on older hardware, as well as advice on attaining optimal performance.
I have two primary complaints about the book. The first is that they never really discuss the application code using the shaders, which made it a bit difficult to understand how they fit in at times. The second is that the book isn't nearly as complete a reference as you might expect. For a great deal of the functions and functionality in Cg, they simply refer you to the Cg reference manual. Although this electronic document is freely available, it's fairly brief at times, so a more detailed explanation in the book would have been appreciated. Similarly, I would have liked to have seen more detailed explanation of CgFX, as well as examples of using it.
Overall, though, this book does a very good job of introducing the reader to Cg and to shaders in general. If you're new to these topics, I'd recommend it. Even if you're a DirectX programmer intending to use HLSL, you'll find this book useful since the languages are identical (though the usage is of course different). If you're already an experienced graphics programmer with some knowledge of shaders, then you'll likely be able to find everything you need in the freely available documentation instead.
The CG Tutorial: The Definitive Guide to Programmable Real-Time Graphics, by Randima Fernando, Mark J. Kilgard PDF
The CG Tutorial: The Definitive Guide to Programmable Real-Time Graphics, by Randima Fernando, Mark J. Kilgard EPub
The CG Tutorial: The Definitive Guide to Programmable Real-Time Graphics, by Randima Fernando, Mark J. Kilgard Doc
The CG Tutorial: The Definitive Guide to Programmable Real-Time Graphics, by Randima Fernando, Mark J. Kilgard iBooks
The CG Tutorial: The Definitive Guide to Programmable Real-Time Graphics, by Randima Fernando, Mark J. Kilgard rtf
The CG Tutorial: The Definitive Guide to Programmable Real-Time Graphics, by Randima Fernando, Mark J. Kilgard Mobipocket
The CG Tutorial: The Definitive Guide to Programmable Real-Time Graphics, by Randima Fernando, Mark J. Kilgard Kindle