public Texture2D LoadTexture2DFromResource(string embeddedFileName, Shader.Profile profile) { lock (this) { string key = String.Format("Texture2D [Resource: {0}]", embeddedFileName); Texture2D tex = GetFromCache <Texture2D>(key); if (tex == null) { tex = new Texture2D(embeddedFileName, GetResourceStream(embeddedFileName)); AddToCache(key, tex); } return(tex); } }
public PixelShader LoadPixelShaderFromResource(string embeddedFileName, Shader.Profile profile) { lock (this) { string key = String.Format("Shader [Resource: {0} Profile: {1}]", embeddedFileName, profile); PixelShader shader = GetFromCache <PixelShader>(key); if (shader == null) { shader = new PixelShader(embeddedFileName, GetResourceStream(embeddedFileName), profile); AddToCache(key, shader); } return(shader); } }
public PixelShader LoadPixelShaderFromFile(string fileName, Shader.Profile profile) { lock (this) { string key = String.Format("Shader [File: {0} Profile: {1}]", fileName, profile); PixelShader shader = GetFromCache <PixelShader>(key); if (shader == null) { shader = new PixelShader(fileName, profile); AddToCache(key, shader); } return(shader); } }
public GeometryShader LoadGeometryShaderFromFile(string fileName, Shader.Profile profile, Type streamOutType) { lock (this) { string key = String.Format("Shader [File: {0} Profile: {1} StreamOutType: {2}]", fileName, profile, streamOutType); GeometryShader shader = GetFromCache <GeometryShader>(key); if (shader == null) { shader = new GeometryShader(fileName, profile, streamOutType); AddToCache(key, shader); } return(shader); } }
public PixelShader LoadPixelShaderFromByteArray(string name, byte[] sourceCode, Shader.Profile profile) { lock (this) { string key = String.Format("Shader [ByteArray: {0} Profile: {1}]", name, profile); PixelShader shader = GetFromCache <PixelShader>(key); if (shader == null) { using (var stream = new MemoryStream(sourceCode)) { shader = new PixelShader(name, stream, profile); } AddToCache(key, shader); } return(shader); } }
public GeometryShader LoadGeometryShaderFromResource(string embeddedFileName, Shader.Profile profile, Type streamOutType) { lock (this) { string key = String.Format("Shader [Resource: {0} Profile: {1} StreamOutType: {2}]", embeddedFileName, profile, streamOutType); GeometryShader shader = GetFromCache <GeometryShader>(key); if (shader == null) { shader = new GeometryShader(embeddedFileName, GetResourceStream(embeddedFileName), profile, streamOutType); AddToCache(key, shader); } return(shader); } }