# 3D Graphics Programmer

## Recommended Posts

I'm going to be doing a Bachelor of Science (Computer Science) combined with a Bachelor of Art (Mathematics).

I'd like to work in the games industry and since I love maths I thought 3D graphics looked interesting. Anyway I was wondering what maths units would be most useful for 3D graphics. The list is below.

Also how do 3D graphics programmers score in job security, salary, et cetera (especially in comparison to other jobs in game design)?

I'll start with third year (by then I will have covered ODE's, linear algebra, and stuff):

MATH3101 - Bifurcation and Chaos

Modelling with nonlinear systems of ODE's. Stability and bifurcation theory including the Hopf bifurcation and limit cycles. Homoclinic & heteroclinic orbits and Mel'nikov theory. Stability, bifurcation theory and chaos in I-dimensional Maps. Period doubling. Feigenbaum's approach to chaos. Properties of chaos. The Lorenz Equations.

MATH3102 - Methods & Models of Applied Mathematics

Elements of vector analysis. Sturm-Liouville theory. Fourier transform & Green's functions. Generalised functions. Modelling with scalar & vector fields: perfect fluid flow & potential theory; convection-diffusion equations & spread of pollutants; elastic continua and vibrations.

MATH3202 - Operations Research & Mathematical Planning

Applications of optimisation in operations research. Linear programming & non-linear programming. Use of optimisation packages.

MATH 3203 - Visualisation & Modelling in Scientific Computing

Visualisation as a key tool for the synthesis and analysis of biological, physical and engineering models. The use of the graphical interfaces of MATLAB and other visualisation packages such as OpenDX. Aspects of high performance computing. A brief introduction to parallel computing.

MATH3301 - Graph Theory & Geometry

Topics from graph theory & relevant algorithms. Planarity. Factorisation of graphs. Graphs with interesting automorphism groups. Euclidean, projective & other geometries.

MATH3302 - Coding & Cryptography

Error correction & detection. Hamming, BCH, Reed-Solomon & cyclic codes. Cryptographic methods for encryption, decryption & authentication. DES, IDEA, RSA. Applications: CD players, EFTPOS, etc.

MATH3303 - Abstract Algebra & Number Theory

Important facets of modern algebra & number theory, with emphasis on computational algorithms.

MATH3306 - Set Theory & Mathematical Logic

The course will introduce students to aspects of set theory and formal logic. It will include topics in Set Theory: the Zermelo-Fraenkel Axioms, Axiom of Choice, Transfinite arithmetic, Zorn's Lemma, Ordinal numbers, Cardinal numbers and an introduction to model theory; topics in Propositional & predicate calculus: semantics, soundness & completeness of formal languages, recursive functions & computability, Godel's incompleteness theorems.

MATH3404 - Optimisation Theory

Calculus of variations: critical points; Euler equations; transversality; corner conditions; Hamilton equations; Jacobi equations; Legendre sufficient condition; Weierstrass E-function. Control theory: Lagrange, Mayer & Bolza problems; Pontryagin maximal principle, legendre transformations, augmented Hamiltonians, transversality, bang-bang control, linear systems.

MATH4202 - Advanced Techniques in Numerical Linear Algebra

State of the art techniques in the application of numerical linear algebra in advanced scientific computation.

MATH4205 - Advances in Scientific Visualisation and Graphics

This course discusses advanced concepts in the area of data visualisation and computer graphics. Topics include multi-variate and multi-dimensional datasets, rendering algorithms, animation, haptics, sonification, immersive environments. The course strives to provide a snapshot on the current state of the art in visualisation and will be supported by recent research papers with real-world applications, spanning the physical sciences, engineering and computer science. Students will develop a topic of their choice by completing an individual project.

I guess that one is obviously going to be useful.

MATH4301 - Advanced Algebra

Topics from groups, rings, fields, algebraic number theory, category theory & homological algebra, with applications to quantum algebras.

MATH4302 - Combinatorial Designs

Selected topics from design theory, Latin squares, finite geometrics.

MATH4303 - Advanced Combinatorics

Topics from computational combinatorics & algorithms, cryptography, advanced graph theory.

MATH4405 - Measure Theory

