12.07.2015 Views

mobilná komunikácia - Vitajte na stránkach www.einsty.hostujem.sk

mobilná komunikácia - Vitajte na stránkach www.einsty.hostujem.sk

mobilná komunikácia - Vitajte na stránkach www.einsty.hostujem.sk

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

P R O G R A M U J E M EAko ste si urèite všimli, zmenili sme iba poradie pre−chádzania vetiev. Teraz si však musíme zabezpeèi, aby saèasti obrazovky, ktoré sme u vykreslili, neprekres¾ovaliznovu. Môeme to urobi cez dodatoèný buffer, v ktorombudeme uchováva informácie o tom, èi u je bod vykres−lený, alebo nie. Ak <strong>na</strong> danej pozícii ešte nie je vykreslenýbod, môeme ho vykresli. Pri tejto metóde však <strong>na</strong> kadýpixel potrebujeme minimálne ïalší jeden prístup do pamä−te, èo by náš program spoma¾ovalo. Výhodnejšia budepouitie S−buffera:Vychádzame z predpokladu, e kadý polygón vykres−¾ujeme po riadkoch. Vytvoríme si špeciálny buffer, v kto−rom budeme uchováva vo¾né úseky <strong>na</strong> obrazovke. Prekadý jeden riadok budeme ma zoz<strong>na</strong>m vo¾ných úsekov,pri ktorých budeme poz<strong>na</strong>, kde sa zaèí<strong>na</strong>jú a kde konèia.Buffer by mohol vyzera takto:typedef struct{/*x1 bude uchováva zaèiatok vo¾ného úseku a x2 budeuchováva koniec vo¾ného úseku*/short x1[sirka_obrazovky],x2[sirka_obrazovky];/*premenná pocet bude uchováva poèet vo¾ných úsekov <strong>na</strong>danom riadku*/short pocet;}line_buffer;/*Vytvoríme si buffer, ktorý bude pre kadý riadok uchová−va zoz<strong>na</strong>m vo¾ných úsekov*/line_buffer free_l_buffer[vy<strong>sk</strong>a_obrazovky];Pred zaèatím vykres¾ovania polygónu si tento buffer vypl−níme potrebnými hodnotami:for(i=0;i

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!