On Wednesday, 20 November 2013 at 07:48:21 UTC, Mineko wrote:
Yo, I'm starting off a new game engine designed around D, and I just wanted to know if some of you might be kind enough to review some of my base code and tell me if I need to change anything in it.. While it's small. ;_;

I'm still learning D, I quite like it, the power of C++ in some parts, and the ease of Java in others. (Good job Walter!)

Anyway here, check it out, only ones you really need to pay attention to are main.d, time.d, and input.d.

https://github.com/ICGCC/Breaker-3D-Game-Engine

Thanks for helping out a newbie, and if you want to contribute to it, even better!

..That and if I'm using the GPL right. >_____>"

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

Reply via email to