StumpyStrust
|
 |
«
Posted
2012-02-26 22:13:49 » |
|
So I am having a tough time learning opengl and begin to wonder if I am just a really bad programmer or if opengl is just 'that' hard. Then I realize something...I have really only been programming for maybe a year now. I have always been tech savvy and I know my way around a computer but I never realized that I have only been programming for a year. It seems like its been 10! Maybe thats why I am having problems...just inexperienced. (well that's what I'd like to think)
Anyways, so how long of some others on this forum been programming for? month? year? 5 years? 10 years? 25 years? O.o
|
|
|
|
|
Archibald
|
 |
«
Reply #1 - Posted
2012-02-26 22:31:02 » |
|
20-25 years. The first 8 are the hard ones, after that it becomes a bit easier  One year is problematic because of lack of habits and confidence, not necessarily because of lack of skills. Also because you don't know about yourself much yet (what kind of coder you are). Also, it is never said that OpenGL will become easier with time, you might be just not the kind of codes who is comfortable with it (but generally, coders don't mind much what kind of stuff they code). Plus... overall, there will be obstacles all the time  I would say, times gives you not skills but rather confidence that you can overcome the problem and the knowledge what kind of battles you can win and what you can't.
|
|
|
|
|
princec
|
 |
«
Reply #2 - Posted
2012-02-26 23:32:03 » |
|
31 years! And I still can't do OpenGL. Cas 
|
|
|
|
Games published by our own members! Check 'em out!
|
|
Christopher
|
 |
«
Reply #3 - Posted
2012-02-27 01:23:49 » |
|
31 years! And I still can't do OpenGL. Cas  That is supremely comforting! So I am having a tough time learning opengl and begin to wonder if I am just a really bad programmer or if opengl is just 'that' hard. Then I realize something...I have really only been programming for maybe a year now.
I have only been programming for year, same as yourself. What i have learned so far is when you get stuck, take a break, most of the time im simply to tired to figure out the answer. Hit it up in the morning and i figure it out in a few minutes.
|
|
|
|
sproingie
|
 |
«
Reply #4 - Posted
2012-02-27 01:32:23 » |
|
20 years for me. OpenGL is not an easy API to work with, being very stateful and otherwise very old-school with lots of checking of error codes (and no one does that for every call), and when it comes to shaders, very unfriendly to debuggers. So don't beat yourself up if it's slow going for you, it's rough terrain for everyine.
|
|
|
|
|
Riven
|
 |
«
Reply #5 - Posted
2012-02-27 01:34:25 » |
|
most of the time im simply to tired to figure out the answer. Hit it up in the morning and i figure it out in a few minutes.
It's also worth noting how many people (including programmers) abuse their brain in horrible ways. If you want to perform at your best, reduce the number of bugs and help you get great insights (which you otherwise simply don't get...), I can't stress enough that you should have a regular sleep pattern. Eight hours a day, not even seven. Preferably (eventually) wake up without an alarm clock. It can be done, and it will greatly help you in coding and everything else in your life, except attending parties.
|
|
|
|
kaffiene
|
 |
«
Reply #6 - Posted
2012-02-27 01:45:20 » |
|
Just under 30 years for me. I had the fixed function part of OGL understood. And then came shaders and I got those, eventually. And then I had to learn VBOs, FBOs and they deprecated all the fixed functionality and I got that. Then I had to use new shader syntax and I'm trying to understand MRTs and I'm struggling. But I will get it, eventually :o)
You're not the only one who struggles!
I'm finding the new GLSL hard to find decent info for. I guess because it's changing so fast these days. Everything I learn gets deprecated!
|
|
|
|
|
ra4king
|
 |
«
Reply #7 - Posted
2012-02-27 01:49:08 » |
|
Just over 2.5 years now for me! I've been sticking with Java2D for such a long time and I only recently started learning OpenGL. I do agree about it being complicated, hard, and confusing but with persistence you will learn!
|
|
|
|
Riven
|
 |
«
Reply #8 - Posted
2012-02-27 01:49:33 » |
|
Everything I learn gets deprecated!
A programmer should love that 
|
|
|
|
jezek2
|
 |
«
Reply #9 - Posted
2012-02-27 01:58:37 » |
|
OpenGL is just bad API, no wonder you have problems with it, everyone does. Too much state, using binding approach to both setting properties and for changing the rendering state is awful. GLSL is also full of vendor specific bugs (though this probably improved a bit over time). It's so used because you don't have any real chance to use anything else for interacting with the HW (except D3D on windows, or going more low-level on consoles, or possibly Gallium3D on linux via custom state tracker). Personally I've had to create my own complete abstraction over OpenGL (and possibly Direct3D/Gallium3D in future) to bring the joy of 3D programming back for me. For shaders I use Cg instead, IMHO better designed language for shaders than GLSL. If interested about my library it's here.
|
|
|
|
|
Games published by our own members! Check 'em out!
|
|
SwampChicken
|
 |
«
Reply #10 - Posted
2012-02-27 02:01:30 » |
|
Since ~1984...
|
|
|
|
|
ReBirth
|
 |
«
Reply #11 - Posted
2012-02-27 02:18:44 » |
|
31 years! And I still can't do OpenGL. Cas  But your games use lwjgl  *le coding for 4 years*
|
|
|
|
RylandAlmanza
|
 |
«
Reply #12 - Posted
2012-02-27 02:26:46 » |
|
I've been coding for about 4 years (As a hobby, and some freelance work. Not really professionally.) It's only in the last year that OpenGL started making sense to me, and only the basics of it.
|
|
|
|
|
StumpyStrust
|
 |
«
Reply #13 - Posted
2012-02-27 05:32:19 » |
|
Hehe yeah I started with java....and that is all. I kinda want to learn C++ as it is still currently the most used language but I have a feeling that by the time I graduate everything will be all "multi-platform" and hand held devices. (cell phones, tablets, and that mumbo jumbo) So I figure that java will be the easiest way to release things to many devices without much code rewriting. I have to confess I do have the bad habit of not having a good sleep schedule. Every time I start having a regular schedule, another damn game comes out and I just can't help it. It's like it is taunting me. (play me....play me....) Last time it was Skyrim and now its Kingdoms of Amalur....and soon it will be Mass Effect 3! I think I will call it research. For example: Never ever, ever, run all of your games textures through some sort of compression 'thing' to make them fit on consoles....Skyrim.
|
|
|
|
|
kevglass
|
 |
«
Reply #14 - Posted
2012-02-27 07:52:53 » |
|
Nearly 30 years and I still don't get anything.
At all.
Cheers
Kev
|
|
|
|
Damocles
|
 |
«
Reply #15 - Posted
2012-02-27 09:09:36 » |
|
around 24 years, (starting with Sinclair Basic and Amiga Basic...)
I also just learn into OpenGL Programming (used a 3D Engine before, wich kind of shields the user from understanding the internals of a 3d interface)
Important is to have a nice working example codebase to play aound with. Try looking for an OpenGL example that shows some interesting examples, without beeing too simplistic, but also not beeing too complex.
Play around with it, change stuff etc to see how stuff works.
Have some goal you want to realise, so you can focus on looking for a specific solution and getting something done, instead of standing in front of a frustratingly huge mountain of possible things you could do and learn.
Having a nice playground that is not too complex is the best way to learn and have some rewards implementing your own stuff. Once I grab the concept and feel familiar with an environment I get stuff done quite quickly. If I dont get familiar with it, I take forever.
Step1: make a textured cube Step2: make a multiplayer shooter
|
|
|
|
Archibald
|
 |
