Most of the existing 3D engines are overwhelmingly complex and do not integrate support for virtual characters. We have developed a teaching oriented 3D engine with support for such tasks as model loading and setup, shadows, level of detail as well as advanced shading techniques using the OpenGL Shading Language (GLSL), developed following Object-Oriented techniques and built upon standard open source components. We have also extended previous work by seamlessly incorporating XML driven crowds which can interact with the elements of the environment. The resulting system is a highly capable, yet easy to learn and use 3D engine which may be used for students in Computer Graphics to quickly build interactive applications and to provide a framework to begin using specialized shading techniques with GLSL. The engine also serves as a motivating development environment for creating visually attractive crowds of agents, aimed at students of introductory Artificial Intelligence courses.