update RenderTexture2D
							parent
							
								
									c2a029ce85
								
							
						
					
					
						commit
						d3ae483074
					
				|  | @ -7,8 +7,8 @@ namespace MoonWorks.Test | ||||||
| 	class RenderTexture2DGame : Game | 	class RenderTexture2DGame : Game | ||||||
| 	{ | 	{ | ||||||
| 		private GraphicsPipeline pipeline; | 		private GraphicsPipeline pipeline; | ||||||
| 		private Buffer vertexBuffer; | 		private GpuBuffer vertexBuffer; | ||||||
| 		private Buffer indexBuffer; | 		private GpuBuffer indexBuffer; | ||||||
| 		private Texture[] textures = new Texture[4]; | 		private Texture[] textures = new Texture[4]; | ||||||
| 		private Sampler sampler; | 		private Sampler sampler; | ||||||
| 
 | 
 | ||||||
|  | @ -34,25 +34,10 @@ namespace MoonWorks.Test | ||||||
| 			sampler = new Sampler(GraphicsDevice, samplerCreateInfo); | 			sampler = new Sampler(GraphicsDevice, samplerCreateInfo); | ||||||
| 
 | 
 | ||||||
| 			// Create and populate the GPU resources | 			// Create and populate the GPU resources | ||||||
| 			vertexBuffer = Buffer.Create<PositionTextureVertex>(GraphicsDevice, BufferUsageFlags.Vertex, 16); | 			var resourceInitializer = new ResourceInitializer(GraphicsDevice); | ||||||
| 			indexBuffer = Buffer.Create<ushort>(GraphicsDevice, BufferUsageFlags.Index, 6); |  | ||||||
| 
 | 
 | ||||||
| 			for (int i = 0; i < textures.Length; i += 1) | 			vertexBuffer = resourceInitializer.CreateBuffer( | ||||||
| 			{ | 				[ | ||||||
| 				textures[i] = Texture.CreateTexture2D( |  | ||||||
| 					GraphicsDevice, |  | ||||||
| 					MainWindow.Width / 4, |  | ||||||
| 					MainWindow.Height / 4, |  | ||||||
| 					TextureFormat.R8G8B8A8, |  | ||||||
| 					TextureUsageFlags.ColorTarget | TextureUsageFlags.Sampler |  | ||||||
| 				); |  | ||||||
| 			} |  | ||||||
| 
 |  | ||||||
| 			CommandBuffer cmdbuf = GraphicsDevice.AcquireCommandBuffer(); |  | ||||||
| 			cmdbuf.SetBufferData( |  | ||||||
| 				vertexBuffer, |  | ||||||
| 				new PositionTextureVertex[] |  | ||||||
| 				{ |  | ||||||
| 					new PositionTextureVertex(new Vector3(-1, -1, 0), new Vector2(0, 0)), | 					new PositionTextureVertex(new Vector3(-1, -1, 0), new Vector2(0, 0)), | ||||||
| 					new PositionTextureVertex(new Vector3(0, -1, 0), new Vector2(1, 0)), | 					new PositionTextureVertex(new Vector3(0, -1, 0), new Vector2(1, 0)), | ||||||
| 					new PositionTextureVertex(new Vector3(0, 0, 0), new Vector2(1, 1)), | 					new PositionTextureVertex(new Vector3(0, 0, 0), new Vector2(1, 1)), | ||||||
|  | @ -72,18 +57,31 @@ namespace MoonWorks.Test | ||||||
| 					new PositionTextureVertex(new Vector3(1, 0, 0), new Vector2(1, 0)), | 					new PositionTextureVertex(new Vector3(1, 0, 0), new Vector2(1, 0)), | ||||||
| 					new PositionTextureVertex(new Vector3(1, 1, 0), new Vector2(1, 1)), | 					new PositionTextureVertex(new Vector3(1, 1, 0), new Vector2(1, 1)), | ||||||
| 					new PositionTextureVertex(new Vector3(0, 1, 0), new Vector2(0, 1)), | 					new PositionTextureVertex(new Vector3(0, 1, 0), new Vector2(0, 1)), | ||||||
| 				} | 				], | ||||||
| 			); | 				BufferUsageFlags.Vertex | ||||||
| 			cmdbuf.SetBufferData( |  | ||||||
| 				indexBuffer, |  | ||||||
| 				new ushort[] |  | ||||||
| 				{ |  | ||||||
| 					0, 1, 2, |  | ||||||
| 					0, 2, 3, |  | ||||||
| 				} |  | ||||||
| 			); | 			); | ||||||
| 
 | 
 | ||||||
| 			GraphicsDevice.Submit(cmdbuf); | 			indexBuffer = resourceInitializer.CreateBuffer<ushort>( | ||||||
|  | 				[ | ||||||
|  | 					0, 1, 2, | ||||||
|  | 					0, 2, 3, | ||||||
|  | 				], | ||||||
|  | 				BufferUsageFlags.Index | ||||||
|  | 			); | ||||||
|  | 
 | ||||||
|  | 			resourceInitializer.Upload(); | ||||||
|  | 			resourceInitializer.Dispose(); | ||||||
|  | 
 | ||||||
|  | 			for (int i = 0; i < textures.Length; i += 1) | ||||||
|  | 			{ | ||||||
|  | 				textures[i] = Texture.CreateTexture2D( | ||||||
|  | 					GraphicsDevice, | ||||||
|  | 					MainWindow.Width / 4, | ||||||
|  | 					MainWindow.Height / 4, | ||||||
|  | 					TextureFormat.R8G8B8A8, | ||||||
|  | 					TextureUsageFlags.ColorTarget | TextureUsageFlags.Sampler | ||||||
|  | 				); | ||||||
|  | 			} | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		protected override void Update(System.TimeSpan delta) { } | 		protected override void Update(System.TimeSpan delta) { } | ||||||
|  | @ -114,7 +112,7 @@ namespace MoonWorks.Test | ||||||
| 				for (uint i = 0; i < textures.Length; i += 1) | 				for (uint i = 0; i < textures.Length; i += 1) | ||||||
| 				{ | 				{ | ||||||
| 					cmdbuf.BindFragmentSamplers(new TextureSamplerBinding(textures[i], sampler)); | 					cmdbuf.BindFragmentSamplers(new TextureSamplerBinding(textures[i], sampler)); | ||||||
| 					cmdbuf.DrawIndexedPrimitives(4 * i, 0, 2, 0, 0); | 					cmdbuf.DrawIndexedPrimitives(4 * i, 0, 2); | ||||||
| 				} | 				} | ||||||
| 
 | 
 | ||||||
| 				cmdbuf.EndRenderPass(); | 				cmdbuf.EndRenderPass(); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue