HTML5 Game Development Insights / / by Colt McAnlis, Peter Lubbers, Brandon Jones, Andrzej Mazur, Sean Bennett, Bruno Garcia, Shun Lin, Ivan Popelyshev, Jon Howard, Ian Ballantyne, Takuo Kihira, Jesse Freeman, Tyler Smith, Don Olmstead, Jason Gauci, John McCutchan, Chad Austin, Mario Andres Pagella, Florian dErfurth, Duncan Tebbs |
Autore | McAnlis Colt |
Edizione | [1st ed. 2014.] |
Pubbl/distr/stampa | Berkeley, CA : , : Apress : , : Imprint : Apress, , 2014 |
Descrizione fisica | 1 online resource (457 p.) |
Disciplina | 794.81674 |
Collana | The Expert's Voice in Game Development |
Soggetto topico |
Computer games—Programming
Software engineering Game Development Software Engineering/Programming and Operating Systems |
ISBN | 1-4302-6698-8 |
Formato | Materiale a stampa |
Livello bibliografico | Monografia |
Lingua di pubblicazione | eng |
Nota di contenuto |
Contents at a Glance; Introduction; Chapter 1: JavaScript Is Not the Language You Think It Is; Variables and Scoping Rules; Declaration Scoping; Declaration Hoisting; JavaScript Typing and Equality; Base Types; Numbers; Strings; Booleans; Objects; Arrays; null; undefined; The typeof Operator; The instanceof Operator; Type Coercion; Equality Checking; Truthiness; Inheritance the JavaScript Way; Prototypical Inheritance; this; Conclusion; Chapter 2: Optimal Asset Loading; Caching Data; HTTP Caching; HTTP Caching Example; Loading HTTP Cached Assets; Client-Side Storage; Memory Caching
Data FormatsTexture Formats; Audio Formats; Other Formats; Asset Hosting; Server Compression; Geolocating Assets; Using a Content Distribution Network; Effective Asset Grouping; Grouping Using Tar Files; Conclusion; Acknowledgements; Chapter 3: High-Performance JavaScript; About the Demo; Object Pools; How to Make an Object Pool; Pool Structure; Recyclable Objects; Requesting a Free Object from the Pool; Returning Objects to the Pool; Iterating on a Pool; Using an Object Pool; Updating Only What's Important; Culling for Simulation; Culling for Rendering; Warming Up the Virtual Machine Your Code Will Be Compiled and Optimized on the FlyDeoptimizations; Rev Up the Engine; Benchmarking; Digging Deeper; Conclusion; Chapter 4: Efficient JavaScript Data Structures; The Importance of Data Structures; Object Hierarchies; Arrays; Performance Data; ArrayBuffers and ArrayBufferViews; Complex Structures as Single ArrayBufferViews; Late Unpacking; Best Practices; Conclusion; Chapter 5: Faster Canvas Picking; Creating Pickable Objects; Defining a Sprite Prototype; Representing Objects; Basic Picking with Bounding Boxes; Caveats; Faster Picking via Bucketing; Caveats Pixel Perfect PickingLoading Pixel Data; Testing a Mouse Click; Results and Caveats; Convex Hull Picking; Generating the Convex Hull; Doing Picking Against the Convex Hull; Caveats; Moving Forward; Chapter 6: Autotiles; Shadows; The Abyss; Smooth Transitions; Chapter 7: Importing Flash Assets; Bruno Garcia, co-founder, 2DKit; Sprite Sheets; Vectorization; Cutout Animation; New Tools; Other Assets; Conclusion; Chapter 8: Applying Old-School Video Game Techniques in Modern Web Games; High-Performance Update Loops; Calling requestAnimationFrame; Bottlenecks in an Update Loop; Dirty Rectangles Rendering Massive GridsDisplaying Animations in Extremely Large Viewports; Color Cycling; Conclusion; Chapter 9: Optimizing WebGL Usage; The Anatomy of a WebGL Call; How WebGL Works; Building the Renderer; Debugging WebGL Usage; Using Extensions; Vertex Array Objects; Draw Buffers; Instanced Arrays; WebGL 2; Rendering the Scene; Frustum Culling; Rendering Order; Batching; Conclusion; Chapter 10: Playing Around with the Gamepad API; Draft Stage; Browser Support; Supported Devices; Gamepad API Implementation; Project Setup; Connecting the Gamepad; Prefixes; Detecting Disconnection Detecting Button Presses |
Record Nr. | UNINA-9910300473103321 |
McAnlis Colt | ||
Berkeley, CA : , : Apress : , : Imprint : Apress, , 2014 | ||
Materiale a stampa | ||
Lo trovi qui: Univ. Federico II | ||
|
WebGL beginner's guide [[electronic resource] ] : become a master of 3D web programming in WebGL and JavaScript / / Diego Cantor, Brandon Jones |
Autore | Cantor Diego |
Edizione | [1st edition] |
Pubbl/distr/stampa | Birmingham, England ; ; Mumbai, India, : Packt Publishing, c2012 |
Descrizione fisica | 1 online resource (377 p.) |
Disciplina | 006.6869 |
Altri autori (Persone) | JonesBrandon |
Collana | Learn by doing : less theory, more results |
Soggetto topico |
Computer graphics - Computer programs
HTML (Document markup language) Internet programming JavaScript (Computer program language) |
Soggetto genere / forma | Electronic books. |
ISBN |
1-280-87294-2
9786613714251 1-84969-173-8 |
Formato | Materiale a stampa |
Livello bibliografico | Monografia |
Lingua di pubblicazione | eng |
Nota di contenuto |
Cover; 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
Using 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 Enabling 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 Working 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 Vertex 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 Chapter 4: Camera |
Record Nr. | UNINA-9910462428303321 |
Cantor Diego | ||
Birmingham, England ; ; Mumbai, India, : Packt Publishing, c2012 | ||
Materiale a stampa | ||
Lo trovi qui: Univ. Federico II | ||
|
WebGL beginner's guide [[electronic resource] ] : become a master of 3D web programming in WebGL and JavaScript / / Diego Cantor, Brandon Jones |
Autore | Cantor Diego |
Edizione | [1st edition] |
Pubbl/distr/stampa | Birmingham, England ; ; Mumbai, India, : Packt Publishing, c2012 |
Descrizione fisica | 1 online resource (377 p.) |
Disciplina | 006.6869 |
Altri autori (Persone) | JonesBrandon |
Collana | Learn by doing : less theory, more results |
Soggetto topico |
Computer graphics - Computer programs
HTML (Document markup language) Internet programming JavaScript (Computer program language) |
ISBN |
1-280-87294-2
9786613714251 1-84969-173-8 |
Formato | Materiale a stampa |
Livello bibliografico | Monografia |
Lingua di pubblicazione | eng |
Nota di contenuto |
Cover; 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
Using 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 Enabling 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 Working 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 Vertex 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 Chapter 4: Camera |
Record Nr. | UNINA-9910790491103321 |
Cantor Diego | ||
Birmingham, England ; ; Mumbai, India, : Packt Publishing, c2012 | ||
Materiale a stampa | ||
Lo trovi qui: Univ. Federico II | ||
|
WebGL beginner's guide : become a master of 3D web programming in WebGL and JavaScript / / Diego Cantor, Brandon Jones |
Autore | Cantor Diego |
Edizione | [1st edition] |
Pubbl/distr/stampa | Birmingham, England ; ; Mumbai, India, : Packt Publishing, c2012 |
Descrizione fisica | 1 online resource (377 p.) |
Disciplina | 006.6869 |
Altri autori (Persone) | JonesBrandon |
Collana | Learn by doing : less theory, more results |
Soggetto topico |
Computer graphics - Computer programs
HTML (Document markup language) Internet programming JavaScript (Computer program language) |
ISBN |
1-280-87294-2
9786613714251 1-84969-173-8 |
Formato | Materiale a stampa |
Livello bibliografico | Monografia |
Lingua di pubblicazione | eng |
Nota di contenuto |
Cover; 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
Using 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 Enabling 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 Working 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 Vertex 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 Chapter 4: Camera |
Altri titoli varianti | Web graphics library beginner's guide |
Record Nr. | UNINA-9910813547403321 |
Cantor Diego | ||
Birmingham, England ; ; Mumbai, India, : Packt Publishing, c2012 | ||
Materiale a stampa | ||
Lo trovi qui: Univ. Federico II | ||
|