Exemple #1
0
        /// <summary>
        /// <see cref="PrepareForDraw"/> prepares and updates the Material, ShapeBuilder and VertexBuilder if necessary
        /// </summary>
        private void PrepareForDraw()
        {
            Material.PrepareForDraw(vertexBuilder, ParticleSorter);

            ShapeBuilder.PrepareForDraw(vertexBuilder, ParticleSorter);

            // Update the vertex builder and the vertex layout if needed
            if (Material.VertexLayoutHasChanged || ShapeBuilder.VertexLayoutHasChanged)
            {
                vertexBuilder.ResetVertexElementList();

                Material.UpdateVertexBuilder(vertexBuilder);

                ShapeBuilder.UpdateVertexBuilder(vertexBuilder);

                vertexBuilder.UpdateVertexLayout();
            }
        }
Exemple #2
0
        /// <summary>
        /// <see cref="PrepareForDraw"/> prepares and updates the Material, ShapeBuilder and VertexBuilder if necessary
        /// </summary>
        public void PrepareForDraw()
        {
            Material.PrepareForDraw(VertexBuilder, ParticleSorter);

            ShapeBuilder.PrepareForDraw(VertexBuilder, ParticleSorter);

            // Update the vertex builder and the vertex layout if needed
            if (Material.HasVertexLayoutChanged || ShapeBuilder.VertexLayoutHasChanged)
            {
                VertexBuilder.ResetVertexElementList();

                Material.UpdateVertexBuilder(VertexBuilder);

                ShapeBuilder.UpdateVertexBuilder(VertexBuilder);

                VertexBuilder.UpdateVertexLayout();
            }

            VertexBuilder.SetRequiredQuads(ShapeBuilder.QuadsPerParticle, pool.LivingParticles, pool.ParticleCapacity);
        }