Learning Open Gl, Some Advice ?


WizardStan said:
trendy said:
This doesn't mean you will have reusable code in the sense the user/victim will enjoy your work if (s)he want to use the hardware for other tasks. You apply best practices because otherwise you will lose the chances for being possible to be a good programmer. You still need to have a serious level of math.
I don't disagree with this. You are correct: using best practices doesn't automatically make your code good, but at the same time I am saying that not knowing assembly does not automatically make your code not good.
This is graphics we are talking about, not interpreted scripts. Without asm/architecture you can only claim good code if you're still in the learning process, and you can't really evaluate yourself because you're lacking the knowledge.
Good for real-time coding is harder to accomplish than even exceptional interpreted script coding. You don't have the luxury of naivity. I've seen people that could have been good at RT coding but couldn't because they needed to be naive to feel better (social problems).

I don't think I have anything to add that could be considered helpful so I should stop posting.

@Laurent I want your coworkers. Where I work people lie more than doing usual work if they can get away with it (peasant bigshots). Even asking for info it's usually a waste of time if it isn't someone's personal interest... but that's a way too off-topic.
 
Last edited by a moderator:
I've been learning and writing stuff in Python/Pygame. Pygame is supposed to be a light wrapper around SDL.
It sure is quick in getting something up and running. My biggest fear is whether the Pandora has the power for a reasonable size game.
I thought about biting-the-bullet and learning c/c++ (I know a little) but I'm only a hobbyist (with a life) so went for something with a less steep learning curve.

I do not claim to be a good programmer. :) Although I have coded on the VIC20 in Motorola 6502 a long, long time ago.


Edit: Corrected my normal grammatical errors.
 
I can't really contribute usefully to this thread because I don't know much about this stuff - in fact that's the very reason I'm posting! I found a rather good looking library called SFML, and I wondered whether or not it would work on the Pandora... It says it works on Linux, but there's so many different Linuxes that I'm unsure about whether it will be compatable with this perticular ARM Angtrom distribution. Thanks in advance. :D
 
may88 said:
I've been learning and writing stuff in Python/Pygame. Pygame is supposed to be a light wrapper around SDL.
It sure is quick in getting something up and running. My biggest fear is whether the Pandora has the power for a reasonable size game.
I thought about biting-the-bullet and learning c/c++ (I know a little) but I'm only a hobbyist (with a life) so went for something with a less steep learning curve.

I do not claim to be a good programmer. :) Although I have coded on the VIC20 in Motorola 6502 a long, long time ago.


Edit: Corrected my normal grammatical errors.
I recommend learning C++. It has its complexities, but the core concepts are very easy to learn if you have prior coding experience, which it seems you do. It easy for me at any rate, although I still consider myself a beginner.

http://www.cplusplus.com/doc/tutorial/
 
Last edited by a moderator:
i have dabbled in c/c++ few years back am currently working through lazyfoos tutorials. Just wondering if there is any background reading you guys would suggest i do. i have a 5 hour train journey tomorrow to fulfill if you got any pointers.. I wish the pandora was here then my 5 hours would fly by,
 
last post by me here.

1. GL is not a hard API to learn - but it comes with a bunch of fundamental concepts and expects basic skills that are necessary for anybody who's serious about 3d/game programming.
2. one can comprehend those concepts without ever hearing of GL (or any other low-level 3d api). one can comprehend said concepts from a game engine just as well. *but* many game engines are actively trying to offload the user from dealing (at least not face-on) with such fundamentals, so chances are, you will spend more time/effort trying to grasp those concepts from an engine than from a bare-bone 3d api.
3. there's something in programming (well, in any human activity but here we are interested in the algorithmic aspect) called 'accidental success'. higher-level tools in programming are not there to let you be oblivious of the underlying basics, but to save you from tedious tasks and generally increase your productivity toward a certain goal. but they usually are not trying to teach you fundamentals, because they assume their users are past that level. in this regard, newcomers to a field often tend to jump to the highest-level tools available there, and end up with accidental success. 'hurray, i get stuff on screen, so i must be capable of doing 3d now!'. are you really?

