Muutke küpsiste eelistusi

E-raamat: Professional WebGL Programming: Developing 3D Graphics for the Web

  • Formaat: EPUB+DRM
  • Ilmumisaeg: 19-Apr-2012
  • Kirjastus: Wrox Press
  • Keel: eng
  • ISBN-13: 9781119940593
  • Formaat - EPUB+DRM
  • Hind: 27,29 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: EPUB+DRM
  • Ilmumisaeg: 19-Apr-2012
  • Kirjastus: Wrox Press
  • Keel: eng
  • ISBN-13: 9781119940593

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Everything you need to know about developing hardware-accelerated 3D graphics with WebGL! 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 stronger understanding of WebGL development from coverage that:•Provides a comprehensive overview of WebGL and shows how it relates to other graphics-related technologies•Addresses important topics such as the WebGL graphics pipeline, 3D transformations, texturing and lighting •Teaches you how to write vertex shaders and fragment shaders for WebGL •Includes a lot of useful guidelines, tips, and tricks for WebGL performance optimizationsProfessional WebGL Programming is the first book on the market to delve into this fascinating topic and it puts you on your way to mastering the possibilities that exist with WebGL.
Introduction xxl
Chapter 1 Introducing Webgl
1(44)
The Basics of WebGL
1(1)
So Why Is WebGL So Great?
2(1)
Designing a Graphics API
3(1)
An Immediate-Mode API
3(1)
A Retained-Mode API
4(1)
An Overview of Graphics Hardware
4(3)
GPU
5(1)
Framebuffer
5(2)
Texture Memory
7(1)
Video Controller
7(1)
Understanding the WebGL Graphics Pipeline
7(12)
Vertex Shader
8(4)
Primitive Assembly
12(2)
Rasterization
14(1)
Fragment Shader
14(3)
Per Fragment Operations
17(2)
Comparing WebGL to Other Graphics Technologies
19(12)
OpenGL
19(2)
OpenGL ES 2.0
21(2)
Direct3D
23(1)
HTML5 Canvas
24(4)
Scalable Vector Graphics
28(2)
VRML and X3D
30(1)
Linear Algebra for 3D Graphics
31(13)
Coordinate System
31(1)
Points or Vertices
31(1)
Vectors
32(1)
Dot Product or Scalar Product
33(1)
Cross Product
34(1)
Homogeneous Coordinates
35(1)
Matrices
35(3)
Affine Transformations
38(6)
Summary
44(1)
Chapter 2 Creating Basic Webgl Examples
45(40)
Drawing a Triangle
46(11)
Creating the WebGL Context
49(2)
Creating the Vertex Shader and the Fragment Shader
51(1)
Compiling the Shaders
52(1)
Creating the Program Object and Linking the Shaders
53(1)
Setting Up the Buffers
54(2)
Drawing the Scene
56(1)
Understanding the WebGL Coding Style
57(1)
Debugging Your WebGL Application
58(20)
Using Chrome Developer Tools
58(7)
Using Firebug
65(2)
WebGL Error Handling and Error Codes
67(3)
WebGL Inspector
70(6)
Troubleshooting WebGL
76(2)
Using the DOM API to Load Your Shaders
78(2)
Putting It Together in a Slightly More Advanced Example
80(4)
Experimenting with Code
83(1)
Summary
84(1)
Chapter 3 Drawing
85(52)
WebGL Drawing Primitives and Drawing Methods
86(13)
Primitives
86(5)
Understanding the Importance of Winding Order
91(2)
WebGL's Drawing Methods
93(6)
Typed Arrays
99(3)
Buffer and View
100(1)
Supported View Types
101(1)
Exploring Different Ways to Draw
102(12)
gl.drawArrays() and gl.TRIANGLES
103(2)
gl.drawArrays() and gl.TRIANGLE_STRIP
105(1)
gl.drawElements() and gl.TRIANGLES
106(2)
gl.drawElements() and gl.TRIANGLE_STRIP
108(3)
Conclusions of the Comparison
111(1)
Pre-Transform Vertex Cache and Post-Transform Vertex Cache
111(3)
Interleaving Your Vertex Data for Improved Performance
114(9)
Using an Array of Structures
115(8)
Using a Vertex Array or Constant Vertex Data
123(1)
A Last Example to Wind Things Up
124(10)
Some Things to Experiment With
134(1)
Summary
134(3)
Chapter 4 Compact Javascript Libraries And Transformations
137(40)
Working with Matrices and Vectors in JavaScript
138(12)
Sylvester
139(3)
WebGL-mjs
142(4)
glMatrix
146(4)
Using Transformations
150(7)
How Transformations Are Used
150(7)
Understanding the Complete Transformation Pipeline
157(1)
Getting Practical with Transformations
158(4)
Setting Up Buffers with Object Coordinates
159(1)
Creating Transformation Matrices with JavaScript and Uploading Them to the Shader
160(1)
Uploading the Transformation Matrices to the Vertex Shader in the GPU
161(1)
Calling Your Drawing Methods
162(1)
Understanding the Importance of Transformation Order
162(9)
Using a Grand, Fixed Coordinate System
163(2)
Using a Moving, Local Coordinate System
165(2)
Pushing and Popping Transformation Matrices
167(4)
A Complete Example: Drawing Several Transformed Objects
171(5)
Creating a Cube with WebGL
173(2)
Organization of the View Transformation and the Model Transformation
175(1)
Summary
176(1)
Chapter 5 Texturing
177(42)
Understanding Lost Context
178(5)
Understanding the Setup Required to Handle Lost Context
179(2)
Factors to Consider When Handling Lost Context
181(2)
Introducing 2D Textures and Cubemap Textures
183(2)
Loading Your Textures
185(8)
Creating a WebGLTexture Object
185(1)
Binding Your Texture
185(1)
Loading the Image Data
186(1)
Uploading the Texture to the GPU
187(2)
Specifying Texture Parameters
189(1)
Understanding the Complete Procedure of Loading a Texture
190(3)
Defining Your Texture Coordinates
193(2)
Using Your Textures in Shaders
195(3)
Working with Texture Image Units
197(1)
Working with Texture Filtering
198(5)
Understanding Magnification
199(1)
Understanding Minification
200(1)
Understanding Mipmapping
200(3)
Understanding Texture Coordinate Wrapping
203(4)
Using the gl.REPEAT Wrap Mode
203(2)
Using the gl.MIRRORED_REPEAT Wrap Mode
205(1)
Using the gl.CLAMP_TO_EDGE Wrap Mode
206(1)
A Complete Texture Example
207(3)
Using Images for Your Textures
210(2)
Downloading Free Textures
210(1)
Basing Textures on Your Own Photos
211(1)
Drawing Images
211(1)
Buying Textures
211(1)
Understanding Same-Origin Policy and Cross-Origin Resource Sharing
212(5)
Understanding Same-Origin Policy for Images in General
212(2)
Understanding Same-Origin Policy for Textures
214(1)
Understanding Cross-Origin Resource Sharing
215(2)
Summary
217(2)
Chapter 6 Animations And User Input
219(30)
Animating the Scene
219(11)
Using setInterval() and setTimeout()
221(1)
Using requestAnimationFrame()
222(3)
Compensating Movement for Different Frame Rates
225(1)
Creating an FPS Counter to Measure the Smoothness of Your Animation
226(2)
Understanding the Disadvantages of Using FPS as a Measurement
228(2)
Event Handling for User Interaction
230(10)
Basic Event Handling with DOM Level 0
231(1)
Advanced Event Handling with DOM Level 2
232(2)
Key Input
234(5)
Mouse Input
239(1)
Applying Your New Knowledge
240(6)
Summary
246(3)
Chapter 7 Lighting
249(42)
Understanding Light
249(1)
Working with a Local Lighting Model
250(1)
Understanding the Phong Reflection Model
251(16)
Ambient Reflection
252(1)
Diffuse Reflection
253(2)
Specular Reflection
255(4)
Understanding the Complete Equation and Shaders for the Phong Reflection Model
259(4)
Using Lighting with Texturing
263(4)
Understanding the JavaScript Code Needed for WebGL Lighting
267(4)
Setting Up Buffers with Vertex Normals
268(2)
Calculating and Uploading the Normal Matrix to the Shader
270(1)
Uploading the Light Information to the Shader
270(1)
Using Different Interpolation Techniques for Shading
271(7)
Flat Shading
272(1)
Gouraud Shading
273(1)
Phong Shading
274(4)
Understanding the Vectors That Must Be Normalized
278(1)
Normalization in the Vertex Shader
278(1)
Normalization in the Fragment Shader
279(1)
Using Different Types of Lights
279(5)
Directional Lights
280(1)
Point Lights
280(1)
Spot Lights
281(3)
Understanding the Attenuation of Light
284(4)
Understanding Light Mapping
288(1)
Summary
289(2)
Chapter 8 Webgl Performance Optimizations
291(30)
WebGL under the Hood
292(4)
Hardware that Powers WebGL
292(2)
Key Software Components
294(2)
WebGL Performance Optimizations
296(14)
Avoiding a Typical Beginner's Mistake
296(2)
Locating the Bottleneck
298(4)
General Performance Advice
302(3)
Performance Advice for CPU-Limited WebGL
305(2)
Performance Advice for Vertex-Limited WebGL
307(1)
Performance Advice for Pixel-Limited WebGL
308(2)
A Closer Look at Blending
310(7)
Introducing Blending
310(1)
Setting the Blending Functions
311(3)
Understanding Drawing Order and the Depth Buffer
314(1)
Drawing a Scene with Both Opaque and Semi-Transparent Objects
315(1)
Changing the Default Operator for the Blend Equation
315(1)
Using Premultiplied Alpha
316(1)
Taking WebGL Further
317(2)
Using WebGL Frameworks
317(1)
Publishing to the Google Chrome Web Store
318(1)
Using Additional Resources
318(1)
Summary
319(2)
Index 321
Andreas Anyuru is a Senior Member of Technical Staff at ST-Ericsson, specializing in Web Technologies. He is experienced in developing web graphics and has worked with implementation and optimization of WebGL and many other web technologies for Linux-based mobile platforms.

Wrox Professional guides are written by working developers to address everyday needs. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.