3D viewer based on openGL