private bool IsTextureCached(TextureCreationRequest request, out Texture2D texture) { if (textureCache.ContainsKey(request)) { texture = textureCache[request]; return(true); } texture = null; return(false); }
public Texture2D GetTexture(TextureCreationRequest request) { Contract.Requires(request != null); Texture2D texture; if (IsTextureCached(request, out texture)) { return(texture); } texture = new Texture2D(device, request.Width, request.Height, false, SurfaceFormat.Color); texture.SetData(request.Pattern.Get(request.Width, request.Height)); textureCache.Add(request, texture); return(texture); }