Hello list!

I could do with a quick pointer, as I'm trying to get an app built
that will play a composition, but have an issue with it.

In brief: I'm just using the player app from the QC examples, and
modifying it a bit. I need fullscreen, with keyboard + mouse control,
so it's pretty much there already. The catch is that I need to use a
sampler2d in a glsl patch, and particularly in the vertex shader.
There's a nasty bug somewhere (at a guess in the GLSL code from Apple)
that causes a crash if you try to do this (it's been discussed here
quite a while back, and bugs have been reported etc). I looked into
the cause of it back then, and it looks to be caused by colorspaces -
pass an image to the shader with a genericRGB colorspace (the plasma +
fire patches output in this) and it works fine, anything else
(including genericRGBLinear) either causes a crash, or at best no
crash but the shader does nothing to the vertices. Turning on
SoftwareCI in the hidden QC prefs fixes the problem, presumably by
turning off colorspaces for CI, but performance is way too low to be
an option for what I need.

So, the application I'm building: Using the standard player.app,
loading a composition with a sampler2d in a vertex shader causes the
screen to stay black, and it seems to be impossible to get back to the
desktop (I still hear sound so I guess the OS survives) and a forced
reboot is required. I've modified Player.app to use call QCRenderer
with initWithCGLContext: so I can set the colorspace for the renderer.
It didn't fix the bug though - with kCGColorSpaceGenericRGB I still
get the crash. With kCGColorSpaceGenericRGBLinear the composition
loads, but the vertex shader does nothing. I've tried a few other
colorspaces, but without success.

So, is there anywhere else I need to set the colorspace?
Alternatively, I'll try publishing the ports of the texture I use
(both in and out), so I can pull the texture out into a CGImage or
whatever, change the colorspace there, then pass it back into the GLSL
patch. Problem is my knowledge of cocoa is really limited - any clues
as to how to do it?

I've attached a composition that causes the crash, if anyone else
wants to experiment.

Chris

Attachment: crashtest.qtz
Description: application/quartzcomposer

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to