MARC details
| 000 -LEADER |
| fixed length control field |
12375nam a2200325 a 4500 |
| 001 - CONTROL NUMBER |
| control field |
vtls000085516 |
| 003 - CONTROL NUMBER IDENTIFIER |
| control field |
KUKTEM |
| 005 - DATE AND TIME OF LATEST TRANSACTION |
| control field |
20251125100108.0 |
| 008 - FIXED-LENGTH DATA ELEMENTS--GENERAL INFORMATION |
| fixed length control field |
150407t2013 njua f 001 0 eng d |
| 020 ## - INTERNATIONAL STANDARD BOOK NUMBER |
| International Standard Book Number |
9780321773036 (pbk. : alk. paper) |
| 020 ## - INTERNATIONAL STANDARD BOOK NUMBER |
| International Standard Book Number |
0321773039 (pbk. : alk. paper) |
| 039 #9 - LEVEL OF BIBLIOGRAPHIC CONTROL AND CODING DETAIL [OBSOLETE] |
| Level of rules in bibliographic description |
201504071304 |
| Level of effort used to assign nonsubject heading access points |
ariffin |
| Level of effort used to assign subject headings |
201504071304 |
| Level of effort used to assign classification |
ariffin |
| -- |
201504071303 |
| -- |
ariffin |
| 040 ## - CATALOGING SOURCE |
| Original cataloging agency |
UMP |
| 090 ## - LOCALLY ASSIGNED LC-TYPE CALL NUMBER (OCLC); LOCAL CALL NUMBER (RLIN) |
| Classification number (OCLC) (R) ; Classification number, CALL (RLIN) (NR) |
T385 .O64 2013 |
| 245 00 - TITLE STATEMENT |
| Title |
OpenGL programming guide : |
| Remainder of title |
the official guide to learning OpenGL, version 4.3 / |
| Statement of responsibility, etc. |
Dave Shreiner...[et al.] |
| 250 ## - EDITION STATEMENT |
| Edition statement |
8th ed. |
| 260 ## - PUBLICATION, DISTRIBUTION, ETC. |
| Place of publication, distribution, etc. |
Upper Saddle River, NJ : |
| Name of publisher, distributor, etc. |
Addison-Wesley, |
| Date of publication, distribution, etc. |
[2013] |
| 300 ## - PHYSICAL DESCRIPTION |
| Extent |
xlvi, 935 p. : |
| Other physical details |
ill. ; |
| Dimensions |
24 cm. |
| 490 1# - SERIES STATEMENT |
| Series statement |
OpenGL Series |
| 500 ## - GENERAL NOTE |
| General note |
Includes index |
| 504 ## - BIBLIOGRAPHY, ETC. NOTE |
| Bibliography, etc. note |
Includes bibliographical references and index |
| 505 0# - FORMATTED CONTENTS NOTE |
| Formatted contents note |
Machine generated contents note: 1.Introduction to OpenGL -- What Is OpenGL? -- Your First Look at an OpenGL Program -- OpenGL Syntax -- OpenGL's Rendering Pipeline -- Preparing to Send Data to OpenGL -- Sending Data to OpenGL -- Vertex Shading -- Tessellation Shading -- Geometry Shading -- Primitive Assembly -- Clipping -- Rasterization -- Fragment Shading -- Per-Fragment Operations -- Our First Program: A Detailed Discussion -- Entering main() -- OpenGL Initialization -- Our First OpenGL Rendering -- 2.Shader Fundamentals -- Shaders and OpenGL -- OpenGL's Programmable Pipeline -- An Overview of the OpenGL Shading Language -- Creating Shaders with GLSL -- Storage Qualifiers -- Statements -- Computational Invariance -- Shader Preprocessor -- Compiler Control -- Global Shader-Compilation Option -- Interface Blocks -- Uniform Blocks -- Specifying Uniform Blocks in Shaders -- Accessing Uniform Blocks from Your Application -- Buffer Blocks -- In/Out Blocks -- Compiling Shaders -- Our LoadShaders() Function -- Shader Subroutines -- GLSL Subroutine Setup -- Selecting Shader Subroutines -- Separate Shader Objects -- 3.Drawing with OpenGL -- OpenGL Graphics Primitives -- Points -- Lines, Strips, and Loops -- Triangles, Strips, and Fans -- Data in OpenGL Buffers -- Creating and Allocating Buffers -- Getting Data into and out of Buffers -- Accessing the Content of Buffers -- Discarding Buffer Data -- Vertex Specification -- VertexAttribPointer in Depth -- Static Vertex-Attribute Specification -- OpenGL Drawing Commands -- Restarting Primitives -- Instanced Rendering -- Instanced Vertex Attributes -- Using the Instance Counter in Shaders -- Instancing Redux -- 4.Color, Pixels, and Framebuffers -- Basic Color Theory -- Buffers and Their Uses -- Clearing Buffers -- Masking Buffers -- Color and OpenGL -- Color Representation and OpenGL -- Vertex Colors -- Rasterization -- Multisampling -- Sample Shading -- Testing and Operating on Fragments -- Scissor Test -- Multisample Fragment Operations -- Stencil Test -- Stencil Examples -- Depth Test -- Blending -- Blending Factors -- Controlling Blending Factors -- The Blending Equation -- Dithering -- Logical Operations -- Occlusion Query -- Conditional Rendering -- Per-Primitive Antialiasing -- Antialiasing Lines -- Antialiasing Polygons -- Framebuffer Objects -- Renderbuffers -- Creating Renderbuffer Storage -- Framebuffer Attachments -- Framebuffer Completeness -- Invalidating Framebuffers -- Writing to Multiple Renderbuffers Simultaneously -- Selecting Color Buffers for Writing and Reading -- Dual-Source Blending -- Reading and Copying Pixel Data -- Copying Pixel Rectangles -- 5.Viewing Transformations, Clipping, and Feedback -- Viewing -- Viewing Model -- Camera Model -- Orthographic Viewing Model -- User Transformations -- Matrix Multiply Refresher -- Homogeneous Coordinates -- Linear Transformations and Matrices -- Transforming Normals -- OpenGL Matrices -- OpenGL Transformations -- Advanced: User Clipping -- Transform Feedback -- Transform Feedback Objects -- Transform Feedback Buffers -- Configuring Transform Feedback Varyings -- Starting and Stopping Transform Feedback -- Transform Feedback Example-Particle System -- 6.Textures -- Texture Mapping -- Basic Texture Types -- Creating and Initializing Textures -- Texture Formats -- Proxy Textures -- Specifying Texture Data -- Explicitly Setting Texture Data -- Using Pixel Unpack Buffers -- Copying Data from the Framebuffer -- Loading Images from Files -- Retrieving Texture Data -- Texture Data Layout -- Sampler Objects -- Sampler Parameters -- Using Textures -- Texture Coordinates -- Arranging Texture Data -- Using Multiple Textures -- Complex Texture Types -- 3D Textures -- Array Textures -- Cube-Map Textures -- Shadow Samplers -- Depth-Stencil Textures -- Buffer Textures -- Texture Views -- Compressed Textures -- Filtering -- Linear Filtering -- Using and Generating Mipmaps -- Calculating the Mipmap Level -- Mipmap Level-of-Detail Control -- Advanced Texture Lookup Functions -- Explicit Level of Detail -- Explicit Gradient Specification -- Texture Fetch with Offsets -- Projective Texturing -- Texture Queries in Shaders -- Gathering Texels -- Combining Special Functions -- Point Sprites -- Textured Point Sprites -- Controlling the Appearance of Points -- Rendering to Texture Maps -- Discarding Rendered Data -- Chapter Summary -- Texture Redux -- Texture Best Practices -- 7.Light and Shadow -- Lighting Introduction -- Classic Lighting Model -- Fragment Shaders for Different Light Styles -- Moving Calculations to the Vertex Shader -- Multiple Lights and Materials -- Lighting Coordinate Systems -- Limitations of the Classic Lighting Model -- Advanced Lighting Models -- Hemisphere Lighting -- Image-Based Lighting -- Lighting with Spherical Harmonics -- Shadow Mapping -- Creating a Shadow Map -- 8.Procedural Texturing -- Procedural Texturing -- Regular Patterns -- Toy Ball -- Lattice -- Procedural Shading Summary -- Bump Mapping -- Application Setup -- Vertex Shader -- Fragment Shader -- Normal Maps -- Antialiasing Procedural Textures -- Sources of Aliasing -- Avoiding Aliasing -- Increasing Resolution -- Antialiasing High Frequencies -- Frequency Clamping -- Procedural Antialiasing Summary -- Noise -- Definition of Noise -- Noise Textures -- Trade-offs -- A Simple Noise Shader -- Turbulence -- Marble -- Granite -- Wood -- Noise Summary -- Further Information -- 9.Tessellation Shaders -- Tessellation Shaders -- Tessellation Patches -- Tessellation Control Shaders -- Generating Output-Patch Vertices -- Tessellation Control Shader Variables -- Controlling Tessellation -- Tessellation Evaluation Shaders -- Specifying the Primitive Generation Domain -- Specifying the Face Winding for Generated Primitives -- Specifying the Spacing of Tessellation Coordinates -- Additional Tessellation Evaluation Shader layout Options -- Specifying a Vertex's Position -- Tessellation Evaluation Shader Variables -- A Tessellation Example: The Teapot -- Processing Patch Input Vertices -- Evaluating Tessellation Coordinates for the Teapot -- Additional Tessellation Techniques -- View-Dependent Tessellation -- Shared Tessellated Edges and Cracking -- Displacement Mapping -- 10.Geometry Shaders -- Creating a Geometry Shader -- Geometry Shader Inputs and Outputs -- Geometry Shader Inputs -- Special Geometry Shader Primitives -- Geometry Shader Outputs -- Producing Primitives -- Culling Geometry -- Geometry Amplification -- Advanced Transform Feedback -- Multiple Output Streams -- Primitive Queries -- Using Transform Feedback Results -- Geometry Shader Instancing -- Multiple Viewports and Layered Rendering -- Viewport Index -- Layered Rendering -- Chapter Summary -- Geometry Shader Redux -- Geometry Shader Best Practices -- 11.Memory -- Using Textures for Generic Data Storage -- Binding Textures to Image Units -- Reading from and Writing to Images -- Shader Storage Buffer Objects -- Writing Structured Data -- Atomic Operations and Synchronization -- Atomic Operations on Images -- Atomic Operations on Buffers -- Sync Objects -- Image Qualifiers and Barriers -- High Performance Atomic Counters -- Example -- Order-Independent Transparency -- 12.Compute Shaders -- Overview -- Workgroups and Dispatch -- Knowing Where You Are -- Communication and Synchronization -- Communication -- Synchronization -- Examples -- Physical Simulation -- Image Processing -- Chapter Summary -- Compute Shader Redux -- Compute Shader Best Practices -- A.Basics of GLUT: The OpenGL Utility Toolkit -- Initializing and Creating a Window -- Accessing Functions -- Handling Window and Input Events -- Managing a Background Process -- Running the Program -- B.OpenGL ES and WebGL -- OpenGL ES -- WebGL -- Setting up WebGL within an HTML5 page -- Initializing Shaders in WebGL -- Initializing Vertex Data in WebGL -- Using Texture Maps in WebGL -- C.Built-in GLSL Variables and Functions -- Built-in Variables -- Built-in Variable |
| 505 0# - FORMATTED CONTENTS NOTE |
| Formatted contents note |
Declarations -- Built-in Variable Descriptions -- Built-in Constants -- Built-in Functions -- Angle and Trigonometry Functions -- Exponential Functions -- Common Functions -- Floating-Point Pack and Unpack Functions -- Geometric Functions -- Matrix Functions -- Vector Relational Functions -- Integer Functions -- Texture Functions -- Atomic-Counter Functions -- Atomic Memory Functions -- Image Functions -- Fragment Processing Functions -- Noise Functions -- Geometry Shader Functions -- Shader Invocation Control Functions -- Shader Memory Control Functions -- D.State Variables -- The Query Commands -- OpenGL State Variables -- Current Values and Associated Data -- Vertex Array Object State -- Vertex Array Data -- Buffer Object State -- Transformation State -- Coloring State -- Rasterization State -- Multisampling -- Textures -- Textures -- Textures -- Textures -- Texture Environment -- Pixel Operations -- Framebuffer Controls -- Framebuffer State -- Framebuffer State -- Frambuffer State -- Renderbuffer State -- Renderbuffer State -- Pixel State -- Shader Object State -- Shader Program Pipeline Object State -- Shader Program Object State -- Program Interface State -- Program Object Resource State -- Vertex and Geometry Shader State -- Query Object State -- Image State -- Transform Feedback State -- Atomic Counter State -- Shader Storage Buffer State -- Sync Object State -- Hints -- Compute Dispatch State -- Implementation-Dependent Values -- Tessellation Shader Implementation-Dependent Limits -- Geometry Shader Implementation-Dependent Limits -- Fragment Shader Implementation-Dependent Limits -- Implementation-Dependent Compute Shader Limits -- Implementation-Dependent Shader Limits -- Implementation-Dependent Debug Output State -- Implementation-Dependent Values -- Internal Format-Dependent Values -- Implementation-Dependent Transform Feedback Limits -- Framebuffer-Dependent Values -- Miscellaneous -- E.Homogeneous Coordinates and Transformation Matrices -- |
| 505 0# - FORMATTED CONTENTS NOTE |
| Formatted contents note |
Note continued: Homogeneous Coordinates -- Transforming Vertices -- Transforming Normals -- Transformation Matrices -- Translation -- Scaling -- Rotation -- Perspective Projection -- Orthographic Projection -- F.OpenGL and Window Systems -- Accessing New OpenGL Functions -- GLEW: The OpenGL Extension Wrangler -- GLX: OpenGL Extension for the X Window System -- Initialization -- Controlling Rendering -- GLX Prototypes -- WGL: OpenGL Extensions for Microsoft Windows -- Initialization -- Controlling Rendering -- WGL Prototypes -- OpenGL in Mac OSX: The Core OpenGL (CGL) API and the NSOpenGL Classes -- Mac OS X's Core OpenGL Library -- Initialization -- Controlling Rendering -- CGL Prototypes -- The NSOpenGL Classes -- Initialization -- G.Floating-Point Formates for Textures, Framebuffers, and Renderbuffers -- Reduced-Precision Floating-Point Values -- 16-bit Floating-Point Values -- 10- and 11-bit Unsigned Floating-Point Values -- H.Debugging and Profiling OpenGL -- Creating a Debug Context -- Debug Output -- Debug Messages -- Filtering Messages -- Application-Generated Messages -- Debug Groups -- Naming Objects -- Profiling -- Profiling Tools -- In-Application Profiling -- I.Buffer Object Layouts -- Using Standard Layout Qualifiers -- The std140 Layout Rules -- The std430 Layout Rules |
| 630 00 - SUBJECT ADDED ENTRY--UNIFORM TITLE |
| Uniform title |
OpenGL |
| 650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM |
| Topical term or geographic name entry element |
Computer graphics |
| 700 1# - ADDED ENTRY--PERSONAL NAME |
| Personal name |
Shreiner, Dave |
| 830 #0 - SERIES ADDED ENTRY--UNIFORM TITLE |
| Uniform title |
OpenGL series |