I know I'm gonna get flamed but I want to learn graphics programming. What do I need?

I’m sorry to piss anybody off but I have just recently completed learning C and I found it extremely easy. Programming comes fairly easy to me so I feel that I am ready to move on. I really don’t like microsoft but as I am only 14 and I don’t have complete jurisdiction my main computer runs 98 (I do have a slow Linux-Mandrake also) I wanted to know exactly what I needed to learn how to make graphical applications in C. I have Borland C++ version 5.02 and I am proficient in project management in it. Should I buy a book on DirectX or is OpenGL Direct X independent… (I know RTFM, but I couldn’t find it and I was in a hurry in this post.

visit

i just did and it seems cool… I’m not familiar w/ any BorlandC++ vs. VisualC++ naming conventions… are there any?

I don’t know what you mean?.. anyway I may also suggest to buy the red book

OpenGL Programming Guide
which is available at virtually any book store or online at
http://ask.ii.uib.no/ebt-bin/nph-dweb/dynaweb/SGI_Developer/OpenGL_PG

> recently completed learning C and I found it extremely easy

uh huh =)

okay, yes, i can sympthasise with what you’re saying, and i am NOT flaming you on this, but just… elaborating on a point. A point, if you will, of my own devising.

Coding in C might be easy, because … hey, its just if statements and for loops and you’ve got a program. but knowing the syntax of C doesn’t make anyone a good programmer. C is just a way of expressing code, in the same way english (for example) is one way of expressing one’s thoughts. but, in the same way you can have a moron speak english about his love for barcodes with perfect grammatical construcs doesn’t make him able to write stunning poetry, or insightful debate on african politics, or something.

not a flame, i hasten to add. but there’s more to coding than knowing how to declare an integer.

do you know, for example, where void pointers might be useful for hacking generics? or how recursion is useful, or what a race condition is? knowing why autoamted garbage collection is considered by many to be a proverbial good thing, and why single use coders in C stubbornly can’t see why it ISN’T (becayse of COURSE you know when a symbol is out of scope!!?!=)

check out things like benson’s(*) programming pearls and similar books.

cheers,
John

(*) i think its by benson. not entirely sure, tho’

John, it was by Jon Bentley (Programming Pearls)

I’d recommend you use Visual C++ 5 or newer. I use VC 6. At this point I’d also recommend you stick to OpenGL, because DirectX got me only messed up. It is a really crap mess of an API. Try OpenGL first and then try DX, you can make up your mind by that.

I tried to install a Linux Mandrake version that works with Windows because I am in a similar position to you and it isn’t my computer. The problem was that it f***ed up and destroyed Windows by messing up the boot sector or something which meant that you couldn’t access any data on the had drive although it was still there. One format and then one impossible reinstall of Wondows with about 6 months work lost I finaly got it working again but with no Linux and no chance of ever installing it on the computer again.

http://www.programmingpearls.com/

Personally, I’ve found VC++ to be one of the best IDE’s to work with, but seeing as you are only 14 it would probably be a bit spendy for you. Borland should be fine for OpenGL programming. You don’t need to know anything about DirectX to use OpenGL, and I would suggest learning OpenGL first. If you want to learn DirectX later it’ll be easier if you understand how OpenGL works. Is that version of Borland the free one they offer? If so, I believe it comes with everything you’ll need to begin OpenGL coding with the possible exception to Glut, which would help you out a lot in the beginning.

As has already been stated the Red Book, and the Nehe tutorials are a good place to start getting information on OpenGL programming. This forum is a good place to look for any potential problems you might run into. A quick search on the forum will usually solve all the most common problems that beginners have.

well, first, that’s cool that you have gotten started at 14… The red book (The OpenGL Programming Guide) and the blue book (The OpenGL Reference Guide) are good places to start. DirectX and Opengl are competitors, and the main difference is opengl is platform independant.

i think its kinda funny that john feels intimidated by a 14 year old…

intimdated? not at all. my sole point was there is more to programming than knowing syntax.

i have seen first years in my first year pracs think they can code, but then you give them a problem and they fall over. there is MORE to coding than writing syntactically correct C. that was my point.

cheers,
John

I will get the red book (what’s the main difference between it and the blue book?) and I am currently going over the NeHe tutorials. I’m gonna try to respond to people in this post.

mr.x- thanks (and I figured out what I meant, i probabaly worded that wrong in my post)

john- I know exactly what you mean… I’d just like to say that this comment was appreciated and that I don’t take it as a flame because it didn’t apply to me.

RareXGL- I love the borland interface & the VC interface was extremely confusing and contained way to much overhead for what I am doing (+ the price)

Tim Stirling- Sorry about that, I love Mandrake though (did u install the lnx4win version? it doesn’t do any partitioning)

Gavin- thanks for the great site

Deiussum- see comment to RareXGL

Cardinal- thanx

iliketocomplain- i really didn’t see it that way… he was just going off on a rant (and that’s healthy)

Ok, John, I give up. I thought I knew how to program, to some extent, but I don’t have a clue what “hacking generics” is. Can you point me to a site that covers it?
Thanks,
Barry

Howdy,

well, I don’t know of any webpage on it, but what I meant is unhealthy large amounts of void pointers and function pointers to write generic code.

qsort in the standard c library is an example: it can sort anything that can be ordered through mind numbing use of casting and fucntion ptrs. (Templates in C++ is the cleaner way of doing generic stuff, of course.)

cheers,
John

Hello,
i just want to say that C++ is not as easy as a lot of people say, it needs a great programming culture; nobody is a good c/c++ programmer in 21 days.

I totally agree with John. Though the only way to get better is to ask, read, and practise.

P.S. Did you guys know there is a DX version of NEHE on the go? nexe.gamedev.net

Nutty

Ok, I started programming computers on a C-64 for those who know that old machine. I was 5 years old at the time (I am 25 now and write computer code for a living) and have some advise for those who are starting out:

KEEP code writing, even if its really non-complex stuff - it’ll reinforce what you know.

LOOK at how other people write code - by examples you can learn different techniques.

ASK if you don’t know something. Most people will understand that they were in that boat at one point in their life.


Also, I agree with John and i know what hacking generics are good for .

The computer world is so vast that no one individual will know expertly everything there is to know. Technology changes all the time requiring constant learning.

This might be out of subject but I was wondering what does “Programming Pearls” talks about exactly. I’ve read couple of reviews and they all say that the book is great(or its the quotes from the back of the book)If any of you have read it can please tell if its really worth… and does what it claims to…