Számítógépes grafika gyakorlat 1999/2000. I. félév

Gyakorlatok helye: Irinyi 225, X-es terem

      Ideje: Kedd    10-12
                 Kedd    12-14
                 Szerda  13-15
                 Csüt.     10-12

 Oktatással kapcsolatos e-mail-eket csak a siriuson fogadok: marcsi@sirius.cab.u-szeged.hu

Tematika:

- BGI grafika UNIX környezetben
- PHIGS programozása
- Programozás Post Script nyelven
- xfig grafikus rajzoló program használata
Feltételezett elõismeret:
- C nyelv
- BC++ fejlesztõi környezet, grafikus függvények használata
- UNIX op. rsz. ismerete (filekezelés, jogosultságok, texteditor)
Követelmény:
-beadandó 1db  C nyelven írt grafikus program (saját készítésû, mûködõ) a 3. gyakorlatra (mindegy, milyen platformra íródott)
-1. ZH:  PHIGS programozási feladat(ok) gép mellett (terv szerint nov. 1. hetében)
-2. ZH: PostScript nyelv
Következõ órára mindenkinek legyen másolata az általam kiadott PHIGS fóliákról.
Minden hallgatónak azonosító szükséges mind a görögökre, mind a siriusra.
A görögökön mindenkinek legyen kb. 500 KB szabad helye a gyakorlatra.

1. gyakorlat:

 1. Grafikus programozás Borland C-ben (ismétlés)
 
 

Képernyõüzemmód választása a graphics.lib könyvtár fv.-einek segítségével: Grafikus üzemmód esetén a pixelekre osztott képernyõ felbontása a grafikus adaptertõl és a kiválasztott grafikus üzemmódtól függ. BC++ grafikus könyvtára lehetõvé teszi vonalak rajzolását, kitöltést, stb. Viewport-okat definiálhatunk (grafikus ablak, virtuális képernyõ):
setviewport.  (Default: a teljes display)
Több, mint 70 grafikus fv., magasszintûtõl (pl. drawpoly,bar3d) a bitorientáltig (getimage, putimage). Az aktuális pont :Current pointer ( CP) , mely viewport-on kivül is lehet.

graphics.lib : run time fv. könyvtár
graphics.h: fejléc-file a graphigs.lib fv-eihez deklarációk, konstansok.

Hardverfüggetlen grafikus alrendszer (bgi grafika):
Az adott grafikus kártyához rendelt eszközmeghajtó file (*.gbi) biztosítja, pl. vga.bgi.
Borland Graphics Interface:bgi. A grafikus rendszer inicalizáló rutinjai képesek a grafikus kártyák típusának felismerésére. A *.bgi futás közben töltõdik be.

Grafikus program készítése:

Megjegyzés: Irodalom: 2. Bgi grafika  UNIX alatt (xbgi) /*  Teljeskepernyon atfuto atlos vonal*/
#include <graphics.h>
#include <bgi.h>
#include <stdio.h>
 

int main(void)
  {
                   /* grafikus kartya automatikus felismeres*/
    int gdriver = DETECT, gmode, errorcode;
    char msg[80];
                   /* grafikus uzemmodra valtas:*/
    initgraph(&gdriver,&gmode,"");
                   /* inicializalas eredmenyessegenek vizsgalata : */
                   /*hibakod lekerdezese: */
    errorcode = graphresult();
    if (errorcode!=grOk)
    {
    printf("Graphics error: %s \n",grapherrormsg(errorcode));
    printf("Press any key to halt:");
    getchar();
    exit(1);
    }

    line(0,0,getmaxx(), getmaxy()); /* atlos vonal rajzolasa a display-re */

    getchar();                      /* billentyuleutesre var  */
    closegraph();                   /* grafikus uzemmod lezarasa*/

    return 0;
}