Tuesday, December 16, 2008

Semi-Functional

Ok.  After a long day in the trenches I have the OSX version almost back to running and with all of the targeted improvements in place.  There is a good bit of glue code that still needs to be put in place (for key presses and mouse movements and such), but the fundamentals seem to be working.

The basic idea behind what I did is this:
  1. Move to a Document Type manager - using abstract factories, each document type (think Part, Assembly, Visualization, etc) registers themselves and passes a factory.  Then when anyone asks the Wildcat kernel (also a new class) for a document of a particular type it can then create it.
  2. Move to a core OpenGL context - when the kernel starts it creates its own OpenGL context which can then be used to see what the capabilities of the graphics card are much more easily.  This core context is now shared with each document thus greatly reducing document creation time and graphics memory overhead.  Big improvements should come from this.
  3. Building on 1 & 2 - once I moved to this new kernel arrangement I was able to clear a lot of cruft out and clean up the platform independent side of things.  This obviously has a direct impact on the platform specific code and that is what is going to take some clean up work.  But that is for tomorrow!
Hope some of this makes sense.  These are things I have wanted to do for a while and the nearly daily emails asking if such and such a graphics card is supported finally put me over the edge and I decided to just jump in and do it.

Check back in next week and hopefully things will be back up and running fully.
Cheers,
   Graham

5 comments:

Anonymous said...

As the last commit was almost three months ago, I assume this project is pretty much dead before it could gain momentum.

A real 3D cad program does not happen overnight, so if it lacks regular work on this, it will fail.

Im really sad to realise this.

jonpry said...

What is happening with this project? I am one of the lead developers of heekscad, and am very interested in a non opencascade brep library. Imho, opensource 3d modeling will never make it to the desktop without some better licensed brep code. Wildcat is the only thing I have ever found that is close. Maybe we can talk about this, I know a little bit about computational geometry and am interested in working on it. I was thinking about using the NEF polyhedra stuff from CGAL. Seems like an easy way to do surface classification, but it really doesn't allow for importing of existing breps, or exporting data that makes sense to other programs.

cad drafting services said...

Based on which technology you work?

Anonymous said...

This project looked so promising. it has come such a long way, and now.... nothing. What happened? Is Graham OK? It's probably silly to ask these questions when I don't see a "Reply" button anywhere.

I would donate something to this project if it would help get it back up and running, though I know I personally can't do much... I really feel helpless. Anyway, I'll still check in from time to time just in case anything new develops.

Kris Lyttle said...

My friends, I know it's been a while since any new developments on Wildcat has been reported, but Graham had stated in an earlier post that he would need to concentrate all of his efforts on completing his doctorate studies, and so wouldn't have the time to devote to Wildcat at this point...and wouldn't for some time yet; yeah, it's a real bummer, but his Ph.D is more important right now.

Graham, if you're still reading the comments posted here, any time you're ready to jump back into developing Wildcat, I'm sure we will all try to lend a hand wherever we can.

Good luck!

Kris