Esempio n. 1
0
        /// <summary>
        /// Load stuff here
        /// </summary>
        protected override void Initialize()
        {
            var device	=	GraphicsDevice;

            base.Initialize();

            vb			=	new VertexBuffer(device,  typeof(Vertex), 6 );
            cb			=	new ConstantBuffer(GraphicsDevice, typeof(ConstData) );
            instDataGpu	=	new StructuredBuffer( device, typeof(InstData), InstanceCount, StructuredBufferFlags.None );
            instDataCpu	=	new InstData[ InstanceCount ];

            var rand = new Random();
            for (int i=0; i<InstanceCount; i++) {
                instDataCpu[ i ].Offset		=	rand.NextVector2( new Vector2(-2.5f,-2f), new Vector2( 2.5f,2f) );
                instDataCpu[ i ].Scale		=	rand.NextFloat( 0, 0.7f);
                instDataCpu[ i ].Rotation	=	rand.NextFloat( 0, MathUtil.TwoPi );
                instDataCpu[ i ].Color		=	rand.NextVector4( Vector4.Zero, Vector4.One * 0.7f );
                instDataCpu[ i ].TexId		=	rand.Next(4);
            }

            Reloading += InstancingDemo_Reloading;

            InstancingDemo_Reloading ( this, EventArgs.Empty );
        }
Esempio n. 2
0
		/// <summary>
		/// Load stuff here
		/// </summary>
		protected override void Initialize ()
		{
			var device	=	GraphicsDevice;

			base.Initialize();

			vb			=	new VertexBuffer(device,  typeof(Vertex),   6 );
			vbi			=	new VertexBuffer(device,  typeof(Instance), InstanceCount );
			cb			=	new ConstantBuffer(GraphicsDevice, typeof(ConstData) );

			instDataCpu	=	new Instance[ InstanceCount ];

			var rand = new Random();
			for (int i=0; i<InstanceCount; i++) {
				
				var offset		=	rand.NextVector2( new Vector2(-2.5f,-2f), new Vector2( 2.5f,2f) );
				var scale		=	rand.NextFloat( 0, 0.7f);
				var rotation	=	rand.NextFloat( 0, MathUtil.TwoPi );

				instDataCpu[ i ].InstanceTransform		=	new Vector4( offset, scale, rotation );
				instDataCpu[ i ].InstanceColor			=	rand.NextVector4( Vector4.Zero, Vector4.One * 0.7f );
				instDataCpu[ i ].InstanceTextureId		=	rand.Next(4);
			}

			//	handle hot reload :
			Reloading += InstancingDemo2_Reloading;
			InstancingDemo2_Reloading( this, EventArgs.Empty );
		}