Minggu, 24 Januari 2016

^^ Download Ebook OpenGL(R) Shading Language, by Randi J. Rost

Download Ebook OpenGL(R) Shading Language, by Randi J. Rost

For everybody, if you wish to start joining with others to read a book, this OpenGL(R) Shading Language, By Randi J. Rost is much suggested. As well as you should obtain the book OpenGL(R) Shading Language, By Randi J. Rost right here, in the link download that we offer. Why should be below? If you desire various other type of publications, you will always locate them as well as OpenGL(R) Shading Language, By Randi J. Rost Economics, national politics, social, sciences, religious beliefs, Fictions, and a lot more books are provided. These available books remain in the soft files.

OpenGL(R) Shading Language, by Randi J. Rost

OpenGL(R) Shading Language, by Randi J. Rost



OpenGL(R) Shading Language, by Randi J. Rost

Download Ebook OpenGL(R) Shading Language, by Randi J. Rost

Suggestion in selecting the best book OpenGL(R) Shading Language, By Randi J. Rost to read this day can be obtained by reading this web page. You could locate the very best book OpenGL(R) Shading Language, By Randi J. Rost that is offered in this world. Not only had actually guides published from this nation, however additionally the various other countries. And currently, we expect you to review OpenGL(R) Shading Language, By Randi J. Rost as one of the reading materials. This is only one of the best publications to collect in this website. Look at the page and also search the books OpenGL(R) Shading Language, By Randi J. Rost You can locate great deals of titles of the books provided.

Reviewing, once more, will certainly offer you something new. Something that you do not know then exposed to be renowneded with the publication OpenGL(R) Shading Language, By Randi J. Rost notification. Some expertise or session that re got from reviewing publications is vast. More books OpenGL(R) Shading Language, By Randi J. Rost you review, more expertise you obtain, as well as much more possibilities to consistently like reviewing books. As a result of this reason, reading book must be begun with earlier. It is as what you can obtain from the publication OpenGL(R) Shading Language, By Randi J. Rost

Get the advantages of reading practice for your life style. Book OpenGL(R) Shading Language, By Randi J. Rost message will certainly always associate with the life. The genuine life, understanding, scientific research, wellness, religious beliefs, entertainment, and also much more could be located in created e-books. Many writers supply their encounter, science, research, as well as all things to show you. Among them is with this OpenGL(R) Shading Language, By Randi J. Rost This e-book OpenGL(R) Shading Language, By Randi J. Rost will certainly provide the needed of notification and statement of the life. Life will certainly be finished if you understand a lot more things via reading books.

From the description over, it is clear that you need to read this book OpenGL(R) Shading Language, By Randi J. Rost We supply the on-line e-book qualified OpenGL(R) Shading Language, By Randi J. Rost here by clicking the web link download. From shared book by on the internet, you can provide a lot more benefits for many individuals. Besides, the visitors will be also quickly to get the preferred publication OpenGL(R) Shading Language, By Randi J. Rost to review. Discover the most favourite and required e-book OpenGL(R) Shading Language, By Randi J. Rost to read now as well as right here.

OpenGL(R) Shading Language, by Randi J. Rost

Until recently, application developers have had no choice but to use the graphics hardware as built by hardware developers. The programming interfaces (APIs) simply exposed the underlying capabilities of the hardware. If the hardware didn't do something quite the way an application wanted it done, there was no alternative but to accept what the hardware could do. More recently, graphics hardware has become more flexible. Developers have been eager to exploit this flexibility. Within the last year or so, it's become clear that the right answer for OpenGL is to expose the new functionality in the form of a high-level programming language - the new OpenGL Shading Language, developed by 3Dlavis, Inc., is the answer. This book is the official guide to this new language. It is both a tutorial and a reference, and is filled with many practical examples that will help developers learn the language as well as create shaders to suit their own needs. The author is at the very center of this technology, serving on the OpenGL ARB and leading the team at 3Dlabs responsible for defining and implementing the next iteration of OpenGL. This is the one book all graphics developers will need in order to learn about this important new advance in graphics programming.

  • Sales Rank: #3370919 in Books
  • Published on: 2004-02-12
  • Original language: English
  • Number of items: 1
  • Dimensions: 9.26" h x 1.45" w x 6.96" l, 2.59 pounds
  • Binding: Paperback
  • 608 pages

From the Back Cover

Praise for OpenGL® Shading Language

