Anyone here a self-taught graphics programmer?

Started by
127 comments, last by ritzmax72 6 years, 2 months ago

hi..

I'm pooh I toppest 3D engine programer world ( I think there is about 50-100 people is toppest - I'm one of them)

I start graphics programming when I was 12. I start with bulshit turtle graphics. I really hate the arthur. and keep going on.

at 1996 there is no education about 3D graphics in here .

I research all about siggraph and graphics paper. It's so suck I'm Korean and My major was philosphy so I serious trouble reading engineering paper. ( I mean my earlier times - not now. I just more care about new hardware trand or visual art - technical stuff is nothing serious to me)

but I'm the first generation and there was no one know about 3D stuff well . I can keep join toppest group in Korea and still now on.

In Korea until now there is no good computer graphic school. I work for 16 years for this area., and I think US and other place will be same. I doubt there is high and very detail education about 3D theory and hardware education.

So cheer up if you are not teached well. don afraid of it.

Technic come from experience and by hand like old stuff - like smith.

I don't read about this thread and I don't care about "why are you the toppest kind of question - I just know by my experience-" so If you have any question or something send me a message and plz send me constructive one only.

I will be honest and truefully help you.

I was going to write something, but I'm still in a very happy place after reading the above, so... I'll bbl :)

Advertisement

I didn't read all the posts in here. But I think all the really good coders are self taught whether they went to school or not. The foundations that you get in school really help give you a good start. But you're not going to be a good engineer right out of school unless you take the initiative and further your education on your own. If it is something you are passionate about, you will push yourself to do more than whatever they assigned you for homework.

I guess I'm saying, there are plenty of programmers that get cranked out of school that have no idea what they are doing. On the other hand, school is a great way to get introduced to concepts and terminology that makes learning on your own easier.

When I as 13 I enjoyed BBC Basic and 6502 Assembly

By 16 I lost interest in video games

I had short Wipeout phase and a Doom phase

When I was 35 I discovered GTA San Andreas

I was between jobs / countries so I played this game in my friend's flat for 8 hours a day

when my friend came back from work we went out on the town

good times

That got me interested in 3D for the first time

I ended up in a small village in the UK with nothing but an old laptop

And after writing Space Invaders, Pac Man, Asteroids etc. I figured out on a piece of paper

how perspective works and wrote my first 3D "engine" in VB6 that could render lines with perspective

Later I discovered opengl.dll and my first fixed function triangle appeared on screen

I realised there was something "wrong" with Matrix math related to rotations, but with no

real maths education I didn't know how to express it ... all the oranges in the house ended up

with arrows scrawled in black marker ... it was 3 years until I discovered Quaternions, how I love them!

I learnt DirectX properly by creating an industrial application using CSharp + Managed DirectX running on Windows Embedded

it was a mission critical 247 application ... so I had no choice but to get it right ...

That has run on PCs without a reboot now for 4 years ... must have the memory leaks under control.

When XNA came out I got heavily into 3D and entered a game into Dream Build Play

but I fell in love with HLSL and Graphics programming and I have filled up my brain up reading everything I can.

What I love the most is thinking in 3D and trying to find solutions to hard but interesting problems without researching

and then comparing my "invention" to what everyone else is doing ...

Make a living in industrial software and working on a game which I will self-publish and promote

Anyone else ever learn a bunch of stuff.. feel good about knowing how to do that stuff.. then come to a forum like this one and realize how little you still know? I swear the learning never ends.. But it's a blast. I don't know why it's so fun it just is.

The feeling when confusion turns to clarity is addictive

Crafting a complex "machine" that works

to me it feels like I am building a locomotive - so many wheels and levers and cogs turning at high speed

And the rush when you overcome the multiple layers of bugs and bugs in debuggers and design flaws and flawed documentation and get it to work anyway

Software development feels like xmas morning every day

Books and experience are really the best ways to get into graphics programming.

The feeling when confusion turns to clarity is addictive

Crafting a complex "machine" that works

to me it feels like I am building a locomotive - so many wheels and levers and cogs turning at high speed

And the rush when you overcome the multiple layers of bugs and bugs in debuggers and design flaws and flawed documentation and get it to work anyway

Software development feels like xmas morning every day

