Hlavne menu We are sorry, but magazine AMMO is suspended. Here is just read-only access to the articles archive. Some features are removed because they were outdated, pointless in read-only (voting and pools), or it was missused by spammers (comments) etc. Now the webpages aren't maintained so when something will get broken most probably it won't be fixed at all. If you liked our magazine then please make donation with paypal so we can pay for traffic on this server.

TOP Výuka
01 Maľované krížovky 103 bodov
02 OpenGL, lákadlo 38 bodov
03 MySQL (+ použitie Visual C++ a PHP) 28 bodov
04 OpenGL, časť 1 21 bodov
05 Huffmanove kódovanie 19 bodov
06 Pascal, časť 1 18 bodov
07 Ako tlačiť s HP 16 bodov
08 Základy HTML časť 2 16 bodov
09 Základy HTML časť 3 13 bodov
10 Hry pre nenáročných + zdrojáky 10 bodov
11 Faktúrka v4.0 + zdrojáky v MS Visual C++ 6.0 7 bodov
12 OpenGL – Intermezzo 1 7 bodov
13 OpenGL povinná literatúra 6 bodov
14 Základy HTML časť 1 6 bodov
15 WinSocket Communication via VC++ 6 bodov
Najnovsie clanky
Kvalitné služby podľa skúseností iných - TopSlužby.sk
LOTR - Dve veže - Parodia - Scénka 2. časť
Neverwinter nights
Children Of Bodom-Hatebreeder
Kult Duny - 6. časť (Bonus)
Kult Duny - 5. časť (Filmy, Hry)
Dobré ráno. (morc certa, hora incerta...)
Kult Duny - 4. časť (Knihy 2/2)
Stretnutie Spoločenstva Tolkiena
GRAVE DIGGER – Knights Of The Cross
Kult Duny - 3. časť (Knihy 1/2)
Kult Duny - 2. časť (Pojmy)
Kult Duny - 1. časť (Úvod)
LOTR - Dve veže - Parodia - Scénka
Jackass
Vsetky clanky
Airsoft - Specnaz [4 clanky]
Básne [6 clankov]
Fantázia [4 clanky]
Filmy a DVD [51 clankov]
Hardware [10 clankov]
Hry [170 clankov]
Hry, návody [6 clankov]
Hudba [8 clankov]
Internet [7 clankov]
Knihy [6 clankov]
O AMME [4 clanky]
Pandemonium [10 clankov]
Poviedky [14 clankov]
Programy [18 clankov]
Rôzne [8 clankov]
Technické [3 clanky]
Úvahy [8 clankov]
Výuka [50 clankov]
Ako tlačiť s HP
Algoritmy v grafoch
Fake2
Faktúrka
Faktúrka v4.0 + zdrojáky v MS Visual C++ 6.0
Fract
HLSaver
Hry pre nenáročných + zdrojáky
Huffmanove kódovanie
IPicture2 & aggresiveoptimize.h
Maľované krížovky
MySQL (+ použitie Visual C++ a PHP)
OpenGL - GLWnd
OpenGL AMMO Saver
OpenGL povinná literatúra
OpenGL – Intermezzo 1
OpenGL, časť 10
OpenGL, časť 11
OpenGL, časť 12
OpenGL, časť 13
OpenGL, časť 14
OpenGL, časť 15
OpenGL, časť 16
OpenGL, časť 17
OpenGL, časť 18
OpenGL, časť 8
OpenGL, časť 9
Opengl – Cloth Simulation
RenameR
SkinMagic
WinSocket Communication via VC++
Údajové štruktúry
viac...
Zábava [5 clankov]
Zdravie [15 clankov]
Celkovy pocet clankov: 407
OpenGL, úvod 
Výuka | Dna 28.2.2002 | Johny | 11 znamok, priemer 2.09 | 7204 videni | 966 WAP videni

OpenGL... magické slovo ;o). Ďalšie magické slová sú slová začínajúce na Direct, DirectX, Direct3D, DirectSound, atd.

