Compare commits
	
		
			No commits in common. "c7aefe4b3ada48b355fe8f5a4de9c14f2487a3bb" and "76dc472072f048e86929eef14d45472f14b45eeb" have entirely different histories. 
		
	
	
		
			c7aefe4b3a
			...
			76dc472072
		
	
		|  | @ -100,8 +100,8 @@ namespace MoonWorks.Test | |||
| 
 | ||||
|             cmdbuf.BindComputePipeline(gradientTextureComputePipeline); | ||||
|             cmdbuf.BindComputeTextures(texture); | ||||
|             uint offset = cmdbuf.PushComputeShaderUniforms(gradientUniforms); | ||||
|             cmdbuf.DispatchCompute(gradientUniforms.groupCountX, gradientUniforms.groupCountY, 1, offset); | ||||
|             cmdbuf.PushComputeShaderUniforms(gradientUniforms); | ||||
|             cmdbuf.DispatchCompute(gradientUniforms.groupCountX, gradientUniforms.groupCountY, 1, 0); | ||||
| 
 | ||||
|             GraphicsDevice.Submit(cmdbuf); | ||||
|             GraphicsDevice.Wait(); | ||||
|  |  | |||
|  | @ -32,7 +32,7 @@ namespace MoonWorks.Test | |||
| 
 | ||||
|             // Create and populate the vertex buffer | ||||
|             vertexBuffer = Buffer.Create<PositionColorVertex>(GraphicsDevice, BufferUsageFlags.Vertex, 6); | ||||
|             drawBuffer = Buffer.Create<IndirectDrawCommand>(GraphicsDevice, BufferUsageFlags.Indirect, 2); | ||||
|             drawBuffer = Buffer.Create<DrawIndirectCommand>(GraphicsDevice, BufferUsageFlags.Indirect, 2); | ||||
| 
 | ||||
