3d rendering software architecture