Čo bude cieľom týchto článkov? Priniesť zopár užitočných informácií a naučiť Vás nejaký ten kúsok o OpenGL. Kúsok nižšie napíšem trošku odbornejšie, čo to OpenGL je a na čo sa to používa, kto to používa a na čo je to užitočné. Ja osobne som OpenGL nijako podrobne neštudoval, a teda nič mi nebráni podať Vám to po sedliacky, po lopate, na rovinu... už stačí tých prirovnaní.

Každý, kto v minulosti programoval v DOSe alebo to ani nemuselo byť v DOSe a snažil sa urobiť nejakú jednoduchú hru alebo program, ktorý používal grafický mód, tak si takmer všetko musel robiť sám. Napríklad viete robiť v Pascale a chcete spraviť jednoduchú hru, kde bude pobehovať nejaký ujo. Ak nie ste veľmi zdatný v asm, tak začnete študovať help a pozriete si niečo o funkciách knižnice Graph. Nakoniec to urobíte, ujo bude síce možno blikať a kadejako trhať a pri tom to bude spustené na nejakej super mašine. Ak ste zdatnejší, tak si spravíte pár funkcií a procedúr v assembleri napr. putpixel, putimage, atd. Program už ide lepšie. Ale váš hardware je využitý len z časti. Ak máte Geforce 2MX alebo nejakú starú 1MB kartu, tak rozdiel nemusíte postrehnúť, pretože všetko ide cez procesor. Takže ak robíte niečo grafické na nejaký starý PC, tak kľudne ostatne pri Pascale alebo C a robte si všetko sami a optimalizujte a bude to bežať na hocijakej kraksničke. Ale, čo keď budete chcieť urobiť niečo 3D ? Asi budete musieť doplniť svoj program o funkcie a procedúry, ktoré budú počítať ako sa 3D priestor bude zobrazovať na 2D plochu monitora. A tiež rôzne rotácie 3d objektov. A bez textúr to asi nebude zaujímavé. Takže ešte procedúru, ktorá bude textúrovať nejaký obrázok na polygón. To všetko je na chudáka procesora dosť záťaž a grafická karta pokojne spinká. Že ju chcete zobudiť ? OK, tak si skúste napísať procedúry, ktoré budú používať Váš hardware. Netvrdím, že je to nemožné, ale ja osobne by som sa nikdy do ničoho takého nepustil.
A prečo to spomínam pri OpenGL ? Pretože OpenGL toto všetko už má v malíčku a vy to len využívate. Teda OpenGL môžete chápať ako knižnicu pre najrôznejšie grafické operácie.

OpenGL je štandard, stabilný, spoľahlivý, prenosný, vyvíjajúci sa, ľahký na použitie s dobre dokumentovanými API. Je dostupný od 1992 pre rôzne druhy systémov, a rovnako ako pobeží u Vás doma, môže bežať na nejakom super stroji niekde v NASA.

Nepotrebujete sa nijako špeciálne starať o správu pamäti a vlastne skoro ničoho, pokiaľ to nechcete sami použiť. Môžete nakresliť pekný trojuholník pomocou 3 až 5 riadkov, ale tiež sa to dá urobiť zložitejšie. Stačí si povedať, že chcem, aby údaje o trojuholníku boli uložené niekde v nejakej dynamickej premennej, pridá sa zopár pointrov a hneď je to o inom. Ale pokiaľ tieto veci neovládate, tak Vás to nebude obmedzovať. Aspoň zo začiatku určite nie. Pretože takmer všetky funkcie v OpenGL majú ako parametre čísla a premenné, ktoré nie sú nijako komplikované tým, že by to bol pointer na pointer na niečo, neviem čo.

Tiež môžete uvažovať, že sa radšej idete učiť robiť po DirectX. Ale rátajte s tým, že to bude viac tŕnistá cesta. Napríklad na vykreslenie trojuholníka stačí v OpenGL zapnúť kreslenie trojuholníkov a už môžete kresliť, ale v D3D musíte najprv tie body preniesť do nejakého buffera, a potom ten buffer predáte funkcii, ktorá kreslí.

