ISDCaptain01

Anyone here a self-taught graphics programmer?

Recommended Posts

turanszkij    366

Hello, I am a self taught graphics programmer. I started with small games in XNA (I still recommend it to anyone for learning), then experimented with shaders and some terrain rendering (excellent tutorials by Riemers that got me started). My life has changed from that day when I implemented reflective and refractive water from that tutorial and I have been doing graphics programming ever since.

I started learning C++ while also doing DirectX 11 tutorials and creating a fighting game. Then it just grew out to be a full blown game engine and abandoned the fighting game. The engine is now known as Wicked Engine, and is open source.

promo.png

Thanks to my experience, I have started working at a game dev company called Neocore Games as a graphics programmer working on a Warhammer 40k title.

Edited by turanszkij

Share this post


Link to post
Share on other sites
LifeIsGood    198

@turanszkij Oh that's so cool to see you here, I've just found your videos through my youtube recommendations a few weeks ago !

 

Back to the topic:
I guess I don't have to show as much as most others here, but I'm currently "working" on becoming a self-taught graphics programmer :)
I've been messing around for 5 month now with the Vulkan API & Photorealistic rendering.
However, I got no experience with the "standard" way of doing video game graphics (that is, rasterization) but rather with Ray Tracing & more specifically Path Tracing since new year.
I'm currently trying to port my CPU Path Tracer to the GPU, when I got time...
https://www.youtube.com/watch?v=nh0_czzvT_A

I hope to get some small graphics programmer jobs on upwork or similar portals in the near future ;)
 

Share this post


Link to post
Share on other sites
LetsDoThis    312

Try and find mentors, people who are better than you who are willing to teach you and help you out. This was something I really craved when I was younger.
Where can you find a mentor online? Not sure people are willing to teach someone their knowledge to some stranger

Share this post


Link to post
Share on other sites
JoeAlter    106

some of the best people i've worked with are self taught as well, I don't think it's particularly frowned upon if you've got the goods, getting formally trained does provide an easier path to a career though, but if you're an enterprising sort, you'll figure something out.

I find that my lack of formal training does leave some surprising gaps in my knowledge. Language mastery, for example is something that's taught with rigor, problem solving is really not. I have to ask guys around me about squirrely pointer questions that somehow I've managed to evade for 30 years all the time.
 

Share this post


Link to post
Share on other sites
Enitalp    1

I'm a self-taugh programmer, but in was easier in my "time", started in 81 with an Apple 2 switched in 88 on an Atari ST, became an official Atari dev on Falcon and TT in 93 and since my first program i only worked on game mostly, Farcry 1, star wars, avatar, rainbow 6, farcry primal, farcry 5, to name a few ;p. Left school at 16, so my math is bad. But thanks to Internet if i need something, i just have to search for what i need. 

http://www.mobygames.com/developer/sheet/view/developerId,168167/

And i just started to learn DX11 and get more advanced in shaders.

 

Edited by Enitalp

Share this post


Link to post
Share on other sites
lonewolff    1183

Completely self taught here also. Started out on the C64 in the late 80's. Didn't start learning C++ until 2006, playing with Ogre 3D at the same time. Learning both simultaneously was a hard task as I didn't know any of the concepts of either.

Always being interested in way things tick, I tinkered around with DX9c and have now moved on to DX11. Still learning, but have the basics sorted out.

Here is a screenie of a game I have been working on for the past few years. Been chipping away when I feel like it, which is very intermittent. (Also in C++ and DX11).

 

Xtdgtp6.png

I'm quite proud of what I have achieved. Each strand of grass is individually animated and looks awesome swaying gently in the breeze.

I'm certainly no guru though. Still learning new things every day. I am a far cry from the masters that help out on the forums here.

Edited by lonewolff

Share this post


Link to post
Share on other sites
NikiTo    164

I started with AS3 all by myself and as late as at the age of 24, because until that moment everybody was trying to scare me about programming saying that: "To program you have to be a master in mathematics!! It is only for selected geniuses!"(I tried to code one day and all they said to me resulted to be a lie). Then after a month or so, I switched to assembler and there I learned to program for real, all alone again. Then I started to study Java in a university but they kicked me out for reasons not related to my codding skills. After that I started to study in another university this time C# and they kicked me again, no matter I was one of the best students. In those two short periods of studying in universities, they introduced me to HLL. I was shown by teachers about OOP and Unit Testing. Nobody of our teachers was interested in 3D programming and nobody was able to show me how to do it, so I started to learn WebGl and shaders all by myself and it was very challenging to switch to the shaders-way of thinking. It took me one whole week only to realize how interpolation from vertices to pixels is happening without a teacher. But after 6 months, of studying on my own i was able to make this: https://www.youtube.com/watch?v=mjeeZkqJy64

