About Me:

A random pic of me

I will add more later but here are some basics:
  • Alumnus of Clemson University. My degree is a Bachelor of Science in Computer Science with an emphasis in Japanese. I decided to pursue Computer Science ever since the 10th grade when I decided to become a computer/console game programmer. I took almost every available interactive entertainment or graphics class while at Clemson. This includes (you can see more information on my 'Classes' page):
    • ray tracing in C - Undergraduate course where we implemented a ray tracer from scratch in C. The idea of the class was to develop an engine to render diffuse, specular highlights, ambient light against basic mathmatically defined objects such as spheres, planes, and cubes. A couple of us ended up adding reflective surfaces and textures.
    • advanced ray tracing in C - Graduate course where we quickly implemented a basic ray tracer like the one in the previous class, then went on to advanced topics such as soft shadows and glossy surfaces (via distributed ray tracing), a mountain terrain generator (created an .obj file to render with OpenGL), and Phong illumination. This was the hardest but one of the most fun classes I took.
    • project class on virtual reality - Our team consisted of 3 programmers and one artist, so we decided to focus on the technical side of the project. Our design was to implement a functional representation of M.C. Escher's House of Stairs. The most challenging part of the project was to correctly flip the camera matrix depending on which door you went through. Also, to prevent the issue of gravity, we installed handrails and stuck the camera to the floor. My focus was the collision detection. Since our environment was very detailed, I had our artist create a separate model with very simple polygons, and I used that model for collision detection while we used the high-res model for displaying. I also calculated the direction that the camera would "bounce off" the wall to give a more natural movement. Also, since we were using a VR headset, we had two render windows with two cameras at a fixed distance apart from each other.
  • My goal is to work as a software engineer with a technically challenging and interesting project. While in college I took Linear Algebra which got me more interested in the technical side of graphics. I also took two classes on ray tracing and this got me very interested in graphics. I recently rebuilt my C ray tracer using C++ and allowed it to output JPEG images directly rather than full-size PPM images files. I also have done some work with Android apps.
  • I currently work for SAP Ariba for the last 18 years as a solution architect in support. My job involves Java (JDK 8 experience), XML and some SQL (HANA) design and development. I also assist the support engineers with customer issues that are the most difficult at diagnosing. I have been developing internal tools to help our support engineers more quickly resolve data issues for customers for known issues that aren't easily fixed with an RCA (or have repeated RCA's). I also help add additional logging where we need it to diagnose an issue. I am also responsible for maintaining our support dev environment, which mimics builds and setup from production.

Brian Caines © 2024 BrianCaines.com