On Wednesday, 20 November 2013 at 09:15:41 UTC, Rene Zwanenburg
wrote:
Hi,
A few things jumped out at me:
Camera.d:
- The use of x, y, z and rx, ry, rz. These should really be in
some vector struct. Since you're using Dub, you can easily use
gl3n [1][2]. While it's still pretty basic, should be more than
enough to get you started.
- Use Quaternions to store your rotations instead of euler
angles.
- You can use @property instead of trivial getters and setters
- You may want to store your camera matrices in the camera
class, and pass them to OpenGL when rendering. These matrices
can be useful, and you don't want to use glGet* functions ever
if you care about performance ;). gl3n provides matrix structs
and facilities to create projection matrices and the like.
Oops, I have to run.. Will take a look at the rest later.
[1] http://dav1dde.github.io/gl3n/index.html
[2] http://code.dlang.org/packages/gl3n
After a bit of careful study I figured out how @property works, I
just implemented it wrong last time, very helpful, thanks.