How hard is it to graphics programming? I REALLY want to get serious about my programming abilities...

How hard is it to graphics programming? I REALLY want to get serious about my programming abilities, and I've been thinking about projects I'd want to do. One obvious one is games. Now I'm not looking to get crazy here, and I don't want to anything that's "make me rich quick", but I really want to know, how hard is making a game? I've programmed in C++ mainly, and I do have a somewhat decent knowledge of C as far as the basics. But I don't know the Standard Library, and I haven't taken data structures in school yet so my exposure to them is limited. Are there any good books or sites that'll teach you? I'm not a big fan of tutorials because I don't feel like I really "learn" anything by following them. I'd rather attempt to build lines of code from scratch or use functions provided by C/C++. Any advice in general would be great

Attached: 1516225906865.png (298x563, 364K)

Other urls found in this thread:

learnopengl.com/
en.wikipedia.org/wiki/Michaela_Meijer
twitter.com/NSFWRedditGif

You sound like you have some decent background but you also sound like you’re an impatient 15yr old. 3D/graphics programming is all about delayed gratification.

I wouldn't say I'm "impatient" but yeah, I am sorta in a place where textbook exercises bore me and I want to do actual meaningful stuff. I'm nowhere near ready to do anything useful in C++, but I think I'm ready to start doing shit in C definitely. I have a solid understanding of pointers and structures and how to use both. What else should I or would I need to know? Honesty I just want to git gud at programming in general.

You should decide on a framework and an IDE. Get tutorials (there are tons) and start

>cont.

You’ll quickly realize that your framework and physics engine (assuming you are doing game dev) will take all of your time.

What does how hard it is have to do with anything? Everything you code should be simple and modular. It's just fitting a bunch of pieces together.

Any recommendations? I'm thinking OpenGL but truthfully I have no idea where to start.
Maybe hard isn't the right word, but rather dedication? At least for someone in my position. I imagine it would take hours of work per week to make any progress, especially if I have to stop and look up how to make certain aspects work. I am starting school in a week too.

learnopengl.com/
That's a good website to learn from. It's kind of hand holdy I guess, but it explains a lot. I used it to learn enough OpenGL to fix an issue I was having in Wine.

idk ask john carmack

Start with OpenGL or DirectX11 would be my advice, for learning purposes (I'd say OpenGL is preferred). Then depends what will be comfortable for you, try DX12 or Vulkan. As far as language goes, technically you could do C or C++ but be prepared for two things:

a) a lot learning, not just about how these two languages actually work with APIs but about how computer graphics work and how those APIs work
b) rewriting your own code again and again, it will be a lot of work if you never did it before, hell even if you did, just sometimes ditching the code and starting all over again is much simpler when you are learning because you get used to it

Take also this advice:
Making stuff modular is somewhat useful if you don't overkill it with insane amount of pointers. The advantage of that is that you can rework something without getting completely lost or break everything else, but be prepared to break everything.

I never did OpenGL, but I did DX11/12 and now I'm slowly getting into Vulkan and even though it gets a lot of hate, I actually like Vulkan most of all other APIs because it lets you to configure everything you might possibly need. Also a lot stuff become deprecated with Direct, like DirectInput if I'm not mistaken, they are now using XInput or whatever, so a lot tutorials or book you might get would not be up to date. I think OpenGL is well documented, Direct stuff is not documented bad either but be ready to spend endless hours on MSDN pages.

graphics program from scratch fucking sucks, use an engine, metal is the only low level api that isn't boilerplate hell but i'm sure you hate apple so good luck with vulkan that takes 100s of lines of code to make a hello triangle

I can't count it on lines of code but the initialization process of Vulkan is harder, but then it's not that bad. Of course when you never worked with this, starting with Vulkan is bullshit.

REFUGEED

>wants to do everything
>hasn't done anything

You'll never succeed.

Who is this beautiful beast

Michaela Meijer

Attached: 1512338540371.webm (926x1220, 2.87M)

thanks user

>I don't want "make me rich quick"
What the hell man?
If you get rich quick you can do whatever with your life!
You would have all the time in the universe to learn to do whatever you want
Enough money CAN actually buy happiness
Don't listen to poorfag

What else do you need/want when money can give you everything!

Attached: tumblr_pb7kovTQ0M1xofy75o1_640.jpg (640x793, 59K)

lmao
It clearly says SWEDEN you dumb dumbs

???

en.wikipedia.org/wiki/Michaela_Meijer

Graphics programming can be frustrating becausing debugging sucks, you just see black and a single triangle can alread hold 15 variables.

Will money buy you health? Will money buy you love?

Install OpenGL man, and look at tutorials. Graphics programming is hard work though. Also you don't need to know too much about data structures if you stick to the STL which can take you very far.

do you want to make everything from scratch or do you want to use a graphics library?
both are boring and uninteresting if you want to make a game just use an engine

Graphics programming in what sense?
Do you just want to make games or do you want to actually do *graphics programming*? Because the two mean very different things now with Unity and Unreal doing the actual graphics part for you, letting you focus entirely on just slapping objects around.

I do this shit all day long and it's extremely useful, though I'm not making games.

Which would be more beneficial for knowledge purposes?

Yes
Yes

That depends on what you want to do, which is why I asked that question.
Underlying graphics programming has a steep learning curve and it'll take some time before you get anything that even looks kinda decent, but you'll understand every single pixel and every single light effect in the scene and exactly where and how it all comes in and layers and why what does what.
It also enables you to leverage all of that shit to do more than just "put pretty thing on screen".

Do you want to dive into an entirely new programming paradigm and learn all the tooling that goes into it, or do you want to make cool 3d games and environments that you can easily expand and manage without fussing with managing draw calls and lighting and shader swaps?

If you want to make a game use an engine or you'll likely never get it done. If you want to learn game programming from scratch write an engine. Just don't expect too much from it cos you'll be reinventing the wheel and no-one will want to use it unless it has a very specific target audience or targets a very specific platform.

Take a look at the original version of Elite, implemented on 6502. Or Elite TNK in C. These are very compact and do 3D.

Just use Unity. No need to reinvent the wheel

You don't need to know graphics programming to make a game. Most game devs don't. Graphics programming is a well-studied field though. There's plenty of examples on the internet and you can piece together a basic game renderer by copy and pasting shit. You don't even need to know the math. If you want to be a good graphics programmer and come up with new algorithms you do need to know the math, but it's unlikely you will want to

She's pretty pale to be a Swedish girl.

Money only lets you *rent* happiness. Don't be shallow...

I'd be very happy then

Learn some OpenGL or something. Brush up on your trigonometry because that shit is ever constant. It's pretty tough and it's going to take you a few years but every programming task you approach afterwards will be a fucking breeze.

learnopengl.com/
this is a good site

unfortunately money does buy both these things. Only until money becomes worthless. But that could be hundreds of years.

I'm sorry but this is too fucking offensive right right, WHERE is the black man whipping her with his BBC for her innate oppression of minorities through her looks and aggressive whiteness?

Bump

End it.