Please read instructions carefully!
28/Sep/2008 03:46 PM Filed in: Programming
While working on my research project/thesis, I
decided that I really need to start incorporating
threads into my apps to make anything of myself as a
competent programmer. This involved two significant
revelations: first, that pthreads do not inherently
play nice with C++ OOP (duh! they're a native C
library!); and second, threading OpenGL programs in
an entirely different ball game.
Getting a thread up (which, for the record, I have done before for classroom projects), was no big deal. Then realizing that C++ classes don't play nice with pthreads was a bit tricky. Once I figured that out (I welcomed static member functions with open arms, I just don't feel the need to code proxy thread classes! That's crap), I couldn't understand why my app kept crashing inside a thread using OpenGL calls. I thought it had to do with something I wasn't getting right when trying to recast a void*; however; some sleuthing made it clear that only OpenGL calls made the main process choke. All this eventually taught me a very valuable lesson...
READ THE INSTRUCTIONS FIRST!
The Apple documentation, conveniently titled "Multithreading and OpenGL," made it more than obvious that pitfalls run rampant across the OpenGL/Multithreading paradigm. Only a few sentences in gave me the clairvoyance I needed to see why my thread kept crashing.
I'll keep OpenGL calls within the main thread for now, but I look forward to working in Cocoa/Obj-C soon. At least there, OpenGL seems cared for delicately with plenty of out-of-the-box routines that are multithreading specific.
Getting a thread up (which, for the record, I have done before for classroom projects), was no big deal. Then realizing that C++ classes don't play nice with pthreads was a bit tricky. Once I figured that out (I welcomed static member functions with open arms, I just don't feel the need to code proxy thread classes! That's crap), I couldn't understand why my app kept crashing inside a thread using OpenGL calls. I thought it had to do with something I wasn't getting right when trying to recast a void*; however; some sleuthing made it clear that only OpenGL calls made the main process choke. All this eventually taught me a very valuable lesson...
READ THE INSTRUCTIONS FIRST!
The Apple documentation, conveniently titled "Multithreading and OpenGL," made it more than obvious that pitfalls run rampant across the OpenGL/Multithreading paradigm. Only a few sentences in gave me the clairvoyance I needed to see why my thread kept crashing.
I'll keep OpenGL calls within the main thread for now, but I look forward to working in Cocoa/Obj-C soon. At least there, OpenGL seems cared for delicately with plenty of out-of-the-box routines that are multithreading specific.
Fire on Ice!
24/Sep/2008 08:15 PM Filed in: Personal
Well, tonight is the first pre-season game for the
Detroit Red Wings. After last year, in addition to
getting in on a fantasy hockey league this season,
I'm more stoked than ever! Hopefully my new AT&T
U-verse service won't hamper on my viewing pleasure.
Let's hope.
Hockey is here! Eeeeeeeeeeee!
Hockey is here! Eeeeeeeeeeee!
HOCKEY IS HERE!!!1
13/Sep/2008 12:12 AM Filed in: Personal
SEE ME DOMINATE! Buy NHL
09 for the Xbox360; request to join "The Walmart
Greeters" club!
svn checkout svn://192.168.1.114
07/Sep/2008 08:13 PM Filed in: Programming
I setup an old beige tower with Xubuntu (733 MHz, 384
MiB) and put up Apache (of course), as well as *drum
roll* SVN! I'm using it on my research project cause
I'm trying to experiment with a bunch of new
programming designs for this project. I branched
a"stable" version and started a bunch of other
changes, and to know that I won't screw up the
original is just awesome! I should've done this a
long time ago.
w00t!
w00t!