Thread: A best way to start learning graphics?

  1. #16
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    Excuse my lazy posts above, Soma.
    O_o

    Assuming that was sincere you will not be so again where there is no issue.

    So, no apology is necessary.

    Incomplete example portions in the text mean you have to read the whole damn source code just to demonstrate a simple principle
    Balance!

    It is even worse when the material includes a complete source dump.

    weird never-seen-before utility needed to compile the example projects
    Unfortunately a lot of different build environments exists; if it hadn't have been that one it might have been worse.

    It could have, for example, only given "Microsoft Visual C++" project files or required a full set of GNU "autotools".

    lots of unexplained boilerplate with "we'll get to this later" and "the next three lines set state" as comments
    Literally every programming book and tutorial does this.

    the first introduction of vertex and fragment shaders is just a "trust us, compile it and it will work" job with little explanation of what it actually does
    This approach too is a necessity.

    You can't explain every possible concept "up front".

    C++ books and tutorials that being with the classic "Hello, World!" do not begin by covering operator overloading for example.

    large portions of maths that are way over most people's heads
    Unless a person already has significant experience with the mathematics involved this is going to be true, again, with literally every book or tutorial on the subject.

    It simply isn't necessary for a book on "OpenGL" programming to delve fully into mathematics.

    Such an approach only pads the length of the tutorial, and it also happens that programmers are not good at teaching mathematics.

    Reading and relying on a dedicated book or tutorial on those concepts is for the better.

    The poster just wants to start drawing things on the screen, and that tutorial is completely the wrong kind for that purpose.
    This I agree with completely.

    Strangely enough, if someone only wants to start drawing on the screen "OpenGL" is entirely the wrong tool.

    A better tool would be "SFML" or "SDL" or any of many others.

    A more complex and featured API necessitates a more complex tutorial.

    *shrug*

    The tutorial certainly has its flaws, but most of what you've complained about applies to every book and tutorial on complex topics.

    After that, it is a rather smooth sailing.
    In the interest of others, have you considered making your base "SFML" framework partially compatible with the framework used in that tutorial so that others may benefit from your work?

    Soma

  2. #17
    Registered User
    Join Date
    May 2012
    Posts
    71
    2 more questions;
    I want to make some 2D and 3D games and i have no idea about waht to use, or where to start. I think the thread tittle is a bit missleading, i thought openGL is the best way to start, maybe it is?

    If possible, lead me to a good online link or program that is good for beginners to start drawing graphics, like tree's, house's, rock's, some terrain maps where the character will walk on, even draw the character's. I just dont know where to start, i can search everything if necessery, but just a little guide from where to start as a begginer to this topic. Thanks!

    One more thing, if i start with SFML, wont i get way too much into it, and when leaving it, when becoming a proffesional graphics designer and changing the library, all the functions will be different? And will have harder time to learn all the new functions from the newer library and etc.?

  3. #18
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    O_o

    I hate to tell you this, but there is no such tutorial.

    Concepts that involve semantic notions beyond simple graphics (like "walk paths" that confine a running characters movement to specific areas) are not beginner topics.

    They aren't necessarily advanced topics though they can be depending on the algorithms involved.

    Such things are intermediate concepts. You are trying to consume and produce too much at once.

    Learn a little about graphics so you can draw simple primitives.
    Learn a little about "brute force" collision detection and "walk paths".
    Explore these things by putting them together.

    Once you have a foundation of basics in your mental toolbox then you should feel free to start learning about more advanced topics.

    Soma

  4. #19
    [](){}(); manasij7479's Avatar
    Join Date
    Feb 2011
    Location
    *nullptr
    Posts
    2,657
    Quote Originally Posted by phantomotap View Post
    In the interest of others, have you considered making your base "SFML" framework partially compatible with the framework used in that tutorial so that others may benefit from your work?
    Good idea!
    Though I don't know if I can make it in a way that the tutorial files can be directly compiled with another framework(which isn't almost totally similar to it)....as the author has gone through some strange hoops for making it possible for the reader to need to write and understand as little code as possible (just defining some callback funtions which are declared from the framework) at once.

    Btw, here is the library (by the author himself, afaik) on which the framework is built.

  5. #20
    Registered User
    Join Date
    May 2012
    Posts
    71
    So i was told about a good article NeHe Productions: Creating an OpenGL Window (Win32) and seem legit as i read few stuff, but the first few lines make me ask the next question.
    After you have created a new Win32 Application (NOT a console application) in Visual C++, you will need to link the OpenGL libraries. In Visual C++ go to Project, Settings, and then click on the LINK tab. Under "Object/Library Modules" at the beginning of the line (before kernel32.lib) add OpenGL32.lib GLu32.lib and GLaux.lib. Once you've done this click on OK. You're now ready to write an OpenGL Windows program.
    How can i link those while in Code::Blocks IDE?
    I relly dont get into Visual C++ and feel very uncomfortable, is there a way to stay with Code::Blocks for those tutorials?
    Thanks, im allmost there, this article seems very good.

    PS: You have to copy the quote text (that blue highlight before pressing anything) then it will be shown to be readed :?

  6. #21
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    You can use Code::Blocks. You will just have to read some help or guides on where to find things such as linking in C::B.
    These concepts are IDE-related, but are absolutely necessary for C and C++. You will that almost any IDE for C/C++ has this feature somewhere.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  7. #22
    Registered User
    Join Date
    May 2012
    Posts
    71
    Ok, and one more thing;
    wich one is the Win32 Application, is there such thing in C::B?

  8. #23
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    I don't know if I can make it in a way that the tutorial files can be directly compiled with another framework
    That's not exactly what I was suggesting either.

    Soma

  9. #24
    Registered User
    Join Date
    May 2012
    Posts
    71
    Soo, where is this Win32 Aplication in Code Blocks? I dont see such project and i have t ocreate it and then to link all the lib's i need

  10. #25
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    This is why I do not respond to these posts. If you do not know where to go to learn graphics then any answers we give only result in yet more questions. If you do not understand the math behind the graphics then any answers we give result in yet more questions. If you do not understand that choosing a graphics API is fruitless unless you have a basic understanding of graphics then any answers we give result in yet more questions. If you do not understand basic C++ programming then any answers we give result in yet more questions. If you do not know how to set your compiler up then any answers we give result in yet more questions.

    Quite honestly the amount of material you will need to get your first game up and running could fill a book of its own.

    Go to amazon and look up books on C++, design patterns, programming, graphics, OpenGL, math, algorithms, etc . Pick the ones you want and purchase them as you can. This is really the only way to learn. Game programming and graphics are still a black art (although less so due to the internet) and the truly awesome algorithms are either buried away in books (aka any of the gems series) or hidden beneath NDA's. There isn't a 'how to program your next game' book anywhere on the planet.
    Last edited by VirtualAce; 06-27-2012 at 04:49 PM.

  11. #26
    Registered User
    Join Date
    May 2012
    Posts
    71
    I just want to set my IDE so i can start operate with openGL, the rest is just reading tutorials i guess (was this way with C++)
    The books are also extremly expensive for me, maybe if im working wich i think i will start soon (with a little luck hehe)

    I set the project and everything, atm figuring problems with linking and compiling files,
    curently mingw is searching the project in other folder, maybe some of you can help, here is the link to my other thread, please take the time to look at the last few post's
    Linking lib's in C::B

    I usualy dont ask much, prefer to search couse its less stressfull but the data i collected in this thread there is from searching the code::blocks page.

  12. #27
    Registered User
    Join Date
    May 2012
    Posts
    71
    I post new infromation and further info in the Code::Blocks link in my previous post, please read the last 3-4 posts and try help.
    Im really close to start learning OpenGL graphics!

  13. #28
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    O_o

    No.

    We aren't going to help you every step of the way.

    We are back into "Stop being foolish." territory.

    Knowing how to use your chosen environment is a part of what you are going to have to know to do any development. We aren't going to walk you through every step of that. If you can't understand the tutorials well enough to figure this out on your own we would be wasting our time in trying to help you.

    Soma

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. where to start learning windows programming?
    By tekbird in forum Windows Programming
    Replies: 1
    Last Post: 07-25-2010, 04:25 AM
  2. Learning C#, Where To Start?
    By Mulsiphix in forum C# Programming
    Replies: 2
    Last Post: 01-16-2010, 10:50 AM
  3. where to start learning c and c++
    By dragon1986 in forum C Programming
    Replies: 1
    Last Post: 03-07-2008, 12:18 AM
  4. ok so what do i need to start learning
    By thestien in forum Game Programming
    Replies: 10
    Last Post: 10-10-2006, 12:00 PM
  5. Want to start learning raw packets in C
    By Lateralus in forum Networking/Device Communication
    Replies: 1
    Last Post: 06-08-2005, 12:55 PM