// the 'Clean' template // plain vanilla javascript; draws pixel-buffer RGB // handles screen window & resizing , animation // css for crisp pixels instead of the default blur // interaction with mouse and touch on phones/tablets. // The source I put together over the years. // some more technical snippets I found online; like on stackoverflow. // although I lost track where I first found it; // still have to optimise it; and I guess there are some parts that could be done better. // 3D engine: // Learned and used some of the math; matrix and calculations by Simon Yeung // softwareRasterizer by Simon Yeung (2012) // javascript: 3D engine & perspective correct texture mapping: // http://simonstechblog.blogspot.com/2012/04/software-rasterizer-part-2.html // simon.yeunglm@gmail.com // I e-mailed Simon and he said it was ok that I could use some of his routines. // If you want to use it yourself, ask him about it, for that part. // Added a lot more, and still working on it. // // The 3D data format is based on the collada format; that I once deconstructed. // so you can save a 3D model like made in blender; as collada file. // then use that data in the engine: points / normals / uv-texture layout // and the data layout for every triangle. (that links to the points/normals/uv's)