Lebesgue integral & measure. Monotone convergence. Fatour & Lebesgue dominated convergence theorems. Modes of convergence. Bounded variation. Absolute continuity. Signed measures. Generation of measures. Radon-Nikodym & Riesz representation theorems.

MATH4406 - Control Theory

Topics from: state space control; linear systems; calculus of variations & Pontryagin principle; optimal control, quadratic optimisation, Riccati equations; stability; LQG, Kalman filtering; frequency domain theory; Matrix transfer functions, realisations; coprime factorisation; robust control.

If I've skipped something basic like the analyses, differential equations, number theory, it's because I'll be taking them regardless.

Thanks!

Anyone perfect must be lying, anything easy has its cost

Anyone plain can be lovely, anyone loved can be lost

##### Share on other sites

I've heard that 3D Engine Programmers get paid more money on average, because they are more rare and probably have a more difficult job.

(nothing like whipping out the assembly optimizations :D)

##### Share on other sites

I can't tell enough about the math classes from what you have listed. I would suggest either talking to some of the more knowledgeable teachers and/or a councilor. -- I have found that the knowledgable teacher can often be a better choice. - also don't limit yourself to math teachers, talk to ones in the computer science area and find out what aspects of math they find the most helpful, and find a class that deals with that.

##### Share on other sites

I'm going to be doing a Bachelor of Science (Computer Science) combined with a Bachelor of Art (Mathematics).

I'd like to work in the games industry and since I love maths I thought 3D graphics looked interesting. Anyway I was wondering what maths units would be most useful for 3D graphics. The list is below.

Also how do 3D graphics programmers score in job security, salary, et cetera (especially in comparison to other jobs in game design)?

I'll start with third year (by then I will have covered ODE's, linear algebra, and stuff):

MATH3101 - Bifurcation and Chaos

...

MATH3102 - Methods & Models of Applied Mathematics

...

MATH3202 - Operations Research & Mathematical Planning

...

MATH 3203 - Visualisation & Modelling in Scientific Computing

...

MATH3301 - Graph Theory & Geometry

...

MATH3302 - Coding & Cryptography

...

MATH3303 - Abstract Algebra & Number Theory

...

MATH3306 - Set Theory & Mathematical Logic

...

MATH3404 - Optimisation Theory

...

MATH4202 - Advanced Techniques in Numerical Linear Algebra

...

MATH4205 - Advances in Scientific Visualisation and Graphics

...

MATH4301 - Advanced Algebra

...

MATH4302 - Combinatorial Designs

...

MATH4303 - Advanced Combinatorics

...

MATH4405 - Measure Theory

...

MATH4406 - Control Theory

...

Firstly, I'd recommend that you take a straight Mathematics course: if you can take it, and you like mathematics, there is very few degrees around that are as good for your career. (There are far too many people with Comp Sci degrees, from every type of back-yard mail-order pedagogical group with half-a-dozen members; also, even a good degree is still the subject of violent argument in the engineering community as to its worth and relative place in that science. Not so with mathematics.)

I know of a few (excellent) students that have walked into Stock Market Analyst firms (a large employer of mathematics graduates) to help predict the infinitesimal patterns of the stock market movements and currency and futures fluctuations (and take advantage of them). BIG MONEY. Lots of fun for a mathematician, too, putting (chaos) theory into cash-enriching practice.