“OpenGL® Shading Language provides a timely, thorough, and entertaining introduction to the only OpenGL ARB-approved high-level shading language in existence. Whether an expert or a novice, there are gems to be discovered throughout the book, and the reference pages will be your constant companion as you dig into the depths of the shading APIs. From algorithms to APIs, this book has you covered.”

     —Bob Kuehne
         CEO, Blue Newt Software

“Computer graphics and rendering technologies just took a giant leap forward with hardware vendors rapidly adopting the new OpenGL Shading Language. This book presents a detailed treatment of these exciting technologies in a way that is extremely helpful for visualization and game developers.”

     —Andy McGovern
         Founder, Virtual Geographics, Inc.

“The OpenGL Shading Language is at the epicenter of the programmable graphics revolution, and Randi Rost has been at the center of the development of this significant new industry standard. If you need the inside track on how to use the OpenGL Shading Language to unleash new visual effects, and unlock the supercomputer hiding inside the new generation of graphics hardware, then this is the book for you.”

     —Neil Trevett
         Senior Vice President Market Development, 3Dlabs

"The author has done an excellent job at setting the stage for shader development, what the purpose is, how to do it, and how it all fits together."
—Jeffery Galinovsky
Strategic Software Program Manager, Intel Corporation

The OpenGL® Shading Language, a high-level procedural shading language for OpenGL®, is the most important new development in graphics programming to emerge in years. OpenGL is the leading cross-platform 3D-graphics API, and the OpenGL Shading Language allows developers to take total control over the most important stages of the graphics-processing pipeline.

OpenGL® Shading Language is the experienced application programmer's guide to writing shaders. Part reference, part tutorial, this book thoroughly explains the shift from fixed-functionality graphics hardware to the new era of programmable graphics hardware and the additions to the OpenGL API that support this programmability. With OpenGL and shaders written in the OpenGL Shading Language, applications can perform better, achieving stunning graphics effects by utilizing the capabilities of both the visual processing unit and the central processing unit.

In this book, you will find a detailed introduction to the OpenGL Shading Language and the new OpenGL function calls that support it. The text begins by describing the syntax and semantics of this high-level programming language. Once this foundation has been established, the book explores the creation and manipulation of shaders using new OpenGL function calls.

OpenGL® Shading Language features extensive examples of shaders and their underlying algorithms, including

  • Procedural texturing
  • Noise
  • Particle systems
  • Hatching
  • Analytic antialiasing
  • Image processing

The color plate section illustrates the power and sophistication of the OpenGL Shading Language. The API Function Reference at the end of the book is an excellent quick reference to the API entry points that support the OpenGL Shading Language. An enhanced online index allows readers to quickly and easily search the entire text for specific topics.



About the Author

Randi Rost is an ISV Manager in the Software and Solutions Group at Intel. Randy serves on the OpenGL ARB, led the 3Dlabs team responsible for defining and implementing OpenGL 2.0, and is one of the first programmers to design and implement shaders using the OpenGL Shading Language.



Excerpt. © Reprinted by permission. All rights reserved.

For just about as long as there has been graphics hardware, there has been programmable graphics hardware. Over the years, building flexibility into graphics hardware designs has been a necessary way of life for hardware developers. Graphics APIs continue to evolve, and because a hardware design can take two years or more from start to finish, the only way to guarantee a hardware product that can support the then-current graphics APIs at its release is to build in some degree of programmability from the very beginning.

Until recently, the realm of programming graphics hardware belonged to just a few people, mainly researchers and graphics hardware driver developers. Research into programmable graphics hardware has been taking place for many years, but the point of this research has not been to produce viable hardware and software for application developers and end users. The graphics hardware driver developers have focused on the immediate task of providing support for the important graphics APIs of the time: PHIGS, PEX, Iris GL, OpenGL, Direct3D, and so on. Until recently, none of these APIs exposed the programmability of the underlying hardware, so application developers have been forced into using the fixed functionality provided by traditional graphics APIs.

Hardware companies have not exposed the programmable underpinnings of their products because there is a high cost of educating and supporting customers to use low-level, device-specific interfaces and because these interfaces typically change quite radically with each new generation of graphics hardware. Application developers who use such a device-specific interface to a piece of graphics hardware face the daunting task of updating their software for each new generation of hardware that comes along. And forget about supporting the application on hardware from multiple vendors!

As we move into the 21 century, some of these fundamental tenets about graphics hardware are being challenged. Application developers are pushing the envelope as never before and demanding a variety of new features in hardware in order to create more and more sophisticated onscreen effects. As a result, new graphics hardware designs are more programmable than ever before. Standard graphics APIs have been challenged to keep up with the pace of hardware innovation. For OpenGL, the result has been a spate of extensions to the core API as hardware vendors struggle to support a range of interesting new features that their customers are demanding.

