Fixed concurrent problem and added camera view direction
Calculated view vector
Prevented a null pointer is an unlikely case