• 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: Visualization strategy/choosing a framework
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Visualization strategy/choosing a framework


  • Subject: Re: Visualization strategy/choosing a framework
  • From: Rob Rix <email@hidden>
  • Date: Thu, 1 Jan 2009 04:09:10 -0500

OpenGL has a steep learning curve, but it’s the only truly 3D framework out of all of these mentioned. Quartz is 2D-only, and only wraps OpenGL as a matter of performance and/or convenience; CoreAnimation is a really clever system for compositing 2D layers in 3D; managing the drawing yourself using NSBezierPath will quickly become mind-numbing.

Fortunately, OpenGL is also one of the best-documented frameworks on the system—once you’ve got past the initial bootstrapping and can draw something, anything, in your NSOpenGLView, you’ll find that a Google search can answer practically any question you might have about drawing, projections, picking, optimizations (after you’ve profiled, of course (: ), etc, because the vast majority of OpenGL knowledge earned on SGI/Windows/Linux/anywhere else is applicable to OpenGL on Mac OS X, too.

Sincerely,
Rob

On 31-Dec-08, at 10:19 PM, Adam Foltzer wrote:

Hello everyone,

I've been lurking here for a while as I've been learning the Cocoa ropes,
and I'm at the point where I need to put the (excellent) Hillegass theory
into practice. My app is an interactive particle swarm optimization (
http://en.wikipedia.org/wiki/Particle_swarm_optimization for the curious)
that generates N-dimensional coordinates representing individuals in a very
compelling, organic way. For visualization, of course, I'm mainly concerned
with two- and three-dimensional instances of these swarms.


My trouble is in deciding which graphics framework to pursue for the
visualization. Since all I need are representations of points, the path of
least resistance for 2-D visualization seems to be using a simple loop with
calls to [NSBezierPath fillrect:]. However, I suspect this pattern would not
extend well to rendering a scene with 3-D instances of the swarms.


Beyond the use of Bezier paths, my knowledge falls short pretty quickly. I
often hear people sing the praises of Core Animation, but the emphasis on
layering in the documentation makes me doubt its capability to draw such a
3-D scene.


I also see Quartz mentioned as a friendlier wrapper for OpenGL, but again I
get the impression that it's more geared toward 2-D rendering than anything
else. Is a straight dive into full OpenGL the way to go here? I realize that
these frameworks have similarities, and that picking the "wrong" one won't
at all be a waste of my time, but I'd be thrilled to hear thoughts on their
comparative virtues before I take the plunge either way.


Cheers, and a Happy New Year to you all,
Adam
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden

_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


References: 
 >Visualization strategy/choosing a framework (From: "Adam Foltzer" <email@hidden>)

  • Prev by Date: Re: Which language to get started with cocoa development?
  • Next by Date: Graphical UILabels in iPhone
  • Previous by thread: Re: Visualization strategy/choosing a framework
  • Next by thread: Re: Visualization strategy/choosing a framework
  • Index(es):
    • Date
    • Thread