Where can I go to learn about very basic PC graphics? From the ground up? No libraries etc. Just start learning how to do software stuff without anything fancy like Open GL etc.
Where can I go to learn about very basic PC graphics? From the ground up? No libraries etc. Just start learning how to do software stuff without anything fancy like Open GL etc.
Read many different Video cards specifications( if you can find them ), and make an OS that actually lets you use them without a driver.
Devoted my life to programming...
Alternatively on Linux, open and write to the framebuffer device.
Consider this post signed
Bah, of course, how could I forget.The OP specifically said "No libraries". That includes the OS itself...
"If you wish to make a graphics pie from scratch, you must first invent the universe."
Consider this post signed
Assuming you are on windows...
Start with ... TheForgers tutorial
Then head over to ... MSDN Graphics
And also ... GDI Tutorial
But you should note that you're not going to get much in the way of graphics power or performance from the OS's built in API... you're going to have to go with DirectX, OpenGL or some other library to really get the full benefit.
On linux... Well, I'm sure someone can give you some links to try...
And of course there's always Google...
There are 4 (3?) layers when it comes to graphics.
Hardware --> Drivers --> Library --> Application.
You are obviously not going to make hardware, nor write drivers, nor are you going to talk directly to the drivers, so that leaves the application.
The library is DirectX/OpenGL/Win32 API/Linux API/Unix API/etc.
Any game engine will lie on top of the library, so you will probably want to avoid that.
However, note that OpenGL and DirectX do not wrap Windows API. They talk directly to the drivers.
So, you will basically want to learn OpenGL/DirectX.
Using Win32 API is both silly and stupid. GDI isn't hardware accelerated, it's deprecated and everything is moving towards DirectX in Windows.
So, you now have enough information to know where to begin, at least, I believe.
Thank you guys. Just wanted to start very basic. Like learning how to make the screen change color in C or display a bitmap. Stuff like that. Baby steps.
Unfortunately there really is not a way to start at the basic level anymore. In the old DOS days you could start from scratch but not in any modern OS. I can only recommend you go to Amazon and purchase a DirectX or OpenGL book. Whichever API you choose, DirectX or OpenGL, is completely up to you and both have their advantages and disadvantages. I would recommend a book but I do not want to steer you towards any API here. I can say learning GDI and GDI+ will get you nowhere and I do not recommend using those to learn about graphics since the design and usage of those systems is completely different than any graphics API you will use.
Yep, the real horsepower is in Direct X, OpenGL... maybe SDL...
Still, Learning a bit of GDI is not a bad thing. There may come a time it's handy for debugging an older program or doing your own owner-drawn menus and things.
At least for me, the SDL strikes a nice balance. You can read and write pixels directly like you might have done with DOS. You can stay safely in 2D and play around with basic input and output. And you can also just load images and display them and plug in OpenGL once you've learned how the SDL works and want to use it to build something larger. Something to consider, at least. The SDL is cross-platform and available at Simple DirectMedia Layer.
dwk
Seek and ye shall find. quaere et invenies.
"Simplicity does not precede complexity, but follows it." -- Alan Perlis
"Testing can only prove the presence of bugs, not their absence." -- Edsger Dijkstra
"The only real mistake is the one from which we learn nothing." -- John Powell
Other boards: DaniWeb, TPS
Unofficial Wiki FAQ: cpwiki.sf.net
My website: http://dwks.theprogrammingsite.com/
Projects: codeform, xuni, atlantis, nort, etc.
SDL was how i started out, and for C i guess it really is the best way if one is not into straight OpenGL/DirectX.
However, for C++, SDL is hopelessly cumbersome. Instead, i recommend SFML.
It's completely object oriented, and there are ports for many other languages. It wraps OpenGL and thus is fully hardware accelerated, unlike SDL which runs on the CPU (unless one uses the OpenGL mode, in which case you have to write your own OpenGL code anyways, which defeats the purpose), as such SFML is many many times faster than SDL, and it is, if possible even simpler to learn and use than SDL is. It even supports stuff like shaders without having to write a single line of GL code (Atleast it used to do, i'm not sure if it still does.)
There are a bunch of tutorials and a step-by-step guide to getting it to work with a bunch of different IDEs and compilers. Oh, and it's ofcourse avaliable for all major platforms.
Sorry for the shameless plug, i'm not affiliated with the project, i just love using it.
How I need a drink, alcoholic in nature, after the heavy lectures involving quantum mechanics.
access the graphics memory with out operating system.
study about graphic card.