jit.dx.grab incompatible with openGL?

thelizard's icon

Hi,

I've been having an odd bug occurring on two separate computers. The best way to test this is with the Jitter Recipes Book 3 tutorials.

If I open, say, "Shatter" or "TinyVideo," I must first replace jit.qt.grab with jit.dx.grab, as I am on a Windows computer. My webcam will open fine, but as I activate the patch itself, the render window stays a shade of gray. The Max message window does not deliver any errors.

I've used these patches correctly before, as I tested the demo on an iMac in my school's lab to see if they worked there.

This problem has occured on my XP desktop and Vista laptop. Both computers have the latest service pack and video drivers installed, and both are using Max 5.0.5. Also, other patches using jit.qt.movie with openGL (such as Crumbling Fortresses) are working correctly on my machine.

Am I supposed to use some sort of argument on jit.dx.grab, or is there an issue between dx and openGL? Should I also e-mail this report to Tech Support?

Thank you for your time.

-Michael

Joshua Kit Clayton's icon

Depending on the driver, I believe jit.dx.grab fills the alpha channel
with zero instead of 255. You can either disable alpha blending in the
gl objects, or fill the alpha channel with 255. I believe there's more
info if you search the forum.

-Joshua

thelizard's icon

Thank you! That definitely seemed to fix the problem.

I'm still new at this, so my solution was sending the output of jit.dx.grab to both inputs of a jit.alphablend channel. This finally produced an image, but it seems like the frame rate may have taken a hit.

Is there a cleaner/better method that anyone would recommend?

joshua goldberg's icon

if you use @colormode uyvy on both the grab and the first gl object
the resulting matrix encounters, you will both disable the alpha and
speed up your rendering to texture in the process.

On Jan 9, 2009, at 7:30 PM, Joshua Kit Clayton wrote:

>
> Depending on the driver, I believe jit.dx.grab fills the alpha
> channel with zero instead of 255. You can either disable alpha
> blending in the gl objects, or fill the alpha channel with 255. I
> believe there's more info if you search the forum.
>
> -Joshua

thelizard's icon

Thank you! That worked well.

My webcam apparently doesn't support direct grab of uyvy (the Max window gives an error "could not capture render stream" and closes it), but a jit.argb2uyvy between the two does the trick.