Ale je to len na Vás, pre čo sa rozhodnete. Na nete sa dá nájsť skôr viac o OpenGL ako o DirectX. Na niektorých PC ide lepšie jedno na druhom druhé, záleží od karty, systému, užívateľa,... ;o).

Žiaľ, zatiaľ si asi vyberať nemôžte, lebo seriál o D3D na AMME zatiaľ nie je, takže alebo budete pokračovať cestou OpenGL alebo musíte hľadať inú cestu.

Tento seriál o OpenGL bude mať niekoľko častí a bude ich celkovo dosť. Nejdem zatiaľ hovoriť presné číslo, sám neviem. Všetko budem demonštrovať na príkladoch, takže v každej časti bude aj nejaký zdrojový kód na stiahnutie. Všetky časti budú akýmsi mixom, pretože nejaké tutorialy mám, ale je to po anglicky a začiatočníkom by to mohlo skôr odradiť. Ja osobne tiež nemám rád veľké slová. A najlepšie sa učí v rodnom jazyku. IGEN ? ;o) Takže budem tak trochu prekladať jeho veci, a tak trochu tvoriť, lebo sa mi nechce prekladať jeho texty od slova do slova. Dúfam, že nebude veľmi proti a nebudem sedieť za zneužitie autorských práv ;o). A ďalšie veľké PLUS. Všetky vaše problémy, ktoré budete mať môžete písať do diskusie a po SLOVENSKY. Teda skôr sa z toho vyrozumie, v čom máte problém, ako keď budete o tom diskutovať po anglicky. A cez diskusiu si môžete radiť navzájom.

Teraz prichádza časť, ktorá možno pár ľudí obmedzí. Všetky zdrojáky budú písané v Microsoft Visual C++ 6.0. Je to dobrý programovací jazyk, aspoň podľa mňa ;o). Vyššie som písal, že OpenGL sa dá použiť v rôznych programovacích jazykoch. A keby som mal prerábať všetky zdrojáky do každého programovacieho jazyku, tak by som nič iné nerobil a navyše neovládam každý programovací jazyk. V prvej časti to ešte tak plánujem urobiť. Teda prvý zdroják bude mať verziu pre MSVC++, pre Delphi, atd. Alebo budem vždy uvádzať link na súbor, s príslušným zdrojákom.
Podľa mňa sú pôvodné tutorialy v angličtine urobené veľmi dobre, takže do zdrojáku budem zasahovať len veľmi, veľmi málo.

Takže, veci ktoré potrebujete: programovací jazyk, OpenGL knižnicu, a aspoň základné znalosti C. Ale to budú väčšinou len porovnania alebo priradenia, časom aj nejaký ten pointer, ale to všetko bude vysvetlené, keď na to príde čas.

Programovací jazyk : najlepšie nejaký z tých známejších, ľahšie sa dá k tomu zohnať OpenGL knižnica a prípadne nejaké tutorialy.

OpenGL knižnica : nájdete napríklad na www.opengl.org, kde je veľa užitočných informácií o OpenGL a tiež veľa príkladov a techník, ako programovať v OpenGL.

Znalosti C : vždy sa budem snažiť ľudskou rečou opísať, čo sa deje, ale napríklad v PC REVUE boli články o C a teraz tam ešte sú články o C++ pod Windows od Mareka Šamaja, ktorého týmto pozdravujem. ;o)

Keď zoženiete všetky potrebné ingrediencie môžete sa pustiť do varenia. O tom už je časť 1., kde sa dozviete ako vytvoriť základné OpenGL okno. Možno to bude trochu nezáživné, ale treba to prekonať, ďalšie časti už budú zaujímavejšie, lebo uvidíte výsledky svojej roboty a budete môcť začať experimentovať s rôznymi parametrami programu.

V každej časti budete mať možnosť stiahnuť si kompletný zdroják pod MSVC++ a už ho stačí len skompilovať a spustiť.

glEnd();



Najnovsie clanky od tohto redaktora
Podobne clanky