As for the subjects, I like them all (and I've done a few of them and I have read up on a lot of the others). Anything that is "cutting edge" is immediately a highlight on your job application form. Otherwise, it really depends on what takes your fancy (what you like, what is easier for you); I know there are parts of maths that I find really easy, and others that require me to work harder.

OBSCVRVM PER OBSCVRIVS ET IGNOTVM PER IGNOTIVS

OPVS ARTIFICEM PROBAT

##### Share on other sites

Firstly, I'd recommend that you take a straight Mathematics course: if you can take it, and you like mathematics, there is very few degrees around that are as good for your career. (There are far too many people with Comp Sci degrees, from every type of back-yard mail-order pedagogical group with half-a-dozen members; also, even a good degree is still the subject of violent argument in the engineering community as to its worth and relative place in that science. Not so with mathematics.)

I know of a few (excellent) students that have walked into Stock Market Analyst firms (a large employer of mathematics graduates) to help predict the infinitesimal patterns of the stock market movements and currency and futures fluctuations (and take advantage of them). BIG MONEY. Lots of fun for a mathematician, too, putting (chaos) theory into cash-enriching practice.

As for the subjects, I like them all (and I've done a few of them and I have read up on a lot of the others). Anything that is "cutting edge" is immediately a highlight on your job application form. Otherwise, it really depends on what takes your fancy (what you like, what is easier for you); I know there are parts of maths that I find really easy, and others that require me to work harder.

When you start a thread, you often have an idea of what you want and what you don't want to hear, but you have to post the thread anyway to get the answers.

Luckily this is one of those times where you hear what you wanted to hear. :D

I love maths, and would like to take as much as possible, but I feared that taking a degree which was comprised of nothing but maths might be a bit insane. Guess not! :D

Thanks!

Also, thanks for the tips on the computer science side of things, Magena and alanschu!

Anyone perfect must be lying, anything easy has its cost

Anyone plain can be lovely, anyone loved can be lost

##### Share on other sites

Get some further advice from your university about careers with a mathematics degree, that should remove all doubt.

(After all, mathematics is the only discipline with Proofs.:D)

OBSCVRVM PER OBSCVRIVS ET IGNOTVM PER IGNOTIVS

OPVS ARTIFICEM PROBAT

##### Share on other sites

The bread 'n butter of 3d graphics is fairly basic linear algebra. The topics of nearly every class you've listed is waaay outside scope of knowledge required to put together a top drawer rendering engine.

That said, there are some advanced non-graphics systems (like bleeding edge physics/dynamics engines) that are beginning to show up in games today that are making use of some more advanced techniques. For that kind of stuff, the class you listed as "MATH3404 - Optimisation Theory" looks promising.

##### Share on other sites

Exactly why I'm auditting my Linear Algebra class. I took it 5 years ago and in my Stats class, when we went onto Markov Chains I needed to give myself a refresher crash course :D

##### Share on other sites

The bread 'n butter of 3d graphics is fairly basic linear algebra.  The topics of nearly every class you've listed is waaay outside scope of knowledge required to put together a top drawer rendering engine.

That said, there are some advanced non-graphics systems (like bleeding edge physics/dynamics engines) that are beginning to show up in games today that are making use of some more advanced techniques.  For that kind of stuff, the class you listed as "MATH3404 - Optimisation Theory" looks promising.

I like Dig Dug.

:cool:

OBSCVRVM PER OBSCVRIVS ET IGNOTVM PER IGNOTIVS

OPVS ARTIFICEM PROBAT

##### Share on other sites

I'm taking a summer course in game programming (basic level) and when we discussed the chapter on AI, it turned out that you'd better be very good at statistical math if you're going to use the newest, hottest AI routines available right now. I'm really hoping the Obsidian programmers are keeping themselves up-to-date on the AI front

Swedes, go to: Spel2, for the latest game reviews in swedish!

##### Share on other sites

I would wager they are.

Statistical math is big, being that processors are getting more and more powerful, and such things as the graphics cards unloading resources off of the CPU.

##### Share on other sites

I'm taking a summer course in game programming (basic level) and when we discussed the chapter on AI, it turned out that you'd better be very good at statistical math if you're going to use the newest, hottest AI routines available right now. I'm really hoping the Obsidian programmers are keeping themselves up-to-date on the AI front

What course is that?

It wouldnt hapen to be this one?

http://www.it.uu.se/edu/course/homepage/games/st05

(just curious to see if we where course mates without knowing it... )

##### Share on other sites

What course is that?

It wouldnt hapen to be this one?

http://www.it.uu.se/edu/course/homepage/games/st05

(just curious to see if we where course mates without knowing it... )

We ARE indeed course mates without even knowing it The internet is a small place..

Swedes, go to: Spel2, for the latest game reviews in swedish!

##### Share on other sites

Cool, hows your project coming along? (and what group are you in?)

My group is marching very unevenly, but if we are realy lucky we will have the base system up and running this week (we more or less threw the code skeleton out the window and desided to do a different kind of game).

## Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

Only 75 emoji are allowed.