Beispiel #1
0
 /// <summary>
 /// Generate new culling sphere if needed<para/>
 /// Генерация новой сферы отсечения, если требуется
 /// </summary>
 protected void PrepareSphere()
 {
     if (needNewSphere && SubMesh != null)
     {
         PrepareMatrix();
         cullSphere    = SubMesh.GetSphere(completeMatrix);
         needNewSphere = false;
     }
 }
 /// <summary>
 /// Конструктор
 /// </summary>
 public WireGridComponent()
 {
     cellSize     = 1f;
     cellCount    = 30;
     groupedCells = 10;
     WireWidth    = 0.5f;
     accentColor  = Color.FromArgb(80, 80, 80);
     mainColor    = Color.FromArgb(60, 60, 60);
     cull         = new CullSphere();
     needBuffer   = true;
 }
Beispiel #3
0
        /// <summary>
        /// Перестройка сферы отсечения
        /// </summary>
        protected virtual void RebuildCullSphere()
        {
            List <CullBox> culls = new List <CullBox>();

            foreach (EntityComponent c in components)
            {
                if (c is IRenderable)
                {
                    CullBox cb = c.GetCullingBox();
                    if (cb != null)
                    {
                        culls.Add(cb);
                    }
                }
            }
            cullSphere          = CullBox.FromBoxes(culls.ToArray()).ToSphere();
            cullSphere.Position = PointToWorld(cullSphere.Position);
            needCullRebuild     = false;
        }
Beispiel #4
0
		/// <summary>
		/// Generate new culling sphere if needed<para/>
		/// Генерация новой сферы отсечения, если требуется
		/// </summary>
		protected void PrepareSphere() {
			if (needNewSphere && SubMesh!=null) {
				PrepareMatrix();
				cullSphere = SubMesh.GetSphere(completeMatrix);
				needNewSphere = false;
			}
		}