You know, the reason I registered dwightdesign.com in the first place was because dwighthouse.com was once owned by someone. Thankfully the domain expired recently and I was able to pick it up. I’m working on trimming down and optimizing content for the new site, and I hope I can have it up soon.
I spent a lot of my spare time on my vacation working on my vector library, SVML (simple vector math library). It is now at a complete enough stage to be shown off and used by others. I still consider it alpha code at this point, though. I decided to put it on Google Code where I hope to receive helpful comments and suggestions. I’ve written a few wiki pages to explain its use and features, too.
I finished my thesis and successfully defended it. The presentation went very well. I nailed the 45 minute timeframe, and I explained it well enough that there were few questions. It went about as smoothly as it possibly could go. I just need to make a couple grammatical fixes to the paper and submit three copies to the library. After that, I will have to do nothing further to finish my degree. They should give me my diploma in July.
To spoil it a bit, the method I used to implement edge detection in OpenCL has the advantage of making very accurate caps, but because of the way it works and the way memory management works in OpenCL, my technique is quite a bit slower than McGuire and Hughes’ technique that was implemented on vertex shaders. I had a few ideas in my Future Work section that might lead to faster speeds than shaders, but it’s tough to compete in terms of speed with technology that’s already so optimized.
I am to write an 8-page technical paper about my research that might get presented at the GAMEON conference at DigiPen this August. We’ll see how that goes. This week, however, it’s rest and job applications.
I’m very slowly working on a simple vector math library, appropriately named SVML, which will be released soon. Eventually, it will be the vector math equivalent of The-Best-Thing-Ever™ (or at least I hope so). My goals are three-fold:
- Concatenate all the vector math functionality I’ve used in previous projects
- Learn more about C++
- Have fun
Since this was a learning/fun project, I decided to work on the stuff I didn’t already know how to do first. With my recent thesis work with shaders and graphics calculations, implementation of swizzling functionality is a must for me. Ideally, my swizzling would have an interface identical to that of shaders, with both reading and writing masks. I should be able to write:
my2DVector.yx = my4DVector.zw;
which would store the z component of my4DVector in the y component of my2DVector, and the w component of my4DVector in the x component of my2DVector. Similar conversions and operational overloads would apply to all combinations of swizzles, so long as the types and dimensions are equivalent.
I did some looking around at other libraries and forum posts where people had tried to implement it. I was able to find quite a few implementation attempts. But none of these did what I wanted. Only one had true write swizzling, and try as I might, I wasn’t able to figure out how they did it (only the header was available, I believe, not the actual implementation). All the rest implemented read swizzling as function calls, some with #define’d names to give the familiar syntax.
I didn’t know what I was getting into, but I decided to see if I could find a better way. This is an account of my journey. Read more…
I’m looking for a job! For real this time! I’m pretty good with graphics and general game architecture. I’m getting better all the time, ripe for specialization. I also wouldn’t mind putting my layout and UI knowledge I gained in web design to work for game UIs. Anyone interested?
In other news, my thesis pre-defense will be in a few weeks, and I’ve begun writing the actual piece of paper again now that my advisor is confident in the significance of my implementation work. I really want to get everything done in the next couple weeks, which will allow me to defend my thesis early enough to receive my official M.S. diploma this year.
Here’s a rough sample of something that will be in my thesis. This will in all likelihood be in a subsection under “Improvements to Existing Algorithm” or as an Appendix.
