1.

Record Nr.

UNINA9910790113103321

Autore

Anyuru Andreas

Titolo

Professional WebGL programming [[electronic resource] ] : developing 3D graphics for the web / / Andreas Anyuru

Pubbl/distr/stampa

Chichester, U.K., : John Wiley & Sons, 2012

ISBN

1-280-67245-5

9786613649386

1-119-94058-3

1-119-94059-1

Descrizione fisica

1 online resource (364 p.)

Collana

Wrox programmer to programmer

Disciplina

006.6

006.684

Soggetti

Computer graphics - Computer programs

JavaScript (Computer program language)

Three-dimensional display systems

Lingua di pubblicazione

Inglese

Formato

Materiale a stampa

Livello bibliografico

Monografia

Note generali

Includes index.

Nota di contenuto

Vertex ShaderPrimitive Assembly; Rasterization; Fragment Shader; Per Fragment Operations; Comparing WebGL to Other Graphics Technologies; OpenGL; OpenGL ES 2.0; Direct3D; HTML5 Canvas; Scalable Vector Graphics; VRML and X3D; Linear Algebra for 3D Graphics; Coordinate System; Points or Vertices; Vectors; Dot Product or Scalar Product; Cross Product; Homogeneous Coordinates; Matrices; Affine Transformations; Summary; Chapter 2: Creating Basic WebGL Examples; Drawing a Triangle; Creating the WebGL Context; Creating the Vertex Shader and the Fragment Shader; Compiling the Shaders

Creating the Program Object and Linking the ShadersSetting Up the Buffers; Drawing the Scene; Understanding the WebGL Coding Style; Debugging Your WebGL Application; Using Chrome Developer Tools; Using Firebug; WebGL Error Handling and Error Codes; WebGL Inspector; Troubleshooting WebGL; Using the DOM API to Load Your Shaders; Putting It Together in a Slightly More Advanced Example; Experimenting with Code; Summary; Chapter 3: Drawing; WebGL Drawing Primitives and Drawing Methods; Primitives; Understanding the



Importance of Winding Order; WebGL's Drawing Methods; Typed Arrays; Buffer and View

Supported View TypesExploring Different Ways to Draw; gl.drawArrays() and gl.TRIANGLES; gl.drawArrays() and gl.TRIANGLE_STRIP; gl.drawElements() and gl.TRIANGLES; gl.drawElements() and gl.TRIANGLE_STRIP; Conclusions of the Comparison; Pre-Transform Vertex Cache and Post-Transform Vertex Cache; Interleaving Your Vertex Data for Improved Performance; Using an Array of Structures; Using a Vertex Array or Constant Vertex Data; A Last Example to Wind Things Up; Some Things to Experiment With; Summary; Chapter 4: Compact JavaScript Libraries And Transformations

Working with Matrices and Vectors in JavaScriptSylvester; WebGL-mjs; glMatrix; Using Transformations; How Transformations Are Used; Understanding the Complete Transformation Pipeline; Getting Practical with Transformations; Setting Up Buffers with Object Coordinates; Creating Transformation Matrices with JavaScript and Uploading Them to the Shader; Uploading the Transformation Matrices to the Vertex Shader in the GPU; Calling Your Drawing Methods; Understanding the Importance of Transformation Order; Using a Grand, Fixed Coordinate System; Using a Moving, Local Coordinate System

Pushing and Popping Transformation Matrices

Sommario/riassunto

<b>Everything you need to know about developing hardware-accelerated 3D graphics with WebGL!</b> <br /> <br />  As the newest technology for creating 3D graphics on the web, in both games, applications, and on regular websites, WebGL gives web developers the capability to produce eye-popping graphics. This book teaches you how to use WebGL to create stunning cross-platform apps. The book features several detailed examples that show you how to develop 3D graphics with WebGL, including explanations of code snippets that help you understand the why behind the how.   You will also develop a strong