コード例 #1
0
 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);
 }
コード例 #2
0
        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);
        }