some tweaks to ResourceUploader
							parent
							
								
									50b8cb11c9
								
							
						
					
					
						commit
						178a5ea3cf
					
				|  | @ -47,9 +47,11 @@ namespace MoonWorks.Graphics | ||||||
| 		/// <summary> | 		/// <summary> | ||||||
| 		/// Prepares upload of data into a GpuBuffer. | 		/// Prepares upload of data into a GpuBuffer. | ||||||
| 		/// </summary> | 		/// </summary> | ||||||
| 		public void SetBufferData<T>(GpuBuffer buffer, uint bufferOffset, Span<T> data) where T : unmanaged | 		public void SetBufferData<T>(GpuBuffer buffer, uint bufferOffsetInElements, Span<T> data) where T : unmanaged | ||||||
| 		{ | 		{ | ||||||
| 			var lengthInBytes = (uint) (Marshal.SizeOf<T>() * data.Length); | 			uint elementSize = (uint) Marshal.SizeOf<T>(); | ||||||
|  | 			uint offsetInBytes = elementSize * bufferOffsetInElements; | ||||||
|  | 			uint lengthInBytes = (uint) (elementSize * data.Length); | ||||||
| 
 | 
 | ||||||
| 			uint resourceOffset; | 			uint resourceOffset; | ||||||
| 			fixed (void* spanPtr = data) | 			fixed (void* spanPtr = data) | ||||||
|  | @ -57,12 +59,19 @@ namespace MoonWorks.Graphics | ||||||
| 				resourceOffset = CopyData(spanPtr, lengthInBytes); | 				resourceOffset = CopyData(spanPtr, lengthInBytes); | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			var bufferCopyParams = new BufferCopy(resourceOffset, bufferOffset, lengthInBytes); | 			var bufferCopyParams = new BufferCopy(resourceOffset, offsetInBytes, lengthInBytes); | ||||||
| 			BufferUploads.Add((buffer, bufferCopyParams)); | 			BufferUploads.Add((buffer, bufferCopyParams)); | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		// Textures | 		// Textures | ||||||
| 
 | 
 | ||||||
|  | 		public Texture CreateTexture2D(Span<byte> pixelData, uint width, uint height) | ||||||
|  | 		{ | ||||||
|  | 			var texture = Texture.CreateTexture2D(Device, width, height, TextureFormat.R8G8B8A8, TextureUsageFlags.Sampler); | ||||||
|  | 			SetTextureData(texture, pixelData); | ||||||
|  | 			return texture; | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
| 		/// <summary> | 		/// <summary> | ||||||
| 		/// Creates a 2D Texture from compressed image data to be uploaded. | 		/// Creates a 2D Texture from compressed image data to be uploaded. | ||||||
| 		/// </summary> | 		/// </summary> | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue