Re: ObjC 3D engine
Re: ObjC 3D engine
- Subject: Re: ObjC 3D engine
- From: Colin Cornaby <email@hidden>
- Date: Mon, 25 Jun 2007 12:07:14 -0700
As someone who did this exact project as my capstone in high school,
here is my perspective.
I wasn't as good a coder back then, but Cocoa is extremely slow for
OpenGL. I ended up writing the backend mostly in C, and tried to
avoid Cocoa wherever possible. I could do this to a point, but for
doing things such as collision detection I would still end up in
situations where I would have to iterate through Cocoa arrays, which
would be a huge slowdown.
I ended up in College actually going back and coding a new in C and C+
+. It was a lot faster, and gained me portability to other operating
systems. Now I've actually gone back and coded my engine in pure C,
it's a lot faster, and again, portable.
I think a Cocoa 3D engine is a worthy cause, it would certainly make
3D more accessible to people without OGL experience. But for any
serious work, you're going to want a C++ or C engine just for speed.
And for newbs, Core Animation may be able to do the basic 3D work
that they want to do, negating the need for a Cocoa OGL framework.
What might be a more worthy cause is code something that is written
in C or C++, and uses built in Mac OS X technologies such as Quartz
and QuickTime.
On Jun 23, 2007, at 5:51 PM, Jonathan deWerd wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
About a year ago I was looking for a good open-source objc/cocoa 3D
engine. After several days of searching, the best I could find were
a few outdated and/or abandoned frameworks (note: I could just
suck at searching, so if you are working on one don't take
offense). I decided that it would be a huge learning experience to
write my own, so I did. Or, to be more accurate, I hacked together
a bunch of classes which suited my needs. In any case, I now have
about 15k lines of cocoa 3D code that I want to put to some use. I
will say again that I *do not* have anything resembling any of the
mature C++ engines out there. I just have a start, if that. But I
would like to get some of your thoughts.
1) Is it worth turning this into an open source project at all (who
would actually like a cocoa 3D engine, or does core animation do
everything you want)?
2) Who would be willing to work on it with me?
3) If it is worth turning into a project, how much should I clean
my codebase before opening it up? Going through and presenting a
unified interface, documentation, and convention set would be
essential, but a lot of work. Should I do this before opening the
project to avoid scaring devs away or would it be best to "harness
the power of open source" and do it after? For that matter, should
I get it to a working "alpha" stage on my own?
4) What should I go with as far as SCM/forums/website are
concerned? Personally I really, really love git for SCM (seriously,
check it out. It blows svn out of the water in just about every
area, and it's really easy to compile. Just one dependancy, which
is itself a clean build on a default dev install of OSX). Should I
give up all the git goodness to conform? Should I use sourceforge,
host the dev stuff myself (then look for a better webserver when
approaching production), or do something else?
And I think that's all I can think of for now. Please tell me what
you think :)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Darwin)
iD8DBQFGfamdJFLIvUXTZHsRAhz7AJ92ZQ4wBAQxJXQFiAXtkkafCLShhgCfcdKy
C09h/YZdcwVVgb7MQdJMDZg=
=WE+s
-----END PGP SIGNATURE-----
_______________________________________________
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:
40mac.com
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