Articles from the inner product
来源:互联网 发布:mac使用搜狗 编辑:程序博客网 时间:2024/06/04 18:45
Over time, I will revise these articles to fix errata and make clarifications. So feedback is helpful! Drop me a line and let me know what you think.
Generally, the articles below differ from the versions printed in the magazine. They come from my original drafts, so they are not as nicely laid out, and they don't contain the editors' grammar tweaks. Some errata have already been fixed, and many segments that were cut for the magazine have been restored (the length limit for the print magazine is quite short.)
The Inner Product is aimed at practicing, professional game programmers who are already good at what they do. At the time I started writing the column, I felt that most game-related technical articles were slanted toward beginner- and intermediate-level programmers; and that if you were already at the level where you could read SIGGRAPH papers and implement them effectively, then there wasn't much in the way of game-specific writing that was helpful to you. Among the articles that did exist, I felt there was a lot of redundancy. So with The Inner Product I set out to write about technical subjects at the edges of professional game developers' understanding (or at least my own personal understanding), and to perform experiments that may be useful to professional programmers but also out-of-the-ordinary enough that people would not have explored those directions themselves. As I said in the first column, "if it wouldn't have been new and useful information to me 2 months ago, then I won't write it."
The name of the column signifies several things at once. The "inner product" is a mathematical operation, also commonly known as the "dot product"; this operation takes two vectors, which can be quite large many-dimensional quantities, and it crunches them together and yields for you a simple scalar value, telling you something about the relationship between those vectors. Accordingly, in the column I aspire to take complex-seeming subjects and distill them into their simpler essence, to find the kernel at the heart of the matter. Secondly, the name "inner product" signifies that we're building the mechanisms deep inside a game; whereas the players of a game see mostly the outer parts of the product (texture maps, 3D meshes and the like), it's that inner engine that makes it all possible. Thirdly, the name is a meditation on the idea of game development as self-improvement. All the mathematical and algorithmic knowledge, engineering, and discipline required for a modern game are difficult things to cultivate; whereas we employ them to build a tangible, outerly visible product (a game), perhaps the real value is that we are honing our ability to create and refining our understanding of the world.
Rights to reproduce these articles in print media are held by CMP Media, LLC. However, I retain electronic distribution rights, and I'm happy to pass these along to you. You can feel free to copy these articles, put them up on your own site, or whatever you want, provided you don't be a jerk about it (e.g. don't claim that you wrote them; and if you edit them, please make it clear to the reader that they are edited).
Articles Organized by Subject (an article may be classified under multiple subjects):
Graphics:Mipmapping 1 (December 2001)
Mipmapping 2 (January 2002)
Rendering Level-of-Detail Forecast (August 2002)
Unified Rendering LOD 1 (March 2003)
Unified Rendering LOD 2 (April 2003)
Unified Rendering LOD 3 (May 2003)
Unified Rendering LOD 4 (June 2003)
Unified Rendering LOD 5 (July 2003)
Animation:
Hacking Quaternions (March 2002)
IK with Quaternion Joint Limits (April 2002)
Understanding Slerp, Then Not Using It (April 2004)
Mathematical Growing Pains (February 2002)
Hacking Quaternions (March 2002)
IK with Quaternion Joint Limits (April 2002)
My Friend, The Covariance Body (September 2002)
Understanding Slerp, Then Not Using It (April 2004)
AI:
Toward Better Scripting 1 (October 2002)
Toward Better Scripting 2 (November 2002)
Predicate Logic (December 2003)
Packing Integers (May 2002)
Scalar Quantization (June 2002)
Transmitting Vectors (July 2002)
Arithmetic Coding 1 (August 2003)
Arithmetic Coding 2 (September 2003)
Adaptive Compression Across Unreliable Networks (October 2003)
Piecewise Linear Data Models (November 2003)
Scripting Languages:
Toward Better Scripting 1 (October 2002)
Toward Better Scripting 2 (November 2002)
Predicate Logic (December 2003)
Lerp 1 (January 2004)
Lerp 2 (February 2004)
Lerp 3 (March 2004)
Tools:
Interactive Profiling 1 (December 2002)
Interactive Profiling 2 (January 2003)
Interactive Profiling 3 (February 2003)
Miscellaneous Rants (May 2004)
Experiments I'd Like to Work On (June 2004)
Articles Organized Chronologically:
Mipmapping 1 (December 2001)Mipmapping 2 (January 2002)
Mathematical Growing Pains (February 2002)
Hacking Quaternions (March 2002)
IK with Quaternion Joint Limits (April 2002)
Packing Integers (May 2002)
Scalar Quantization (June 2002)
Transmitting Vectors (July 2002)
Rendering Level-of-Detail Forecast (August 2002)
My Friend, The Covariance Body (September 2002)
Toward Better Scripting 1 (October 2002)
Toward Better Scripting 2 (November 2002)
Interactive Profiling 1 (December 2002)
Interactive Profiling 2 (January 2003)
Interactive Profiling 3 (February 2003)Unified Rendering LOD 1 (March 2003)
Unified Rendering LOD 2 (April 2003)
Unified Rendering LOD 3 (May 2003)
Unified Rendering LOD 4 (June 2003)
Unified Rendering LOD 5 (July 2003)
Arithmetic Coding 1 (August 2003)
Arithmetic Coding 2 (September 2003)
Adaptive Compression Across Unreliable Networks (October 2003)
Piecewise Linear Data Models (November 2003)
Predicate Logic (December 2003)
Lerp 1 (January 2004)
Lerp 2 (February 2004)
Lerp 3 (March 2004)
Understanding Slerp, Then Not Using It (April 2004)
Miscellaneous Rants (May 2004)
Experiments I'd Like to Work On (June 2004)
Other Game Developer Magazine technical columnists:
Jeff Lander's Game Developer Companion page
Brian Hook's page doesn't actually have his articles right now, but maybe that will change sometime in the future.
Chris Hecker's Game Developer articles
[number-none.com] [Jonathan Blow's home page]
- Articles from the inner product
- inner product of functions
- Coding the Matrix: Week 6 Gaussian Elimination and the Inner Product 学习笔记
- Tips from Android SDK Articles
- GET SOME ARTICLES FROM OTHER WEBSITE
- From an inner class, "this" points to the inner object. How do I get a "this" pointer to the enclosing object?
- Getting Configurable Product from Simple Product ID
- Articles
- Articles
- articles
- articles
- articles
- articles
- 转: delete from inner join
- the “inner class” idiom
- projecteuler网站第四题解法:Find the largest palindrome made from the product of two 3-digit numbers
- Windows 8在Vmware 8 中安装提示:windows cannot read the<product key> setting from the unattend answer
- VM8.0下安装遇到了问题“windows cannot read the<product key> setting from the unattend answer file”解决方法
- Android权限大全
- VBS设置系统的环境变量
- 指令 ssh 及 putty Linux 和 Windows客户端
- iOS学习之iOS程序名称及内容国际化(本地化) .
- js单步调试方法
- Articles from the inner product
- GMT时间格式转换(Mon Feb 13 08:00:00 GMT+08:00 2012)
- 如何利用socket进行HTTP访问
- 计算机视觉资源
- 从 C/C++ 程序调用 Java 代码 .
- 黑马程序员_IO
- iBATIS ResultMap基础浅析
- Linux中断内核编程
- JavaScript数组定义