Using C++, Objective-C and OpenGL

Discussion in 'Mac Programming' started by Cactus Dan, Mar 13, 2012.

  1. macrumors newbie

    Joined:
    Aug 8, 2010
    #1
    Howdy,

    Well, in my quest for knowledge, I've seen several threads on various forums where there's a discussion of wrapping C++ to Cocoa to be able to create C++ GUI applications on Mac OS. Most of the answers pointed to using Cocoa for the GUI parts (possibly Objective-C++ with .mm files) and C++ for the rest, but not many examples of how to actually do something like that.

    I did, however, find this old thread here that gave me inspiration:
    http://forums.macrumors.com/showthread.php?t=246143&highlight=c+mix+with+objective+c
    ... and got the ball rolling.

    According to the Application Kit Framework Reference:
    https://developer.apple.com/library...ssic/_index.html#//apple_ref/doc/uid/20001093

    … AppKit.framework is really all you need to create a GUI application:
    So, with that in mind, I set out to learn how to mix C++, Objective-C and OpenGL using the AppKit.framework. There isn't much information readily available for this kind of task. Most of the tutorials available for Mac programming are about Cocoa with Interface Builder, and are basically "do this, do that and bang! You're done." kind of tutorials. So, I had to really do my research to come up with a workable solution.

    Here's my project so far:
    http://www.cactus3d.com/CPPAppKitTest.zip

    Since most of my experience is with C/C++ (started learning C on a 68K Centris 650), Objective-C is a bit foreign to me, so I tried to keep the Objective-C code to a minimum. I reckon what I'm asking is if someone could look over the code in the above project and tell me if the Objective-C code is done correctly (specifically the memory management) and possibly offer any suggestions for improvements. It seems to work fine and running it with the debugger console doesn't report any issues.

    Adios,
    Cactus Dan
     
  2. thread starter macrumors newbie

    Joined:
    Aug 8, 2010
    #2
    Howdy,

    Hmmmm, a week later with 250+ views and no replies, is it safe to assume the Objective-C code in the project is fine? :confused:

    Adios,
    Cactus Dan
     
  3. macrumors newbie

    Joined:
    Dec 5, 2009
    #3
    .. or maybe you're asking at the wrong place. Try stackoverflow or some other forums where the visitors are mainly developers.
     
  4. macrumors 603

    Joined:
    Aug 9, 2009
    #4
    Or maybe dumping an entire project and basically saying "Please review this and point out any bugs or design flaws" is asking for more than anyone is willing to do.

    Also, since the OP specifically asked about memory management: There are memory tools (zombies and leaks) in Instruments that specifically address memory mgmt.
     
  5. thread starter macrumors newbie

    Joined:
    Aug 8, 2010
    #5
    Howdy,

    Ah, thanks for the tip. I wasn't aware of Instruments. It works great and no memory leaks in the project. ;)

    Adios,
    Cactus Dan
     
  6. macrumors regular

    Joined:
    Feb 14, 2013
    Location:
    The Woodlands, TX
    #6
    I find this absolutely fascinating! Have you done anything new or having any new updates to share? Shoot, something like this should be placed into GIT and a team should be assembled to work on it. I absolutely love it!
     

Share This Page