andy
andy

Reputation: 8885

How to apply video effects to a native app in osx

I understand the notion of applying filters to images using APIs. However, in regards to an app like Cathode, which is a terminal abstraction I guess, how does one go about creating such an app?

How would you explain how such an app could be created from a high level point of view.

For example, for image filters I could say, in your MVC cocoa app your controller implements an image API, which might load the image to memory, apply a filter to it though some methods calls, and then I send the response to a view.

but with something like Cathode, is it even an MVC cocoa app? Are there filters being applied to some view?

Thanks

Upvotes: 0

Views: 402

Answers (1)

James
James

Reputation: 2413

Just from eyeballing the front page of the Cathode sales site, I would guess that their application breaks down more-or-less like this:

  • The application is a Cocoa application in which the main UI component is some a custom NSView use for OpenGL rendering, as discussed in Apple's documentation. This direct link might break, but the following search terms will likely land you there: custom nsview opengl.
  • The fonts are probably not the system fonts, but some custom bitmapped fonts.
  • The terminal text is rendered to an FBO with an attached color texture.
  • The texture is filtered using either a fragment shader, or using OpenCL via CL/GL sharing.
  • The texture is deformed by applying the texture not to a straight-up single quad, but by pasting it to a mesh, which is deformed. This produces the bendy / tube effect in the screenshot.

That's about it. It is an MVC Cocoa app, and it probably is using filters.

Upvotes: 1

Related Questions