Jump to content

  • Log In with Google      Sign In   
  • Create Account

Anyone here a self-taught graphics programmer?

  • You cannot reply to this topic
85 replies to this topic

#41 TobiasK   Members   -  Reputation: 134


Posted 25 March 2013 - 04:48 PM



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 :)


#42 HardlineDigital   Members   -  Reputation: 270


Posted 26 March 2013 - 11:55 AM

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.

#43 skytiger   Members   -  Reputation: 278


Posted 30 March 2013 - 04:06 PM

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

#44 EarthBanana   Members   -  Reputation: 1264


Posted 02 April 2013 - 11:09 AM

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.

#45 skytiger   Members   -  Reputation: 278


Posted 02 April 2013 - 12:56 PM

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

#46 imoogiBG   Members   -  Reputation: 2096


Posted 27 April 2013 - 06:50 AM

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

#47 GuardianX   Crossbones+   -  Reputation: 1590


Posted 20 May 2013 - 07:45 AM

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 =)

#48 TheItalianJob71   Banned   -  Reputation: 1301


Posted 21 May 2013 - 01:00 AM

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.


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.

Edited by TheItalianJob71, 21 May 2013 - 01:06 AM.

#49 SpagSauce   Members   -  Reputation: 100


Posted 22 May 2013 - 02:27 PM

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.

#50 phantomus   Members   -  Reputation: 709


Posted 23 May 2013 - 11:09 AM

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.

Edited by phantomus, 23 May 2013 - 11:11 AM.

#51 JMinator31   Members   -  Reputation: 264


Posted 29 June 2013 - 03:57 AM