«
Reply #16 - Posted
2012-02-27 09:29:16 » |
|
To everyone complaining on OpenGL: Try D3D, then we will see if you have any complains  OpenGL is the easiest, nicest and the cuttest 3D API ever. And it does not get outdated over time (it just gets more functionality you don't know, but the old code from eons ago still works).
|
|
|
|
|
gimbal
|
 |
«
Reply #17 - Posted
2012-02-27 10:18:21 » |
|
To everyone complaining on OpenGL: Try D3D, then we will see if you have any complains  OpenGL is the easiest, nicest and the cuttest 3D API ever. And it does not get outdated over time (it just gets more functionality you don't know, but the old code from eons ago still works). I don't get that. I've used both, and I would prefer D3D to OpenGL any day. Its a much cleaner and more to the point API if you disregard the retarded COM stuff. Well, Direct3D 8+ is anyway. What it has against it is that it isn't friendly to newcomers like OpenGL is, but I don't hold that against any API.
|
|
|
|
|
princec
|
 |
«
Reply #18 - Posted
2012-02-27 10:30:35 » |
|
wrt. programmers complaining about OpenGL - it turns out that hardware actually has state, and can't be hidden behind nice little abstractions very easily (see: OpenGL implementation of Java2D for example of how hard it is to get that working right!) The API is beautiful. It's just very very very hard to do! I learn how to do one bit at a time, abstract the code away in some class, and then forget it. So I only know one bit of OpenGL at a time. Every time I come across something new and scary I spend weeks figuring it out. Now I've got theagentd looking at it for me  He does all the hard bit then I figure out how to abstract it and integrate it so I don't have to remember anything... Cas 
|
|
|
|
Roquen
|
 |
«
Reply #19 - Posted
2012-02-27 14:47:27 » |
|
DX is much better. The only thing nice about OpenGL is the extension mech. What's so great about a versionless API, by which I mean one that contains functions that have been outdated since before the Voodoo-1 card was released. Tokens are all a mess of integer constants (defined by C #define statements)...it just makes life hard for everyone: users and driver writers alike. WTF no compile time error checking of tokens.
|
|
|
|
|
theagentd
|
 |
«
Reply #20 - Posted
2012-02-27 16:09:32 » |
|
DX is much better. The only thing nice about OpenGL is the extension mech. What's so great about a versionless API, by which I mean one that contains functions that have been outdated since before the Voodoo-1 card was released. Tokens are all a mess of integer constants (defined by C #define statements)...it just makes life hard for everyone: users and driver writers alike. WTF no compile time error checking of tokens.
I AGREE. DX IS A LOT BETTER BECAUSE HAVING AS MUCH AS POSSIBLE IN CAPS MAKES MY PIXELS APPEAR FASTER. OpenGL 3.0+ is the perfect API in my opinion. xd wrt. programmers complaining about OpenGL - it turns out that hardware actually has state, and can't be hidden behind nice little abstractions very easily (see: OpenGL implementation of Java2D for example of how hard it is to get that working right!) The API is beautiful. It's just very very very hard to do! I learn how to do one bit at a time, abstract the code away in some class, and then forget it. So I only know one bit of OpenGL at a time. Every time I come across something new and scary I spend weeks figuring it out. Now I've got theagentd looking at it for me  He does all the hard bit then I figure out how to abstract it and integrate it so I don't have to remember anything... Cas  Glad and honored to help out. xd
|
Myomyomyo.
|
|
|
gimbal
|
 |
«
Reply #21 - Posted
2012-02-27 16:19:10 » |
|
wrt. programmers complaining about OpenGL - it turns out that hardware actually has state, and can't be hidden behind nice little abstractions very easily
Very good point. I'd take that one step further: if the hardware has state (and it does) then you don't WANT to hide it behind a low level API such as OpenGL or Direct3D. Whatever assumptions are built in, they do not cater to all needs. And that is why we develop software in layers and people make money on selling engines 
|
|
|
|
|
EgonOlsen
|
 |
«
Reply #22 - Posted
2012-02-27 17:45:44 » |
|
Since 1983.
|
|
|
|
teletubo
|
 |
«
Reply #23 - Posted
2012-02-27 18:01:03 » |
|
9 or 10 years maybe. If I count the QBasic years when I was 14 years old and and had no internet nor books, would be like 13 Years.
|
|
|
|
thaaks
|
 |
«
Reply #24 - Posted
2012-02-27 18:29:40 » |
|
Since 1983. And earning my (and my family's) living with it since '86... Still detecting coding miracles nearly every day 
|
|
|
|
pitbuller
|
 |
«
Reply #25 - Posted
2012-02-27 19:20:05 » |
|
9 or 10 years maybe. If I count the QBasic years when I was 14 years old and and had no internet nor books, would be like 13 Years.
Qbasic years was the best years. 14y ears and first five with QB.
|
|
|
|
|
princec
|
 |
«
Reply #26 - Posted
2012-02-27 21:30:13 » |
|
With me it was about 11 years of BASIC in various guises, followed by a whole bunch of whacky languages at university, then Powerbuilder and SQL for about 5 years, then Java since that. Lots of bits of C++ thrown in for good measure and all kinds of oddness. Cas 
|
|
|
|
65K
|
 |
«
Reply #27 - Posted
2012-02-27 21:49:52 » |
|
Is this some kind of veteran's home ?  I started in 1984 with a C64, fooling around with Basic and Assembler. But never completed any game. Since 1995 I've been working as developer for business software, doing database stuff, PowerBuilder, Java. I gave up thinking about writing games because I thought it's impossible doing it on your own any way and that there would be no market for Indie games. In 2004 I started writing my first game classes, more or less commited. And since some months I'm trying hard to prove my earlier assumptions about indie games wrong 
|
|
|
|
sproingie
|
 |
«
Reply #28 - Posted
2012-02-27 22:55:38 » |
|
The fact that we're geezers might account for some of the affection toward the old-school games... 
|
|
|
|
|
kaffiene
|
 |
«
Reply #29 - Posted
2012-02-27 23:28:06 » |
|
Everything I learn gets deprecated!
A programmer should love that  Hah! That's one of the major reasons I gave up on DirectX - every year M$ would invalidate my codebase with their newest release.
|
|
|
|
|
|