call once CommandBuffer.DrawMesh, then the scene has two meshes,Why?

My test code is as follows:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Rendering;
public class CommandBufferTest2 : MonoBehaviour
{
    private CommandBuffer commandBuffer;
    public Mesh sphereMesh;
    public Material standardMaterial;
    void Start()
    {
        commandBuffer = new CommandBuffer();
        Camera.main.AddCommandBuffer(CameraEvent.AfterForwardOpaque, commandBuffer);
        DrawMesh();
    }

    public void DrawMesh()
    {
        Matrix4x4 matrix4X4 = Matrix4x4.TRS(Vector3.up*2f, Quaternion.identity, Vector3.one * 2f);
        commandBuffer.DrawMesh(sphereMesh, matrix4X4, standardMaterial);
        Debug.Log(" DrawMesh Done ");
    }
}

and got following results:
5234873--522302--upload_2019-12-2_16-0-37.png
It confused me, why there are two meshes? And it not 3D.

I got the answer, my own material replace the standard material, then fixed it.
5239043--522854--upload_2019-12-3_10-20-21.png
But I don’t know why.
Does there need any special requirements on shader when we use commandbuffer?