I had to figure out all by myself how shadow mapping and deferred rendering work. It was cool to be the only one in my second school(including the teachers) to be able to do that :) (they could learn how to do it too if they had interest into it, maybe)
Now I am studying directx12 all by myself again.
My life story is very sad in my own opinion, because without the degree, nobody wants to hire me for nothing. I understand that I need to pass through a specialization process in the company, but even when searching for junior positions, nobody calls never. And my CV is empty-forever-alone... I wish I'd have started to study medicine at the age of 24 instead programming. I would be now working in a clean office looking dirty gangrenas, not codding Pipeline State Objects in the basement of my mother's house xD (but this is my own experience in life. other ppl may have different happier life stories)

Share this post


Link to post
Share on other sites
turanszkij    366
On ‎2017‎. ‎07‎. ‎31‎. at 0:56 AM, NikiTo said:

I started with AS3 all by myself and as late as at the age of 24, because until that moment everybody was trying to scare me about programming saying that: "To program you have to be a master in mathematics!! It is only for selected geniuses!"(I tried to code one day and all they said to me resulted to be a lie). Then after a month or so, I switched to assembler and there I learned to program for real, all alone again. Then I started to study Java in a university but they kicked me out for reasons not related to my codding skills. After that I started to study in another university this time C# and they kicked me again, no matter I was one of the best students. In those two short periods of studying in universities, they introduced me to HLL. I was shown by teachers about OOP and Unit Testing. Nobody of our teachers was interested in 3D programming and nobody was able to show me how to do it, so I started to learn WebGl and shaders all by myself and it was very challenging to switch to the shaders-way of thinking. It took me one whole week only to realize how interpolation from vertices to pixels is happening without a teacher. But after 6 months, of studying on my own i was able to make this: https://www.youtube.com/watch?v=mjeeZkqJy64

I had to figure out all by myself how shadow mapping and deferred rendering work. It was cool to be the only one in my second school(including the teachers) to be able to do that :) (they could learn how to do it too if they had interest into it, maybe)
Now I am studying directx12 all by myself again.
My life story is very sad in my own opinion, because without the degree, nobody wants to hire me for nothing. I understand that I need to pass through a specialization process in the company, but even when searching for junior positions, nobody calls never. And my CV is empty-forever-alone... I wish I'd have started to study medicine at the age of 24 instead programming. I would be now working in a clean office looking dirty gangrenas, not codding Pipeline State Objects in the basement of my mother's house xD (but this is my own experience in life. other ppl may have different happier life stories)

I also don't have a degree but I easily managed to find a graphics programming job in gamedev. You only need to have a nice portfolio with some neat graphics samples. In my opinion, graphics programmers are rare and hard to find so you have the upper hand there. So keep it up and good luck!

Share this post


Link to post
Share on other sites
turanszkij    366
On ‎2017‎.‎08‎.‎17‎. at 9:05 AM, RobertCunningham said:

I was looking for a guide on how to become a graphics programmer too.  All i know is c++ and java. LOL

Then you already got the C++ part covered, now it's time to just look up a DirectX or OpenGL tutorial and you are on the path!

I recommend RasterTek tutorials which is the one I started with. But I was introduced to graphics programming in XNA though.

Share this post


Link to post
Share on other sites
On 8/21/2017 at 6:03 PM, turanszkij said:

Then you already got the C++ part covered, now it's time to just look up a DirectX or OpenGL tutorial and you are on the path!

I recommend RasterTek tutorials which is the one I started with. But I was introduced to graphics programming in XNA though.

Thanks dude, I check out this one. 

Share this post


Link to post
Share on other sites
benjamin1441    128
On 30/07/2017 at 11:56 PM, NikiTo said:

I started with AS3 all by myself and as late as at the age of 24, because until that moment everybody was trying to scare me about programming saying that: "To program you have to be a master in mathematics!! It is only for selected geniuses!"(I tried to code one day and all they said to me resulted to be a lie). Then after a month or so, I switched to assembler and there I learned to program for real, all alone again. Then I started to study Java in a university but they kicked me out for reasons not related to my codding skills. After that I started to study in another university this time C# and they kicked me again, no matter I was one of the best students. In those two short periods of studying in universities, they introduced me to HLL. I was shown by teachers about OOP and Unit Testing. Nobody of our teachers was interested in 3D programming and nobody was able to show me how to do it, so I started to learn WebGl and shaders all by myself and it was very challenging to switch to the shaders-way of thinking. It took me one whole week only to realize how interpolation from vertices to pixels is happening without a teacher. But after 6 months, of studying on my own i was able to make this: https://www.youtube.com/watch?v=mjeeZkqJy64

I had to figure out all by myself how shadow mapping and deferred rendering work. It was cool to be the only one in my second school(including the teachers) to be able to do that (they could learn how to do it too if they had interest into it, maybe)
Now I am studying directx12 all by myself again.
My life story is very sad in my own opinion, because without the degree, nobody wants to hire me for nothing. I understand that I need to pass through a specialization process in the company, but even when searching for junior positions, nobody calls never. And my CV is empty-forever-alone... I wish I'd have started to study medicine at the age of 24 instead programming. I would be now working in a clean office looking dirty gangrenas, not codding Pipeline State Objects in the basement of my mother's house (but this is my own experience in life. other ppl may have different happier life stories)

I looked at your youtube vid and I think the rendering is excellent, really good quality, on the girl's skin and hair. For a video game there are other considerations that need to be balanced out other than just the visual quality. But in terms of just the visuals I give you top marks for it.

I'm keen to get on to hair shaders at some point, they make the image much more realistic.

For some reason I wish you would make it out of your mum's basement and into a nice apartment, and eat some more nutritious food... but I'm not sure where these ideas come from :D

Share this post


Link to post
Share on other sites
Gerrion    3

Hey everyone, just stumbled across this thread and thought I'd post!

Yep, I'm a self-taught Graphics Programmer :)

Started programming when I was 9 at Xmas 1982 with my new ZX Spectrum. Wrote a 3D spinning cube demo about a year later in Z80 assembly on the speccy after seeing Starglider. Moved onto an Atari ST in 1986 and wrote lots of 3D demos to share around school. Didn't really think I could get a job as a programmer as I had no formal training or a degree so I just did it as a hobby whilst working at a Game retail store. I kept thinking, I really wish I was doing that as a job making those game rather than selling them. By chance I got invited to a Launch party for one of the games. Much beer later, I kind of plucked up the courage to ask the programmers how do you get into the industry. One chap said, "Just write a demo and send it in to places". So, I quit my job on New Year Eve 1995 and spent 3 months working on a 3D demo on my PC in x86 assembly. (Still have the print out of the code!) I applied to a couple of places around where I lived (Northwest England, UK) and sure enough I managed to get a job. I was terrified at first, but realised that I could do the stuff they asked me to do. Then it turned out the no-one really did assembly any more and came to me to help optimise code and that boosted my confidence. But I had to learn 'C' as quickly as I could, so bought lots of books and just wrote lots of code in my spare time to get used to the language.

Anyways, did that for a few years, moved to a couple of other places and finally ended up working on a game called Isle of Man TT Superbikes on PS2. I was the lead graphics programmer on that, which was pretty cool. The company went through a bit of a sticky patch towards the end of development, so I ended up joining another company called Evolution Studios... Not sure if you've heard of them, but I ended up working on the MotorStorm series on PS3 as a Senior/Principal Graphics programmer across all 3 titles, MotorStorm, MotorStorm: Pacific Rift and MotorStorm: Apocalypse. They were using C++ which was new to me, which I told them in the interview. I failed miserably at the C++ test they gave me, but I said I was into low-level assembly and graphics. I ended up talking for way too long about all the VU, DMA, GS optimisations that I had done on PS2 and they hired me on the spot! That was an awesome time as I got to sit in secret rooms, with secret hardware with stickers on the side saying "Danger of Death". I had to sign some crazy USA Nuclear non-proliferation agreements from IBM to do with the CELL processor. It was truly cool stuff working with the SPU processors, and we had to mostly use assembly as the SPU 'C' compiler was awful to begin with! After MotorStorm, I then got to work on the PS4 before it was even a thing around 2009. Lots of secret meetings, with lost of clever people from major studios all over the world. Eventually what we we were working on became Driveclub for PS4 on which I was a Principal/Lead Graphics and Core Tech programmer.

So pretty humble beginnings and the main thing I've learnt is to never stand still. Not having a degree hasn't held me back, as I have been able to prove what I can do. The key thing is that once you know the key concepts, the API / Code behind it is always evolving and you really have to keep up. But, choose your battles wisely. Don't focus on too narrow an area as before you know it, it's old hat and something new has come along.

So for anyone starting out, just keep doing demos. Start off with something simple, understand it, improve it and then do another demo. Just keep building up, advancing your knowledge, and read lots of stuff.

Hope that's helpful... Best of luck...

Share this post


Link to post
Share on other sites

Yup, self-taught. I am a veteran of the Neon Helium tutorials, which are (now?) a part of this site, it seems!

On 22/5/2017 at 6:13 AM, LetsDoThis said:

 

 

Try and find mentors, people who are better than you who are willing to teach you and help you out. This was something I really craved when I was younger.

Where can you find a mentor online? Not sure people are willing to teach someone their knowledge to some stranger

I've been considering using my ill-gotten experiences to do something like this. I put up an initial blogpost on the matter a moment ago, let me know (there, not here, to avoid threadjacking) if it has any interest.

On 17/8/2017 at 9:05 AM, RobertCunningham said:

I was looking for a guide on how to become a graphics programmer too.  All i know is c++ and java. LOL

Seriously, even though they are old and a bit obsolete now, go to the Neon Helium tutorials, they're really good. As mentioned, I am considering doing something similar, if I have the skills for it....

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now