//this method gets called, when Update() was called in evaluate, //or a graphics device asks for its texture, here you fill the texture with the actual data //this is called for each renderer, careful here with multiscreen setups, in that case //calculate the pixels in evaluate and just copy the data to the device texture here unsafe void UpdateTexture(FrameData info, Texture texture) { if(!info.Copied) { CopyByteArrayToTexture(info.Pixels, new Rectangle(0, 0, info.Width, info.Height), texture); info.Copied = true; } }
//this method gets called, when Reinitialize() was called in evaluate, //or a graphics device asks for its data Texture CreateTexture(FrameData info, Device device) { info.Copied = false; return TextureUtils.CreateTexture(device, Math.Max(info.Width, 1), Math.Max(info.Height, 1)); }