|             CommandBuffer cmdbuf = GraphicsDevice.AcquireCommandBuffer(); | ||||
|             cmdbuf.SetBufferData( | ||||
|  | @ -50,10 +50,10 @@ namespace MoonWorks.Test | |||
|             ); | ||||
|             cmdbuf.SetBufferData( | ||||
|                 drawBuffer, | ||||
|                 new IndirectDrawCommand[] | ||||
|                 new DrawIndirectCommand[] | ||||
|                 { | ||||
|                     new IndirectDrawCommand(3, 1, 3, 0), | ||||
|                     new IndirectDrawCommand(3, 1, 0, 0), | ||||
|                     new DrawIndirectCommand(3, 1, 3, 0), | ||||
|                     new DrawIndirectCommand(3, 1, 0, 0), | ||||
|                 } | ||||
|             ); | ||||
|             GraphicsDevice.Submit(cmdbuf); | ||||
|  | @ -71,7 +71,7 @@ namespace MoonWorks.Test | |||
|                 cmdbuf.BeginRenderPass(new ColorAttachmentInfo(backbuffer, Color.CornflowerBlue)); | ||||
|                 cmdbuf.BindGraphicsPipeline(graphicsPipeline); | ||||
|                 cmdbuf.BindVertexBuffers(new BufferBinding(vertexBuffer, 0)); | ||||
|                 cmdbuf.DrawPrimitivesIndirect(drawBuffer, 0, 2, (uint) Marshal.SizeOf<IndirectDrawCommand>(), 0, 0); | ||||
|                 cmdbuf.DrawPrimitivesIndirect(drawBuffer, 0, 2, (uint) Marshal.SizeOf<DrawIndirectCommand>(), 0, 0); | ||||
|                 cmdbuf.EndRenderPass(); | ||||
|             } | ||||
|             GraphicsDevice.Submit(cmdbuf); | ||||
|  |  | |||
|  | @ -49,7 +49,6 @@ namespace MoonWorks.Test | |||
| 				vertShaderModule, | ||||
| 				fragShaderModule | ||||
| 			); | ||||
| 			pipelineCreateInfo.AttachmentInfo.ColorAttachmentDescriptions[0].BlendState = ColorAttachmentBlendState.AlphaBlend; | ||||
| 			pipelineCreateInfo.VertexInputState = new VertexInputState( | ||||
| 				VertexBinding.Create<PositionTextureVertex>(), | ||||
| 				VertexAttribute.Create<PositionTextureVertex>("Position", 0), | ||||
|  | @ -69,10 +68,10 @@ namespace MoonWorks.Test | |||
| 				vertexBuffer, | ||||
| 				new PositionTextureVertex[] | ||||
| 				{ | ||||
| 					new PositionTextureVertex(new Vector3(-0.5f, -0.5f, 0), new Vector2(0, 0)), | ||||
| 					new PositionTextureVertex(new Vector3(0.5f, -0.5f, 0), new Vector2(1, 0)), | ||||
| 					new PositionTextureVertex(new Vector3(0.5f, 0.5f, 0), new Vector2(1, 1)), | ||||
| 					new PositionTextureVertex(new Vector3(-0.5f, 0.5f, 0), new Vector2(0, 1)), | ||||
| 					new PositionTextureVertex(new Vector3(-1, -1, 0), new Vector2(0, 0)), | ||||
| 					new PositionTextureVertex(new Vector3(1, -1, 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(0, 1)), | ||||
| 				} | ||||
| 			); | ||||
| 			cmdbuf.SetBufferData( | ||||
|  | @ -95,9 +94,8 @@ namespace MoonWorks.Test | |||
| 
 | ||||
| 		protected override void Draw(double alpha) | ||||
| 		{ | ||||
| 			VertexUniforms vertUniforms; | ||||
| 			FragmentUniforms fragUniforms; | ||||
| 			uint vertParamOffset, fragParamOffset; | ||||
| 			VertexUniforms vertUniforms = new VertexUniforms(Matrix4x4.CreateRotationZ(t)); | ||||
| 			FragmentUniforms fragUniforms = new FragmentUniforms(new Vector4(1f, 0.5f + System.MathF.Sin(t) * 0.5f, 1f, 1f)); | ||||
| 
 | ||||
| 			CommandBuffer cmdbuf = GraphicsDevice.AcquireCommandBuffer(); | ||||
| 			Texture? backbuffer = cmdbuf.AcquireSwapchainTexture(MainWindow); | ||||
|  | @ -108,35 +106,9 @@ namespace MoonWorks.Test | |||
| 				cmdbuf.BindVertexBuffers(vertexBuffer); | ||||
| 				cmdbuf.BindIndexBuffer(indexBuffer, IndexElementSize.Sixteen); | ||||
| 				cmdbuf.BindFragmentSamplers(new TextureSamplerBinding(texture, sampler)); | ||||
| 
 | ||||
| 				// Top-left | ||||
| 				vertUniforms = new VertexUniforms(Matrix4x4.CreateRotationZ(t) * Matrix4x4.CreateTranslation(new Vector3(-0.5f, -0.5f, 0))); | ||||
| 				fragUniforms = new FragmentUniforms(new Vector4(1f, 0.5f + System.MathF.Sin(t) * 0.5f, 1f, 1f)); | ||||
| 				vertParamOffset = cmdbuf.PushVertexShaderUniforms(vertUniforms); | ||||
| 				fragParamOffset = cmdbuf.PushFragmentShaderUniforms(fragUniforms); | ||||
| 				uint vertParamOffset = cmdbuf.PushVertexShaderUniforms(vertUniforms); | ||||
| 				uint fragParamOffset = cmdbuf.PushFragmentShaderUniforms(fragUniforms); | ||||
| 				cmdbuf.DrawIndexedPrimitives(0, 0, 2, vertParamOffset, fragParamOffset); | ||||
| 
 | ||||
| 				// Top-right | ||||
| 				vertUniforms = new VertexUniforms(Matrix4x4.CreateRotationZ((2 * System.MathF.PI) - t) * Matrix4x4.CreateTranslation(new Vector3(0.5f, -0.5f, 0))); | ||||
| 				fragUniforms = new FragmentUniforms(new Vector4(1f, 0.5f + System.MathF.Cos(t) * 0.5f, 1f, 1f)); | ||||
| 				vertParamOffset = cmdbuf.PushVertexShaderUniforms(vertUniforms); | ||||
| 				fragParamOffset = cmdbuf.PushFragmentShaderUniforms(fragUniforms); | ||||
| 				cmdbuf.DrawIndexedPrimitives(0, 0, 2, vertParamOffset, fragParamOffset); | ||||
| 
 | ||||
| 				// Bottom-left | ||||
| 				vertUniforms = new VertexUniforms(Matrix4x4.CreateRotationZ(t) * Matrix4x4.CreateTranslation(new Vector3(-0.5f, 0.5f, 0))); | ||||
| 				fragUniforms = new FragmentUniforms(new Vector4(1f, 0.5f + System.MathF.Sin(t) * 0.2f, 1f, 1f)); | ||||
| 				vertParamOffset = cmdbuf.PushVertexShaderUniforms(vertUniforms); | ||||
| 				fragParamOffset = cmdbuf.PushFragmentShaderUniforms(fragUniforms); | ||||
| 				cmdbuf.DrawIndexedPrimitives(0, 0, 2, vertParamOffset, fragParamOffset); | ||||
| 
 | ||||
| 				// Bottom-right | ||||
| 				vertUniforms = new VertexUniforms(Matrix4x4.CreateRotationZ(t) * Matrix4x4.CreateTranslation(new Vector3(0.5f, 0.5f, 0))); | ||||
| 				fragUniforms = new FragmentUniforms(new Vector4(1f, 0.5f + System.MathF.Cos(t) * 1f, 1f, 1f)); | ||||
| 				vertParamOffset = cmdbuf.PushVertexShaderUniforms(vertUniforms); | ||||
| 				fragParamOffset = cmdbuf.PushFragmentShaderUniforms(fragUniforms); | ||||
| 				cmdbuf.DrawIndexedPrimitives(0, 0, 2, vertParamOffset, fragParamOffset); | ||||
| 
 | ||||
| 				cmdbuf.EndRenderPass(); | ||||
| 			} | ||||
| 			GraphicsDevice.Submit(cmdbuf); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue