28 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System.IO;
 | |
| using SlatedGameToolkit.Framework.Graphics.OpenGL;
 | |
| using SlatedGameToolkit.Framework.Graphics.Textures;
 | |
| using StbImageSharp;
 | |
| 
 | |
| namespace SlatedGameToolkit.Commons.Loaders
 | |
| {
 | |
|     public static class TextureLoader
 | |
|     {
 | |
|         /// <summary>
 | |
|         /// Loads a texture using StbImage library.
 | |
|         /// Any format supported by StbImage is therefore supported.
 | |
|         /// </summary>
 | |
|         /// <param name="path">The path of the texture to load.</param>
 | |
|         /// <param name="glContext">The OpenGL context to associate the texture with.</param>
 | |
|         /// <returns>A texture.</returns>
 | |
|         public static Texture Load2DTexture(string path, GLContext glContext = null)
 | |
|         {
 | |
|             using (Stream stream = File.OpenRead(path))
 | |
|             {
 | |
|                 ImageResult image = ImageResult.FromStream(stream, ColorComponents.RedGreenBlueAlpha);
 | |
|                 TextureData textureData = new TextureData(image.Width, image.Height, image.Data);
 | |
|                 return new Texture(textureData, glContext);
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 |