So we are standing today at a crossroads for the graphics industry. A paradigm shift is occurring, one that is taking us from the world of rigid, fixed functionality graphics hardware and graphics APIs to a brave new world where the visual processing unit, or VPU (i.e., graphics hardware), is as important as the central processing unit, or CPU. The VPU will be optimized for processing dynamic media such as 3D graphics and video. Highly parallel processing of floating point data will be the primary task for VPUs, and the flexibility of the VPU will mean that it can also be used to process data other than a stream of traditional graphics commands. Applications can take advantage of the capabilities of both the CPU and the VPU, utilizing the strengths of each to perform the task at hand optimally.

This book describes how graphics hardware programmability is exposed through a high-level language in the leading cross-platform 3D graphics API: OpenGL. This language, the OpenGL Shading Language, allows applications to take total control over the most important stages of the graphics processing pipeline. No longer restricted to the graphics rendering algorithms and formulas chosen by hardware designers and frozen in silicon, software developers are beginning to use this programmability to create stunning effects in real-time.

Intended Audience

The primary audience for this book is application programmers that are interested in writing shaders. This book is intended to be used as both a tutorial and a reference book by people interested in learning to write shaders with the OpenGL Shading Language. Some will use the book in one fashion and some in the other. It is hoped that the organization will be amenable to both uses. It is not expected that most people will read the book in sequential order from back to front.

Readers do not need previous knowledge of OpenGL in order to absorb the material in this book, but it is very helpful. A brief review of OpenGL is included, but this book does not attempt to be a tutorial or reference book for OpenGL. Anyone attempting to develop an OpenGL application that uses shaders should be armed with OpenGL programming documentation in addition to this book.

Computer graphics has a mathematical basis, therefore some knowledge of algebra and trigonometry will help readers understand and appreciate some of the details presented. With the advent of programmable graphics hardware, key parts of the graphics processing pipeline are once again under the control of software developers. In order to develop shaders successfully in this environment, it is imperative that developers understand the mathematical basis of computer graphics.

About This BookThis book has three main parts. Chapters 1 through 8 are aimed at teaching the reader about the OpenGL Shading Language and how to use it. This part of the book covers details of the language and details of the OpenGL commands that are used to create and manipulate shaders. In order to provide the reader with a basis for writing shaders, Chapters 9 through 16 contain a gallery of shader examples and some explanation of the underlying algorithms. This part of the book is intended to be used as a basis for the reader's shader development and as a springboard to inspire new ideas. Finally, Chapter 17 contains a comparison with other notable commercial shading languages, and Appendices A and B contain reference material for the language and the API entry points that support it.

The chapters are arranged to suit the needs of the reader who is least familiar with OpenGL and shading languages. Certain chapters can be skipped by readers who are more familiar with both topics. People don't necessarily read technical books from front to back, and this book is designed to have somewhat compartmentalized chapters in order to allow such usage.

  • Chapter 1 contains a review of the fundamentals of the OpenGL API. Readers already familiar with OpenGL may skip to Chapter 2.
  • Chapter 2 provides an introduction to the OpenGL Shading Language and the OpenGL entry points that have been added to support it. If you want to know what the OpenGL Shading Language is all about and you have time to read only one chapter of this book, this is the one to read.
  • Chapter 3 thoroughly describes the OpenGL Shading Language. This material is organized to present the details of a programming language. This section will be useful as a reference section after readers have developed a general understanding of the language.
  • Chapter 4 discusses how the newly defined programmable parts of the rendering pipeline interact with each other and with OpenGL's fixed functionality. This discussion includes descriptions of the built-in variables defined in the OpenGL Shading Language.
  • Chapter 5 describes the built-in functions that are part of the OpenGL Shading Language. This section will also be useful as a reference section after readers have developed an understanding of the language.
  • Chapter 6 presents and discusses a fairly simple shader example. People who learn best by diving in and studying a real example will benefit from the discussion in this chapter.
  • Chapter 7 describes the entry points that have been added to OpenGL to support the creation and manipulation of shaders. This material will need to be understood by application programmers who want to use shaders in their application.
  • Chapter 8 presents some general advice on shader development and describes the shader development process. It also describes tools that are currently available to aid the shader development process.
  • Chapter 9 begins a series of chapters that present and discuss shaders with a common characteristic. In this chapter, shaders that duplicate some of the fixed functionality of the OpenGL pipeline are presented.
  • Chapter 10 presents a few shaders that are based on the capability to store data in and retrieve data from texture maps.
  • Chapter 11 is devoted to shaders that are procedural in nature (effects are computed algorithmically rather than being based on information stored in textures).
  • Chapter 12 describes noise and the effects that can be achieved by using it properly.
  • Chapter 13 contains examples of how shaders can be used to create rendering effects that vary over time.
  • Chapter 14 contains a discussion of the aliasing problem and how shaders can be written to reduce the effects of aliasing.
  • Chapter 15 illustrates shaders that are used to achieve effects other than photorealism. Such effects include technical illustration, sketching or hatching effects, and other stylized rendering.
  • Chapter 16 presents several shaders that are used to modify images as they are being drawn with OpenGL.
  • Chapter 17 compares the OpenGL Shading Language with other notable commercial shading languages.
  • Appendix A contains the language grammar that more clearly specifies the OpenGL Shading Language.
  • Appendix B contains reference pages for the API entry points that are related to the OpenGL Shading Language.
About the Shader Examples

The shaders contained in this book are primarily short programs designed to illustrate the capabilities of the OpenGL Shading Language. None of the example shaders should be presumed to illustrate the "best" way of achieving a particular effect. (Indeed, the "best" way to implement certain effects may have yet to be discovered through the power and flexibility of programmable graphics hardware.) Perform...

Most helpful customer reviews

71 of 74 people found the following review helpful.
The Future of OpenGL Programming
By Paul Martz
In the 1970s, vector-based graphics gave way to raster graphics, and several raster algorithms demonstrated the new technology's ability to produce breathtaking images. Unfortunately, accelerating these algorithms in hardware proved difficult and costly.
Recently, programmable graphics hardware capable of rendering such algorithms in realtime has become inexpensive and widely available. The result-a small handful of proprietary shading languages created and proposed as standards for this new industry.
OpenGL Shading Language by Randi Rost (Addison-Wesley, 458 pages) describes the OpenGL Shading Language, the first shading language designed as a cross-platform open standard by a group of graphics hardware and software vendors.
The author is a veteran of the computer graphics industry. Rost started programming graphics on an Apple II in the late 1970s. He was working on programmable graphics hardware as early as 1983, when programmable graphics hardware meant little more than a framebuffer with a microcode interface.
Graphics hardware has advanced dramatically since then and continues to advance rapidly today. Most modern 3D hardware supports some type of programmable interface, and should support the Architectural Review Board (ARB)-approved OpenGL Shading Language in the near future. "We think the hardware designs are moving quite rapidly," said Rost. "It should only be a generation or two before all OpenGL hardware vendors fully support the OpenGL Shading Language."
The first chapter is a whirlwind overview of OpenGL. You might be tempted to skip this chapter. But before you do, consider that the author is one of only a few who have contributed to every major revision of OpenGL-who better to learn from? If you're a beginner or intermediate OpenGL programmer, you'll certainly learn something in this brief review.
Chapters 2 through 7 introduce the reader to the OpenGL Shading Language, covering topics such as language semantics, built-in functions, and OpenGL entry points for specifying shaders.
Chapter 8 discusses shader development and performance issues. As you might expect from a book on a shading language, much of the performance discussion concerns shaving cycles from vertex- and pixel-shaders. The information is practical and not obvious even to intermediate programmers, such as using min() or max() instead of clamp() when you know the variable will only exceed one end of a range. However, I found little discussion on how a developer might determine which stage of the rendering pipeline is the performance bottleneck. Since this subject is considered black magic by many young and enthusiastic graphics developers, Rost could have added value to his book with a short section on this subject.
In programming, a few lines of code are worth a thousand words. Rost demonstrates this principle in chapter 9 where he provides shader listings for implementing core OpenGL functionality. The OpenGL Specification is the ultimate definition of OpenGL internal functionality, but the spec is mostly text and formulas, with only a few code listings. A programmer can quickly learn what OpenGL is doing under the hood by reading through the listings in chapter 9. These well-written, concise, and efficient examples of shader code are both illuminating and instructive.
Chapters 10 through 16 provide the computer graphics developer with real-time working OpenGL Shading Language source code for implementing several major computer graphics algorithms and techniques from the past 25 years. Topic areas include lighting, Phong shading, texture mapping, bump mapping, multi-texturing, procedural texture mapping, lattice shaders, noise, turbulence, shadows, animation, particle systems, antialiasing, hatching and other non-photorealistic techniques, vertex and image blending, image convolution, and many more.
These examples demonstrate the range of OpenGL Shading Language applications, and give developers a basis for writing new shaders. Rost's explanations of the algorithms are easy to read and comprehend, and demonstrate the depth and breadth of knowledge he has accumulated during his 25-year career in graphics.
"Designing and implementing programmable graphics hardware and a compiler for the OpenGL Shading Language required a lot of hard work by everyone involved," said Rost. "But with those pieces in place, it turned out to be remarkably easy to write shaders for a variety of interesting shading tasks. When we got these shaders working for the first time, it was a jaw-dropping experience."
Conspicuously missing is any mention of global illumination algorithms such as ray tracing and radiosity. Such scene-based algorithms present obvious challenges to vertex- and pixel-based shading languages. Rost confessed they have a rough ray-tracing demo that was not ready for publication when this book went to press. He expressed optimism about the OpenGL Shading Language's ability to accelerate programs of this type. "In future revisions of hardware, we'll be able to implement more interesting algorithms [than currently appear in this book]."
While reading OpenGL Shading Language, I often found myself noting similarities and differences between the OpenGL Shading Language and interfaces to other programmable graphics hardware I've used. The book's final chapter covers this topic by comparing and contrasting the OpenGL Shading Language to current commercial shading languages, such as RenderMan, ISL, HLSL, and Cg.
Two appendices serve as useful reference material. Appendix A covers OpenGL Shading Language grammar, and Appendix B documents OpenGL entry points for creating and managing shaders. The book also contains an index, a glossary, an extensive bibliography, and several diagrams and color images.
In general, the computer industry often provides two solutions, one proprietary and the other an open standard. As the only open standard shading language available that is designed for modern graphics hardware, the OpenGL Shading Language is certain to be around for several years to come. OpenGL Shading Language stands on its own as both a programming guide and reference manual for this significant new industry standard.
However, this book goes further by providing real-time examples of classic computer graphics techniques. OpenGL Shading Language is a must-have algorithm book that should be on every computer graphics developer's bookshelf.

