LEADER 05174nam 2200733 a 450 001 9910790491103321 005 20200520144314.0 010 $a1-280-87294-2 010 $a9786613714251 010 $a1-84969-173-8 035 $a(CKB)2670000000210703 035 $a(EBL)948496 035 $a(OCoLC)797917408 035 $a(SSID)ssj0000694305 035 $a(PQKBManifestationID)12340620 035 $a(PQKBTitleCode)TC0000694305 035 $a(PQKBWorkID)10666732 035 $a(PQKB)11477275 035 $a(OCoLC)812179996 035 $a(Au-PeEL)EBL948496 035 $a(CaPaEBR)ebr10571194 035 $a(CaONFJC)MIL371425 035 $a(CaSebORM)9781849691727 035 $a(MiAaPQ)EBC948496 035 $a(PPN)227999916 035 $a(EXLCZ)992670000000210703 100 $a20130507d2012 uy 0 101 0 $aeng 135 $aur|n|---||||| 181 $ctxt 182 $cc 183 $acr 200 10$aWebGL beginner's guide$b[electronic resource] $ebecome a master of 3D web programming in WebGL and JavaScript /$fDiego Cantor, Brandon Jones 205 $a1st edition 210 $aBirmingham, England ;$aMumbai, India $cPackt Publishing$dc2012 215 $a1 online resource (377 p.) 225 0 $aLearn by doing : less theory, more results 300 $aIncludes index. 311 $a1-84969-172-X 327 $aCover; Copyright; Credits; About the Authors; Acknowledgement; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Getting Started with WebGL; System requirements; What kind of rendering does WebGL offer?; Structure of a WebGL application; Creating an HTML5 canvas; Time for action - creating an HTML5 canvas; Defining a CSS style for the border; Understanding canvas attributes; What if the canvas is not supported?; Accessing a WebGL context; Time for action - accessing the WebGL context; WebGL is a state machine; Time for action - setting up WebGL context attributes 327 $aUsing the context to access the WebGL APILoading a 3D scene; Virtual car showroom; Time for action - visualizing a finished scene; Summary; Chapter 2: Rendering Geometry; Vertices and Indices; Overview of WebGL's rendering pipeline; Vertex Buffer Objects (VBOs); Vertex shader; Fragment shader; Framebuffer; Attributes, uniforms, and varyings; Rendering geometry in WebGL; Defining a geometry using JavaScript arrays; Creating WebGL buffers; Operations to manipulate WebGL buffers; Associating attributes to VBOs; Binding a VBO; Pointing an attribute to the currently bound VBO 327 $aEnabling the attributeRendering; The drawArrays and drawElements functions; Putting everything together; Time for action - rendering a square; Rendering modes; Time for action - rendering modes; WebGL as a state machine: buffer manipulation; Time for action - enquiring on the state of buffers; Advanced geometry loading techniques: JavaScript Object Notation (JSON) and AJAX; Introduction to JSON - JavaScript Object Notation; Defining JSON-based 3D models; JSON encoding and decoding; Time for action - JSON encoding and decoding; Asynchronous loading with AJAX; Setting up a web server 327 $aWorking around the web server requirementTime for action - loading a cone with AJAX + JSON; Summary; Chapter 3: Lights!; Lights, normals, and materials; Lights; Normals; Materials; Using lights, normals, and materials in the pipeline; Parallelism and the difference between attributes and uniforms; Shading methods and light reflection models; Shading/interpolation methods; Goraud interpolation; Phong interpolation; Light reflection models; Lambertian reflection model; Phong reflection model; ESSL-OpenGL ES Shading Language; Storage qualifier; Types; Vector components; Operators and functions 327 $aVertex attributesUniforms; Varyings; Vertex shader; Fragment shader; Writing ESSL programs; Goraud shading with Lambertian reflections; Time for action - updating uniforms in real time; Goraud shading with Phong reflections; Time for action - Goraud shading; Phong shading; Time for action - Phong shading with Phong lighting; Back to WebGL; Creating a program; Initializing attributes and uniforms; Bridging the gap between WebGL and ESSL; Time for action - working on the wall; More on lights: positional lights; Time for action - positional lights in action; Nissan GTS example; Summary 327 $aChapter 4: Camera 330 $aBecome a master of 3D web programming in WebGL and JavaScript 606 $aComputer graphics$xComputer programs 606 $aHTML (Document markup language) 606 $aInternet programming 606 $aJavaScript (Computer program language) 615 0$aComputer graphics$xComputer programs. 615 0$aHTML (Document markup language) 615 0$aInternet programming. 615 0$aJavaScript (Computer program language) 676 $a006.6869 700 $aCantor$b Diego$01496125 701 $aJones$b Brandon$01496126 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910790491103321 996 $aWebGL beginner's guide$93720630 997 $aUNINA