Simple Graphics mode

Started by
4 comments, last by Daishim 22 years, 9 months ago
I''m looking for a super simple graphics mode to use while learning C++. I''m just changing languages so I''ve got the concepts but I would like to use a simple graphics mode while learning C++ to allow for expanding the C++ knowledge to graphics/games while learning. I''ve looked into OpenGL but it''s a little too complex right now. I''m using MSVC++ and Borland Turbo C++ so new or old, any simple mode will do.

I know only that which I know, but I do not know what I know.
Advertisement
There aren't really any simple graphics modes (except for mode 13h, I suppose), but there are numerous libraries which make doing graphics much easier. I would recommend Allegro.
~~~~~~~~~~
Martee

Edited by - Martee on June 27, 2001 7:06:18 PM
ReactOS - an Open-source operating system compatible with Windows NT apps and drivers
I would suggest mode 13h, its great for learning c++ in console mode. I am not sure what OS your using, but with a few simple BIOS interrupts you have access to writing to the vga memory.. You dont need any knowledge on interrupts, just a tad bit on computer memory. check out this site ->
http://www.brackeen.com/home/vga/

Also you can go to unchained mode, which is a bit more complex, but you get higher resolutions. If you need source to any simple games written in it, email me hell_barbarian@yahoo.com
Mode 13h under DOS is the easiest in my opinion. You should be able to use it with your Turbo C++ compiler. Use assembly language to setup the videomode.

IIRC:
      asm {    mov ax, 0x13    int 0x10};  


It's been years since I used it, so I might remember incorrectly. After you have setup mode 13h you have a 320x200x8 framebuffer linearly arranged in the segment 0xA000.

ex.
        void putpixel(unsigned int x, unsigned int y, unsigned char color){    asm {        mov es, 0xA000        mov ax, y        mov di, ax        shl ax, 8        shl di, 6        add di, ax               add di, x        mov al, color        stosb    };};  

(Remember, It's been years since I actually used this stuff, and since I wrote the above off the top of my head it's probably incorrect )

Etc etc....

I can recommend learning SDL (under Windows), or some other simple API though. Using it is very straightforward and you don't need to bother about setting up a window etc. Of course eventually you should learn to do it "by hand" (I mean setting up your own window and such), and some might argue that you should begin by doing stuff the hard way to really learn how it works "under the hood".... But do whatever feels good for you

Edited by - Dactylos on June 27, 2001 7:10:20 PM
Will Allegro work with Turbo C++ and MSVC++, all I see are DJGPP documentation and DGJPP has some quirky things in it compared to the above two.

I know only that which I know, but I do not know what I know.
Allegro will work with MSVC. You need one of the newer WIP''s, not version 3.12, though.

~~~~~~~~~~
Martee
ReactOS - an Open-source operating system compatible with Windows NT apps and drivers

This topic is closed to new replies.

Advertisement