screensaver

Jun 24, 2010 at 12:12 AM
Edited Jun 24, 2010 at 12:12 AM
Hi I have an Augmented reality app , and when no marker is detected it should default to a video.I have successfully done this with v3.3 before. but with 3.4 it gives an error. In code . i just do a MarkerFound check and stet off a stopwatch , and do videoPlayer_screensaver.Play(myVideoFile_saver); scene.ShowCameraImage = false; scene.BackgroundTexture = videoPlayer_screensaver.GetTexture(); videoPlayer_screensaver.IsLooped = true; At scene.ShowCameraImage = false; it gives me an error in DirectShowCapture.cs, the return image is null; public void GetImageTexture(int[] returnImage, ref IntPtr imagePtr) { if (grabbedImage != IntPtr.Zero) { processing = true; Marshal.Copy(grabbedImage, returnImage, 0, returnImage.Length); Please tell me what am i doing wrong Thanks JAson
Coordinator
Jun 24, 2010 at 10:46 AM

Thanks for the report. Probably there is a bug in Scene.cs since I modified the way how background image is handled. I'll look into the problem next week.

Ohan

Jun 25, 2010 at 7:48 PM
Edited Jun 25, 2010 at 7:50 PM

Ok but until then  can you pleasee suggest a way i can achieve this ??

 

Thanks

Jason 

Coordinator
Jul 12, 2010 at 8:45 AM
For now, it's probably best to draw the screen saver texture yourself using a SpriteBatch. Make sure to draw after base.Draw(...) call so that your screen saver will be rendered after whatever Goblin renders so that your screen save overwrites Goblin rendering. base.Draw(....); spriteBatch.Begin(); spriteBatch.Draw( // your texture here ); spriteBatch.End(); I haven't had time to look into the program, but it's probably due to texture size mismatching between the capture device and your screen saver image. Ohan