private Camera createCamera()
    {
        GameObject gameObject = new GameObject();

        gameObject.name  = "ModelRenderCamera";
        gameObject.layer = iconRenderLayer;
        Camera camera = gameObject.AddComponent <Camera>();

        camera.aspect              = config.TextureDimensions.x / config.TextureDimensions.y;
        camera.clearFlags          = CameraClearFlags.Color;
        camera.backgroundColor     = new Color(1f, 1f, 1f, 0f);
        camera.orthographic        = config.IsOrthographic;
        camera.fieldOfView         = config.FieldOfView;
        camera.useOcclusionCulling = config.UseOcclusionCulling;
        CameraCullingMaskHelper.SetSingleLayer(camera, "IconRender");
        if (config.UseSolidBackground)
        {
            camera.backgroundColor = config.CameraBackgroundColor;
        }
        gameObject.transform.SetParent(modelRendererTransform);
        gameObject.transform.localPosition = Vector3.zero;
        return(camera);
    }