Couldn't express more precise. Thank you =)

I have to say that former education in my case played very little.

I am regularly ( sp ?? ) ignored by companies even if i have a degree in engeneering electrhonics and have been coding program for 20+ years.

The shift in the industry is totally Unity driven, i'd say that someone with a fair amount of Unity and c# experience might get a better job than someone with a degree , i regreted wasting time and money on my education, sad but true.

*End of the rant*

My story began with c64 , assembler and basic , then pascal , c/c++ , java , c#, i started coding software renderes at around 20 , and i got my first textured polygon few months after i started seriously into 3d math and algorithm, i switched a lot of computers , from c64 , amiga , 486 , pentium(s). Then i stalled with the 3d boards for a while, after a couple of years ai bought a new pc with an nvidia and started coding with opengl, basically until now, i have written various engines in this timeframe.

My opinion on this topic is that university education is that it was usefull for understanding math and physics , but for coding , the most important thing is to write software , no way , formal education can give help in case of data structure, but you can learn a lot from books around the internet ase well.

Conclusions:

In the future , formal education will be less and less important to accomplish the job, take into consideration that for a Unity developer advanced math or physics are nto required, and the industry is rapidly adopting this engine as a standard.

I started off with self-teaching, but it's a very limited environment and relies heavily on putting trust in other people whose credibility is up for debate. Books, talks, lectures, and interviews from reputed professionals (Google Talks, Bjarne Stroustrup, Herb Sutter, etc.) were the most helpful. Online tutorials and developer blogs were often sketchy, taught deprecated or outright incorrect material, and left out important details. Self-teaching also makes it harder to gain team experience or learn to debug someone else's code or figure out what's actually done in the industry. Eventually I went to university for game development, and it taught me me far more than I could have picked up on my own, and corrected the flaws in half of what I had learned. Also, I wanted to do graphics programming for a living and couldn't find an employer who didn't throw out resumes that lacked a proper education, so there's that.

Hm, I see a lot of familiar stories. Mine, briefly:

Got a zx-81 when I was 12, and overjoyed with it. Copied code from books and magazines, learned English that way. smile.png Then my grandpa bought me an MSX, which I really enjoyed; coded it on the assembler level. Got a game published as source code in a magazine when I was 16 or so. Then I got an Amiga, played games, no coding... Hated the thing. AMOS did work for me, but only slightly, because it was way too slow. Then I got a PC, and I used it like the MSX: Turbo Pascal with inline assembly, and finally sufficient performance for decent 3D (which I got interested in by a source in an MSX book that did some basic 3D). I spread my code using BBS'es, still no internet...

After that: software rasterization, at a very decent level; maybe someone remembers the Alpha engine, and Focus. Then the GPU arrived, which I managed to evade, because I didn't like the 'canned polygons'.. When shaders arrived I got a bit more interested, but in the meantime I discovered ray tracing, and the impossible performance claims made by Ingo Wald (realtime!). After a few years, I got to that level, which was incredibly rewarding; I got there by reading tons and tons of papers. 6 years later, I got my PhD basically on the side, topic was real-time ray tracing for games. smile.png Very proud of that.

In terms of education: none related; MSX time was books-only (from the library, mostly), PC time was books only too, plus some stuff from BBS'es. Then came the internet, which was amazing: I wrote the portal column for flipcode, and later a similar series on ray tracing. Obviously, I got tons back as well. After that I got my stuff from papers, which currently still is my main source of information. I did most of this in solitude, I think there was only one guy that really thaught me a few things (besides book authors, such as Michael Abrash).

Times have changed though: you can now actually get a decent education in games and graphics, which at least allows you to be around people with similar interests. Even if you can't do such a course, you will still be able to meet those people online, which makes a lot of difference. On the other hand, the amount of material to soak up is just incredible, far more than when I started, and I can totally imagine that this is daunting, to say the least. When I got into this, at least it was possible to know 'everything' about graphics (getting close to Abrash, Wald, Fatmap and Fatmap II). Right now, you either pick a niche, or you become a generalist in a narrow field.

Now I need to get back to adding spotlights to my path tracer. Graphics programming is such a joy!

- Jacco.

This topic is closed to new replies.

Advertisement