5 ms·
I have a theory that ~50% of the games/graphics industry uses row-vector notation, rather than the column-vector style that is more common default in mathematic
by corysama 6y ago
I have a theory that ~50% of the games/graphics industry uses row-vector notation, rather than the column-vector style that is more common default in mathematics, because when RenderMan was created typesetting tools were still so difficult. So, it was much easier to typeset M*[x,y,z,w] than to typeset a vertical column vector. (Much like it still is in this textbox).
Direct3D 1.0 and several other early trendsetters in 3D graphics took a lot of inspiration from RenderMan. And so, along with coordinate system orientations, vector notation became yet another endian-war in 3D. Now that typesetting is much easier, column notation is slowly gaining ground in the name of consistency with the math community.
- a_e_k 6y agoDid you mean [x,y,z,w]*M? For textbox use, my workaround is to write [x,y,z,w]^T when I want to be clear that I really mean a column vector. Incidentally, your comment inspired me to go spelunking through some old tech memos (Standard disclaimer: RenderMan dev, opinions my own, this is my speculation, yada yada). As best as I can tell, the row vector convention in RenderMan must have came from Newman and Sproull's "Principles of Interactive Computer Graphics" [1] by way of Alvy Ray Smith who referred to the convention as "computer graphics normal form" [2]. Interestingly, that book seems to have been inspired in turn by course material from Ivan Sutherland [3], who had previously built a head-mounted display using custom hardware with a row vector times matrix multiplier unit, among other things [4]. [1] https://archive.org/details/principlesofinter00newm/page/334/mode/2up https://archive.org/details/principlesofinter00newm/page/334... [2] http://alvyray.com/Memos/CG/Pixar/Matrix64.pdf#page=6 http://alvyray.com/Memos/CG/Pixar/Matrix64.pdf#page=6 [3] https://www.computer.org/csdl/magazine/an/2018/04/08506443/17D45Xh13tX https://www.computer.org/csdl/magazine/an/2018/04/08506443/1... [4] http://www.medien.ifi.lmu.de/lehre/ss09/ar/p757-sutherland.pdf#page=6 http://www.medien.ifi.lmu.de/lehre/ss09/ar/p757-sutherland.p...