Don't use the accumulation buffer unless you must, as it is implemented in software instead of being accelerated by the GPU.

There's an interesting example of a "poor man's depth of field" written in a GLSL shader in the "FBO Bunnies" sample, up on the developer.apple.com website. It's pure OpenGL (not QC) but check it out.

Allan
___________

Allan Schaffer
Graphics Evangelist
Worldwide Developer Relations



On Aug 4, 2008, at 8:59 AM, Chris Wood wrote:

I'm pretty hazy on accumulation buffers, but I don't see much reason why you couldn't just use a CI filter to make an average of 5 input images :)

I thought a bit more about how to do the initial render too, and I think the only way is to make the part that draws the scene, then put it in a 3d transform, put that in the render in image, and copy + paste that until you have enough copies of the scene. You'd then give each bit a slightly different angle of rotation in the render in image (and probably link the origin position and the angles via a math patch or two + published ports, so you can manipulate the focal point and depth effect amount easily).

That's not exactly efficient though :/ Is there a better way to do it?

Chris


2008/8/4 Alex Drinkwater <[EMAIL PROTECTED]>
I've been looking into this sporadically, too.
Chris's suggestion of rendering more than once has come up several times in my research as a method of simulating DOF type effects. All the writeups about his particular technique that I've seen require use of the accumulation buffer to accumulate the result of each render pass, and I don't think that's possible in QC, as the OpenGL context setup by the application doesn't include an accumulation buffer.

I'm hazy on OpenGL though, so it's completely possible that you could create a environment-macro-type plugin for QC that allowed DOF rendering using this method.

Any thoughts, anyone?


a|x
http://machinesdontcare.wordpress.com




On 3 Aug 2008, at 20:09, MARK HARRIS wrote:

> thanks Chris. thats the problem I've been having if I select the
> read/write on the base sprite (the one which is duplicated) it sorts
> the depth problem, i.e. the shapes in the foreground go over the
> ones in the background, but I lose the transparency around the
> shape.. Please excuse my lack of knowledge but is that what you mean
> by the Z buffer?
>
> The best solution I could come up with is this.. I split the
> composition into four layer which allowed me to have the extreme
> distance and forground blurred and transparent which gives it a nice
> depth of field effect..
>
> I was just wondering if there was a better solution to this..
>
> Many thanks Mark
>
> <solution.qtz>
>
>> I've not had time to look at the composition, but I've learnt a
>> fair bit about Z sorting in QC. Most patches do respect Z sorting,
>> just make sure you have 'Read/Write' selected for the Z buffer for
>> each patch you want depth enabled for. If you're rendering inside a
>> render-in-image, make sure you have the z buffer enabled for that
>> too or it won't work.
>>
>> The other thing to be aware of is transparency - if you use say a
>> bunch of sprites with a texture that has transparent areas, if
>> another sprite renders behind one it will be correctly Z-sorted but
>> won't render in the transparent areas because it's 'behind' the
>> front sprite. I've found it's a case of one or the other but not
>> both when it comes to transparency and Z.
>>
>> Chris
>>
>>
>> On 3 Aug 2008, at 18:36, vade wrote:
>>
>>> it looks like this is because quartz renders based on layers, and
>>> does not do any z sorting between layers. Since you have clouds
>>> and shadows in the same iterator, they are rendered one after the
>>> other, per iteration, using the painters algorithm, (meaning, its
>>> just drawn on top of whatever was there before).
>>>
>>> easy fix - separate out your shadows in a separate iterator and
>>> draw them first.
>>>
>>> hard fix, figure out depth sorting in QC..
>>>
>>> On Aug 3, 2008, at 12:22 PM, MARK HARRIS wrote:
>>>
>>>> <problem.qtz>
>>>
>>> _______________________________________________
>>> 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/psonice%40gmail.com
>>>
>>> This email sent to [EMAIL PROTECTED]
>>
>
> _______________________________________________
> 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/psonice%40gmail.com
>
> This email sent to [EMAIL PROTECTED]

_______________________________________________
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/the_voder%40yahoo.co.uk

This email sent to [EMAIL PROTECTED]

Not happy with your email address?
Get the one you really want - millions of new email addresses available now at Yahoo!

 _______________________________________________
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/psonice%40gmail.com

This email sent to [EMAIL PROTECTED]

_______________________________________________
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/aschaffer%40apple.com

This email sent to [EMAIL PROTECTED]

 _______________________________________________
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