Ok, thanks for the hints. Actually pulling the image out of the card probably won't be much of an issue.

I find displacement mapping works best with a grid of around 96*96, and the texture having the same resolution. At higher resolution there's not much difference in quality, and I'm also normal mapping so it looks ok even lower. That shouldn't cause too much of an issue.

So, any of the dev team care to indicate if a fix is likely in the next few months? If not I'll give this a try.

Chris


On 24 Apr 2008, at 17:59, Christopher Wright <[EMAIL PROTECTED]> wrote:

... Publishing a processed image output and publishing the image
input to the glsl shader, and removing the colorspace data in the main
app seems to be the most promising avenue at the moment, but I've not
looked into it much so far.


To keep stuff running as smoothly as possible (I'm also of the opinion that the only work around at this point is to export the image to your app, do CS-tweaking there, and pass it back to the composition, unless there's a bugfix in the pipe), you'll want to keep the image on the GPU if possible (that's probably obvious :).

Initially, I was thinking that you could fetch the published image as a CIImage, swizzle the colorspace, and pass it back, but that doesn't appear possible (CIImage is way too opaque, and even the undocumented methods don't obviously expose a way to accomplish this). I've not worked extensively with CoreImage (mostly filter- side stuff), so I may be missing a simple solution there.

As a secondary solution, you could try fetching as a CoreVideo Buffer (CVImageBufferRef), and then create a CIImage from that (initWithCVImageBuffer:options: with options set to produce a working colorspace). I'm not sure of the details of this approach, or whether it's even close to optimal, but it's something to kick around I suppose. I've had good performance using CVBuffers for a few small projects I've worked on.

For simplicity, you could also try proof-of-concept tests using NSImage or something less accelerated. If the performance is decent in such situations, going the extra mile for the added speed of an all-GPU path may not be worth it for a non-widely distributed application.

--
[ christopher wright ]
[EMAIL PROTECTED]
http://kineme.net/

_______________________________________________
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