OpenGL Project - objects not keeping filling color on movement

Solution 1:

OpenGL is a state engine. Once a state has been set, it is retained until it is changed again, even beyond frames. Therefore, you need to set the polygon mode GL_FILL before rendering the solid geometry:

void CALLBACK display (void)
{
    glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);

    // render solid geometry
    // [...]
    
    glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);

    // render wireframe geometry
    // [...]
}