A: Sharing OpenGL code that I've written or modified.
Q: What topics will be covered?
A: Any programming topic which captures my interest. This does mean that from time to time I may veer off the blog's stated purpose but I'm most interested in discussing 3D graphics code in the context of writing real applications.
Q: What is my background?
A: My formal education is as a mathematician. In my professional life I'm a software engineer*. I got my first taste of writing computer graphics code over 25 years ago experimenting with assembly code for CGA, EGA, VGA, and Hercules graphics cards. From there I went on to working in C on an X terminal project. After that I cofounded a graphics card company which made products for Sun workstations. The whole world of computer graphics has gone 3D so in an effort to remain relevant I started learning OpenGL over 14 years ago. After all this time I'm still disappointed that the project for which I learned OpenGL was cancelled but "c'est la vie/guerre". For me, the good news is that working in 3D graphics "scratches some of my itches":
- As a mathematician it's hard to share with friends and family how excited I am about various mathematical insights as I acquire them but when I run a graphics demo for people of the work I'm doing I can see the light in their eyes and it's really gratifying.
- I get to
- use my math knowledge†,
- sharpen my object oriented programming skills in C++, and
- draw pictures which appeals to the aesthete‡ in me.
* I always think of myself professionally as a computer programmer and feel like the job title "software engineer" is a bit pretentious. Still, if one wants to be taken seriously professionally one does what one must!
† Or "maths" knowledge for my British readers. Forgive me please; I'm hopelessly American. ☺
‡ While doing my undergraduate work I earned a minor in music. In my personal life I'm a fan of social dancing (for those who care international standard is my favorite style and I'm currently learning Argentine tango) and the art museums of Europe.
Q: Will your blog be the graphics programming analog of "world peace" or the "unified field theory of relativity"?
A: No, probably not but
- I find that explaining what I've done gives me clarity and helps me form a consistent (programming) philosophical framework for what I've done and how the tasks should be done. In this respect the blog will be a lab diary for my own benefit.
- The things I've learned may be of use to others in their own development. Hopefully, I'll provide a different perspective or way of explaining the concepts which will be beneficial even if what I have to say isn't ground breaking from a technology standpoint.
Q: Will the blog be math intensive?
A: I hope not. Mostly, I expect it will be "theory of programming" intensive. Still, I don't want to make promises I may not be able to keep. In order to help clarify the way the code works I will occasionally explain what the various computations mean but I don't expect to spend any time on proofs. I really expect to spend more time explaining why I wrote a particular piece of software to do a computation the way I did. As issues come up I do expect to provide a bibliography for readers who want to dig deeper into the mathematical theory.
Q: What platform(s) will the code run on?
A: Primarily Mac OS X and/or iOS. In some cases I plan to use GLUT or OpenGLUT for the code which runs on the Mac which, hopefully, will keep the code portable to other programming environments. Still, I won't guarantee all of the code will be portable to other platforms, as written.
Q: Do I blather on this much in person, too?
A: Sadly, yes.
Q: When will I actually post some code?
A: Real Soon Now™!
The last little bit of housekeeping I'll offer is that comments and criticisms are welcome. As I said earlier in this post using different words this blog is partly a learning experience for me and I'm looking forward to learning from readers' comments.
No comments:
Post a Comment