to give you a very simple (ok, outright bastardized) example: if you were new to boolean arithmetics, and needed to learn that, would you rather pick java or assembly for the task?
as stupid the above may sound, i've come across large pieces of high-level code (in serious projects, at that) by people who'd apparently skipped their boolean algebra classes, and/or had never touched asm in their life, and let me tell you it can be tears-inducing.
 
well i certainly didn't think the topic would go into so much detail, i have quite a bit of free time, so i have plenty of time to practice any one that i choose. Im willing to make a commitment to it, i will make something that runs on the pandora, it may not be very good, but thats what my goal is, i want to accomplish a working game for the pandora. I guess my commitment will be the outcome for how good the game will be.


after i have learned a little and have something to show, then ill post some results.

i thank everyone for their help, i think ill play with the api to begin with then use the engine, id like to know how it all works.
 
may88 said:
I've been learning and writing stuff in Python/Pygame. Pygame is supposed to be a light wrapper around SDL.
It sure is quick in getting something up and running. My biggest fear is whether the Pandora has the power for a reasonable size game.
I thought about biting-the-bullet and learning c/c++ (I know a little) but I'm only a hobbyist (with a life) so went for something with a less steep learning curve.

I do not claim to be a good programmer. :) Although I have coded on the VIC20 in Motorola 6502 a long, long time ago.


Edit: Corrected my normal grammatical errors.
I had neglected pygame for a while just because of some negative pre-conception I've had about running anything more than simple scripts in it, but damn if it isn't quick to get results. My first dabble in it had something up and running literally in minutes.
 
Last edited by a moderator:
Laurent said:
WizardStan said:
Laurent said:
I'm sorry to read that, I think if one has no understanding of architecture and assembly language, (s)he can't be a really good programmer.
I'm sorry you think that, because there's an entire generation of programmers coming up that have no formal training in assembly, but are still taught general best practices.
I stopped teaching at the University 8 years ago because students were not interested any more in computer architecture and low-level things. Out of 100 students I had, 3 or 4 of them showed a real interest in what I was trying to explain (basically microprocessor stuff needed to write compiler back-ends). The rest was here because there was an exam at the end of the year. Their only interest probably was to drag boxes in some Java IDE. That was very different from the courses I gave 12 years ago where more than 50% of the students were really interested because they felt the need to understand how things work at all levels.

You should come teach at my school then. One of the required classes for CS concentrators is a class in computer systems. We spend about half the semester doing circuit design, and the other half doing assembly (culminating in writing a compiler in Java that produces MIPS assembly). You have to understand how things work at all levels to avoid pitfalls introduced by abstraction to higher-level programming languages and libraries.
 
Last edited by a moderator:
Vorporeal said:
You should come teach at my school then. One of the required classes for CS concentrators is a class in computer systems. We spend about half the semester doing circuit design, and the other half doing assembly (culminating in writing a compiler in Java that produces MIPS assembly). You have to understand how things work at all levels to avoid pitfalls introduced by abstraction to higher-level programming languages and libraries.
I'm glad to see that's still taught :) The question is: do the students understand how useful that can be even if they'll never have to write a compiler or assembly language?

BTW I almost never have to write assembly programs, that's not what I mean. I just think programmers should have a broad knowledge ranging from low-level stuff (some assembly language) up to high-level (Prolog, LISP, OCaml).
 
Last edited by a moderator:
This is how the professor described the purpose of the class:

Suppose you're driving down the highway and your car breaks down. You pull over on the side of the road. You get out of the car, open the hood, and take a look around. Then you call AAA. This class is designed to allow you to take a look under the hood and understand all of the components that you see, how they work individually, and how they're put together to make the car as a whole function properly.

I think our CS department does a good job of giving students a comprehensive overview of CS as a whole. That's probably why we get recruiters from MS, Google, Apple, Sun, Cisco, VMWare, etc. coming in and trying to convince us to apply for jobs and internships. Maybe it's just the fact that some of the faculty in our department are some of the biggest names in CS... Oh well.

P.S.: AAA is an organization where, if you're a member, one benefit you get is that you can call them and they'll come tow your car.
 
Back
Top