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
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