Saturday, April 19, 2014

Like 3D? Learn how!



Do you like 3D animations? Cute aren’t they? They are so fascinating! How do they do that? If you read this book, you might also learn how to create 3D animations. This book is, unfortunately geared for those who already are a midlevel developer. If you already are a mid-level developer, then this book is for you.
Of course you could use this book as an incentive to learn how to program with the intent of learning to program in 3D. Here is a partial list of the Table of Contents:
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
HTML5: A New Visual Medium 5
The Browser as Platform 6
Browser Realities 7
3D Graphics Basics 8
What Is 3D? 8
3D Coordinate Systems 9
Meshes, Polygons, and Vertices 10
Materials, Textures, and Lights 11
Transforms and Matrices 12
Cameras, Perspective, Viewports, and Projections 13
Shaders 14
2. WebGL: Real-Time 3D Rendering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
WebGL Basics 18
The WebGL API 20
The Anatomy of a WebGL Application 20
A Simple WebGL Example 21
The Canvas Element and WebGL Drawing Context 22
The Viewport 23
Buffers, ArrayBuffer, and Typed Arrays 23
Matrices 24
The Shader 25
Drawing Primitives 27
Creating 3D Geometry
Adding Animation 33
Using Texture Maps 34
Chapter Summary 41
3. Three.js—A JavaScript 3D Engine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Three.js Flagship Projects 43
An Overview of Three.js 46
Setting Up Three.js 48
Three.js Project Structure 48
A Simple Three.js Program 50
Creating the Renderer 52
Creating the Scene 52
Implementing the Run Loop 54
Lighting the Scene 55
Chapter Summary 57
4. Graphics and Rendering in Three.js. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Geometry and Meshes 59
Prebuilt Geometry Types 59
Paths, Shapes, and Extrusions 60
The Geometry Base Class 62
BufferGeometry for Optimized Mesh Rendering 65
Importing Meshes from Modeling Packages 66
The Scene Graph and Transform Hierarchy 67
Using Scene Graphs to Manage Scene Complexity 67
Scene Graphs in Three.js 68
Representing Translation, Rotation, and Scale 72
Materials 72
Standard Mesh Materials 73
Adding Realism with Multiple Textures 74
Lights 79
Shadows 81
Shaders 86
The ShaderMaterial Class: Roll Your Own 87
Using GLSL Shader Code with Three.js 89
Rendering 92
Post-Processing and Multipass Rendering 93
Deferred Rendering 94
Chapter Summary 95
5. 3D Animation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Driving Animation with requestAnimationFrame()
For instance, did you know that Three.js is a JavaScript 3D Engine? I didn’t until I read this book. Do you know what a mesh is? I still don’t quite understand what it is exactly, although it is in Photoshop CS4, when you want to turn your creation into a 3D drawing. Even if I knew what it was, I wouldn’t truly understand it without having read this book and actually following the examples in this book. I haven’t followed the examples in this book because I have so much other stuff going on. I would like to eventually learn how to program in 3D, but alas, that will also have to wait until another day.
Seriously, if you want to learn how to program in 3D, you need this book. I would recommend this book to anyone who both knows intermediate programming and as an incentive to those just learning. You may pick up a few pointers from it even if you don’t know that much programming yet.



Link product title to this URL: http://shop.oreilly.com/product/0636920029205.do

No comments: