I chose to turn "GLfloat close" into a magic number in order to temporarily bypass the problem, but now that I have more time I'd like to figure out the real problem. I could have done the same with a different variable, but "close" was the easiest to get rid of. Also, the "memory limit" does not apply to variables of my own classes, like "Quaternion orientation".
My guess is that the real problem has something to do with shared pointers...
class Actor
{
public:
//State
Point position;
Quaternion orientation;
//Speed
Vector moveSpeed;
Vector turnSpeed;
protected:
//Model
GLfloat scale;
Model model;
GLuint UVTexture;
//Speeds
GLfloat moveAccel;
GLfloat turnAccel;
GLfloat moveCap;
GLfloat turnCap;
//Fade
static const long fadeBegin = 70;
static const long fadeEnd = 90;
static const int desiredOpacity = 5;
GLfloat opacity;
//GLfloat close;
//uncommenting this or adding another variable would cause the actors to stop displaying
//If I remember correctly, even though the objects don't display, their members are at least non-null
}






