• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Antialiassing in an FxPlug
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Antialiassing in an FxPlug


  • Subject: Re: Antialiassing in an FxPlug
  • From: Pete Warden <email@hidden>
  • Date: Tue, 29 Jan 2008 17:18:37 -0800

On Jan 28, 2008, at 1:46 AM, Gary Fielke wrote:
I'm trying to use opengl multisampling in an FxPlug and I keep hitting deadends.

a) GL_EXT_framebuffer_multisample isn't yet implemented (at least on my hw)

b) I've set up a pbuffer with a multisample pixel format (GL_SAMPLE_BUFFERS = 1 and GL_SAMPLES = 4, and enabling GL_MULTISAMPLE) but no antialiassing is being done. http://lists.apple.com/archives/mac-opengl/2005/Oct/msg00074.html suggests multisample pbuffers aren't supported and suggests solution c) - which does work in an app, but cannot be used in an FxPlug.

c) I cannot use a hidden window with an NSOpenGLView (created with multisample pixel format) as the shared context passed to the FxPlug is a CGLContextObj which it seems can't be used with the windowing system.

It surely must be possible somehow?
Any help to get me on the right path is appreciated!

Hi Gary,
you're right, there are a lot of mines to step on when trying to get multisampling working in an FxPlug. Since as you discovered PBuffers don't support them, and I'm not sure of the state of FBO support, we've tended to do the same operations manually. I don't have much information on the state of hidden windows, since it's been a long time since we used them, but it's a pretty unusual path to be using these days and I wouldn't recommend it.


Basically, allocate a pbuffer or FBO that's several times larger than the final output, and draw into it scaled up. Then as a final pass, scale down and resample the result into the output.

One thing to watch out for with this is that you may hit card limits to the maximum texture size, or even how many textures will fit in VRAM at 16 and 32 bit float bit depths. FCP and Motion have checks to limit the output size they request to stay within those limits. Rather than allocating one large buffer, you may instead want to allocate several smaller buffers at the output size, draw separately into them as tiles, and then join them together by rendering them into the final output.

Is that any help?

Pete

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Pro-apps-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


References: 
 >Antialiassing in an FxPlug (From: Gary Fielke <email@hidden>)

  • Prev by Date: Re: reset all controls and custom data
  • Next by Date: variesOverTime method of an FxPlug
  • Previous by thread: Antialiassing in an FxPlug
  • Next by thread: Re: Antialiassing in an FxPlug
  • Index(es):
    • Date
    • Thread