{"text_format":"2","workbook":"xls","n_sheets":1,"sheets":["report2"],"not_rendered":{"charts":0,"images":0,"macros":0,"external_links":1,"defined_names":1,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"run_cost":"one","rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900","formulas":"cached_only"}

{"sheet":"report2","index":0,"n_rows":19,"n_cols":5,"rows_kept":19,"cut":false,"hidden":false,"merged":[[0,2,0,3],[0,4,0,5],[1,2,1,3],[1,4,1,5],[2,2,2,3],[2,4,2,5],[3,2,3,3],[4,2,4,3],[6,2,6,3],[7,2,7,3],[8,2,8,3],[9,2,9,3],[11,2,11,3],[12,2,12,3],[15,2,15,3]],"flags":["formulas_cached_only"]}
[null,"1.","Record Nr.",null,"UNINA9910971339603321"]
[null,null,"Autore",null,"Wolff David"]
[null,null,"Titolo",null,"OpenGL 4 shading language cookbook / / David Wolff"]
[null,null,"Pubbl/distr/stampa",null,"Birmingham : , : Packt Publishing, , 2013"]
[null,null,"ISBN",null,"9781782167037"]
[{"$nulls":4},"178216703X"]
[null,null,"Edizione",null,"[Second edition.]"]
[null,null,"Descrizione fisica",null,"1 online resource (394 pages) : illustrations"]
[null,null,"Disciplina",null,"006.686"]
[null,null,"Soggetti",null,"Computer graphics"]
[{"$nulls":4},"Rendering (Computer graphics)"]
[null,null,"Lingua di pubblicazione",null,"Inglese"]
[null,null,"Formato",null,"Materiale a stampa"]
[null,null,null,"Livello bibliografico","Monografia"]
[null,null,null,"Note generali","Includes index."]
[null,null,"Nota di contenuto",null,"Cover -- Copyright -- Credits -- About the Author -- About the Reviewers -- www.PacktPub.com -- Table of Contents -- Preface -- Chapter 1: Getting Started  With GLSL -- Introduction -- Using a function loader to access the latest OpenGL functionality -- Using GLM for mathematics -- Determining the GLSL and OpenGL version -- Compiling a shader -- Sending data to a shader using vertex attributes and vertex buffer objects -- Getting a list of active vertex input attributes and locations -- Sending data to a shader using uniform variables -- Getting a list of active uniform variables -- Using uniform blocks and uniform  buffer objects -- Getting debug messages -- Building a C++ shader program class -- Chapter 2: The Basics of  GLSL Shaders -- Introduction -- Implementing diffuse, per-vertex shading with a single point light source -- Implementing per-vertex ambient, diffuse, and specular (ADS) shading -- Using functions in shaders -- Implementing two-sided shading -- Implementing flat shading -- Using subroutines to select shader functionality -- Discarding fragments to create a  perforated look -- Chapter 3: Lighting, Shading,  and Optimization -- Introduction -- Shading with multiple positional lights -- Shading with a directional light source -- Using per-fragment shading for improved realism -- Using the halfway vector for improved performance -- Simulating a spotlight -- Creating a cartoon shading effect -- Simulating fog -- Configuring the depth test -- Chapter 4: Using Textures -- Introduction -- Applying a 2D texture -- Applying multiple textures -- Using alpha maps to discard pixels -- Using normal maps -- Simulating reflection with cube maps -- Simulating "]
[{"$nulls":4},"refraction with cube maps -- Applying a projected texture -- Rendering to a texture -- Using sampler objects -- Chapter 5: Image Processing  and Screen  Space Techniques -- Introduction."]
[{"$nulls":4},"Applying an edge detection filter -- Applying a Gaussian blur filter -- Implementing HDR lighting with tone mapping -- Creating a bloom effect -- Using gamma correction to improve  image quality -- Using multisample anti-aliasing -- Using deferred shading -- Implementing order-independent transparency -- Chapter 6: Using Geometry and Tessellation Shaders -- Introduction -- Point sprites with the geometry shader -- Drawing a wireframe on top of a shaded mesh -- Drawing silhouette lines using the  geometry shader -- Tessellating a curve -- Tessellating a 2D quad -- Tessellating a 3D surface -- Tessellating based on depth -- Chapter 7: Shadows -- Introduction -- Rendering shadows with shadow maps -- Anti-aliasing shadow edges with PCF -- Creating soft shadow edges with  random sampling -- Creating shadows using shadow volumes and the geometry shader -- Chapter 8: Using Noise in Shaders -- Introduction -- Creating a noise texture using GLM -- Creating a seamless noise texture -- Creating a cloud-like effect -- Creating a wood-grain effect -- Creating a disintegration effect -- Creating a paint-spatter effect -- Creating a night-vision effect -- Chapter 9: Particle Systems  and Animation -- Introduction -- Animating a surface with vertex displacement -- Creating a particle fountain -- Creating a particle system using transform feedback -- Creating a particle system using instanced particles -- Simulating fire with particles -- Simulating smoke with particles -- Chapter 10: Using Compute Shaders -- Introduction -- Implementing a particle simulation with the compute shader -- Using the compute shader for cloth simulation -- Implementing an edge detection filter with the compute shader -- Creating a fractal texture using the compute shader -- Index."]
[null,null,null,"Sommario/riassunto","OpenGL Shading Language 4 Cookbook is a hands-on guide that gets straight to the point - actually creating graphics, instead of just theoretical learning. Each recipe is specifically tailored to satisfy your appetite for producing real-time 3-D graphics using the latest GLSL specification.This book is for OpenGL programmers looking to use the modern features of GLSL 4 to create real-time, three-dimensional graphics. Familiarity with OpenGL programming, along with the typical 3D coordinate systems, projections, and transformations is assumed. It can also be useful for experienced GLSL programmers who are looking to implement the techniques that are presented here."]