abstract 3dview funcs