10 of 12 people found the following review helpful.
Fine resource
By Jack D. Herrington
This book is excellent. It's easy to read, has solid examples in code and uses graphics sparingly (for a book on graphics) and effectively. Especially when it comes to graphics that explain the technology. For example, the graphics pipeline in chapter two is really handy.
The first two chapters stand out as a nice introduction to the topic and to the shading language in particular. After that the book is an on-and-off introduction and reference that will bring you up to speed today and act as a reference later on.
If I have one complaint it's that the reference materials, particularly in Appendix B could have been formatted and cross referenced a little better. As it stands they feel more like slightly reformatted UNIX man pages.
For those that need this book, and you know who you are, this an invaluable reference, and it's well written to boot.

9 of 11 people found the following review helpful.
Excellent book about realtime shader development
By F. Schamel
For beginners, the books gives an very good introduction into the OpenGL shading language. It starts with giving an overview over the previous OpenGL rendering architecture, smoothly motivating and introducing the shading language. Then, chapter by chapter it goes more and more into depth, containing interesting stuff for experts. This includes topics like advanced procedural texturing including antialiasing, NPR rendering and imaging techniques.

The language and structure of the book is clear, easy to follow and precise (especially compared to the Direct3D SDK documentation). Very useful is the appendix containing a shading language and API reference. Whoever works on realtime computer graphics should have this book in his shelf.

One minor warning for beginners: The book assumes that you are familar with OpenGL itself. The book does not replace an introduction into OpenGL.

See all 6 customer reviews...

OpenGL(R) Shading Language, by Randi J. Rost PDF
OpenGL(R) Shading Language, by Randi J. Rost EPub
OpenGL(R) Shading Language, by Randi J. Rost Doc
OpenGL(R) Shading Language, by Randi J. Rost iBooks
OpenGL(R) Shading Language, by Randi J. Rost rtf
OpenGL(R) Shading Language, by Randi J. Rost Mobipocket
OpenGL(R) Shading Language, by Randi J. Rost Kindle

^^ Download Ebook OpenGL(R) Shading Language, by Randi J. Rost Doc

^^ Download Ebook OpenGL(R) Shading Language, by Randi J. Rost Doc

^^ Download Ebook OpenGL(R) Shading Language, by Randi J. Rost Doc
^^ Download Ebook OpenGL(R) Shading Language, by Randi J. Rost Doc

Tidak ada komentar:

Posting Komentar