string GetGpuInstancingReport() { if (m_Entities.Count > 1 && GpuInstancing.isSupported) { string reasons = ""; for (int i = 1; i < m_Entities.Count; ++i) { if (!GpuInstancing.CanBeBatched(m_Entities[0], m_Entities[i], ref reasons)) { return("Selected beams can't be batched together:\n" + reasons); } } } return(null); }
public static Material NewMaterial(bool gpuInstanced) { var shader = Config.Instance.beamShader; if (!shader) { Debug.LogError("Invalid Beam Shader set in VLB Config"); return(null); } var material = new Material(shader); material.hideFlags = Consts.ProceduralObjectsHideFlags; material.renderQueue = Config.Instance.geometryRenderQueue; GpuInstancing.SetMaterialProperties(material, gpuInstanced); return(material); }