Original Post
Just trying to get my head around VMR9... What I'm trying to do is - based on the VMR9Allocator sample - render each frame of video to a texture. Then I want to use the texture each time round my render loop to paint one (or more) sprites. This should result in video rendered in an existing 3D scene within my engine. Inside my allocator class (derived from IVMRSurfaceAllocator9 and IVMRImagePresenter9) I'm creating a texture on initialisation. When PresentImage is called I'm then using StretchRect to copy the rendered frame to this texture. (This all happens - I presume - in a separate thread, so I use the CAutoLock utility to make sure that there are no simultaneous access attempts on the texture.) Outside of this thread my main render loop is running. I am assuming that I can use the texture created in the allocator class then to paint onto sprites within my scene - with suitable calls on CAutoLock as before. Can anyone confirm that this is a rational approach? I've got a white square only at the moment which implies that I'm not setting up or using the textures correctly - or that this is simply not the way to do it! Hope that's clear - I'd be very grateful for any help.