Me Too. I started programming with DirectX and C++, learning mostly from tutorials and examples from different places on the internet, and some other tools and languages this year (FYI, I'm 14 right now). And right now I'm working on a (or something similar enough to, or able to speed up any DX 9 Apps I might want to make) Game Engine. And yes of course, I'm still learning what a game engine should be like and how it should be made. Right now I'm still struggling with Mesh Animation, Particle FX (might have made a small mistake somewhere) and the more advanced concepts of 3D transformation, Physics and Mathematics. I also use OpenGL (and I've actually made a 3D app for someone, and gotten paid about $150 in US currency). And I work on an FPS game in Unity3D (Using a tutorial) from time to time.

#52 JMinator31   Members   -  Reputation: 264


Posted 29 June 2013 - 04:03 AM

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

Ummm, you have probably already been asked this but... Have you tried becoming an Indie developer? Or learning how to use Unity3D and any of its associated scripts (seriously its not that hard!).

#53 pyrotekgames   Members   -  Reputation: 1068


Posted 02 July 2013 - 04:24 PM

A short story of my own:

I began in Python with my schooling, surprisingly my intro course was heavily graphics and gaming based (I'm a mechanical engineer anyway; computer graphics is my hobby). We used a nifty package to do the graphics, so creating 2D games was pretty simple. From there, I worked on software rendering for a while in Java and then C++, before reaching it's limits after about one year of software rendering of 3D geometry, and switched over to openGL. I enjoyed this decision I made; I learned a lot of the mathematics and theory behind most basic techniques in computer graphics, and I tend to do CPU techniques when I learn something new before porting it over to the GPU. ALso, the books I have built up have definitely led to a beautiful, compact library that I can constantly reference when working. Currently I'm working on a voxel terrain engine in C++ and openGL! :)


Not considering my first python course (which did not teach much of anything to do with computer graphics), I am completely self-taught. I feel like I get more out of it that way; I'm not forced to learn it; I learn what I want when I want!! I do hope to get to learn how to read others' code...and maybe a little bit of team experience when it comes to coding...but I don't regret any decision to keep this to a hobby.



#54 CDProp   Members   -  Reputation: 1168


Posted 03 July 2013 - 12:09 PM

Cool stories. I will try to be brief.


I am a self-taught programmer. In 2006, I got my first programming job, as a game programmer. I mostly worked on tools and gameplay programming. Toward the end of that job (the company unfortunately folded in 2009), I dipped my toe into some basic graphics programming (wrote a fairly nifty water shader for an XBox 360 game we were working on).


In 2009, I landed a job at a company that makes training simulators. My job title is Graphics Programmer, but in practice I do a lot of programming that is only peripherally related to graphics. I've spent a lot of time, for example, writing UI code for our level editor (dragging and dropping items into the scene, picking, rotating and moving objects, etc.). Obviously, there is some 3D math involved with picking and manipulating models, but it is not what most people would call "graphics programming" per se. I was merely chosen for those tasks because no one else in the company really had the skill set for it.


As far as actual graphics programming is concerned, we use OpenSceneGraph, and so there is constantly this layer between our code and OpenGL. However, I have found it extremely important to know OpenGL in order to get effective use out of OpenSceneGraph. My colleague and I have been able to somewhat modernize the visuals for our product, adding in things like normal mapping and deferred shading. However, my colleague and I are at about the same level, in terms of experience with graphics programming, and so neither has the benefit that Hodgman had of learning from someone vastly more experienced than ourselves -- a benefit of which I am tremendously envious!


Then again, I have learned so much from Hodgman's own blog, and for that I am very thankful. =D

I never did obtain a degree, but I started going to school for Physics in 2010 and I'm a little more than halfway through now.


Edit: I meant MJP's blog. I learn a lot from both of them on the message board, though. 

Edited by CDProp, 03 July 2013 - 05:21 PM.

#55 debugdesign   Members   -  Reputation: 114


Posted 18 July 2013 - 02:02 PM

I do 2D stuff... No formal qualifications, i just love it... I started doing 'worms' animations on Deluxe Paint... got into web design, then did games on the side and now I have an online store selling 2D game assets at http://www.graphic-buffet.com


I still have a 'proper' job but I love doing game graphics!

#56 cyberpnk   Members   -  Reputation: 327


Posted 19 August 2013 - 12:07 AM

This is an EPIC thread! Really cool hearing everyone's background.


Anyway, got my start in programming back around '94 when my family got our first PC. I had decided I wanted to go through *every* file in Windows 3.11 and double-click on it to see what it did. Stumbled upon something called "QBasic". Looked somewhat familiar from the Commodore64 days, and a quickly started finding code for it on the internet. Within a few short weeks, I was coding my own text adventure games. 


Next up a bought some books on C++ game programming and started messing around with the old Mode 13h and 2D graphics. Even bought some 3D books (like the Andre LaMothe series) but honestly this was WAY over my head as a teenager. While still in high school I ended up taking a "graphics programming" class at a local University. This is when I learned Java, and did mostly some simple 2D games. Later I wrote a software renderer in Java but didn't do much with it aside from the obligatory spinning cube.


Ended up starting study in Computer Science, but I only made it through one year and decided it was too cold for me and I wanted to be more creative. So I came back and went to art school, taking a major in Interactive Computer Art. We did some basic programming, but I wouldn't say I learned programming at school. I did learn a lot about art, 3d modelling, photoshop, etc. and that has definitely helped me. But most of what I've learned was on my own. Things like hacking on the NintendoDS and cobbling together homebrew games. So much fun.


While I was still in college I managed to get a game dev job programming on Flash games. I got the job mainly based on all the little demo games I had put together over the past years (mostly from school projects). Quickly landed some big contracts from brands you would have heard of. Built a portfolio fairly quickly and really beefed up my skills working on production code. Later, I became a freelancer and worked from home but still cranking out cool 2D games. Did this probably for 5-6 years straight. Unfortunately, the amount of work for Flash programmers has falling off a lot in the past years, and it's not really something worth pursuing anyone.


However, my real passion has always been in 3D. All the 2D stuff I just got thrown into and kept doing cause I was good at it and I had an "in". But on my spare time I would always mess around with various 3D engines and software. Began learning C++ again, this took some time. Was getting tired with these "all-in-one" game engines, so I kept exploring things like OGRE. For a while I was just afraid of DX/GL but I knew it would hold me back if I didn't learn them. Eventually decided that I was going to have to get better at the low-level stuff if I was going to master my trade. So here I am. Learning as much as I can about 3D math, Win32, game engines, etc, Hopefully the journey will be worth it.


Currently I am in the early stages of development on a Direct3D11-based render engine. 

Edited by cyberpnk, 19 August 2013 - 08:10 PM.

#57 gwihlidal   Members   -  Reputation: 724


Posted 21 September 2013 - 11:49 PM

I'm super busy working on Battlefield 4, but this is an awesome thread, so I thought I'd link my own story (published recently on BioWare's blog).







Senior Software Engineer @ Frostbite \ DICE (Rendering)

Previously at BioWare

Author of Game Engine Toolset Development



#58 HimanshuGoel97   Members   -  Reputation: 466


Posted 26 October 2013 - 11:34 PM

Truly neat topic!

I'm a completely self taught programmer and well I can't possibly have a degree anyway because I'm just 16, I'm in my last year of high school. I am mainly a C# programmer although I can also work with Java,C,C++ and Python.


I started learning programming about 5 years ago, I was into playing a lot of video games, then I got GTA San Andreas which wouldn't run on my computer because my machine was too old, it made me wonder why it wouldn't run, this led to research (on a dial up connection) I found out about BASIC and started doing some basic (pun intended) programming in it, however I didn't find it to be powerful enough for what I expected so I stopped, then a few months later our computer teacher began teaching us the basics of C++ (which never really worked out because he didn't know much himself, he just used the cprogramming.com tuts). This peaked my interest in programming again, I tried C++ but couldn't make much of it but I ended up discovering C#, I bought a few books about it and learned the basics, I go Visual Studio only to find out that my computer could barely handle it, this slowed my development a lot, eventually I gave up and went back to playing games.


Then I discovered Midtown Madness mods, I learned how to use zmodeler to make my own mods, soon I moved on to blender, then when I visited my sister at new york, she gave me her laptop which was quite recent (it's only about 2-3 years old), finally able to do things faster, I went back to C#, I quickly got used to it and started programming things on a daily basis (one project a week however most are still incomplete), then I got involved in the PSP hacking scene, it was a bit hard to get the basics of things like MIPS assembly (not to mention the fact that C/C++ were still incomprehensible to me) but I managed to figure everything out, then I got a PS Vita and a few months later PlayStation Mobile was launched. PSM  used C# which attracted me to the platform, that's where my 3d graphics adventure began. Along with a friend, I created Aperture Studios and we are currently working on our first title (and a 3d game engine) and very recently (infact a few days ago) I gave C++ a go again to find out that I properly understand everything!,


Anyway here's a video of what we have so far:


Edited by hgoel0974, 26 October 2013 - 11:37 PM.

#59 GothSeiDank   Members   -  Reputation: 168


Posted 12 November 2013 - 06:27 AM

I am.


I did not study. I had a large interest in cross platform way of doing games and graphics. So I stumbled upon OpenGL.

I just started learning it over Nehe. Then with the years, I expanded my knowledge and so on and so forth.

Was pretty exciting, but I am nowhere as good as professionals. 

I can do quite some stuff with OpenGL though :):

If you say "pls", because it is shorter than "please", I will say "no", because it is shorter than "yes"

#60 -=cmaster.matso=-   Members   -  Reputation: 116


Posted 20 November 2013 - 02:21 PM

A humble outcome of my work in the world of graphics programming wink.png




Edited by -=cmaster.matso=-, 20 November 2013 - 02:23 PM.