3 ms·
This is interesting and probably quite useful for a beginner, although I would have to say some of the techniques diverge from what more experienced graphics pr
by andrewmu 14y ago
This is interesting and probably quite useful for a beginner, although I would have to say some of the techniques diverge from what more experienced graphics programmers use, e.g. working out the lighting with acos, instead of normalising the light and /normal/ vectors. Also the coding style, e.g. local variables LikeThis drove me a bit nuts.
I think with refinement it could be really good though.
- nint22 14y agoHi Andrew, I'm Jeremy - the author of the book. So yes, I immediately agree with everything you say, and would even like to ask you to clarify more on some of the technique divergence. Optimisations (such as acos vs. normalization) was done on purpose to make the math and code crystal clear to the reader. I've really been frustrated with great books that explain one equation but then implement its optimized form without any clear transition or derivation. I'm also aware that my texture system is very different than the standard approach; this was done for my own sake since I felt more comfortable with the Barycentric system, though (correct me if I'm wrong) that is rarely used in comercial applications. I'm always looking to make things better for the reader, so do tell me what other professionals think! As for coding style - PLEASE do comment on it! I'm pretty anal about formatting and standards, and wrote this tutorial over a few months so things might of broke down over time. I'll be posting the book's code on Github tonight and allow several users to modify some code as requested by users here and on Reddit.
- nint22 14y agoHello Andrew, I wanted to follow-up with a like to source code for any changes you want to introduce! I'm seriously very interested in changes you might introduce, so please do anything you would like with the source code here: https://github.com/nint22/3DTutorial https://github.com/nint22/3DTutorial :-)