Advertisement

Is an MS in Mathematics enough to break into graphics?

Started by April 24, 2011 06:02 AM
5 comments, last by jesse007 13 years, 4 months ago
Hi,

I am currently studying for an MS in mathematics and was wondering if anyone out there has a degree in math and is doing graphics programming. If not, does anyone know how realistic it would be for someone in math to go into graphics? (I just recently got hit hard with the graphics bug. )It could be games or visualization/scientific applications; I don't care. If I need to, I could easily stay in school and get a master's in CS, but I'd rather get a programming job (non-graphics at first) to get real world experience while learning graphics on my own. I learned Java and some C/C++ on my own and it's actually enough to get a job where I work at.

Right now, I have a student RA where I mostly translate mathematical algorithms from research papers into actual code. Most of the math is difficult for the CS guys since it is an area that comes from order theory and lattice theory. Most of the code is basically doing set theory and FCA/order/lattice theory on the computer. I've noticed there are some math people doing graphics like David Eberly and Samuel Buss but they seem to be rare and exceptional, and they have PhDs.

My interest is mainly in 3d stuff. I've been playing around with OpenGL and worked through some NeHe lessons only to find out that most of those are old and uses the fixed pipeline which is deprecated. So now I've been looking into GLSL and Cg; needless to say, I was blown away when I saw what can be done when you start using shaders. This only motivated me to want to learn more so I spent some weeks reading most of the 7th edition Red book (deprecated!), the Superbible 5th Edition, and started reading Real Time Rendering and Edward Angel's Interactive Computer Graphics. I didn't realize I could understand most of those books quite easily after spending years doing abstract algebra and analysis. It was quite an amazing discovery when I found out that I could make some pretty pictures using basic Linear Algebra, Trig, and Vector Analysis. I always wanted to be an artist, but I gave up at a young age. For me, it seems like graphics programming re-opens the door to that kind of creativity that I once aspired to as a child. I feel like graphics programming is a way to use math to do art without being having to be an artist. :P If any graphics programmers are here, I'd like to know how they relate their work to art/math and what they find satisfying about the work.

So how does one break into the field? Should I learn OpenGL/Direct3d and make a bunch of demos or an engine? Or just stay in school for another 2-3 years and get the master's in CS? I've taken enough CS to know basic data structures like stacks, linked lists, queues, and trees and I even took a course on OOP, but I've never made a project that is longer than say, 1000-1500 lines of Java/C. Any advice or comments is appreciated. Thanks.

Jesse
Good judgment comes from experience; experience comes from bad judgment.
I personally really enjoy working with math guys when doing graphics programming !

While it can't be entirely generalized, from my personal experience CS / SE graduates have a distinct lack in advanced math background. On the most basic level, 3D graphics is really just linear algebra. Thus many people think that they can get along with learning the basics about vectors and matrices. And often even this knowledge is rather superficial. A surprising amount of graphics programmers could not even write a matrix inversion algorithm from scratch. But there comes a point where all this is just not enough anymore. When doing advanced graphics programming, especially the simulation of natural / physical phenomena, math is all that counts. As you go deeper into graphics, you will very often come across monstrous equations, where a good understanding of advanced math is required (especially multi-variate calculus). But that's actually the most fun part of the job, if you ask me. Nothing is better than finding an elegant and fast solution to a huge differential equation that runs with 50 fps and produces a gorgeous image !

As far as I see it, if your aim is to get into graphics programming and/or research, then an MS in math is perfectly fine. Usually there is no need for an additional CS degree. In fact, a math degree is preferable in such a field. Many companies (nvidia for example) will hire a math degree over a CS degree for graphics research positions. 80% of your time in graphics programming will be spent with pencil and paper over your equations and diagrams. The remaining 20% will be fighting against the shader compiler :P
Advertisement
No, noone will hire you (for research or anything else) with a masters in mathematics in a field that is mainly composed of math.
Ego post

I personally really enjoy working with math guys when doing graphics programming !

While it can't be entirely generalized, from my personal experience CS / SE graduates have a distinct lack in advanced math background. On the most basic level, 3D graphics is really just linear algebra. Thus many people think that they can get along with learning the basics about vectors and matrices. And often even this knowledge is rather superficial. A surprising amount of graphics programmers could not even write a matrix inversion algorithm from scratch. But there comes a point where all this is just not enough anymore. When doing advanced graphics programming, especially the simulation of natural / physical phenomena, math is all that counts. As you go deeper into graphics, you will very often come across monstrous equations, where a good understanding of advanced math is required (especially multi-variate calculus). But that's actually the most fun part of the job, if you ask me. Nothing is better than finding an elegant and fast solution to a huge differential equation that runs with 50 fps and produces a gorgeous image !

As far as I see it, if your aim is to get into graphics programming and/or research, then an MS in math is perfectly fine. Usually there is no need for an additional CS degree. In fact, a math degree is preferable in such a field. Many companies (nvidia for example) will hire a math degree over a CS degree for graphics research positions. 80% of your time in graphics programming will be spent with pencil and paper over your equations and diagrams. The remaining 20% will be fighting against the shader compiler :P


I thank you for your comments. I guess I was just under the impression that I was more or less stuck with teaching college or getting a PhD. I can only imagine the satisfaction you must get when you find the right equation to make the magic happen at 50 fps :). The best part is that you can actually see the results on the screen. I mean, even just solving an equation is satisfying enough but to actually see the image on the screen as a result of the math is actually kind of exciting. :o Spinning that first cube in OpenGL really motivated me to start learning more and to start to possibly consider a career in graphics.

Perhaps I gave the wrong impression to some people, but seriously, multivariate calculus and linear algebra aren't difficult if you are forced to spend a couple of semesters learning modules, tensor products, and function spaces.
Good judgment comes from experience; experience comes from bad judgment.
[font="Arial"]Is an MS in Mathematics enough to break into graphics? Yes[/font]
[font="Arial"]Do you need a MS to break into graphics? No[/font]

I have only a college degree in game programming, and I am Lead Graphics Programmer today. Only what I needed was linear maths, and LOT of experience in Rendering. I did some integrals and such in college, but doesn't remember much about it. I find myself limited sometimes in the understanding of certain papers. So it would surely help to have a MS. Depending what branch of graphics you are going: Medical, research, gaming. For gaming you just need the basics, clear understanding of matrices and shaders. Because the most complex things you might have to achieve are SSAO and deferred rendering. The other complex rendering techniques are mostly for research and show off demo. Not for actual games. Unless you are aiming the top (EPIC Games, Crytek...)
Advertisement

[font="Arial"]Is an MS in Mathematics enough to break into graphics? Yes[/font]
[font="Arial"]Do you need a MS to break into graphics? No[/font]

I have only a college degree in game programming, and I am Lead Graphics Programmer today. Only what I needed was linear maths, and LOT of experience in Rendering. I did some integrals and such in college, but doesn't remember much about it. I find myself limited sometimes in the understanding of certain papers. So it would surely help to have a MS. Depending what branch of graphics you are going: Medical, research, gaming. For gaming you just need the basics, clear understanding of matrices and shaders. Because the most complex things you might have to achieve are SSAO and deferred rendering. The other complex rendering techniques are mostly for research and show off demo. Not for actual games. Unless you are aiming the top (EPIC Games, Crytek...)


Thanks for your input. Your answer to my question in math lingo is that an MS is a sufficient condition to break into graphics, but not a necessary one. ;) Well at least now you have given me some measure of hope and I no longer feel that this way beyond my reach.
Good judgment comes from experience; experience comes from bad judgment.

This topic is closed to new replies.

Advertisement