Download as pdf or txt
Download as pdf or txt
You are on page 1of 663

helion.

11

·~ -
[Q)[g[RłQ~@J
- ·& ~§0~
O§~M

KELLY DEMPSKI
Podzitkowania1
Nil" '"'·iem J.ak W)r'fflrU wdzi~"lCXl10 ł mojeJ tonie R;,chrd. któ cierpliwie wytreym.il11
~ · ~ lonyc:h m~~ i~.- pi . nie. k J wkl„c.d d01ycey \'ti.S.t.)'Slkic iw - od\.\, parnu cmo-
cj onaln go do, pon'! c w uruchamicilllm m~h3m:t,n1Ó'W pad slia,iu. Bc:.r. J :J c iu-p1 iwnśc 1
1 ,, porda po1. tank: 1~;_1 • i~.-.k• ni~ byfob::r tnotliwe.

Dzj~lu1ę moim prq;ut:·mło111 i aioihi111 ti~m 1nm i Clił.Su dl,1 o:-.ab. któr~ <l lili mme-
\'trai.ne Dzi 'kuję m ci r.plt\~os,; ok :n m w ci. u ost, ,mc:h kilku m~es•~cy

J.n1~ uj~ tanowi a_ lotowi. Ana,ulow i G, s.ch.111.1no,,. i. ditnłU ,ongosarasmu o,..-,.iz


~ ]}'St im pr..1cm.va11kom lllbo •oriom h e emure Te hnotogy Lab. ;,_:i ich 'i....sparcic
1.1J1:lk1 dztęk1 dt1 :olt.1 k.nn.h,.1. ł'..il pupmwJ:.: i. :1,u 14~ :-., 1C' or.:rt. lsaL ,i.yknn~ i,;an ~ od Cl..3su
do ~_;.,.asu 1e.s~ , Dzir k~'!ft; ~k '.A:' M nu Si nghm., i :u~poś,, 14,,~nic: ZI!.SU p~ wh:lu I) :,.im JCh
1 rt.1'\",nanwd1.. Mi.alt:m pr.l}'Jenmnś prac} z fanta ·t)'czn grup:} ludzi.

c.. ; hc1:1lbym r , 1uc1 podnc;ko,,'J innym lud1101n, kt<Jf'Z) cow...ilJ n d t· książką Jestt~m
n,·~, y kl,i: \i.dz:1,; zn~ n11 pomoc Fd1cmu mithov.:i. 1ill.i Fu!lr:r. 1lc..ither Tulbot, Knsowi
imrnon5(1 i r.l.r. J\ ndri.:mu . łotl1 mu Dzii;kuj" \ m ,..-~zystkim a~ to" :.i~ za.:-nit
mi u 1,, orzcniu moJCJ pit.:""'sz1:i k iażki.

k a koni.: c hcudb::,:m pir,J/1 ·m, Philipo--. ·• Ta) lmo-...i 4 lii.:m.sotl), Jasono"'i 1t. 1tchcllm·i
(,\ 1 IJ, SrmQ-\ I D11.;lrictt.)\\ l tnVuli.a) or.u\\ idu lnn)m pr,a4.,w.n1J...om ka:l'1ej z ly~h ru.ceb
1rm, \\ i kszośt l cci::.,1, c:tc-_gn \ii,; n:i ,c71 I ·m, r,<J<'llfld✓. t z il h tfo !.:on;JI eh pri:.•7. ·nta. J•
ora1. maLr::ri.ilow dos.1i;pn)d1 unhtu1' Jt'!ill!'rn n1i::1\i,;: kk \\tfr11.; zn~ z.a I h lkzpo'.!»-redn ią
1 p<i:ircdm ~moc hi.::,aib) m nk,r.: l~M:iJz1~~m,ać ,mm\l Oiecric::ho"'' :,;;i pOS'li i •r:1,:ni,
czasu IIJ 11JJl l$ilmi: skm, ,, ~•~pntigo.

\ -'SZ) C). k,ól') eh " 1·nUL:'Uilem "} :ri.:J \\ pc,~·um sp,o:.tłb ,,r-lycl;)'DI 11 1t; do le:~''• 1~ 1-.: 1:.tJJ..a
tilJr...~r li:p m ~tdt=e;r-J11c tbdi,;~uj'i 1...1 idt .... i.:.1ad
Spis treści
o Autor!& !ł Il■ I •• I •• I ■■!I • • • • • • • • • I • • I • • ,,. I!■■ •■■:Jl ■■m 11■■ I ■■li . . . . I • • • I . . . . . . . I • • • ., • • • • • • • • • • I I • • I . . . . . ■■■ Iii I ■■!A I „:1.5
Od w~dawcy serij ." .. ~- .!!',. ••• •1111 , • • • • • • • • • Il■■ •••• •• " Il■■ . ................... . li • • • • • • • • • • • .-11 • • • __ . . . . . . . . . . . . .11

S.towo wstępne "!! . . . . . . ii . . . . . . . . . . lil ■rl ....... Il■■ ............... ., •• • ■■Iii Ił■■ •••• Il■■ 11■•• ••• • ■■ li ..................... 1·9
\: stęp 'I••• ., ,i i- • i l l ■il ll■il li■!ł ■■ I ■■ ■■I■■ I ■■ .. ■■ ■!l:JI ■■'t ■•'I ■■'li ■■1 r■• I P■ l!■ t ••■
I I t t •••••'I ••I" i _,ii i i, .,,. i,.,.,,. .. ,.,. i oióiol lillll I ll■il 21

, CzłŚĆ I :P odstawy . ■ ••• ■ ••• li !I !I!!!~!!! ó!ll óil il I!!. il il il li il Iii. 1111 • • • • • • • • ■ • • • • • • • • • • • • • • • ■• ■ • • • • • ll'e'!!'rfP!ł'♦i! óf '! il li • • 23
RQfdtiał 1. Grafika 3D, Rys histor,rcmy .••••••• ,... 111•'"•■••11•• .......... 11.i ■il ■óil"■■ r■■ l ■■ • •·········· .. .,••• .,, . ...... 25
..

R!J;t;Vo(~ "-Pt,i,,1u l..la,y P( 2


lt111\\ój kon.wl do g1,;r 1b
Roiu,ó1[t;i,;hml.: fi Im.a\\) 2
Kró1k .hrs.to.rlli D rL'."tLX ::n
K m„.1 !--lón na L•ri,,U OpcBGI 28
Roldział 2. Pi:»'łłottenie wiadomos<:i o w,,1ek to rac: h .................................................r n 31
, , y~n jc,t ~t'I-.C, ,r>
Nonn;il17.a.<:Jil "'' ,~rm,u, ,
Af)lm · cli
Hoi:I.) 11 '~ lO
lktL.:1.)'n ru •
K 'I-' .11em1on.'.!•

('OOłąlmOM. ,1111~

Powtónotm
io wiadomosci QI macierzach I ■ ■• ~ t t t · ••· • • I ■■'I ■li ■■ I ■ I 111 • r !lł oli •Ił ł>■ I ■■ I ■ Il■ t I i t • a,lli łJ■ I ■■ 41
o l u Jt'"tt lll3C t rr'
Mac~n f'r7ll'.~Lalix111.1 ,o> ,Lino'
l la. r ' [1. lr..iru:1-ili.: 11 lPTl.C..SUrlllj'l;1 ),
I ..:l";t' --~.lh)\\ ln l .
M 11; ,, o bro1u ,
L· ,..-en 1c: m. c1i:t:t.}'
M :tL'f"l't .t bi bl1
Pnt.humn~,:um~
IAwdti:at 4 . IKUka stów o kolorach i o · w~utMe n.i u ... ............................... , •,...... •· .......... •49
C1) 111 J ;1 1-.,Jlar'J. 19
O. ,,.,1,;1 ,;111 • oL~i..:l„!.fiC~ 1 cm1syJni.: .. 5 I
O~ c1lc1 e ro1pr.1s.t~J~ , .... . .. 2
Oś.Yi11i:1 l"nre l"\\'ii:K1.tdl:111( . 53
l'oiosłal · • 11dl.1Jl'.' i \lto I.JLlu. . . . .•..•... 5-4
8

ni:m ie" Y!-ilk.i~h r(J'(WIJth oś..vietlcni'1 w Dtr~1J O., ..,. .. .. ., .. ""' ,... ,......,... ••. , 55
-
U~tęd i ł Sł I . . . . . . . ,.-,. • •, .... 1-1"a1 . . . . . . . . ,.. · · · · - · · - · ... 0 0

R~,...i~•e
. . ..... , . , ......

1c11tov. ;tJUil .. •···


-.. ·· • ·•· • ... • · · , •• ••• ••· · ·
........... 1 • • • • • • · · · · - • • • • • • • .. • • . . . . . . , .
.... ,;,, .. ................... , ......... .... .., .. JG
..
~
l'ęc:bt~inó-\\.lllłe' . . • .. .. '" ......
Kllk@ l\iW ,o j)Ot,oku graficz_ny,m .............. -■u . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . .. . . . . . . . . . . . 99
P~Lil l')m.-cE~110 , ... - " . . • •. ,. .. . '
• I I■ l■ I••••• • .. ••••• ł ·•·•••P • •••--• • • A••'••••·•••t I o O ,~

,. ~r„1,.łlolk; ol!Dł. pt.1"'1er1.dmit: wyZ;)l~g_o r~u .... • ·•· ···.., •• · .... · · · .... ·· ..... ,.... • . 60
Fcua sc.11) h fun«j„f8116l'orm j, onu os,,,it:-lkmJ , , ... .. . , •. •, .......... • •,..... • . , ..... ,.. . 61
i«łt 11im1), \ fer1C sh.n.l r ... • .... · • .......................... ·• · •• • • • .... · • 62
M~btllll/r'll ołH,:11'1:lJ•lr,;.} ........ • "'• .... • .... .•. ' '' " ..... .
~lulllkksturu"' nic-. , ,.... u, .......... . . . . . . . . . . . . . . .,,,., ... - . . . . . . . . , • • • • • • • • • •
•t..::h;..l)r j7~ ph.el ~ d~r ............. " .. .. • ... .. . . .. .. .. •. .. .. .. .. .......... , ................ ... 63
",.,·,li,g I • • • • ł •••• I
.. •• •................... , •• , •• , .....................,.......... .. ••• •• •......... . M
I - . . . .. , • • , , • • , , ............. I ,.

r~ h· g,l~hi, lill U)· > MUl knnn]u lll FI\ ..... .. .• .. .. .. ..... .. ....... . ..........••. ......... .... •. •• • ... .•.•,&.t
0

R11r~r filmł'L, I .... .,. •• •• ,, ................, • • • • • • • li'' 6Si


•••• , ....................................... I ..........................

z goon,crd:.1 zmą-.QJlc 'l \\ )'G.JJ 11ókJit ................... •···· ............... · · .................. · · ·· • ...... .65
r~\łil,O\\,;;an1e ..... .•. ·- 11111' ... .. ........ .66
Ili •••• , . ,............. li • • • • • , , . , , .... , . . . , .... . . , ...... , •• I

D~ić li Tworzymy siłki efet ...................... -· .. -·....... . ••... ••-•••••........... •••.... •..... •.. 69
Rozdt1ał 6. Kontigurnc,i a środowiska i prosta a,prikacj.a Win32 ... .................... ............ 71
Ki Ila: sló\\ {1 1 OK .... ... .. . . . ........... .. .. . , , ,...... ..... -· . .. .. .. . .. ••.• ., •71
n.()tl
I!.~ c,1a l"JC:)\:
ri1gur •. , ł.:,. •-•
&3 .........,. I ·••rt•P• •~· -·· - · · - · · . .... • • . . . . . ,, . . . . . . 40
...•.. ·········l····.....n
Prosta n.pl1 .JCJit \VinJ::!......... ..... ..... .. .. ........ .. .. ... --··-· ........... - . ,.7
PliL W~ koli) " In> .h .. .. .... .. . .. .. ..
Pit .-\ph ·... J.:2 h ...
Plik '\.V} ktlll) 1',l.lJIJ •"'W . ....................16
Plal: Aph'-xj.1 cpJ• I t•■ ł■ I l,I I n•'"
... 79
K""'I'•' •cio t Uftld13m1 nn1r prost.:J :ip1if.:::K"J 1.
lu~łi1. T>l.il z· ,_. ~•Jt .rrob1l1~m:· \\ u '·i 5P(l., b1 .$0
., is I

Rotdział 1. Twor1:enie • i, ri...1dzan1e urządzeniem Dire~t3D .................................. ...... 83


c~~mji!51 ur1...qdł.LnLI! DIJL"C:f3r.r
Kn.,~ I l\\or7.:m) uh1d,.:c DiJt;Ct"D. .. ... 84
Kroi-:: 2:· 11,w„ iznh~tH'I~ st~ ..:li:goś ~'1 l"CJ n3 li:miLI SJ!'r7i;lu
Krok; 3 t\~ vrltrtl( 1J~d1&ma Uu t.: 1 D ...... , .. , 86
Kr.,k .i , Od1u.of71!:1lli:- uu~ uati;.go urr4tli:rma ~~
K,u._ 5: Zms;.,_c:,,cn i, Ufl dLi:m:ł . . •.• ...... . . , . . ...... .. 9
RcnJtring .l ~\) mzystan1C'.'m u~dletua l)in."l'.IJD . 89
l..ero\\i nic ur,.ądl'Cnia . .............. 91.l
\ ra~.! 1n} do phku ,. pli ~ a.:JlLh . . ., ........... .. I
\\'rni:a,1,j d:o pliku :\plika. Ja,,cpp ,. .. ... . . .... .. ......... ,... 9~
EW uu n .an1t ................. , ,,............ ..

Część 1111 Rozpoczynamy re1ii11de11owa nie •• ~ .............................................:101


R~i,ał 8. Wszystk. o ro.zpoc.zyna s,1ę od wio:rzchołków ............. u• •• •u ........................ 103
~ey,n s. "LrrLtłlull.a'! .. .. . . ..................... " ..... ..• •.. .. ... .. .• . ... .. . .. " • • ............... JUl
l) m t::'t ~ nc1~mi.-. J'(' S-l wFcrnh-oll'.:~., ..... . . . ..... . ... . .. • . .. .. . ....... ... .. ... .... .. . ...... 1(J4
1 \l:o~, lC \ Jt;f~dlołl:ń\, ..............................,. "' ' ••• .. .............. ♦• r " . . . . ..,,.,. no. • • • LOCJ • .... • ..

~~'.2l,nL,= bttl'bru ~U!l':l(;holk,lt\'I.· ....... .. . .. .. ...... .. ....... ..... ... ......... .. ................... 10
R~•gurn.CJ:l I mOd)lil:iiK'Jlli d il'li)-Ch o wicr-zcllo-Jkach. ... .... ..... .................. ... ........ ..... . to
e-r \l'all ie ~ tl!rlci1olkó,1. ,............ ... u, ................... , .... , ....... ,. •1 . . , . . . • ......... , I09
11. . . , . ........ ..
Spi• tNłcl 1

updn1cnia Z\\ 1.ilanc: "wydl.\lnośc1,a ...... ..•.. ......................................... ... 111


N:irt":Szcic QJ,
lil.i elmuue• •• , .. -, .. •· ....··· - •··· .............. ... ... . .... .. ... ...::··:.~::::::::::··~-.:: _· 111
P 00~ 111D\lfa'~n1 .... . . .. , , . . , ., ... , ...... ,, ,, •• ,, ............. ......... •t••···· .. ·····•·t••·· ·····•·•·t••-·· . 117

Zastosowan la transformacj~ ......... -~· ■i. • • • • • • • ,.. , ,!I,,........ "· .... 11 ,f !!+• ............ 9 . . . . . . . . . .. . . U.9
( ."o rv c ns1brn1 gi:'> • • .. , . -. • .. •. . .. ... , .•. . . . • • • • • . . ........ . . .... 119
rran:sforn,:tCJC S\.\,ia.1. L . . . ...... • ...... ' ' .... ...... .. ' ........... ' ...... .. . .... I20
rrain fbnl){l4;J'I!' \'Vi do U . , -•·, •. . .. •• ,. • , , • . •. •• • . •••• , .•. . • • .. .. , •••.••• . • , • , , ........... 12 1
1 w~1ru1rn: 1ruri:1tll►"f11l, li S\'1n'UJ I mm.n!'> L1-m1.-.:J1 ,ulla ku , ..... .... . . ~• , • .... ... ... .. • 121
ltlut_ . .. ., . .. ........ ... ...... , ... ,.. •-A••··-···-... .• lll
Prl<ł..!!-1.t ki:111..t ;i ur.r.ąd.rrnic JJ.3 D .. • , ... .. ... . ..... . .... .. .. . .. . . t l~
I . ~ł050\\ i1111" :l,iOSU m, ci c-rz.~ ..... 126
W1dol.. d,r ,m111 127
I :te0 M:> cu r,17'1.:'m . . .• . . .• . . . .• .......... . 128
lalc,Jnc b., 1-.:zll!ma. • Ul
7.-l~dm~iia i.wi, 7.l)n • 1 "'• dąJnośc •~ . . B3
PoJ. um~l'n .1n11:: .. .... .... .. .... ..... .. .. • .. 133
Rozdział 10. Od wJer.zchoH<ów do, figur lll■■ ••••11■ ■■, ■ ■ ll!l ■■'l l ■■ llll ■ ■ ll■ ■■!l ■■tl'■■■•••111••··••i■■■ llll ■■-■■lll■ • •· ••*•• ·· ·13s
Pr;i:l :(J-'f k.,mc ~ 1e-r1chutkó•w \\ f'O',,\ 11:l""L.Chmi: 13:S
R~ndcmwtum: J'O" 1r.:rtchm 13 6
R~ńd11.1\1,1- 1M1 · z ": kor:ry-..1.1mt'm hsl ln\jl-; to\\ I .. ,
Ri:mkW\\ ,me z\"'} korJ')Sl,m11:m Ha hl. rz~ lróJk 1'"1, , l
Render1..,.,. nic: 7. W} kori:) .,,.,mi=m pa...._h w tr ukąt \,. ............ 138
R •ndi:m,,. me z ni."t1.l~1.w.;m 1c m Pl) m1 cy,,,,\, md~ · ..• •···· ..... i 39
~ 3- m\.a.n1c I rend1m:m.m1c phko'"' ..... . . ... .... l I
Pmtdem:,; "J d11Jnu 1 M~
..._.,d.... ... ..... I 4
lloJ'.'lłllllU\,\c an I C' 15,;;

Rozdztał U . Oswi,etlęnie z wy1k orzystilni em funkcji wbudowanych .......•..... .......


0
m ...... 15,7
..,11,,~mro tHrn IGH rs , ~.,
'\\ tnLl.a i,,;1c:mnko,,i.: I &
s,,
1:1tf:1 runktO\\..: I t)
"rn1atl„ r~tli;; torO\H: !60
Koufigur.t _1ao \\ICLł~nau \\ u~.1dumu D311. M . . . . . . . . .- .. 162
Pmgr;im „ l 63
Koo ... h1
17
Ror:dział 12. Wprowadze 1111u do tokstur..... ~ .. ,_, ..... ,............. ~ ·..... ,... ł! . . . . . . . . . . . . . . . . . . . ""' • • • • ■i. ..... •<iii 171
Td. -.luf) od roJ k.J
Po\Hcr ,chmt:: 1 parn •~
R«un1iru- ::i i n1 !, d"ojk1 . .. .
Po1lOm) pO\ucrli:hn, 1 1111pm;lp) , ..
f\,orzicmc rek~h1r . .. . ..
7rd:.Mur_ i wii;r..-"-holk1 18:il
f ..:l:11;tu ry i Ur7, d.!cn,c . l .
Pro bi 111) rn 1~-ane '.I " 1Ja,1nu. I~.._
l .J , dml!'n io 111,m Lr,so,,,.uai.: • • 186
~ C'k::i.lU~ l kL)IOI) .. . . .....
~ 1::i 1-e17 1d:s1u~ ..
W1t10 roanc tck~Lu ruw .~me:
I~
Pro,..-:,m . . . . •..•.. . •
Pods,unoy.:1111..:- · • · .. ···" • · • .............. I &7
f'łl ■ I••• ■t ■ ■■• •••••• •
•••••• .. l'•I t •t • •t• ,,
... ...... ~ 9b

dZlll11~ m 1 11r1-1_d:rc1u 2(
. c ,qui-. , 111 .
ar11an, ..h~'f 20I
. 208
PudMJruo,..,UJ'lie • ?lS
Rozdt, 14. Te stowanj głęt,i i prz6.Z!_mc2)$1ość ••••••• ~- .~. ■ 11 •••••••••• 6■ łoił . !ł r• '1■ ••• • • • • tł■~ •• I!■ I •• I • •• 21l
T~vw.u, c- gli;t>i 21
Rllto r W . ..... 119
f'n.,c,c; . :?19
/ erm~ Il•
P'r7t;Il'"04; 220
\.V .1rt~ .dfa " 2.20
Kru, I lt11"' g ' 11
J(;1r13t ,.I fa o re n1
IC prJ)l;,a in
T~ J12
Pt :!13
.23
. lll

Część IV Mechan~ my shader ......... ..... ,. . . . . ..••. . ... . .. .. •••... . . . . •. .. .... •.................233,
Ao.zdłf_ał 15, M c haniimy ve irtex shader•...• ,........ .................... ,... .. ................ ............ 235
Co rn JC t \t:nt:X haid,:l . ... . • , . , .. . ...... , •. . .. 2'36
Rt!'jt,try dan:ri.::h o wte<, hol , h •. . , .
Rc;, >U'y ,ruJyi.:h •. ,
RcscMr Jreso~ > .. . . . . . . . ..... .. . .
Rejeslry l)'IDL:t:lśO\\C, .......... , • . . • • • • . ,
Kod\.\)mk L1al 111 1..1 n · ·h:ini n6" 'li --ne ~h d~r •• , . . .. . ... ••. ... .. . . •........
~ h.W111zm{.1Jii1 s'.JI Cl ,. •• ,~,., ••••• ... ,,.,., •• ' • •· ······••r•~•• • •• ...... , ......... .
SpiatreNI t

"-h~•e , IAlPI'\} \~ .ante nl!ISCł. ......... • ........... , ...• ,.... .. ,.... ... . .... .. .... , .... . 241
ln1plcn1enl1KJB :lt,11tKli:ru ·· · · .. .. .. .. .. • " " .. ,•., · .. .. ................... ...... . .... .. .. 242
' hau,,, a u17.:l(ILC,11e . ••. .. .. •. •. .. . •• •. .. ........ .. • •• . •. .. ..• .• •• .... • • • • • u 242
Ut\, an4'nic: deklllf..acJ' , .. •. .... ..... .. .. ..... . .. •. . . •. . , ......... ,., , •••. .... ••• • • ••• ........ •
.,..~'li
.. iii. . .]
1\.sc1111bld „.J3 ~ .................. , ... . ..•.. ..• ,.. I . . . . . . . . . . . . . . . ........ 1111 ł ■M•• ···•··· . ........... _ • • 245

Utwart ·n ie ~h. d n1 24S


\\'>l,.OTI:) ~an;,:o !<ht d r: . 2"6
r 1vc14'.nic: sh tkm. ,247
z. ,~,,.,,. nic ~h,1kró,, do 11,tm L\\ r.ron eh 1, f'UfflOGJ obL1aen . , 147
7.L,t0-~mnm • shad ro,, do :i.1atcl,: 14
Pro~c h do.:r . , .. . .. •. . , .242'
~.,. ~;11..ll 1oa111. 1 \\ p ro,l)ffl sb.t.d1:rL • 24~
:!» 1w1w11e tnn~,cb diłl'l~ieh opnu w ii;r.td1ol~Ó\\ .. .... , . l49
Prohkm~ \\ >d 1Jno ·1 . N9
ł-.od . ..2 O
2 6

Roz(iział 16. Mechanizmy pixol sbader ......1, ■•••• ■ U ■ !!~ •lo• IIIIH ••··········· · ······· ·· ·········· ••ue • •···"· 259
Co LI.} Jl.... a ri,cl ~-hudcr'ł . . , .... , .... .. • .• • ... . 2SQ
\\'(Is i: rm;,.;h ni m \\ p,,.-el ha .. _,,.....,. 260
\\'ej i.1, \\ }J)(fo or.11 opc .L.:JC r 1 . 2M
ReJ~ 1I)' ktt I• . .2o •
Ri:j ·:i.l i) 1~m 262
ReJ 1.--str, ,t11I • ~ 2
RrJ i:,rl') tek _(S:!
\ ... run (1\'lo e t 1<k • :!62
lnstru ~je LlU l ;r1 I ' c ~. . . . . . . . . ., 26
ł :tl"nt · m .... u i ~, 264
Jn-.,1mki.:jc .-id :m „ 26-l
~1nd~ fi kiJtol) do,t ·pni! d 26\J
Ogr· lC.fC"nm 1ll~\. LdliJ[_ I 7. _,o
Sp~ Jo:!,Lqmok1
"d1~1nt1! x<:I sh, der 2i' L
A~mbl lćjil. J\\o'(1r1 ·me I w;- k r1~:r.L) \t,;.J.JUt." me h miw x - 7'
lJ.urJ,,, l"'t 1 aphL: ~ I \\)kuny łlll,l .i rncdi;:u11l".m pi d -.h r;_
rro!o.tl! () \ kult 7 l fHUOO<. 111. Jum1n111 \'Cr1CX ~ho11Jc1 27J
Prosit" 11 e l1tC1 ·111.1 \\e 0.rną111. p1 cl sh.1dcru 2 "
Pn, 1••ipl ·u 1 "~ Llf7.} tcmicrn p1xd mad.: 276
r•oo tt111m ~ . •. .. '? ()

'CZięść V Techniki wykorzystujące mechanizmy vertex shader .•.•.. ..... 283


Ro~ał· 17. Z stoso\ nie sh:idorów z modolamw w postad si tek ............................ 285
l'uJ~CI JA I,m O\\ i: •
Od ll1 h:rialm, do ·fJIOro\\ Yłtl~r"lch,.-,U.;łi\, ,.
Od oloróv. \\ICf/1.:hoł 6\, JL~ dCi11~i.:h L p1su \\ICt'Z hoi
Problem} \\}il.!.LJnoso..:1 ,
Implementacja
Po4~urno" n11:
Rozdział 18. Proste i złożone przek ztałceni a goomotryczne
z wykorzystaniem mechanizmo vo sh d r .................. ._................. 291
Pr,rrmcs,a, ni \\l.:f1i:hoU,i"m \\1..Jh1l \\t' ror ,,, nurm.dn,r,;h „
l.ruc ,:11 ka1m: , 1cu he Ikt,, z "' r rz, SA uucm !'.1nu ~1d~
hnpJc:mcnl;JCJlł. .... ' " ,, " • . . :.
rom~ I> n,I m,.51cr1i:ni • pu Uad 1\\cgo pro r mu
Pod umo~.. n,c: • ł I I I I I ■
SO -
19. ~HbQanl)' I mechaniDT'IY cwerte,i; lł1ador ........... ·•· ...................................311
AoDltlał ,....."....,...· ·• ...,,.-,... ~ l,1Jlb,o.;ud6w . . . , • •·· · , •" · ···•·•· . .... ····•···· ·· .312
Podslei\', (l\\'ll' .,,~•1łel11 wl,ll} ... ,
1\f Jl~lz.rn ~adCI' dt;1 łnU~rdu ... ...... • • , , · ····· · ..... · · ··· · ..... · ··· · ........ ,..... , ··· · ,.,.312
I I • •II I I ••t• ••••• l lllal l ■I•• · ,..,.,,., 11 , .. 316
r1nplc-JlitnlJtJ-ł 1 • • I ., I " • Ił •• u•• ••• ' I I........ • •••

Jnnc- p.--zylr.Mh ill\M:}atJó-w - • , · ···•· .. ,•. · · ,.. ,..... · ... · ........ ' ·•···· .......... · .., · ... ..... · .. · 2l
PndslJmLl\\;;Jn1 . . • , • •· , • ·· .... • • · · 22 " ' .. • • ' • • · •· · · ' • · ··· ··"' •

Rozdliał • operacjo w inn,~h Układach wspótrUdnyeh nit układ kartezjański ........ 3.26
28 UJ u1:an(".1o :uh i orJZ m,w: u tadt "srórf"ł - r...} 11 • . . . . ·. . • .• • • .. .. . . . . .. • . ns
1
0,1w.wro~, -,ni poi.ur;,.l~ ukfad-lflll v.spólr~n)iełl w me h:IJI 1zm1e ,~11 ;,. !shadtr . . • . •. 3:n
Kod pr,opuifllJ . . .. . .• .. . ...... .. .. ' . • . . • . . .••. l lO
rnnt ~W\'i JJlln pc)J...ll.Jll ~ 1c-chn1k1 •. ,..................................... ,_.......... ... . . ... . .. 136
~:,lJ.rnQ' ni o , o , li I • • •" • I I ~ I • , .. , , . , , , •· ł I ,,, ••• •I 1,.1 l■ I tet•I
1
'' ••• ,..,. ,,., '1111_. J;
R01dział ~ K~o tBie!iem .. ..... ...... .................... , •· •.. ••· ••· ......... ~•· ~· ••· •· •·· ... •· •·· ..... •·· .. 339
Lrni~. 1,;r; ,y,,n. olb.l..Jr,,• ... • ,.. ,. · · .. , , . 339
Oblt,:z..nir: \,\ c- 1urÓ';.\ norm :llll. eh r-1 po,n ~ r &alt<',e~" . , ., ... ····-···· ..... • , .... l 4i
OJJJ1t W1 1c: ,,. n o ·ull~ ob:!lznm :r..u p.111xKi:p,h· ,., . . •. ...... . . , • .... . .. , • • , ... l4i~
!'1.pli 31:fD\\ ·om>;-,ujlf!3 .1.:in.,· Il ~ .1 .... • • • ... .. • • • • ...... . • •• ••• .. .... • . .. ••• 3
Z ll'i6u'l'I JJ1ia. 1 .r.11~•~ h.MMÓ" Bc.llem . • . , )~
l "" liMtr: k~ \\~e,h I obs;mrO,.\ 3S7
Poo:sumio~.mi . . . .... ... ... . . . . . . .... . ........ SS
R(.ltdł.iał 22·. Arnimacj,a postaci - skinn[ng z wykoll'l)'staniem paJt1ty mcacrerą ...,.........359
Tttl 111·J .n11im 1i po~t ,1 ... . . . .. .. . 3S9
ftes- '!1.lf ,, rl(:-.ll', \ }' , . . •••. , .. . . , .. , ..... , , , ..... •. • ąl
S ·1nrw1d ., \\)'_,,_on.)("LJ.rl em p.31 cy maic en~ \\ "nu.to: ~il<l .;1 • 63
,,,1a~....i 36
IM( I:. ...l o ~-·~ull palcl ....
Potl"\lltr\o,'I. 1t1 i:

Rozdział 23. ~,-oste ~peraeje z kolorami ......... ................. ......................................... 377


K ov..::111..: łęh1 ł.~ pur1 1 uloru \\ rcr tcholk:,i. . . . -,
S •d1.'I g~·b1
Ar,l1lo..tCJi1 ,,~ iJr.l) sluJ Cll l..t.'IIJł,\, ,n - ~~ 1 •
h.M!t"f 11nr, n nluJą...1 r:-fi: 1 urn •111 r1 x . .. . . .
•\p I •tµ \\ ~lor;,~ Lt.lJ, ~ d I rarumii:r11 X • , •. . . .•....
Jlod.Rtn,O\\ ilJ1 I~
_..treki U

R,otdZiał 26. Odbif;tft i atamanie iwiatl:a ................................................................. _


413
M flf)O\\ .une ~rodn\lw~ O~\ I.' I 11LJpy !i7~~1c11ne . , • . .. .. . • . , ,,
413
[1}"nJm .&n(I mod~l 1k,1LJ I rnup „Le 1cnn) h .u4
OhłH~unLe ...., klli)llu"' odbi,t , . . .. .•.• , , .. .. ,..... . • .. .. . , • , , .4 B
Obh,z, 11H:: pr.-;ytl'IJ tun} h ~ clo.torm.\ 1a&1l111r1.1n,a . w i:i1ł.i -ł i
1
Er.:kcy oob1c,1L, ł!llam ma h W)'kL1rry:s1an,~m ""C"ric!\: shaJcri .... .4
19
""m.
Inn - ,,~ kl
a ..
) \.\. korz• .ti na:• " '-'P !'ole~ tcnn} h . ..
1~,J<humnv..ink 4127
Roz&iał 27. Cienie - c2ę śc 1. Cie nie na płaszczyznach ..................... ., •..••. ,...•.•••.••. •429
1

R.fUtL"~,,&uł.: L 1cni rw pliav , >m i: 4:!'ł


Ró,, nan11.: r~zi:.t.1 to} .. .. • • • 3U
~1. JC"I f'l. L..lCHW.
\\ ) · ,.,~,t .m,e bult-'lr:1 mall") ) \\ Nur1~n,u tt ·m
_..\ y,lib ).J dem1111:.-1r }Jn
Og . 111 z.:m111 Cc,i. łu111.'1 -.:'.lL'fl&nv..,oi;Ln pł 1i.1} l-''fr
1'1xhumo" an,~
RozdDał 28. Cienie - część 2. Cje111iowanie przestrzenne •.., .. ......... ......................... 445
7 d, m rum 1cni p-m:--..Lr.&~nnych .. .. .... .. ••... 44.5
\\'} ori) tanu: m :hltn1,mu -.1:r1c~ -.h..1Jcr" (\,\vr:,cniu cienia~ , ·-.lnc-nncgo • .. . ~SI
K11J ph .icJi \\) kor~} • tJ,ł ej 1("nJO\\ , nrl'.' pr.tc-slrN11n •. . ..•. . . • >IS.l
Z fU),' i ,, 00}, .;1 ·nn,,,w,1a pt.1~rrL"1m ·go .. . 159
Pod~umov••uni: 16

R-md.Ział 29. Cienie - CZ1ęsc 3. Mapy ci n1 ... ......... ?e•aa;•··· ····· .. ..... t.~ł ......... ,u!.. ,. ... lj . . . . . . . . . 11.,•···463
(~ '> J\'I,) m:lf') L ni IM
K.:ndL·m\i. ITTLC' d n tl!l.:s.tur)
Rcndt>rO\c\.,m1~ dn ,~~ rnr)
.. "
1' "h, nt7.fi1 ..-;11.:,uon mia\\ 1t17Lholko\, porót.~nuJ i.~· ,~.rrto
Ptxel sh kr ")1--.:unlJJ, ) 1mqx,...., r1ic 1en1 . ,HO
,\phk:l,Jil , , ,GL
\\ ad) 1 Z'lil ·t) tcch111ki mapo,, 111a i.:tctn. 179
l 1odsu111 ,w,lm~ "79

Częjć VI Techniki wykorzystujące pixel shader .... u •••••••••••• ·····••n•n••·481


Rozdział lC)i. Oświetlonie reflektorowe er pixel .,,. ............. ,. ..........".................."....... li . . . . . . .. . 483
Pro,tt' 1 ..1.J ') \\ ,celne -t:u
O ..,._, llr;nt1! pt:r pi\d .,._ wy ·nr,} 1 uur:m pl\i:I '.(,hJ I ·ru I 5
o.,\\tC11cn11: rdk ·rnu)\\ per pl l86
l"r'IC":\ shild ·c ,tu,o!Wl,:111} \, (r,:-.,:J \I
P, ~I sfl,.cier stoso\,all} " l1,,"(hn1cc "'"'t.'
11.'l l!nl' r
Apl I " JU o.~" j Cl I 'JIM r~ licklc1ro\\ l!go pe, p1xc!
O ,, 1c1lc-n te ł un"łO\\ c J)l'f pi ,cl .
\ 1dr.:-r 1,1S,(m an, " Ll.'!Ch
P er stc,~w.~~n~ w Li; hn1
Ap I CJ::i IJ.)\\ 1c:tl ·tua p ,nltm,~ •o p-.;1 r,1xcl „
Ogti..ll11, L1,mb p1 i:1 1110,.,..m, h te-dan ik
Pod ... m1tm,0nic
Rozdział 31. O wiotlenie por pii>col - odwzorowanie n, rowności,. ••.•.••.. •..•... ••............. 501
POI\! 'IC m:1'\ ✓UfU\\,llllJ III IÓ\\ OlN.:i . 501
I" nc.nii: mar," ·k1orl1\\ n rm, ln)Ch 1 ~or,~· 1.,me 'I. n;ch . . ,03
l '\\Or-.!.t!mi; wcł:u·m\\\ bilmw~cb ,... pot: Lrn.:m Lei,.: Lury . ... • .. 50
u
~ ~ ocfv, l,l)C'IJ\'I.Sll::I flk:CIJ\~ I · · •••-" •· · ·· •· · • • " ,... .... " . ·• ·-• ' ... , •.•.•. • , • • · • ,581
Od '2l(N'I)\~ me 11 jorov,no. , 1)(-z pr;d :sl!a.Jmi. •·:· , ··· ········" "' • .., ..... , .....• 508,
OtfiA'Alf'IJ\
· ~ .... w=•~ , 1.
nii: JllL-nt om.... . .. ..., """" oF.n- 111o1:111 ptxl!'~ -.h.tckm ., , ..... . , Sil3
..... , , . , ,.(. .. . .. A

...,. r""·•ifi\l, <J 1 1Knnw.111cl'l ti.: 11111 1r:,d'L\ lOl'O" IILJ 111c111;i',-Vnci;:K;I .•• • , , • . S1:S
.~~=;I ~--:~: ... -----~:-... ' .. . . . . ... .. .. ... .. .... ..
r
ł •• , :Sh:i
Rimlzlilł 32. lmpfemanłacJa technik per \l'Ol'teX j\eko toe'.hnlki pBT ph:el. ................ ..... S,1 9
• ).,.lk ,.._,,.
1!.,NUl'-• '- r--
llk1'II' j11 ~
~ ~■ · · · · ' ......
, ., ••••• ""' • • ••• •• ••• •• • • • • • • • • • s.,
Ko.ił},.sł-ml~ uc-xm )I.)~ .. .. . • . .. . • • . •. .• . . .. . . . ...• • • • • . Slo
en~ s.tmder ,o,:h\ .t(lr-.m 11ni.s mr:ro,.,;f1L1~1 :I' odb1C'. l<'m śm rl , . . •• • . ... .. , . • • .. • . . Sł:!
Pi~• !iił!Jd« 00'" lOfOV, ~1,1, nr \'l,fl~I ,xlbicii:m '""i3Jla „ 524
,lipl q oclVi .t.i.tC'O\\ m :i 111LTÓV1-fl1J~ z. odtucu.?m \\ l':U!i:i . , •• . • .. .• , •. . ••• , .. . ••• . • 525
Cicfl~qm1e O\' ko" per p•xd . ,, •• • • • , • , ••.. , •· .. • • •..... , .. S I)
Ve,rt -. -.n::id('I jc:r111:1\,.1111., h:: ·L,~'lko\, ._: , per p1 -.ei , S O
P1:i.i,:I iliudcr IC'fl IL"J',\ ,1m:1 fl:sJ(ó" "(l\l, t:,g0 pt:f prxel ... • • • ,. ,. • , . Sn
, \plrl.: J~ C.itfltO" , ~ri.;. ó'I.\ O\ L'"g.ll ptr prxd . :S3
J1«hu1t1L'l\\-ani,r . . . . , •• • SliJ

RozdZicał 33. Rondnrowanlo do, tiekstJUJY - IPfJlnookrnnowo rcmnyc,e ruettu ...... .......... 541
J\nNzet11e ~dS111r)· ~ l!'J tde.in lLl'I I rn"nrn1 S :?
W~ ldf1ilJJl1iJJ1 1; rtm iW1:dn11 2 t i . : ~ r bN~~ cit L"('I m rcndc:rl.lMi S-~1
RIC!n crn~,~k: do Le -....i1il) S
Rendef0\\an1c dei Ił~ 11.!11111:;m ;, muw ,zd..:1.rnneJ ... • :i4 5
RcMi11yi.:ic n.11;1i,, • . s.11
Spui,,,,h [~'U)f.l~ i;i i:-l~klu l'(J.7111~1.-·1 nidm Ul
,\piu· j.u_ IOml_!t,«::1,1 md111 . . . . . .. ... :S4
W )'d&J"4~ lr:fhru\, 1 • • • • • • S
f'od,,,umrm -ujnc- :5
Ftotdzia~ 34. Ron.cterowunio 2D - po prostu o. JednQ literę• "D'"' mn ia,j ........................ 561
'!'
·Jny Om:clllr; \\ \,\· 1eil,1.1h:m ,~ 1 ..,l~ 1. ~- Ofl.rl) . . • . • . 6l
Kr .k I· CJd17.u j..:dm1 I ie.:-~ .,I)., , . . •• -6
, 'in1' - nbrn.l) 1 "~,y~t~1m . · · ··
\\'_\kOl"'l)':-.t}\•.mu: \HCf.11.; 1ol"·ó1.1o \\ 2r,
illard.M l1fO'!d *~ li~·'"I 2 r)
\')dJJnr,. ·
Moiłi'VI ok1 ~-. -~nr;cy S4ru 1 101:hniL:1 ; ·l) ·
pud '-WTI U\\ Il IC'

ł 16rł)ł)
.. .. '
I l .,. •

... •·····.. 60~


• •
• )l-1n a._t.CJa ob 7JJ. ........ , •
--;;
I ,. . . . . . . . . . . . . . . . I
•r-o•
••••••• '
l ■ l•l ■ l•I••
AA-2
.................. ,.
I

l • l i •• •••pf I •I • ••I I "''

ftc!~ll1~a ~011 stu seffl) , .., , , , . ...... , . .. . ., , ...................... .., •'"1•• • , , , , .... •• • • • . .M)3
E• 1,.,t St'f!U ..... " . . . .. . . .. . .... . . . 40S 1 1•1 I I 1•1•1 I ł o o ·•• , . , , . , '9

'\'~ ·orr~ ~rw:m, r.f.:) "')'l;h ul01aw do mnd), fik..Jr;; I ł,,,oJorhv. ,. .......................... .. .607
Pram ilr. nic ubri.!fJ'u 7. , ykor1'yst1u11rcm j ~ rsp!o u
,v, . ~na ~
roo!-urnl11\\ JnL •
. . . .. ...... • ........ .
1•t I ••• f • • ••• ••• I ' " •t 611
616
611
Rozuiat 3 7. znae-zr;i · lepszy sposób· wykroś'l'ania tekstu .......................................... 619
P~w." 20
l111płi;11u:r1t~q:1 •• • .•. .•. . . . . •.. 6'21
PN.humo~ m,c . ... . . . . l•
Rozdział 3:S't Dokładne odmierznnije cz,:L:SU ••••••• , u l!!!l f'il I llli • • .- • • • • ■■ l l ■■ . . . . . . . ■■tt •• a,.1 ...... .. !' . . . . . . . . . . . . . . . . 63S
, s 0 1 ieJ rOJ'Lł:l'1~k7.~I 63S
C, s , • Sl.lt. •~J rn:lld11 ·k1~.$c• .. . . . 6Jb
Krl"-J og ln~r.:h , t " 11., h.·mal · mr c 1 ••• • • • • • • • • .. .. ń)
lmpl('m,:1un JJ. bJf)
IPLld"A.lnlow.:.11~ .• .... . .• fM 1

"/. fli~JCn 1e uti r.i m U') '\ oraz l lu mn.11) c. . .


~1.u•~ rmdi:ru,,.mra h 1furn matl)cy ......
I :ikt~\\ ni,m,c bu I,11 , 11,.Itl') &:), .. ..
I) s.tJ\\ i:lmr: ",Lrto ·1 t't\fo IL"SLcma dl: 1r;,tu •••
Konfisuro\\ ,~HIC fon~t;JI flNÓ\rn) WUJU.i . . ..
U ~-''"' i.im~ nr :. LJI u ,~,u lm:»1m . . . ......
M. ,l.:, ma~..,~ . . ..
~i:lount sn ~per, 1 \\) korL) ,1.111iem bufn 1 11•11JI)C)
Po<l~JJ10\~1in1!.'.'

Roz,d!łia,i 40. Pcbieranio informacji: kilka praktyc2n~•ch procedur pob;emnia ••..•.••....••65S


rl.JrJtu Jlf',,tc pub1('r.ln1 · 20 M·
P hu:r.u11c ,,, pumor.: pr111mcm
Poru.,1.anu: ,c " Lcrro1c l "'>
l-:or1:ysc, n11;1 n IC\.'.hm , IK1h1!.'.'r..lm3 ,., pomoc..-, prom,..,·rna
Pn}'.: dur.1 pub r.:rn 111 n.a p,1✓-1 1111· J" · h.
\en· sh der pobri:r. m, n. pot.Ji mi · pik h
\phk. :.,a l)flbtr uni ma'"°'' nuc p1 '.',!;li
łn11 1. ..,tnso". nu h:chm I poh1c :!fil.Jo 11
Prnbl('m\ \\)d,1nw 1 •
Pods.t.1mm, am~ 67

Zakończeni o •.•.•.• li■ ... 11 1• . . . . . . . . . . . . . . . . . . . . . llt . . . . . . . . . . . . . . . . . . , • • • • • I ! · • • • • • .., • • • I! -~· ........ Pi'I 11• ... ■te., •• 6 75

S-korowlclz_. ■ ... . . . . . . . .,. li■ ••••• ■" t. . . ... . . . . . . . . . . . . . . . ,. " · • • • • • , • t ............. !t.• . . . 1111 • • • • • , ~ ■Ii
.. a ••• I ••••• ■ 6 77
I
O Autorze
KeH)' Dempski od sicdmiiu bu p1owadzi badania w Accentnre Technology L8b. Jego
prace badawcze doły<:~ multimediów, wirtl}atne.ji rze,czyw~stośe i orai te1ewizjm inte-
rakty\, ncj z ukierunkowaniem na render~ng fotorea Li5;tycmy alr.rl technik• intera1kty'WIJ'le.
Jest amorem ki Hm publikacj ;, a jeden z jego projektów jest c:,..ęścią s.taleg.o :zJbioru pub~i~
kacji infomu11t)'cmyoh utrzymywanego przez instytm:ję Smiduorikm ]nstitutfon.
Od wydawcy serii
Pozv.'(1 lę sobie ro~cząi od sMw - kupcie tę ks iątl(~ ! Ksi~a DlraclX. Rendering
w c;rasitI rnrc:ywifl}'m jest po pros.tu oojbMdzkj ~ \ \ ~ ksl~" o DiIC<::IX na
cynkur Maieriału 1.łl'\-ita.rti:sge \\ ~j ks-j~e n[e mąjd!ziccir: w tadllej innej. Jestem pewicm,
1

u autoli', Kc-I rr ~mp.ski j est ·przybysz.em z im,cg,o :świata. p0nie'W'IZ jGSt nlemotlrwe,
aby a__łowiek mćgl tyle Wliedz.ieć na temat zaawilnSowanego progamowania. DinctX.
Wiem m; ponieważ. sam jestem z innej planety:), Ta ksi rzka opi,suje v.-seys1ko,, o czy,m
.zawsu sję. słyszy, ale nii1 ookładnie· nie wir:, jak m .zrobrć , prakfyce.
Os1a1nco Direct3D stal się bardzo rozoudmvany;m i posiadającym ogromne :mo1liwości
in1erfejsem AP], który , maksymalny sposób wykon.ystuje moHiwo~ci ~pa.ęw. Pro-
gmrniś.t i z mm. Microsoft mi.ktują swoje zadnnia po\va.tnie i teclmotogi21 D.i rttt30 jcsr
~ync:l'lronizowans ze sprzętem. ktćry ją obsJuguje. 07.mitza 10, 1'J! jet.cli jaik•ś sp~t
stwarza określone możJiwo:ści. to technolGgi~ Dir~i::O D te mo1..liN1tości wyko~rujc .
Dill'ed.JD posiada n \iłtel obsłwgę takrch operacji, które je-szr;zc nie istnieją. Zas1an11wiam
sit, czy Bill Gak ma \,'irch ikul CT,.il.S~. Jedyną 1,.irad cah:j tej technologii i wszystkich jej
,rno:tliwwm jC!il fakt. ,1: jej poUW1wamtc tnva wicie miesięcy. a naw-et Lat - to ni~ ji:st
tai1. Spróbujcie n m::zy,ć si~ Dircc:OD samoozielniel a jego pomanie zajmie Wmn odl
roku ,;ki, dwóch lat. KiOO:}'~ mo2n.a było samodzielnie pomawać tecnl'lologie. Teraz po,.
h"V!bujr:my mistna, llctó.lj' będzie nas uczył, a potem ~,10:iemy rozwinąć naszą medzę.

W ksi~ DfrectX Renderi;ig ~v c:asic.~ r:t...t,".:y HSf) m nie przyj !!to żadnych załottn co
do stanu ,; .i t~zy Ceytclnika. Pierwsza cz .ść książki opisuje zagadmcni12 malematycD1ć,
macitli'ZC i tym podobni:. Po 7apre1..el"lte)wiłlliu pod.\l1Pi 0pi!;ru;o ogólne założ::nia DiFecilDl
co f)Qi(l,vt!J11 ,.,~tki.-n Czyh:1nikom smrtowac z rówm.-go pozioml1, Samo opisanie Dil'ecGD
poYwoduje. te wa110 kupić książkę. Jednak po opis,a_n iu pod.staw Direct3 D Dlł5~lJUJC Opis
spt:tjalnych trektów program istyc:r.nyc-h i wykon;ysl;ani~m u1cl~1 r.!ammsowanych technik,
takich jak meehaniw,y ••i.icrt.ex stiul.de.T" oraz •.pixel s.hader·._ Ten materiał je.st na.prawd~
nie~\la'}'kły. Gdyby przyszJo n n, c:1..ytał publ ikacj~ Dir~ctX SOK, to po pmstu nie wis„
dzielibyśmy. od czego zacząć. KtHy li'flC, od czego zacz.ą<.\ 1n1 czym skończyć Loo powinnt'I
się 1.00Le.td, środku .

Nme c:hcfa~bym zbyt duro obiecyv ·ać. a le jeśU pl'2eCzytaeie 1~ książkę. to będzi cie \\ te-
dzieć, , jaki spooob wykonać tmde opel"a! Je jak za.;~wa~O\\~ne mie-szanie teksrur. o wie-
l~enie: odwmroWililie cieni, hunanic świad:3 {ang. refrat..--'li<ml, odbici • mgły orn2 mi.-
li ~ umych doskona~·~h efektów.jak np. cienitiWMi · ,,ł;,on,ik_5-0w~•. PodobR mi iię w tej
~•ll2te rówm1iet mu, te opisuje ona ,e zagadnfam1a, na które v.skazuje r,rul'. 1·fateriał je~t
n_1ezwy,k ~ ,zaawanso.wany, ale jednoc1'" śnie bardro zrommi111)'. .Orlęki ~ulornwi takie
zagadnienia jak talamanie świllła Stają s~ niezW)'kle proste. Bmni to mniej w~
..tutaj iloczyn skaratny. tutaj zmień kąt. tu indeks tekstury. wyprowadź to i zrobioaet•
Mot.emy tylko bzyknąć ,.Wspanjale! To działa'•. Problem polega na tym,~ tab Dgad:
nicniajak :załamanis czy odbicie wyda.ją się proste. ale kiedy spróbujemy je zasto~
nie wiem1 od cug,o zacząć. Dzięki ksiątce DirectX R~ndering w czasie neczyw1.s.,_
nauczymy się najlepsugo pOdej,cia do najbardziej skomplikowanych spośród znanych
~udzkośc i technik renderingu. a jednocześni~ ~cf7jemy mogli pominą,ć fazę nauki i elcs.
peryment6'v ~~ciwa_dr.a metody prób i błędów. ~~•o~ k:siąxe .znajdziemy intat.suj11-
« wsl--.v.ówk1 1 u,vag, dotyczące SZiez.tg6ł6w dzfalama DtiectX. a taktc: rady dotyczące
mego. dlacmgo okrdlone czynności nalefy robić (lub nrie nale2)' ich robić) w okre§tony
sposób. Możemy powiedzieć, te nie ma takiego 7J1gadnien~ które pozaDloby nicopi.une_

ie ~ i.vrrazić t:go. jak ~ ~Jecam P~stwu tę ksit-iki - po zakończeniu lektury


będZJ«te m1strzann technologu Drrect3D. A Jakby tego było mało - k.<itąlka opisuje
.sposób korzystania z DjrectShow!'
Z \tf}'roz..:tmi S7J!CUnku 1

i\ndre La.Mothe
Wydawca serii.
Słowo wstępne
W ciągu ki~ku ostam~ch l!a~ na rąpjf g-wa~wny rozwój dz~e&iny graitiki practwarzanczj
,, czasie rzecz;yn1istym. Obtt>nte powszechnie do$tępnc są procesory przel.Vto'at"l.aDia gra-
fiki. które doró,\\·rnaj-1 :eybk~c ią ~ moż iwościami niljdro.tszym staej;orn graticmym spu.ed
z,aledwi r: kiUcu lat

Dodar.kov.'O '!i iele z n11jnowszych pub1ikacji zapre.ientowa__ny,ch no kon eNncji po.Łączonej


z wysta,J.-ą Siggraph-jcdn~j z najbardziej znanych ~onferencji if1.aukowyck pclŚ\'l ięco-,
nych tematyce gra.fik'i - w d~tej miuz.e dotyczy-to zagarlnie:ń grafiki p~a1.varane ·
w czasie racczy,.1,•ieym (lkt6ro stanowi pruciwieńst,vo technik g,ener,owaniai grafiki przed
jej ,...yświetlaniem).

ajwiększym osiągnięeie1ll w dziedzinie grafiki pa~twaruinej w ,c:,,ruJe rzeczywistym


,-...· ciągu killw ostawich 11:u by~o f)(ljawienie sję progntanO\\.~lnej 1.eehnologii cieniowania.
11,aórą
zastoso,~·ano w wo.duktach ~inii VIDIA GcForc-e)Ttt.~ om Gcf'orce4'™ Ti, a t.akte
produ tach Microsoft Xbm~TM GPU oraz serii prodnktó, Rackon ,~ SS00 firmy ATl
'li

Tc~hno]o-gics.

Dz.ięki temu, :z.-mrn1.st .stosowania stałofunkcyjm:go modelu tJśw i ellenia zawierającego


pojęcia. światła rozprnsznnego oraz odbicia zwierciaclhmcgo obtit ;r,ane~o dla każdego
wieruholka. można zaprogntmowat wtasne rozwią:zanie oś,,.•mcLknia uw.lglę<lniaJące
odwzorowanie nier6\".no!ci na poziomie piksdi (ang. brimp ,mq,pmgJ. odbicia lustn.ane.
mfamanie śwj,;.nla~ efr.:kt}· fn..:s11ela oraz w1tnde11ic:Jwame tang. self-sh(lduwrng). Dzi.~ki
rym wlaśdwośc tom 11 me tył ko :v."·iększaj ą się możlj wośc: i rt:al istycznego l wor.ti;;n ia gra-
fiki, arte ta.kie pojBv.·ia si~ szansa W}' ·orcl}Stańia technik innych niż fo1,->reaUstyczne, jak
np. cel-shatiing. kre~kowanie itp.

Tak wielkie możliwości uzyskano Jednak p,ewn>·m koszti.:rn. Jt:Jnym z dcm1:mów rego
kos tu jest zlotouośt. Ponieważ pro!.7llmiści ,,. swoich mmklm.:.ll t:ieniO\vania che·
u~,zgt~dniat: jak najwtęcej czynników. to w ja.kiś spo ·ób ll'.'1..eba przekazać parametry
opjsuj • re czyrmiki dcm funkc:j i ciCJ1 iowania. Początko\'\<'O b«;dą on · do tarczane popra:z
Eworo:,ne piLCZ ~"Jafilków Ddwzorn\!,·ania tekstur oraz. modelt": geometryczne. Z c1.a~em.
kiedy proce.SO'}' grafic:1.J1e tan,ą się w jeszcz_e mększym stopn iu prógratnO\\,alne. wiele
spośrli,d parametrów b~dzie ~ypełnianych w sposób procedura lny - poprzez pseudol-0-
sow~ genrY"owa.nie szum-ów {ang. 1Io•se ge11.eru1fr.m). Właści'II',,} wi:ór z.osLanL& utworzony
autęmatyc:m ie '"' czasit: rzeczywistym
20 DINCłX. h . . . . w CMlle ~

IM)'ffl Mpetru:m koutów pr,ogramowalności cieniowania j~t edukacja. O wie_le ~~tł


Jest raaucąt: się niuansów mcehanil'.fflu kontlgurowalnych w1~holków lub P~h. np.
t)'ch.. któtt mOlU spotk3t w prooe:sorach gn,fiemych, 11kich ~ak 5t.andardowy GeF~
ci, CicForc:e2. Nauc:zc:nie 5,1.ę nic tylko tego. e-0 na]tży zroblt. ale- laku tego, eo JeSC
1

moth\l,"C„ jtsr prawcwYtynl wyzwaniem,

z jednej S1fMY zai.mple-n1entowanie afgot)'tmu dJa ~roeesora o pełnym :zakries~e_mofoo,.


śd \.\o)!konywania oJlł111Cji zmieMoprżecinkowycb Je.st b 'dzó p_rosri:. Z dr:\18,iQJ -- im.
pkmtruacja \\')'Mików Dajno"-~ badan dQIYCzą_cych grafiki w czasie rteeZ}"Wist)'Jn.
na , ~ i e wykorl)'s.tywanym spm:cie z op._icumymi 11\Ć!żli\vościami wykooywa.
nia funkcji zmic=ru10przccinki;;1\"1y.rni ~ , ogrankz.onym ~ e P~iłt wy,naga
prawdz1\~-ego r.alen,11 pr,ogrJ.mist:y.

O. Srm Di~mch Jr.


tury, 2 2
Wstęp
Jcut_~ czyta.$i ~ ks•~ w ~omu - .•!' dobm. poo~ewat Mp•sałem ją z m)'ślą a t}m, te
będz!e sllll)·bJako ~~o mfo~, ~J• przez .~ &i C-la&. Jc2ieli n;ywzją w b,ąa.rni, to
we1Ją do domo (1cprcJ ;oonak n3Jp1crw za ruą zapłać), mcganie cło ksi gami p k:wiym
1"32em. I< ied_ chcemy wypróbować jedną z doskonałych te hnlk op~)' h w ·tej ksiąua:
jest ba.rdzo niewygodne. Kacdy prow.e.d7Jli:m zaj~cin z pro-gmmow.ania., powi~ałem
voun uczn iom „ ie \!toieJ---n \\i ·zystkiego. ale ,vii:m g,M..ie \\•szystko znakU", Kaid_ dobry
pro~isra m kilka ks.i~, do .:t(Jrycn ch,;rnic: sięga ad czasu dti czasu. Jes4 ta jcdm
z mkich właśnie ksiąick. Zańimjc:dnak pnejdził:ffl)' do omawiania łych cie'ka,,,..iycb miczy.
µoś\ · ~imy IJ'OChę C2aSU na kilka zagadnir:ń '•'titlępnych,

Dla ko.go jest ta książka?


Mó"' i c pro&to, ta · s,ąt.kJ · ~se d I Ckbic ! J Ht~i tZ}tasz t ~kiwd!. omacm ,o, 21: zJ;ął ją
z półki, pomc....,'llz chcesz pozn t kilkB in1eti:sujących zagadnici1 dotycząc~•eh prngr.1-
mm,-ru1ia grali~,. ra k~iążka optSlłjl! z.aawru1sow~nc: wlaściwosci '' ta.ki ~sób. te IDił\ ·et
poc1.ąck'Uj cy me mają problemów :r.. i.clip swo3enić1n. Pocl,'\tkUJąC)' ez;wln, Y~któ~
r'O~Zl'I stud1owanic Ec:j ks ią2li od po zątku i dokł-cidni j pm:-ana~WJj::t. nie powmn;
mieć pmbłtmu z nauc;.reniem się corJZ b~dzi j ,..aaa,\ill\so,,- ych ,ec:b.nik. Cz)'tclnic.y
7Al....,-a,gowanj moga ". ·c,r.cys1. \Yai; ,~ k!)iążkę jako \UY[t.~znc t.rodło in orni· ·i, ~ho-
ą od roz&ialu do rozdziału \Vł"dy, k;ed. maJą potr'l.e~ mw z.eni11 się lub dokJ;w„
nit:j u1:w po:r.nanfa. W}'brnn)'Ch ,echnik.

W j,aki sposób
nal, e ży korzystać z tej książki~
Ta ksiątka ma do pełnieni dwa cele:. Po pit:!"\ ~ chcialb> m, by czytelnicy przeczyta,;
j i zrozumidi \~Z.)itkie no, c \ takt"'DŚ(~ Q('~t~pnych ohc nic kart graticzrtych. Po
drugie, chciałbym, ib} W)rkorz. tywali ją jaku :źJódło mforma<:ji \\'ti.::dy, kiedy ucmą
\liykor.ey ;·w ć ce t~hniki n11 co dzieli, Dobr; m pt1mys.tem jest p~Z)'lanie tej · iążk1
,,od d~!i~j do deski.., pn~yn11jmnicj pc•nf rac11ic rozdziató, po 'to, ab~ dowicdiiet si"•
jall:ic ~ motl iw~ci, aslępnic.:, kiedy pojawią si okrt lone potr;;cby. można doklud,m::j
a DnctX. brlclMnC w czaele rncqwl9tym

przeczytać potrzebne rozdziały. Często odpowiadam na ~ytan ia lu~. kterzy na.wce


znają techniki. nie mówiąc już o jej zaimplcm~ntowamu. Wstępna lektura umotJJwt
przyswojenie wielu ciekawych infonnacjt.

Wiele z 1ecbnik opisanych w tej książoc' zaimplemt,ntowano, posługując się jednym lub
dwoma przykładami, które pomagają zrozumieć wybran~ tec-hnLkę. P,odczas Czytania
rych przykładów wa2ne jest. aby pn,emmJ izować kaZdą z t'-'Chnik i traktować Jak n~e,
które mowa za.stosować w innej sytwlcjj. a także w poląc2ieniu z iinnymi technikam~
w celu rozwiąz.ania konkretnego problemu. Dla. każduj z. technik omawiam Szet'SU mot.
Iiwo~ci, ale w wiefu przypadkach mo2na zna tetć zastosowania. które nie przyszły mi do
głowy. To najlepsza rzecz, jaka może się zdarzyć. Jeżeli dojdziemy do momentu kiedy
b1tdtiemy umicl i łatwo zastosow.i.ć wybraną technikę do ro,związa:nia szerszego zbioru
probfemó, • będzie to oznaczało, że świetnie zrozumieliśmy technologię.

Co zawiera ta książka?
~pisuję ~wansowane pojęci~ w raki sposób, t.c ą one jasne dla czytelników na \\'Szyst-
kich_poz,omach z:aa"Nansowama. T~kst.sam w sobie opisuje podstawowe techniki. a także
amal~z kodu ~!owego,,., postaci opasu krnk po kroku. Płyta CD dolączc0na do ksią1x,i
zawiera.\ ey-stkre kody źródłowe o~ pliki mu ltimedialne potrzebne do uruchon1 ienfa
p~~ dhówl: DodaUco,_·o ~łączono kilka narz~zi ułatwiających ro7.pocZft"Cie tworzenia
,, liłJSnyc p 1ków mu ltmmedrn.ln_ych.

Kim jestem?
Jestem ~racown~kie:m naukowym Accenturc Tcchnol r • • •
po!eg_a l'WI opo·wmdaniu ludziom o leclmolo ·. ogy Labs. Duia część mOJl:J pracy
dla biznesu oraz dla konsume.ntóv,• . _g,ac:h oI1tZ: o (Ym, co przyniesie przyszłość
łem ró'.norodne nagrody. a t t . mektóre z moich ostatnich projektón· otrzyma-
23:
nows.ze projekty dotyczyły ~n;,a . ~otch p:rac po~s•ało ~ż kilka publikacji. Moje naj-
torniasm wiefr: innych projektów d:;c:~;:ros~o\~CJ or1;2 "',nualnej rzeczywistoścj. na-
Jestem programistą gier ale większa •ęś on~o_l t do gier oraz realistycznej grafiki. Nie
wani_u rch ~mych technologii. Ma:_z ć ~O~CJ pracy po~cgą na rozumieniu i zastoso5
::~:mem, Jes~u.
. . ~lllawanm oraz opraco"'yw .
on~;~':\~::~ihp~c~
.umini staną sir.; z nowym ~rLęlem i oprngra-
. me ost pm:. MoJa prac polega na
W1elu,•nnrch autoiów ksiąuk dla~~~" fiO\lr)'c:h, Lnl~resującycb efememó~. fnaczei ni_!
ne-go ub infonn liHJsowanych me rtJ • :,
mcchn·•~ . • illYCZllleg-0. Jestem i1n.;uniil>il',o•m k . ~ wy mlc-en ia rnatcmatycz-
"" ~ rozw1~-nn.... • • -; ... ... , onccntru•ę s,ę \' · •
z jakiegoś ......) .... ~m~ prohkmów~ zamias, d \ .- -' męc na implementowaniu
powocfu ntl stę to nie udafo to fam r a varua te~rerycznych wykłac.M,v. Jeżeli
• \NO rno,żna mmc znaietć!
część 1
Podstawy
JcRłi jeslricir &ac)' jak Jl. Igi 11.e mo~ •iic Jut do(Ubć•. ■by pruj~ do kodowln~.. Spok.ojme1
w kilku ~lkawych ~ omówiłem poctnawo1,1-c poJ~i.. które ~ na~ p6tn1eJ pc,cr.;cbae.
b)i roim 2'e(hc: c:atlowi ie p0mi~ 't ~łt. ~~ Ja po1tt~ jc:j prrcj.
,lu.wusoW'lftl ciytelrlllC}'
rttt1iit. motb>' po eo. aby U~\lnił $1ę. te napmw~~ mam)' ~ttn••· P ~ J
~1ił 1c ~ ·- Róali ludbt w ~ tempit ~J~ ~ p<>j(Cia. V,
r powtnm
~
l)'Ch
IIWałJue
rozdziabch. " ' krlktim ~ •c poj Mtta stt duł.o maccmłu. kUh po p,erwuym pnce:zytnniu rw.dtiaha
nie w pełni uozumtem}' opimu~_ 11im "gadnir:ni,. nać:! p~cJ1111umY s.rc- ~y:m_z-byt11io. W dłl■zyda
n>Nliafxb optJo1DC li\exła:ueJ pc>J('Cj.J t,ędit wykoa)"SWWIVIC- 1 top11owo o'bJ~nWlc-. Z doś\\·,•zmia
~·cm. te 11ie' ~micm ~ dokbdn~. ~ · le~ nk- W) .koiio•~i:am. P-odabnyrn ~o mnie: n.d(ę
0

p~)W rozdm~•. ~ L • tył.e, alt' t0 m()fJswc • poc~ do m(lmt11tu rozpoe2(Ctl:l kodo"'Ulia.


.l5C(pllie proponuj{ powrócił d w~Wcj pt7,C(-.eylM,) 'cll ro-z ~i,Jów JK> 14. alby UlnWli~ l(.QbllC pt~;cja
'jl, ko~ ~'W'BM w C'DSic. k~wtia..
Rozdział 1.
Grafika 3D. Rys historyczny
Kiedy choń.i:iti:m (Io 5zkCJły. ptajawila ·i~ gra OOOM. kló?a dziafom j marz{'nic- n~
mo1m "'cudzie te~hnilti'". jakun ibfl wl:td. kompur~, 4 6115. t imyci'h cza..,;ach ~ fika
30 nie byra do tt;pmi dla uż;1kOW11ukó\ komputuów P • il na et barozo dttigie stacjt:t
SGI ni..:: miely widb h mo~lh,•oścj, Kilka lat pómi~J. kii.::dr pojnwd:i sJt Quake.
spr.zętow□ akct:'ti:racja 30 nie była .d>yt popufarns i początkuwt 'i.VCl'Sje Quake.11.dziala~·
z ,vykorzysfilfiiem szybtie~o rcnck-l"('ra_ progmrm.:1wego. Oooke b)•ł jcdn:at tą 3Plika,ej·
k1ór.1 wprow3dzii :riJ'ł'7 row~ akie ·h::racj ~ 3D do naszych domói.,r i. biur. W lipi.::u 20(H
roku odbyła się p.remtern filmu F;nof łat,l(J~,:,, - pje-rm;1.cso ••l'dper11ealms1ycz11,t,go"'
filmu w całości .,,~enerowanego 'komp1Jncmwo. Mniej nil rnk"111ąc póżniej no \\"'fS,tn-
\.\ te IGGRAPH. flffllil nVidia .zaprc..-zenmu ł81 cerlr_ z filmu FmaJ Fan~ 1 dziillające
, czasie rzeczywistym. ~ ie była 10 najwyżs;,:~ jak ść. ilk było to napmwd imponujące.
\V ci~ ki Liw Im l'I ~1qpił znac:.my pool'i;p w mej dzl~dzinic. ,v jcaki ~ ob lo t~ stało?
by oopowie<ł2i« tna IO p}'lanic. ~pmfo~my prze.mali20-w11t': lilłl~li;pujące za~~dnienia:
• ROZ\vój sprb:~m kia~ , PC.
t Rozwój konw1 do _gier.
ł Ro.z\vój trt:lrrn i k tilmowych.
• Krór~ h~ toric3 UircctX
ł Ki1ka słów nil kn1:-J.L O?C'nGL

Rozwój sprzętu klasy PC


Prl.ed wy<lmiem Qu;;1kc' niA; byto aphka.qi w~ kiJrL}''l>LUjącej ak i:l..:racJe gralllo dl IJŻ}1-
kov.·ni~m komputerÓ\ kia ~· P . Ki i:d~ gry • D zdoh} ł) p,npulamosc. kilku do~t.mn.:a:n'-'
sprzętu ucz'iło of(rrowat a (:,;] ralo J D za cenę dusr~pt1ą llfa ko11smnen.ta l::.\lj,'olucJ~
spnłtu mo~my przdll.idztt. am.11 i.xuj;l ofcr14r pro,duk LÓ" o~· n.:. !on ·go dos-tawc~"' , ciągu
kilk:1,1 tat. JJeteli ~ah .ujClfl}' ns przykład plOdukry finny nVidia, dcJw1emy ię. że Jednym
z piel'¼'sZ)'Ch :łł::«~t'r.ltor6,, :,p-n<;towych tej firmy była kfilt.ft • któnt poj1.1w"ci ;~
wkrótce po Quake·u. w I Q9S roku, :.i w rok ~in1~j fi'O\\ ~udu karta TNT2. ,v t i~u kilku
lat nowe produkty oraz nowe wł::rsj,; hyły ukpszan w posl~p1c wykładniczym. Pl"led~
itawic1de firmy f1 Yitłia Lwii.::rdzą rmwec. i.e ieh pU!:,,l~p dhywa s i1r zgodn;e l pra" ~nl
Moo~•a do 2 t:ianu ! {an.~. lon„e ·s Lm1.• c1,bc:d).
J
~·•~łMl1

~ u dokładni~ opiSiuj~cgo posięp j~st bardzo lrudne. ponicwu nie IIIO-

~=~t~
~- ·
. or.icnae wy rownywać prędl«1łci pl'QCC'SOta. w preypadku k:art geFan::r n a ~
~Y. ';"~~·4t je$t ro pierws.zy procesor grafiemy (GPVt ktćry wykonuje ope.
11ra.nii omz ,oSwil!llaafa, poprzednio wykon)'Wanic pnez F~ot główny.
W klllCie sieF,o wel wprowadzono dodatkO\VC' WlllŚC~lj ści omz: s::ey~ pamttć. ~mniaat
gc:fon:d z.ni,·tcnl ~cznjc bardziej ~wansow:m}' ~estaw nn~~J•• Op:r6cz zw1ębzcrlira
~ pn,cm~iil ukbdu, zria.cm~ zwjłk.szyha :s.i~ 11.'oić opemcJt wyk nywa_nycll w _jcd.
nym eyldu z.i:gu_r,1, Gr:Forcc3 był p1~rwsiym pKl(~SIQr-em tmficzny~i kt6ey obs!ttg1wa1
:sprZęrD\\'ll' mi=clwtizmy piY.rl shatlc r oraz verft::.'fl s'hatkr, Te: meclri~azm)' [PO$W(lhly pro-
~is,om na "'}'konY"łflie Q_pcracj,i ge~melJ'yeznych_~ opem_cJJ domye_zącycll pibeti
be;q,0 ttdnio przez ~~t Ef~kty spe-t:ialne tmdyc:yJm,: v.-yk~nY"~~ przez PfOCtsór
g-f6wny ~ remz ,vykonyw11.me pt2e.z wpnęt 30 . :1 -.,.·zro~ wydlłjD~CI pCt1:\ ałą na ene.
rowa□ic naj~ej ~ kompf ikowanych ef'c:kt6w w czasu: neczyw1 Cym, co m<ł'inn 1.\~•-
korl)r~ć w gra.ch1 mlie w iM)•ch mullimed'i tny,eb apJiiktleJach intr~{.akityl.'l'tlyołi. Me.
chńniZID}' 1Nit:kr stlrlo,, 14 podstawę wiciu ~czi;k i mcchrriik orm6rwion~h n~&li eych
rQzdz1ał.loh. , istod ~. jc.-dl'lym z oc:16' tej ii}ili jest rozpozmmic $pę5-0bUJ diZiii!ła.oia
median.izmów shader omz sposobów " korzynan.i tej m.<lwej toolmoJol,iii jBko nan~".dllia
o n~UW)rkłyeh mo:żliwoS(-iach.

Nie tyU~o niezwykle :lwiębzyhl się wyd'ajoosć pazętu~ ah~ mk:2'c akc,clr;ratocy J D mn.fitaluje
się nicmslze mi każd„1111 spll'7.ęcjc_ W r7JX,zyL,..-J toścj wszy.s1kie korn:immet;• P przezna.
C""zone FI rrync,k konstLmi:tltki dMW..n::;r.ane pr.zcz gló, .n~ h [Ploduc;:c:nlo\\f s.ą_ 'Wjrpo.saionie
w pe,vne~g o ~ j u ak« leracj; 3D. Posiild.ł!Jj,ąt,e olibrzymic mt>tl iw ości karty gcFott-t2
~ pl4«la1t\'i.Ule za mntt=J niż l OOS.. t1 "' wię,k~sei w akcc:kratory JD są wyposilion,e
,tabe '11ptopy oraz inni: ur,..ądzenfa prunośne. \Vifk 2:1 aęsć tej ksią).ki xostala napisam
ll1 IIIJ'coprc, tór1->-go w}'"{1ajnosć jesm wybza ni:1: wydajnosc mojej starej stncji ril)boc:2tj

Or z l 99'9 ~ku! ~~L ;,:3wier~jąeJ~ ~bani2rt1y ~ha:d~r ni~ j e t jcs-zeze pow57 ~ )·.
af '1' ńrcy gier J)O\Vlnm w1cdzLec o 1s1mcnm mych n.o,V)'Ch moxI twos.ei. twn1cwa.t Jicxba
~ typu ~rząrhen.z ~wnością_ gwa~o"info w:r.mfoi . Kumpute _ PC to riicpr2cwid)·•
w3fll~ ~attorma. · me.kc,ur.-.y- użytł:.o,viucy pos1sd:.1ją 11lajn0'\vocztsn icJszy spr✓ęt. podcza.s
acy uuu "~•koraysłt!Ją ' t11re kar1y 2Ll. a!e zignorowanie nowy h wfaś.ć iw os.ca ozn11cza
paros4awame \\<' tyle.

Rozw6j ko■sol do gier


R:z1dał 1. • GMllca 3D. Rya łllltoaJWiit
- 27

Niezależnie od tego. która konsola jcśt neczywiłcic leps.u.. a która ,·est ~........ •·
.a.. • ,._ • · tki ·1· _ .1._ .,•.J,- • .._.._ po n1eJ,
praw~ 1e~~ te 'IU~es•~ . mm•o•~•~ ~• :mają w swoic:h domach komputery graficzne
1
0 olbrzymich ~hwośc1ach. W naJbhtszeJ prz:yszl~i spodziewana S,,'7.edu konsol do
g ier ma byc wyżSza ni l . - ~ magnetowidów, Teraz. kiedy spr.ze<tat knn.so] :Stala się
wielkim bim~sem. ~wmn! n l_ąpił preyspies~tnic postępu technologii. Jedna 2 cic-
k3wyd1 wlaśc1wośc:1 konsol ł xoo~ potega na lym. U motoo Jla niej lhćzpośrecm,io z.asto-
SOWllC wide _spośiród t_
c:chni~.• /które po2na~y w rc:j książce. Jest to intett-snjitee od.ej. de
od ZAZWYClaJ .,.zamkmę-'tcBQ ,charakteru wu,~ dotyc~ecj progtamo\vafiriil konsol.

Rozwój technik filmowych


Jr:dn)'lll z pie.nvszych fiJmów który r&ćC~ iście i.acbv.1·dł efektami generQ,; all)'inli
kom_pu1erowo był Park JuraJ~ł:i. Pi.:rwsza częśe filmu Park Jur-oj ki zawierała re--ali-
st)•czot obrazy dinoz,i]urów v.iygeru.ww:.me Z.li p(lmocą_ teehnologi ~~ !którą opracowano
pecjalni~ pa. potr2eby teg~ nlmY. Technika ta była st-0pniow<.> udoskonalana w wielu
fahnilch. prowadząc do cfi:k1ów uz;·skanych w fil:mi~ Gm,madne ~"Qjey - l!plzod J. który
1

b)~f pi em1 ~zym filmem. gdzie 1..astoso"•ano VJ.' pełni cyfrowe rca1is.tycZ11e -posracie ora.2
efo filmu Fino/ Fan1u.-vy. t;dxte wszystko było wyge,n :TO'I.Yffl.lfi:' komputerowo. Wiele 1erlinik
opracowanych na potrzeby rych filmów zbyt mocno ob4:ią2ato pm c: nr, ab1,i· mogły być
wyl.1)f1.)'~ne w ,cza..-4,ie 17.ecz-yw-i5lyiITI. ale po81ęp meohnolng~i i sp~~•u pov.vala na :zasto-
sowanie coraz wirlluzej liczby tych technik \\' grd.Ch. Wicie mech::mizmóv.r shader '\\]'ko.
Q}'!ilywanych pr-ze.z wytwómie filmowe do t1;,vorze11;a realistycmego ołJmni kóry 1 wf*11
można teraz zaj mplementować na naj nowsz-ym 5,pr.1.:'ti;; ie. W czasie ~CCZ)'"\-\'msł)'m można
1111fd;e zastosow~ ,.,,·ieh: kchnd,:. gr.:omcnycznych. 1akich jak marfins: oraz skimung (nil•
Jdtid:mie skóry). \\' pieru'S2}'tn rn-mie Park .Jurajski z sto ·owano tr.:ks,ucy. któri,; nakła­
dano 11a p<,ruszającc si'i szkielety dinozaurów. pros.zc?L>'fm forma ,eehnikJ skmni,ig jest
tern.z smnclardem \Y grach n. ,v trzcc~cj c:z4i:ści filmu Park Jr,roj b udoskonalono~
mcchnologi~ 1Wprnwad?-...1jąc wolumell)'C:zna skń~ oraz anim.i.ej~ lł::anki tłuszczowej, która
porusza się i pulsuje w czasie, khxły dinozaury się JX}ruszaj:i, tworząc bardziej fC8 I•stycrnć
eft:kty. 2ało;:t.ę s ię. że m1."długo 1akmc efekty zostaną zastosowane w ,gll_ich.

Krótka historia D1
1
i rectX
Aby w efekt)'wn sposób wykorzystać nuwy Sf.'U7.ęt. potrzebujr.::m~• wydlłjncgo jnterrejsu
AP[. Kiedyś iruc:.·rfojs API na platfonuie \ indows był 1JOd;r,;.;-hmy. W'1elu progrnmiscim·
wywodzących się ze świ.~ta stacji ro~z.ych 3D wżywało OpenCJL" natommast inn1 \,\'}'-
kony~·ali ZflS'Erz:etony inferfojs API JDFX G lide. Jeszcze ~nm tworzyli swoje wl~11e
JOZ\-vi:ą.ania programav e. Ni~7"'11e7.nce od tego, czy luhim)' firmę Mic-ro5oft. ci}' też n,e.
DirectX uczynU , ii:lc dobriego, ujedoolicaJąc pl~tfum1ę~ popracz dos,a-1C'1.~p1e producen-
tom s ~ wS?pólneso interkjsu API, :.,, następnie ,.,,.~aśc1wic wymu:$~j~ spt-eyfikacJę.
Te~ pogrnmiści dysponu.ją berdzir.:j slabHną platformą doct:lt.JWft i 1.amEasl pi,sania k.ilk~•
l'Óm)'Ch "'Crsj m r~nderer.i.. mogą poswi~--0it wi~◊ej czasu łllJ p,san1e lep, 1.~j gry.

Poanimo tych zalę;,t, pierws.ie wersje Di r~ tX b)·ł.1 1roohę nieudane oraz trudne do,wykL -
~ (ania. W ra;poreie autor-siwa Johna Ca1i1U1cka (program i,st)' s~lnika grafic-7.fl,cgo fi nn.
•d Solh are) opi5aflo \vsey~lkie błęd)' w~esn~h wersji Dim:130. \\riele 7 ty b ZillZllllÓW
• _..sl4,PudlllaWJ

7
było wtedy pr8\\'dziWC I do
zwolennikami DirectlD. -~
r .
~. fe począwszy od wersji 8.0. interfejs API
I' k przez ludzi nie
ten jesl wspommany

& c ~wania. Znaczące zmiany wpłynęły na ~llflll■11


1
DCC~ll!I

o wicłe l e ~ ~ _latwicJsźy ~=ra·c łącznie grafik~ 20 inlcrfejs_API DircctDrat,


!
rcndcrowarua ptak, D,._ . wsp~n !Ili ;;'"rodów jc:sl ci~c dost_rojanisc spnętu w cella
3 8
zosa:d pc>~c~y ca~k:"~i:u:.;~v~ill grafiki 3D. Wykorzystan1e spr1.~tu 3D do lflle.
coraz bardzicJ wydaJn g Pf?- i..7Vrn . u-ut,- 1"7'1.'Staniem sprzętu niż za pomocą trady.
'°"'łnia gmfiki 2D Jest 0
wre1e 1c~.-~···. .,..,._- _·-., . ...A-.., L..-
h ... -.a 20 'Y.' noweJ wcrs,,m me I stmeJe także róimca pom1"f""-"-., tryvc:m z op6t.
c~n?"c mc."WU · d odeJ II tJrybcm n11 tychmio tow„ m Cang. immediate m'f;Jde). Tl")'b
1ucmi:rn (M_Jg, rc.rt,,me 'm • k to że Je t zbyt rozbudowany i powolny aJe
z opóźnu:n 1cm b)'ł cz'ksto ktyt owa:ny za · , . •. •
· , f ·
by ł o Wlt:•t: IHWIC:J .
'szy do z 1osowl!lnl8 dla -
pocZ( lkujących. \~ ol,ecnc.J
h wersJ, A Pi
f, h
wy.
.
t puje bardziej Jln)'.JlłZDa dla użytkownikó"'' forma l~b~ n~ryc mia to.~ego ,._c OC1at
n,c n!U)'1i a srt; g:o Jlii w ten sposób) oraz uproszczona b1bh teka pomo n, u D3 0X.

.BibJiot.ek D3DX jt! t ,\ "'ięks.z~J ~śti• wysoce zopmymt1l~zowanym. ~- 111i1: 1yll(~ .m-lQ-
d mtZO\~ a.nym triybc:m z opożnieniem. Za, icf1l luUra podzb1 orów funkcJ1 obsłu@•1Jąt~"Cb
podst~ wowc. :ile kom czne uda.ni11 ustawrania mCi! icrz~ ! \.\•ektor:., oraz. w.?'k.on)rwa.n~ I

działań mal('111 tyc:mych. Ki~k ~atw eh dt>, korzy~ffimfl funkcji wył-tonuje w z.;•stkie
J

CY.)'Tino-ścm począ,, ·ey od t dow.mia 1:1:kstur o wielu_forma~h grafiCZD)'t.~, a sk~ńc~•


na optym.:uizat:ji s.1 tld JO. Wc1er.m1 pmgramowama w DtreCtJD czasar11u mylm "8WlaH
mtlk tó\, noki pomi~d1.y bibfi1iuc.,k D3DX a tl)•bem DJD~M (ang. Direct3D Re1ar1wd
J!o,:li!). kaóry b, I wolny. ie Jest to ,.,4a.ściwe i powinnismy '-'')lkOr/j'SI} ..-ać bibhote ę I

D30 ws;z~zle hun, gdzi to ma sens, \\,f na.'it~pnych mzdzrala.ch przed tawię; kHka
pod awowyct, fnnkcJi narzędziowych bj bliowki D D •.

J ,V$p0mnia:łę,'ffl w 1.cśniej„ j1.-dnyrn 7 n U\\.'i ·ks..z:ych osta_gnięć ,,.. ru:,,, ·oJ u 1.are\\ no spfZ\11.l,
jak interfejsu APT Direc•X. jest roZ\1i·6j mechan11Jttów sh.iflcr. JntcrfCJ , API DX .O za.
wiera pe-mq obs·tus • mechamzmów hader dla s.prz ·tu, klliry k mi:cha11iznl) ubsługuJLt
DP11 pozo ·tale.go .spl"l 'łu 1 n1cobsługuJąCcgo rncc:hL nizmó,, ~hadc,r o rai.:o\\ano ~terowru-
·r, które bardzo wydaijme implementują mechani,m1y , ~ni;:\. shadcr p 1przc1 pu ·tow~
tmufocj't. \'litrkslosł lc,,-chnik orn ó" rony h ,, le ks1ą.zc1.: nac b), la dostępna we wczt:-
inrCJSZ}'ch wen;Jach Dm:ctX. Jnnc były dos.t~pn~. :1J..· znac7nic trudnicJ~.1.1..· do wydajn j
impl_emcnta j1. DJ doświadc.zon>ch programi tó,., D1rec1X .,;ilr..1.\ nm'i.ego imcrfi:i u API
J)O~nny b ć ~Z}'\vii~. Db lyi:h, dla tÓl)'Ch Dm~l'.lX J~).L p<)jc;c1em no"~ m. 11nwe fu nkcje
pnwmny pomó w ro1.poc1 :-cm prac.> .

kilka słów Aa te•at OpenGL


•• Ri;:li~ijnc woiny·• 1.wuh:nn~'1"ó'w PS" · '"b · · ·
_ • •ł-~ i • • . _ 111. - t ...... o. są n1C7}111 w pOJ\)\\ nanm z bm,,•anu po-
m, ~ 7Wolenmk rru DmrocuX n ~ ~ . k · 0 G
l •i:- d . . ą vo cnna an11 peri L Do ·zło n:m ·t cło t~,go :że gd ·
na IM.:1e kusY.]ncJ dotycz!],•1:1 0 1.... v k ~ I · • ·
kc1w licroso:fl Di
d
•0:
~,.,. ~ ........i.;U"t. ;,,:ap} ta O OpenGl, to Jt.'dt:n ze l.wohmna-
flw,re l1"a1· re: •~ na, ~_chm1ast o ,~..utył go o rozpoc1.,cic ,,WOJn na obelgi"' an...
z w1eJk· {" Ta odpo\, •edż .sama w obu: wy1t,\'Olal..1 prawdziwą " oj ru;, z l ' powodu
ił ol.Mlw ponaszam ,enrn t Open rl.

Mu~ sr. przy-mać.~ mam sp re do ,w·ad. . .


na su1cj I h roboczy ·h GJ l:: . . •• czeme '' l)rogrn111owamu,; Opttn :rL. za.rówtitJ
p rwy w u ytkowan ~ . • J:t rok '"''D1ci' nn komptit • eh p Int~rfej - LeJ1 " yd.aJc mi i •
m i m1,.,,·e~ la ba.rdzo pnyjcnm_. '-e kilku nowicJu zum porac.lLilern.
at,y prad Dpoznaniem.s:ię 2. Direcl.X śpt'ÓbQWl]i programowania w OpcnGL. Tym. 1dtdy
chcą zdccydow~c się ~a ko~sta~ie z któreg~ ~ in~ej~w ~ odpowiem krótko, te po-
winni nauczyć się obu • po,dJąć świadomą dec)'ZJę. W l,t.oclC w1c;k$zość ••wojen na obelgi"
prowadut lu~ie nimrnj~y jednego z inrer-fc:jsów (lub obu), Każdy z inteńejs6w ma
swoje :zalety I wady. Jetet1 l"\\•orz.ymy nowy produkt, weźmy pod uwagę docck,wą plat-
fo~ oraz jej wlaśdwosci ~ id,ccydujmy, który z interfejsów API na.,lepi,ej adpowi.ada
0 aszym potr~m. Hobbyści luh f'OC"~lkujący pawinni preyjrzet się obu intttfcjsom.
a później zdccydowac, który z nich najbardzu~j ~m odpowiadm_

Dobrą wN1donoością jest fakt, ie chociaż lrod :r.apre7.mlowany „ tej 1cs;ązce zoslal zapro-
jektowany dlf.l amtiki Di,~ctX onu. :t. w)'lwu.ys1an;em mteńejsu DirectX. więlcszość pojęć
dotyczy dowoln~o interfejsu 3 D API . Doświadczony program i~ta OpenGL z la.tv,.•ością
przeniesie kod do OpeuGL.
Rozdzi ał 2.
Powtórzenie
wiadomości o wektorach
zytclnicy. krórry mieli już do czynienia z ~ranką, na pewno \\)'konywali działania
z wekrorami. niCZ!lle'mic od •ego~ czy zda.wali sobie z lt..-go ·pra,vę~ czy też ni1:. Dla przy-
kładu w grze Tettis spadające .figury poru ~zają_ się zgodnie i wę'ktorem. ,v propmie
do rysowania każdy piks "'l n ..:-kranie j "SI poz.ycją, która. moxc być reprezentowana ·ako
,vd.1or. \, tym ro1.dJ1;ialc powiemy rzym są ,,.·t:ktory oraz w j ak i sposób motna wyko-
ń)'Wac z nimi <11.ialanin. Omów•my następujące zagadnienia:

♦ D ·firucja wektora,
♦ om,ali7.acja wektora.
• Arytmcryka wektorów.

t lloc-.z:,vn skalamy wektorów (ang. dor prnducl).


t Iloczyn. wek1ornv, y wckcorów (ang. ,:ros.\· pmdu,;.l).
♦ Kr,c\lkj opis kwa.temiunÓ'k\' (ang q1wlennon).
♦ ZastO!;tJwanic struktur wek,oro,"'·ych ciost"cpnych w b1bl iott.:ci.: D3DX.

Czym jest wektor?


M6'v~c najprościej. wektor J e$l /biorem liczb opis.ujących po-zycj i.; lub kierunek,,.. pc"11~ m
llkmdzic wsp61rz dnych. W pr.lypadku gJafikj 30 um układ v. spółrz~dnych iub inacz~J
,.pr.re·mefi„ zwykle clpisujc się ws.p łr1..ęd11yrni kanc:rJańskim1 J;t.ko (X.V.Z). \V przy-
padku grafiki 20 jcsL to zwyk Ic para { • ). Każd z I eh d, ·6ch rod1.:aJO\.\ wektorów
po~o oa ')' tmku 2. E.

Za\l\vaan.. ż.: wek1ory różnią się od skalarów. które są liczham~ rt!'p~1.:eomuj'4C)'mi pO-
je<f)'nc,-..ą warto ó lulb wielko~. a przykład ,60 km/h je!>1 wartóścią skalarną. podczas
gdy 60 km.lb \\ kierunku n północ można u1.1100 a w ~ktor. Liczba wymiarów~ wektorach
nie jest ograniczona do u-.i~-cb. irycy mówią o cmmpl"l,cstr.zcni. k16ta jest co ncijrnniej
cztcrowymiaro,1,•a. a. nicktóN a lgorytmy \\,YS-tukiwania opierają się na pr;;..: ·trzeninch
0 elkach \rymiarów. Tak czy inaczej, wektory wykorzy. tuj&: ite w celu opi ania. gdzie
..,.. . 2.1. W..1Dr2D
11'~1D1JD

majd'uje si.; obiekt o~ _w j~ im kie~'U ,Jt.~1 1-w~~Y· _Moumy na ~rzykład po ·


d2iee. ~ śwjt111Jo z:naJduJe S.l~ nll pozycJ• OC Y.Z) mJe:s.t sk1erowa~e w k~eru~u (x.y
z tych pó\'rodó-w ·,;M,ell€tory s:tun.O"II ią mat~ma1yc~ą podfitmi.•.ę pmw1,e wseystkrch oot:r:a,,iiH
\\'}'konywanych w grafice 30. Dla włcBs,n)'eh potneb musmliY zatem po211ać ch:iatania.
jflkii: mot.na m'l nich ,vykonac.

Normalizacja wektorów 1

Na. wck1or 1,kh1da srę ZMÓWl'lo rozmiar (diugo~ł). jak i kiemnck. zasami jrzdnak v.-y-
gódm:jr;st oddzieJenje od si-e:bie tych '!i ielkcr.;c-i. Może nas imereso,łw'a.ć tylko dtugos.e [1ł)
l)•Di:c kic:TUndt, rozumiany jako mormt1lizo,,vany wektor jedno mkowy, czyli wektor o dh,
g:oki I słd~·.my w t samą su-on (zriuW32tl1y. ~ jest to co innego niz wektor i n ~ .
który omówimy w dal ~ej części). Aby uhhczyć dlugo~ć wektora, wystMt:Z-y zaslosov.'łf
1wjc-rdzente PmllAgarasa:

.Po wyliczeniu <Iłu o~i można .r.nalczć 2nurTI1aHzowru,y v,:ekto jednostkowy popr.z:ez
podzieJenme każdej w.spółrzędncj przeY. dtugość.

X y 7, ]
=- [ jvj•jv• VI

~a J)·sunku 2.2 pokazano przyikła-d ob]ic;zania (Jh1gośti wcl...tc,ru oraz u~kiwania wektora
Je-dnoslkowego w tym samy111 kierunku.
Rysunek 2 r2,
Oblfaf1nrt• ....
:znormaliww.~t!KQ
H't'A'/Qi'fl
jL"tdnt»tiOl.1\'KQ

Ili

W kolej nyeh ro~iałach pot.mun - 1 st ..


· - -Ywu: e. ~ o:row.[łn znomi,ali ZO\YDDYth Wtiktoról '.
A,ytmetyka wektorów
~ek~ są w ~~ie zbjGnlm; licz.b. za~m operntje cł.1)1metJC7.Dc QI wektorach są
i.nne mt ope:racJe na hcwach, Trz~ba zap:umęta~ kilka. prostych reguł~
• Wckrory moi:na doda.wać "\\.,-lącDie do innych wektW'6w.
ł Wekt-0ry moma odejmować wyJąezn~e od innych w~ktoo-ów.
t Doda, ane {odejmowane} wekwr)• mu~ mieć tq smną liczbę wymiilrow,

\\"}'m'i arów dw6c:h wektcrów się zg.ad-~ ieh doda,; anie je-sf proste.
Zakladaj\C. ie liczba
Wysłafczy dodać do sjebre poszc.zesólne współrzędne obu wektorm~•:
1(X, .r. .z .)-,.. ,x~. Y~,Z?) ={X x?. f +f l , Zr + Z;)
M02na to łanvo zihJID:O, ć graflc2nit·. stosując n.-guł" .J)Ot'J.Jtłck z koncern" (aog. lread-
10--1a.il), llllk jak polra7..ano na rysunku 2.3.

Rpunek 2~3. (2. 1}


/»dm,,'tmie dwtk.l,
. . -w~•
= ■

\ m__noicniu ,:i.·ektorów oboWEąz\ll_!ą nit.:co mne zasady. ?l"Q$tc; mnoż~mr.: można wylrooa-ć
tylko pomiędzy wektorem a wieJ'.ko~ib\ :;ka]arną. y.r efekcie UZ) slrujt: ~ię; W)'dfuxenic lub
sbóeenie wekmora bi:z Zllltimy jegu kierunku. \V Laki m przypadkl.3 przez wielkość skaa
lruną mnoży się W-tffą, .ze ,,fspółrz'tdn:ych :

(X.Y,Z)• A :;:-(X • A.Y• A,Z• ·H

:r·okazano to na rysunku 2.4. Operacja nmożcma powo<lujt.~ zmian'itjego dlugoś,d.

fłyigak 2.4~
3.ła!oK--"anle- Mnoaeri p i ~ 3 .0
(wielcośt ikalarn.ę ~
( ~~ ~ .,,,ei(lor{J•
V=3~
/N:ff. k'iełko,ić
!#t.1/m,ąą

A.1)1metyka wekmoró"' nmie być pr?.yd~~m=i, Wektory charakteryzują si,: interesującymi


właseiwościami, kt6n: motna neyslcać., wykomuąc dwie operacje u11ika1m,.·e dla wekto--
rów: iloczyn sk,alamy (ang. dot product) ora... i1oc .:}'TI wckiomwy tang. aoss pr·oJuet).
1
Iloczyn skalarny wektorów
, dwóch weklorów daje w wyniku wielkość kalłlffl~ ~racj~ t; m,• •
Iloczyn skalamy . . t ...., .. nńn'l~..,i'"" dwoma wektorami. Prz:yda,c $lę In do obh
"""k-----.c.
" ~...,.~
do ot>llczenta....,. .,...,~irw-.1
"j kiedy l~bs wyliczy-ć l'Ó!nlC
- k- -'-• ..· ...•""- . t-·..L....
1erul\l.A-u s l11Ud ~ s VIKIUAU,
0~"·1crre.n111 w $)'1UBC~ • - ll ...,,.,i '[eoretyeznie pnedstawi-ono tę oi,c , :raciitl
J.;:icrunłm powierzchni, na któr-t to w111 o.,...... . . . h h .
, s O . wd«W"}' są skierow;.mc '\11,' róinych ktt:nJlilkac • a my c cerny Ili:
na ~~~ ~:.~ b"~~.,.... 1 ... ki,mmki ramią ~ię od siebie. a r)'Scunku 2.5 wy~ortystano
dow ,~r-. .,..... .nv"""' .,.,. - I · ....... 'd · · ·
parametry, k1 órs ~ą utyte v.• ró,.-.n:miu opisujll: ytn tu d21a anu: ~13J llJĄC}'ll1 ~aę J)C>ll~

Rysunek 2.s.
....
l>,,,u n Ol}' lJ
U.;,
n m-"_..ro h kfc:r11WĘ1i

nowyno$1 po(11lfdl.YU. V?

'-'r

+X
u IJ

IS>1nicj=t dw~ posob_ obliczania iloczynu skalarne •ó. Picri.1.· zy polega na ,w:.vkorzystan~
wij)6łrzędny,ch dwócl1 wektorów. Znając ,,spólf"l ·dne obu wcktoró , nalefy skot7.Ys1K
z nas,ępującego wzoru:
U • l'=(X, . .t;,,Zt • (X :r., Z,):::: xr) X1)+(Y, i; )T ze z.. )
Jezcl i znamy drugosć obu wektorów ornz kąt mi~-rlzy nimi, moż~1ny skorzystać z inneJ
ffll~tod}'~

A zatem ilocz;yfl skah1my Jest uk.-c 'lony popr..!C7. kąt. Im więkw:y kąt p,om i~dzy d\vom&
\a,,·clctommi. 1yrn nrn1cJsz. kosinu.i:; tego lkąta, •• tym 'Samym lak:;i ilo..,-zyn skalamy. W więk•
szoŚ(;i pnypadkó~ bilrdriej plZ}'dajć się pic LY v..'ZÓr. ponit:WŃ. z re 1 uly marny "-spół­
~ c:ktorow. Oba v,'Z()f)' pl?.)·d ·ą i · do t>hłiczeni~ ~1b p1.m1i~tb;y dv.oma wdtwra:mi
PomW11ame dwóch powyi.•;~:yeh równań i prr.ckszULfcenic w celu ,....1-maezi;:nia kąta 8 daje
llmitępujący 'lw2lÓr:

(~t• . X ., ) o; • Yr ) + (7.l zł>]


Ul v I
rysunku 2.6 poi<a7.a_no kiłks pr?.:)-•kl:ulów wektorów oraz ich i]oc.ey•nó'l>t.• skahunyd1.
' 11
Jak motnu ~uw żyć. war10M" il .7.ynu ~kalumegu wnha s-i" ud - I do l '" w le, osc,i od
względnego kir:rnnku pami;dzy dwoma Wl~1oron1i .

Z ~ nnku 2.6 wynika. Ze ; toczyn kalamy dwóch 'I. ek,orow tworr.ąeych kąt prosty wy-
fl0$1 O.O. Mofna to , Wł z:.. pomoc~ nas~pujących róWTiiW;
81
Ryaunek 2.6.
M:m temh,naqe
~~il'Ó»~ł ,dt
t{~-mh.• SkmaffiJ'dl
~.......,,~!MWallli
UI V~lllll:l•••~Y'III~
~D
1,1

li

Ut V1111 ~ M l * lll~t
w jll'Z,Ml'w'r'l'f'(:fl
~ILllll!mai'll!l 0
u
"

U - (1.0)
y : (O.O
U • V - 4_l • O) (O ,., 1) =O

Iloczyn ska.ram j t:st J cdną z najbard2it!j przydatnych oraz J>O'' szcchnycb operacji m1
'1,vek orach. :Jc1órc ,..,,ykorz_ s1alem w 1cj książce:. Odn.nh;z.i1mic kąta pomiędzy dwoma
wektor.J.mi polWala określ Lć OS,Wierlenit:. oric:ntacj.; orez wjclc innych tzybutów JD.
'V!' inn)·ch oblic-zcmach kąt nie jl-st tak ważny , $8.mll ,,:a_nośc Iloczynu slmlarnego \,'\:"' •
s.t'.l.rcq ,to .1:::111mplt!mcntowania. w,>nbr$11cj h."t'hniki. JlocZ}'D kal:.1my został v..iykorzysttn}'
iltiemall w każdej technetc ,..apr~Z(..'fllow,1mej ,.,. tej książce. Jein LO nteoocr'lione naR>1rdziic.
A.fe ie:, jcszi...--ze lll!.! w.szysrko. ISitmcjc jeszcze jedno bardzo przydatne docialanie na \VCktoracb,

Iloczyn ·w,e ktorowy wektorów


Iloczyn , ck.torowy dwóch wck•wów jcs: prawdopodobnie ru:ralriniem. które l'.I ~trudniej
:.i:r-ozum;~-e. \Vy l tC)'_c,n;c iklC.7.}'illU ,; ektoro\\.'l.ilgo dwóch wckrtorów &i.je "' wyoilku lrl.eci
wckior. k,óry jest prnslo;padły do obu w ktorów skłmfowych . Aby to Y-Obi".a2owai.::, \V'f-
obraimy sobie Ir.cy punkty w p ustrzcni~ tak. jak to pokazano 011 rysn_n'ku 2.7.

Posługując 5tę ję-zykiem małemal)'ki. powiemy. U te trzy punkl)' definiuj. plaszczymę,


dl11 ~rej istnieje tylko jc<ka łienumk pros&o,pa_dły .:,-' gÓJli'"', \Vyk TZ}'tiluj~ te bzy pumkty,
mote1n~• u~sJrat dwa wektory v„ orn:2 VK. Hoczyn w~ktoro"vy l)'ch d\.-. ·ócn wckwrów
j~"t prostopadły do obu. a miem jest również prostopadły do płaszczyzn}'~ Podobnie· jek
w pr.eypadku floczp_!u sk11lam~0-. ~fD1,.-:zyn weł::cortJwy dwool wektorów m01Jna wyliczy~
oo ćh ~soby. Phuwsey pos6b jest najbardziej pr.r~thl•ny. p0ni.ewax z regn ~laffi)'
wspól12ędne wektt>rów (X.V.Z}:
N

X,, - {Y. •Z )-tZ •Y


Y=tZ X .) (X Z )
z. -r.X. ,• f.) -(f. X, >

Rysunek 2.8.
:wtc;;!IU.f [MOJ.ł ·.~ ,, • U ~·- 40., 1. (J~,. ... o. 01
ilt:x:z> lf.ll
lt\ • (J "" ()'I -~() "' 01 - Jl
" oro l,1- •11
u :r11 .. (Cl • ·) - rn • 01 „ (I
7.\ •(O • 01-lJ • .lJ 1i
,'\ •~O. O. I~~

V
.,,.
'ar10 zauw~)i. t i,vc t N j~L pm topad)y do obu wcktorow, lt- n11:J.;_orue m ic- je:st "'
w o,r j~dnQs-tke>,,.. •• A by uzyska.; Yit: oor Jcdnost.ko,.. • n [eź), 7l\Omlllhzow ać 'lt1i eklor
Obi 1czc11;c iloczynu ,v..:KLoro\l((! o Jt--SL nilj pro a.,.,_zym p,osotk.:m IJZ'jskanu, tora.. kt&y
J pros: op:łdl_ do po'l.vic·rzchm. co JC t nie;n _ykłi: " ' ~ w obliczenia.eh związ.:myc_h
o. "'-'i1.1.lcnic:m emu. cicn iowa~iem, J Je2j· Lakżc: z uwa_ży • ie iloczyn i..t,' I!' -torowy Pit
Ji=!ll d'Jirunnkm przemiennym. Zm1at1.a alej no ~ 1 openmdó\i.' .zrmcoi znak Hoczyo11
\\ e torowego:

DruM, rnecod można ~OSO\Ji ad. jt!'_~łi ;rnnmy ką1 pomiędzy dt.1toma " c0r11mi. Dosipt)'
\1,,2ór można Ulk1.e pl"'lt! ztałci • aby zna; c ifoczyn wektorowy. obhcit ką• pomi~dzY
wi=ktommi: ·

Pa.mi~ uny. :re \l,t.'l{tor;• moma mnoi;yć jedynie pr.q:-t; vi elko~ i kalame. W poprudnim
i.~orz,ę w~ or ~3lny : ji:-sl pomaot-0ny ;tr!i dlugo~ci dw eh w~łmnó"i om sinus
\ką pomifrdry 1t1rm. leżt:h ,ołtceymy nb:i. wznry, mottmy wyprowadzić ~ór na ~
Razddal 2. • PowtdtNnłe wladcNnoNI a ~ a,
pom~ we~i. Oznacza t~. że jet.di mam~ dy.·a wektory i chcemy dowJ,cw~ sit~
jak przeJŚĆ ,od_J~cso. do. rdrug•~go. co ~otemy W)'kor:eySłać il~n wektorowy. aby
ziialeźć kąl. ,o Jaki ~••nmśm~• ·Lę 0~1ć_ oraz o • wokół kt6ttj nalcźy dokonać obrotu.
Tenz. mó~ł\<: o kąlllc~, ~ ra:c:1.~r1~1o_śc, m~m na m::i,1s.h ołm,•y Wi=ktory, kt6rt oma-
wia.lismy do U~J polj'. op1i11Ją poeycJe L k1erunk1 w pl!'Ujtf'2':oi, le do opiS}'\\•ani.a obrotów
można " ':)tkorzysta~ mny mdz:jjj ,,rektoa;, ,

Kwatemiony
Teoria matcmml)'C1'..r'l;1 dotytir.ąco hL·memi,:,moh· je t d@Si}'Ć skomplikou.·an.a. Doslo\\'ftLe1
- 'K\,'ilłemioP. nproco~ aino do cłl7.itdań na licZJbach zespolonych! v.r dokumentacji
Din.-cL"'< opi53no kwaremi\'ln. jako, ekttuy cztcr<J\Ji,'Yffltarowe opisujące oś obrotu oraz
~q~ wdkół oot

Q =(V.N} =. ( ':. }'.Z.ru)

Cfioci'lll w ·;:nsic rnii1ih."m11tyc;r n)rni jc:~r 10 pc.."''"'"C uproszczenie . Eo jednak d!a na,s1.YCh
c~lów j ·t 10 dobra dcłinicj1.1 fimkcjom!iln , 2 pc.m1<:M:ą kw3tm1ior1ów moż~rny opi~ os ·
ob10tt1 ora1,; k;:it tak jak to pokazano na rysunku l .9.

R)HFlłk 2.9.
l"'l\i:lf~,Pf,lro#J)'
u Młł'ml:.i •JD

W czasie anima ji kwmer-mofl)' bard:ro ułą1\l,:i:;.j, \\)'k01lyw:imr.. obro•ów. KLedy już


zm~1my o· , z k..it:i.dą liamkij p1.1 pr~lu , _,,. i(!ks:.la.1ny k-'!t (tJ , Z kw:.-ill!'rń1onam1 moż:Da ,,,yka-
nywać kilka rótn:>ch opera.91 mate111acyczn)ch 1 " ' dah,zych rozdlia~..1th pokażę kil ·a
konkretnych pr1.. •k ł11d6,v i..: h ;i:a~1ost>wJ.LUa. \V rzr.:c1y,, ·i~10!1c L 1,.,, wal.,;mmny s Jednym
:i trudniaj!M}'ch pojęć do zrozumEcnm \\ .rrui.jduJąt)m ,~ w Jals.z~J CL~ ;ci rozdziide do-
t;·cą . m terenu. 7.aw-an:c'l op•~. w ja.ki sposób m(l)n:ri ,,. t:"fekty,.vny .spo::sob ,1,, _kmzys\.i.'\c
k\l.·at~m inn;•. ;c,,...,.,,.. nu:. C7}' chccm>· "')'kan '" .l)Ć dz1alanH• na pr&..I) eh wek"torach. t::e,'
tri na kwaternionm:h. życLe mot..e ułalv,:i nam ~:1rnr.1 ·tam~ z funkcJ i m.a1e-1fl.atycznych
dostępn)•ch w biblialc."Oc
. D3 D ,

Działania na wekt:orach w bibliotece D3DX


1

Do tej pary om win11~ wc1ktory w sems;c C%' ~. m1uen1.i:1tyeznym. hocniż warto "''1e-
~iei w jaki ~ :b wykonywać obiic:~nia r,ęcmi~, to jcdn ~ nic roo I ki i;j onieemoici.
BibJiot~'ka D30X ~wiera wrelL! funk Ji udostępni0j ych dzL-a.lania ,in , ·ekforach. ~ ielu

~ -
I - - - - - - - - -- - - - - - - - --
18 ~I• ~

programistów tworzy te funkcje na no~ wychodząc z. zało2enia. łe ~


funkcje niż 1e, które są dostępne w bibh~h:ce DJ!)~- 1e zalecam takiego
Twórc)' biblioteki DJOX dołoty'li ws~c:lku:h stanm me tylko po~• aby ~
zły kod. ale t.aktt po to, aby xop1yrna~,zo~1ć t~ kod ~la o~lonego :zestawu ·
(jak np. MMX c~ kt JDnow). PoWJehune h!J pn«:y Jest mGpotrzebnym W)'J.ilkieaa:

w kiJku rozdzi.itach bard2icj szczegół(>wl) omów-i h::m zaslosowBJJie fuJIJ<c:ji bi


DJDX w k~e. al~ nil r:nie o.mÓ\ imy ~trokrury c!łMyeh oiial· niektóre tnnkeje. 8i
rekn DlDX zawfora cz1et'),' rMDe kategorie ,voktorów. k1ón: ~$tawiono w labtli 2.1.
Tabela 2~ ,feho,t'Ql\ 'fJ'PY ~ ~-am: w bfblfotece. DJf>.X
lJp danydl lamlllłafZ

oc.o:t fCTOR2 Wd.10f' ro l'fL T :i, FtMT n


DJO)!'ń:GOł-3 \ c=kMr JO (F'tOAT X, FL '. FLMT Z)
ooox,1cCT~ Wcktor 4D (fl.OAT X. f O:.T 'f~ Fl~T l. FlOA )
D3D C:WTIR:U(W Kw Eetnioa 4& (FlMl X, flll T 'f. ao T z. Hart it!')

W tym mz&r:alc oie 'W}'Dlien1tem w5.eynkich limkcji bibliotdd D3DX ale w tA'beli 2 1
1

umies4.-ih.'ffl kilka podstnwo""''Ych funkcji., które m~ słufyć do \'rykonywania chiaiań ~ 1

wektorach. \V dalszych ro.zdzi::Jhu:h zosmaną omówione \ ,, brane: fimk:cjc. aJe wj~


z nico pr-~muje podobną~ slnndanto"ią foffllę. l:s1nicją funkcje dla Wdcgo, wek1aro.
wego typu d1anych. l.Y cabe] i 2.2 umieszczono funkcje 30, ~1c mstn·ii:j ~ odpowiednib
fimkcj r 2D oraz. 40.

Natwa1funJccji Komentarz
OOID. ecJl.a'ij D30~ ECTORJ:• ' m k. DJo1 1 ECTORl
i '11'/ekw- 1. D30X iCTO:O ,, '- o 2>
ll30X ecJSub ra. ([lJ(IX\'ECTORJ,I!' ·11ioi)Tl
03&'.(\l[CTCIA3"' torl, 030~ ĘCJ J~; ko 2)
DJO~ «-JCross (030):'ltCrort.r' ,,! 111 k., [ljJl'U:CT003
.tor . D.11).(lłfCTOP. w. oriJ
' :WecJOot C03DX'•'ECTORJ Wym l. DJD:Ll/fCT'Cf.3_,
torl . DJOXYECTORJ ~ ., or2} Obtic7,.a iloc7,fh sb h1.r ny dwóch wel:.;1orów.
ll30~'1ec3le-ngthml0x 'ECTOR;ft i , . ~ )
Obł~_ dfu~~ ,vcf<4orn j Z\\'JUCll \\')'lll typu nMT
OOO:t\'ec 1, Z@( 03:J:t EC ~3... ,. yni k
00D~YECTl:f?3i!! ~ tor) · Oblfo?,{I wektor znnl'fnah1.awooy.
ooo OJ n n1orul'il a , ~ H ( OJO~OU.ti.JEAN [00...
111,1111 • OJID.VECTQR3it ~ . Ftlli1iT... iltObrm: ) Tworzy k, iermcm na (Xtdstn\ ie podill'lej osi i k.fa
~' nidi.flnfl<:11}.
Ogótnic: J)JlfanJetirnm 1, &!1 - ,, . • D30
l.1 ...,,,,._ ........l .
"-'"ł:IU ~.ących vgu mt"nlt3: •
• lliilll,CJ ~
•X. •~. : ,,.,, ··Wnik
.
:.tWiaeają w[)rtoki ,- posta:' W'JJ:IO\\lym ~- Oprócz par.amelró\'\· wyjśdowych, .fiinktJC
... -u .
. tło '"'an.oś cm· wyr1J·11,~-.0weJ· oraz \\,·s,•·",.:,..~

nyeh liulJkcj ~- W d:11~. C"'"',.c ~Ył1: .u,, a zatem funkcje mogą służyć j nko parametr)' in-
u-
-11"'-Wn1Jrnv '. 'SI"' u,•1·-r,łCI
• ,te Qfflńn . nncób .-~t--·nw-
' ~'t .Y"""
Opl ' .J
. _ '1.1\ilV anm W t e u ~ro
• • I men.
. l;. Na ... ,,_flll'
...
- · ',I. -.: , ...... , istny Wtększość 1n..1.. . . • . . .
ltlentować wlastJ j biblioldti ffl""l'.•m . • , ~ .r.vflych ZB.g; ® Jen I e me IDU.Slffl)," 1n1pk--
- ....... 11 Yt:ffleJ.
Rozdział 2. • Powt6rmnle wladamołcl o NktoNdl 39

Pod8111110Wanie
\ ~k,ory s.trnlowi p,odsmwę mi:llllll . ,. ,,sz,, t:kiego. czym b\~cmy l mj niowilli w o-
leJn) h roYW".1:d h Poch"t'IW!I wi lu 2t1awansm yth h."C;hnik 1c:st airy1me1)-kr.l , dctor
oraz no.zwu n1 te~ • w 1ilk1 sposób,, mry n:pmi ntUJą prom1emc ~w1cth,e. 1cf"Une
k.ru""llel')' rnz w polr-7.;d11"' pclW1Cm:hm oddli ływująre n~ ie'bn~. \\. d l~ h roł'..dż1&b,ch
n. '1 zymy 'ię' \\ LQ'CC'J n11 lc'TI131 Wi:?ktoro,, . le poniżs1-e punkty będą dl11 n ::is stancw. j,ć punkl
wyJ ~ J do tego. e m ~cb:1emy 1i.: iajmowa :
• Wi:kl ry repn::~ntuJ, J i')'C-J"', ~nlll :JC i k.ien.uaki "1clo·wymi.a.roY.cJ pro.,--c;,tu.A!:!11
ł oaugooć ~ ~ktoi""d m orna obi 1c;eyć 7. \'l,l,'lt!rd21i!nl~ p im!!!,Ofa}kl,
• \\ c ·tory motlfL flOrtniJhZówac d posl ci ,, ~ktorów Jedno tkow_:eh,
op1~u1 C) h kJ runek.
• \Vc ·tory można ,Jod \\ OC tfo inn)·ch '-""i;: ·turów lub adi;Jmow od Lfin1 ch
w · ·toró" ~ ~uo uj4e cb:1~1.m; oddz1elnit: dla po~;.i;,c:r.i.:gólnycl, w pól~ych.
• \\' c ·101: nwzn mnu1yc tył a pnez v. it: Ikose, !> I me.
• Jloc:ey n kalamr \i,·ckror; •J-.::-. wnn.w.i:, opi~UJI\Cą, Jak b:mb:o 2:bl11onl!' ~
kii:runki dw.· eh we tnró" .
• ]loc:ryn \,,.'r,; ·roro". wcktornw JL"'i4 \ \ C ·ton.:m normuln. m pro:-.topad~m d,ntm
"r,; lur,>w ~kł.adm\ ~ d1

• Z ile L} nu ,,•.;-1,;torm i:~u ~..-d.l~m'iw moł'cm_ sl.;:o L.. !itui:: w -.:cłu .mal 111,;nm · ta
"hrotu pom11ii:dzy dw( ,mi1 ,, 1,; ·cc,rami.
• Kwa1tmmny mom.1"' k,,r.r.y-.f,łL do r: ·pn:zr,:mow~mm l1hm"1" w przt.·· Lncm 3D
• 81bhol ·k~ D3DX Y.n,·1crn Ju11k Jr.: m llL!mat~ zni.: fl('llr,t:bn"- >") konp,ana:.1
"1,i;k ZL~ser 1.lzm_ł• il 11.a \\.'cktorn h
QifN I • ..I '8łaitf
Rozdział 3.
Powtórzenie wiadomości
o macierzaclh
te osiąg,nicm. zbyt ,,,riel~ w grnficc: 30. jeżeli ni.: skoreyMrut'ly ~ rn:ncu::rzy. W r:zcćzy­
wjstosci wi • ·= §ł intertejs6w API do 1:WOl'"h:ma grafiki J) Zffll.lS7.B na5 do wyk-Qll'Z}i cywa-
nia m1tCicrey. Jezt:li chcem uzyska· na ek.rd.ni-c jakiekolwrek ·wyniki. mu im•. \korzy~Lać
z maci11.~·. R.ozrl7.i, a l)OŚY,'it;eon llUlcienom op1 uje je w prostyt:h :k~"" h. Omówimy te
"'iaicl1i.vości macki:zy, kmór~ c~ niai , :nich idl! Jn1.: Mr:7.ędzii: do ,...'Ykorzy!itani. w l'; ·o-
t7-.CDIU gJafiki Il o .u wyjaśnimy.,,.. jaki ·po ób neki)• korLy!:itaĆ z tych wlaki1i1.·ości,
by , ~,wac na okn:.'-.ślon pJr.unc~I)' JO. K1i;dy JLl.ż omówim)• wszy tki~ Le- .1~gadnienia,
p,owjt!-my. w jilkirn !itopuiu biblioteka D DX pomoże ochmmć nas pn~d 1,3wił~ci11m1
dz.iahń 111 mat:ien:r.1ch. Chociaż ten m7dział dost.'łrcz L"\\ ii;z.łcgo stre:..zcze.nia "11:di;·
u ma scrzach. moż~m4 mieć trudno. Cl z pr.1:yswoJCDlt!m tcJ wiw.y, d - póki riic 7.A.CilO u-
j emy jej w prakł}'cc-. ow,cjus.xc. ~1órzy me zoi.ljąrpojt; ·ia rnacicny. powinni pr7.eczytar
t4:łl ro;y..dz1al. zapamn;tac tyle, il ~ Co mozhwc na"'it~pm pnqsć do d Js.zych roz<l;ja)ów.
Wrdc poj ~ sLanri; s1~ bardz1 ·j zr :wm.mlych, kiedy z.at:1nien1y stosowac Jr: w kodi!u;.
w dt1 I zych m7dZt fach .

Co to jest macierz?
1

\\ri~lu z rt po a.t pii:rw!!>,y sp tyka ~ię , mm.:n_rr=wm n zaję.;ciach 1 , l,1-;cbry, gd:r1.;: w -


kor-1.}'!ilUJI! si't Jt: j.ako n.1n~dlll,! do f0.7\Vłąz)W:lni11 fÓ\\n3J·• hnio")l:h DJ"i<;k1 miJcaerL m
n1oźni1 !,pmwadZ1ć zbmr równmi. do VA•ięAcgo zb1 1u lic7b No t~pn~I.!' motna. ,, ykc,ny\11, ~ •
dzmlanm na tym ~-blone II c:r.b w s.~yfi czny .spL~sób Ola. Jll7)'1dadu pumi.ej pokaL.:aino
prosty uk t.ad fÓ\lio'DIJń 3D oraz ich odp,o, Lt.1dnik 7.ap1s.airi .,_ , p,nmo -~ młr ri;rzy
xr - 2x 4ł'+6Z
Y' - ołX d. L2.t
Z'::: ,X 16}'' +24:Z

4 6
[x· f'
Z']=(: ij
16
12
i]
_.,.Podle..,
Macierz skalowania
L .
,lf«im kalt>1''t11łK, 511o1Ż}'
d sk"'low1tnia da.n„ h popr7.C2 pomnoknie ich przez
1A

l'OD)' ws~czynnik:
x· . r •a

o o o X
a
o b o o r
{x· f' 2']= o o C. o z
o o o
C'hoo,1L1Z w opcncJE skllowani11 "')'korzy Ct1jcm. ~- !ko mnoil!nie. EO jednak pomslawimy
dodatkowy. cxwa.rt)' wi,;r57. dt.a u"l.tho~,.,.<{lma zgod11o·c:1 z m11ercr4 przesuni~i ~ f l)1.ari)
sobie na. •o J)OZ\volić dzi~kii wSJ)ÓJni,:dcfl~m jf•dnorodn}m. pósób wy Oftf\Vania dzi~an
z mncierzami omówi't: pt.Y.lniej1 po Qp1saniu ~131niej z macierzy tran~ ormacji.

Os1t1Lmm 11"®7~Jcm m.aiciel'Z}r • nsformacji j C"st ma-t•fr_•,-:. ,nbrru11, Pcln~ m c1erz obrot\l
zaM'i~ra opi.s obrocu ~okót w zy tki '"h trzt."Ch os.1. 1ednak dl u pro - .t:(·Zl'11ia opisu p~td-
~ '~!en, osobne macic~ obloru wokół w.dej 7 os1 w·
ml r •pnym podm7dzi k "'1-la~
ruę.Jak motl'l pol'qczyć ti= 1ny maeier..re. Tr.cy n11Jci ze obrotu Jffl ·a:z.mo poniżej~
y

o o o
Obr~ o k , r9 wo ół
o co(} - s,nO o
R=
o :?-UlO eosO o
o o o
coso o ...,inB o
ObtQI o kąm & wokół osi y • R _ o 1 Cl o
- ino o cos.O V
o o o
co o -:smfł o o
Obrói o kq_m8 Wokół osi Z: R sino cósO o o
o o o
o o o
Dla zademonstrowania wykmzys1ani111 mac:iel'Z)' o'bro1u obróciłem wektor kół • z..
lak jak ~~no Io na ~ unku . I•. a rysunku obtóc:ono wc.-k1or O90 sto;': wokó"';osi
z. Jak w1dzim)·. operotJ ll • l'@~'C)CfoJc- p~ksmłccnic wĆ''klora ~wrócon~so w k" nku
osi X na "' elcto.- zwrÓ<:ony w kierunku osi y . •cru

RpUIIM3.1- ,o· r.
- r fX{ja,p•
()brrxamt' K't'.ltoru •V 2
:.1 ~ m~Jcr.n.·
~ Io-
o O ■lllCJftl eos~) sio(!.) o o
2 2
[..r r"' z~ 1] o o l - smr-.IT)
• CO&~) o o
ZWllda poaąao.,.y • lll z z
o o l o
...,
D o o ]

ff 8
'IIJltkl.Or Po X'• (l 1' rć~(-) tO • - sin( ))+(0 O) (PQ) o
li
2 l
n +(O " (;0!1
Y'= (I '" sin(-)) f. )) +(O · o)+ (l "'O) l
z 2 2
•Jt. ....,
~ Cl O}+ (O O)+ (0-.1) (1 O) • O

Połącieruc tr7c..-ch macLerz.y obroru w Jedną datob~· ,, ""-ymk.u Jt:dną dui..:t i komplikowaną
ma, i rz obrotu. Ab to zrohjć, mus.im IJ~ilc zrtsad}r I cze:ma mr.1c1trzy.

łączenie macierzy
by uzyskać pol~c:1'-ony efC!'kC działam ,, idu mac:Li.:rzy nili fy JC pol4cz:yć. Jest to do-
datk.O"'-'Y po...,.ód. dla którcgci wykun ujcm, d:,rnhmta nc1. m:icIcrza h, Kiedy wszy tkie
równllniił mają posta. mac1t-r1y, macLi=rt: ,est po pro ·1u ih10n:m hczb, na który· .h moma
wykonyw dzttibmia :r11 :pomocą arytmet) rt• macn~IZY- \ · tym pl7)ip3dk'U macicf7..: I czymy
poprzez ich pomnożenie, Uoc,yn dwckh lub wL,;ccJ mu.t::ier'l.:' zaw, rs wsz_ ·Ode pott:1A.:bn-e
dane do .7.a~tosowanm W:1-iZ)'i.tkieh pr7cl,,,, 7.,t1kL"ri. Należy 7\.i.Tocić IJ\\ agę na fakt, że ko-
lejno~, , jakiej m:Jc1cnc : ,_ pr.,~.1 s1ebh.: nmo1om: m.i kluczow~ -;tmtći.enic: . pr2,l kład
wy oname kalowania. a poh„'ll'I prze-suni •cif.I ról.tu Sl-«; od w. -k nania prresuni~ i potem
'ikalow nia. pii;rw~cJ z 1.rch u~racJI wsp6-łczy-nnik skalow;mi me ~dz•~ 2..,s,tos.o-
wru"ly do Jl)fZi.:suni~ilJ w drugicJ odlc:ga,,s.ć pncsum.,:c:fa1rownict 1osmnie poddana śkilło­
\1,'aniu. \\r l.'02.dzi lt! 9. 1:.apn."Zt-:IUO\l'aJJO pł7.)'kfado\\j' program, który d ·monstruje. w ja'k1
spas.ób nafezy Zll.~C()Sow~ć prz!.!ks7tak--.e1tia, aby prlt.~UWllć obi ·hy " pnestr"t\.-ni. \\r przy-
padku mnoż :nia IDaCl rzy druga m ci.:rr. Jt:!iL pic:C'\,,. z.ym opm1nd m. Ji;idi tern chct::my
"'Ykon.ać pn: uniifr:t."il! za. pomoc-ą mi.lei erzy • a na.se pme skalnw rd~ za l!><lff1n.,cą m tic-
rzy , powin n; my z.as.to ow ć n :stt;_pują e JÓ'l\ 'namc:
M=S•T

~m•~Jmy: je1.e1i pr.t:ek ;,.taJc~;• obiekty D , zac:ho,, ują i oor: ~r41C1:ej. nit by my
51t •~o spio<kiew~1i, jest bardzo dmk prawtlopodobi rutwo, t ..: po~~niliśm błąd w k lej-
ności mno:żc: 111,a m3cierzy.
Macierze a biblioteka D3DX
Do tej pory zapc-wnc zoricnlo\\•aJ i ie sję. że ńic .za 1,:bi~łem si_t w szczegóły
tycmych metod " kon)'wanfa ~ialllń oB m~cicl'z:lch 1e nobdcm tego~ ~niewaa,
wifkł:z:ości. jdli nie dł \\. ciy~tkich. o~ra.cJ ~ ~,n,ebnych do W}lkonywam_~ QZJIIHM
mKierzach i tnic:j4. odpaw1cdmc funk~Je w b1bhote e D3DX. Oprócz funkcJ1 ,ANa-....
wekiorow. bib1io1d:a D OX zowie u funk~je lu~« do ~koft:f\\,'llnia podsia
dziiałań 3J)1mt:tycmych m1 ma,;;:ie~ch. n ~ k1~ funkc11_ ~zcgo ~ziomu.
um&żJiw•.tją r\\'Or.!cn1c n "a.ryc,h milc1cr.zy :n podstaw1e wdctorow 1 l.;watemtonów.
nie jak w przyp:idlru wek1orÓ"'• pllmit,.'iłaJID>'• żt funkcje brblio1e'ki D30X s.ą w d
~pniu Zopl)'mAlizow ei nic ma po,wodu, ~by iMplcmentO\v:1ć t funkcji: 'SafflOdti •

Zan,,m przejdzii,my do om::lwi81'Jj,ll funkcji, D30-', J)t'2tanalizujrny maciCT'lowe


dam~th, które .ze Ul\\'IORO , tt1bdi 3. I.

łyp danych Komentari


D.Jt)fATRJ.\ J~ co · c t«.l o wym1 u;;h 4x4. T struktur. zay, ie:r. J6 liclb zmicnn pruernkOW)'ds
g>ll)dt pop':~ n.JZW" toi.ONl z kombm ~ i md k:su w1Cf'5im i k~Jumny. Dla PRYtiadi.
"-'al1~ w irlCcrm wr~rszu or.u dru leJ "olumn1~ t,,,;d'l.tt' dosr\rpn J ·a _32
030r,u~ i~ J to 11 ·enja typu • 'Pi I d t·pna dl.J.JC'_z;'ka C.i-+ Typ len znwjera f\mktjc-
pa.c:c1ąroi'li: wn,o:,-Jiw.aj~ee la.m•i~jszc- \\.'}'ł<.ony1,v.111e d:;,jitlan n mad~Lach.

Bibl i te.ka O DX zawit.-m u•1t1c funkcJI slu.1.ących flo \\ •konywama działa_n na ~tel'l.ll.t
'"1' ~stkic n~~- fim_kcJ_1 rozp,u,c;,yna~-~SI\ nd -~3 . r-- •. 1 ob ruguje si~ Je w PadoblJ
sposob. 2anu:'.1$t \'li mnernanm wszy_ tk ich fu nkcJ, mac1c:rzowych, w tabeh 3.2 zestawiam
tepre?..entat}.,.i,•ny przykład funkt:ji nnJbardzjej Ul)1ccznych oraz fuokcj r. które impłt­
mentują d.6:tfanjai opi ·ane wc-ze~ni~j. t~~cJ funkcji wraz :r. ich 1. tosc,wrui icm zostarir
:mprezenfo"'ru1c- '" kolejnych mzdz1alach ,

Funkcja Komentarz

030lłiatr1;,;Tn1 slat1on<roD.r.K-\lP.I •.• ,., ~s


. Fl!lrt.1 :o
OJOi&tn ~ot 1 ·(OJD.i.HAT. t 't1,r1l•. F
·,... rll7) mac, r.u: obrocu dl r,o,m::~111nYa
0301.Ma r~~ a ,on, <D.30~ JtlRO:· ~1. /wr' · my uw g~ n t,,.·\ lJ: paramt1r
OJD)'.µ r, !ł!l a onl(l)jl)x · Rrx • 1 p{)Wlłl l"ll b},ć pooall)' W r,admld
L04T ~~ Otirot
JOX • l Scalingt030
S.ald. rtOAl s ,aJal) , n~ S•~li:t, , Fl,On T\ 01"2}' ffi!łCiC'l7 sLi.Jm,\'tlfiW.
0 :(Ha r h 1t ij)]!,'(O?
~CU!rzl, D.3~~lR( .. \\') konujc mnoi.en1c n cil'.'l'Z)' Mt pna
M2 i Z\\. •
-
Oprócz P ram4ttru ' yj i owego funk<:Jt! :1wracaJą ... ~ no id w po , ci wyniku. Dzicłi
L ·mu mozemy yt. -D.ysl ć
. • · . ....., · a unkCJC · Ja"o
· •· P-lH'ltme1ry weJ .i:cm,
· t: ~•nnyl.'.': h funkcJJ.
··
ta~I~h ~J.tolan mo~c spowodmvać, 1e kod tanie si, prawi• nic zyte]ny. dtatcgo"
" J. ;&Ce ll 1,C kor7YS..... lem ., • . ,, . r • . .
,. wi ' c:J " ' , c I wos;c1 . pon11 m tego, i-:c Je. t taka nloźhwośł.
bzdzlat a. • Powłi6allla ~ o mld1rraa11. 47

podsumowanie
w l}'D'J rozdziale po mz pie~ zdbi~liśmy się z maciGrzami. Podejrzewam. ie sposób
ich wyko{eySta.n i~ mote jeu,cie n is by~ do kottca j~n)•. Poezą,wszy od c~ś~~ 3,. we
~ e h c~oi.cfaeh. jakie: będziemy v.~onyweli, w pewnym stopniu ~ a n i y wy-
kotZySlyWaĆ rna.eii:rzć. Kiedy dojdziemy do momCPtl:ł;, gdy m:w.it:n,c staną się 1t2ccz:ywiście
polrJJCbme, , ~ spędzimy więcej cms-u 011 omówienie Sposobu ich 7..astosowania
oraz ,:wiąz.an:rcb z l)'m .~pułapek"'. Gd)• :ir.aczniemy wykurzy.styv.·ać mllcie:ra w praktyce,
wseys~o f tanie się ,o w iele bard~ii:j zrozumillłe. \\1 międzyczasie p~zytajmy krlka.
punktów, k1óre powinniśmy zapamiętac :
t MacLene są wydajnyn111 sposobem ~towan:[a równań, L.1óre opisują sposób
wymnywania d1.;ialań oa obie~1ach 3D.
• \Vs~dnc j~-dnorodne po•v.valają na łączenie operacji mnożenia i doda,; ania
w 1tej samej macierzy.. ~mi35t nradzielania tych dZcialmi rut dwie rnacierL~.
♦ Mac:jerz tot.samości jest idealnym punkiem wyjścia cło twórZCrua nO\\'}l'ch
·r,N1 ierzy iub .)'.CroWlłirna•• starych. Czasami brak efektu jest dobrym eftktem.
• Macierze przesunięcia, sk !owal!lia i oororu .stanowią podstawę pneks~talceń
pr.-Lt ·tr~nn~h.
ł Efek1y &:~lania kilku macier2)' moimi uzyskać dzięki ml'L('f;:cnau pOszczcgólnych
macierzy pite ~ichir:.. co oznacza. ich p0łączc.nic.
♦ lV mnołeniu macier.t.:y kolejnoś.ć czynr11ikóv.r ma znacze11ie!
♦ Biblioteka D3DX ~l.vicra w1~kszooc: pr....y~tn}•ch funkq1 potrzebnych dn twor.o:nia.
Mu:Ci,:rzy oraz V.'}1konyw8ni:a działań na macicr/.,;_łch .
Ro,zdział 4.
Kilka słów
o kolorach i oświetle■iu
Wektory i m i<-"TZe okrcifają ogóJnq_ pQ.ey.Cjc; 1 ~młt obie 31D. &le !~b. m6"1ić o praw-
dziwej grn:licc. tneba powiedziet lci Ika łó\\-' o koloraeh. Je1elm nars2 . Wł 1 30 rml być
intcn:suj cy i reala t)'cmy, po inruśmy z.ru.nmcresować sit kołor-.uni . Powiem;- k.ilka sł~·
m1 tCITI:Jł o.świellen11() i cieniowanie. Podobnie jlłk poprb!dnie ro-l.dzi&ty. nimcjsz:y rozdxi.ał
zawic:m zwi zły opis poji;c zwjąunych z kolo~mm i cicnio\ a.niem. e zagodni~ni:i będą
omawiane eonu. dokfactn;ej w ·olejnych ro1.dział~ch. kii?O}' ro,zpoeiimeory kooO\'Ytlnie.
fożdr nic w pełni :zrozumiem me tón: pojęcia prn:d.:;1Bwiont= w tym mTdziale. nic J}Tlej-
mujm)' się. Kcr;dy zakQnczymy lektun; •ej ks1ą i. pmuższc ragadnicn1a błil:t..icmy ro-
zumieć Zllilć;lrtk fepiej, niż tego oczc:kl\\aliśm}'·
♦ Kolor.
ł o ·wic:tlcnie o'lil 7.aJąct: i cm,syJnc.
• O ·wictknie rozprnszaj ce.
♦ O · wicmlenic: nvii.:r~mdlam:.
• Tł urmenn: św1:it.ła.

ł Św·i lło \\ Oir~cl30.

Czym jest kolor?


Jesc to dość nit:bczpiei::me P) tanie. Lmlz,c o 1;,ik ich nil \\ •~k~ch Jak e" 1011 CVJ' Eińs.tcm
napi mi" iele na temąl l>OJ\-"Cf:i t,.;o]on1 . ie ,.:7uj~ sti; kompctcnmy. ;ihyrn rnó~ł rytyko at
ich pmc:.ę. Zaimia~• tego. poswi~ ~ trodu; miej ca n4ł omówii=nn: poj :cia koloru 2 punktu
, idze11i grafiki kompulerowcJ .

Jednym z p1crw:,.zych pokć~ jaku: nłlpotka.my. mówiąc o kolorach Jt.:~l pr:::t~Jtr.!ttrj lwnv
Wiele rómy h prli,.'StrL~n• Dan\, zah:ży od mL:dium ""'yni ov.·~go. Prz_ kbdowo . .\.·i ·h;
pruce:.;óy.• drukowonia wykorzystuje prz lrlCii ~u;v CJ\tYK (c_'r'wr - mebic kOLi~lon).
magema pu.rpuum , ~~ /low - żółty or.iz hl rk - czam. ). poni!.!Wł~7. ,, bkti „posółi
ID ~••.._....,

i,,c, " ntyzacra kóloró<IJ oznaci śc1eś.nie la M('k&lego z kres • ko.Jorów efo .Ul esu
mmef:Sl(:(o. 'llh· czaj opie, agę t\! ~c uJe s.tę popr7P.'Z u , ~ a pal kc rtM,
kUlira neJI 1pf?Ybt ta k.OIOfy r7e,cz- • • 1śc1e LllYfl:etne na 8-,bi ow,'f'I Kran • w m ~se~
pal 'Y 32-bilerweJ. ~ toy 32-bttaw'j ko:or SI na_.t4,; p.'lle Odwlorcrnywany na n ~tt.ar-
daeJ itihzooy k.ólor & DW,'. Prze1 \I aele lat b· a to dos)'l k~opo rwa opera<:ja, ałe
Obec:nle i-, i; ks10śt nm kart g r ~ h oosk ale ra<h1 soo1(t z ·&Nfetl 1111 m
obrazu 'tH pe 32·bł~ eR,o.

\\' llpn>s.łt'Z4..'111u kol Ol)' s • adaJ, :,rę 1. rÓln) Ch ifo:~-i t .tJ ")\\ 'cli ..:b;f"lo\'On•-J► ZL Oll'C· i nar--
1

bit.ski ~- f5tlti'"jc , ~ jt1di:n ł:ilnał dodatkowy. ·L6ry .rajmujc- -~ tmr= it(m w 32--bi•o\\ ·
inform.ilcjm o kolor,oi: - jtsl nim ·a,u1.ł alfo Kanał ..11 11 nir: J ~t r.1.~--cz. ''Vr·u;tym kol~
J l Io mi.am prac ocry-.m>:~ci kor ~ v. płyv, iljąc,1 na S(l(bÓb m1Ł'STID1i:1 si koloT\11 z i□nynu
L

Olot"J.rm, tóre JU'- .t. ~mu.Ją okn.~!1.my _pj~I. Dl.J o.c;t:u~czn go wyniku ueys ·wru1egc
na .ntoni•OJ7.e pr7.efroczystok wf 1wjc ,,ie ma. ;rn.iczcni.a, cłł01L~C!O :L. n:guły ut)'\\'ll ·
t nnillu RODĄ dla fozy pr,,ctJi, .il.f7',J]11:t koro u oraz N •B dta 1a.ry o.sliJtC!t"7.ntgC> 1i • wk-
rr.ani na C: • mnie'

Dh, ~- z-yst icli ~l1~1'l.-ch kan łów 32-bitow gl"bia koli:HU 071li! 7.3. Z!! k32d'y j L "'or~
reprc-zento"'łany pl"h:x jooen bajt o wanOŚl,.,j od O do .:!5 . J.~nak w p .cy-padku obliczania
OŚ't-\ icllenia, z m:ilc:1fl:ityCZ11 go pun 1u "1dzi:ni;;1 t.JSl1rni lepiej ·w,rmb tł? lir,;zh),• jako
~~i m ieunopr~ i n ow " z irakr u od O.O do I ,n akie ,, .airto. ei po ~ają ólS
\\.•u;ks-z do t.adr,o. ć n i t baj,y. il zt1h:m st lep ze do nbht'.'1en . Po w konMiu obli zeli.
Cl.BSie rendcro\l. .ani gra.fiki M ckmnil!', w.1rtu,;:d zmicnn prLc-ein ·owe z po\vrntcm
od~ro~ ~ oo i,,al'\ó. er bnjaow~ (p1'7y • dowo 01 rl'"Z)j inuje wllrto ·ć t ::!' ), Vl,'tłe •
:ttok1 ~fttZl!h koJor6' \l kom1rtych w t~j k iąz<: prz-)ję;lo, a: \\')1'K017)' tuj my ti zby
"f
~ pl7A.-dl1aru od O.O(lo 1,0, i,;byb· '-ę wczi:-.11icJ 73Stt7~km) i JL-S( inac.tej.
I
ROddlł 4, • KIiu 116w o 1cOlorRh l ~ Il

OłuSo mólfl>rm.opow111dać Q t.(Ol'ij kolorów. .ale pr.eyj~jmy się. jak si,: je v.')łmreystujl!.
W zy tkie w1dzuiJ Ile" kolory są obdlarie nie t)illm pr.az kolor obtclc!t.u, .11~ ~ ~ z
o wjctkrue_, ·11 .Pl'Z)'kfad w doskonak tiem~rn pok,oju w Z)'!l!kic obidcty \\!)'ltaj11. się
('Wilt. ni~_ i:tni,o od ~eh ~istego lmJo~, W ~asl~pnych podrotdżiarach omówię
sp05ób ośwtetłanm . ob1d::tów or3Z \\, pływ MWllCIJ1tni1a .nt1 eftkt. jni1 idzi OM-1:rwialm.
W pok nych da3rJ prqkbdaeh qiłj rotwtdaó obMa)· jako ~iór powic:f2'.clu1i. ·lat.da
powit,~chJl ia i:ibill"nkLerymje si~ wcktoNro OMtnalnym, który zgodnie 1/ym, co opi:$.lłllo
'I,\, rozdzi~ le: L. j1:St p_ros~e>p;mly do pD\ i4:l"ldłni. I<.icćly będę: ornnwiaJ ~ ob wie\lru1la
OG1C~ó-.: • [PO'wi~rn o ~~ ,,. ~ spóśÓ~ j~ ~'.Il ieli'hmu. W& ,poWgen,cbnia ob~- 'Kil?dy
~ 1~111 mówi o ob:11cze:11ii'.1eh ośwmdkma., os-t.1.tcc;my, 'li nilrnwy kolor po-wie--l'Zfflni
bcc:--d.tie -0ma ~W>" juko cf.

10świełlenie otaczające i emi.syjnfa


Wyabroin1~, sobie pokóJ z jedną lampą na. ~ulic~ :i,v,,1 i~,;:ą w d61. Lwnpa ~.godnie l. oezc-
iW8Iliruń~ oś,vie:tl po<lłoge. 11.; 1rocbę wiatfa P3d n SCiilJly. surfh om.z olrNekty zn [idu-
ji\(~ si~ w pokoju Wynik fQ z fułtu. :Ze pronmm1e swi.:llne doe,~raJą do podło&i ~ Qd„
bijilj srę od nirj w slroa~ 'Śc:i11□ i sufitu Lro7.chod:r.ą się po !:'&tym pokaju. Drięki h:rnu
mam)' \ ~pie-, te pl2}'1Uljmnicj pc~w ns cz ~ć . wiatra w pokoju pochodzi ze wszy!.'lkich
ki1m.mkóv.·. Sufi, jest "' p,e,.'-rnym &topnh, oswii,;tloJ11y, pomimo tego • . ~ 1amps świeci
w Jlrzitei-Yi-nym kierunku . Ten rod2.aj ~w1e1Jeni~ ltl~Y"' się o · nc-1lt. r.tit...,n 0~1~ającym
1

(31lg. ambienr l~ghf;11g). Składowa koloru dla rm Lcilcma 0111c:JG1jąeego j~L iloezyo,em
koforu 01ac.lającego sv.·ia.tta ornz lrnloru ota~jącc:go abk:ktu:
C, =CłCi

Po't\•yżsiłc: r6wnilnie pokazuje. 2e Ji:~li ustil"' im)' ·\, 1 atłc oł21cu1jącc: a kolor bi, ty, 10
□as.z ob1c-kt ™t-d7.tc: m111.t pcłnr kolor. Mozit: ,o ~,...IQdowac cfi ·kt}· nu.m>·c1a orai: n1ero;-
~iwi~~go 1,,1, j•glądu . Za2."'-'Y~Z..tj ~~11~ ~ D ma;ą niewic1l~ s kbcl1~ik o10C7;4,.vn~a i dla do-
da.nil gtębi l.lra.7..,; ixueJn~j arr:akcyj nok i S ~□Y V."y om aJIJ:\ mnc- obhc:u:ru3 OŚ"' i1:11cl'li:l

Om·i'ełl tli~ (.!r,UJ}JRL'je.st poj~Lcm podobnym do OSWL!!'Llt:1'lit 01 ~7.31J:liCeso. po;,ra l)tll).


k opisuje ono ilość i:Jmia cmi tów.wil!'~ p1 :lłr:2 ~am oh1L:k, •'kl.adowł b.olor11 dl,łl. o. \lii'LL"-
11mi· em15,yj n1,:go u . rot, si~ pms,)·rn wzorem :
C - C.

WYfiik jic • lilk i :s,H.m. Jakby. m~ mcfin;m.\ al L p,;:Wn ilołć ')"Swic-tfl!'m 3 otacz.ająrego dl11
~go jednego o'b1elcru. Obił:kt pł.'l~n,• rw lj'.sunku -4.1 rnote b, ć sferą , pełnym o,w~
Ut"niu Ola 7:ającyim ·C<."11y lub sJcrą_ emi1uj~ bi .k S\,ri~•ło bez ośw ie, lenia 5;4Xllf.
1~ 4 . . t .
Sftm 111 ·it'J ·r!l!nr'U
~
OSwietlenie rozpraszające
(]Jwieilt!nic ,qrprw:ającc MO?t:łnje 00, oś,1'fi~k11i~~ ~~&:e ma ~itjsee w1ed}',. gdy l"-
mi~111e ·~i tfb docic~ do ob,dcru. a OOStępnu:: odbjJa,tą 1,,1ę w wielu rómych kll:l'Wlbcls
(p1rtez cę biDTI ud'.7!ii~· w OŚWt•iemleniu o~ac:zającym . Jest om) idealne _dl11 mtOCnł)Q.
m_ąto,ry(h powierzchni, ~edy powi!rzdlni fil_ wid~ ~chyJeń :~ w~uj ;eyeb ~
za.nic- wiatła. które doo1cra do obiektu. Pomew~ sw1atlo ,odbij •~ we w ~
kieiUDke.cn. ,.,, ~ oM.er.,-iarorzy nw.ją , ~ . żiG- . :i.w21da jest l)'ł~ samo, a iareusy,,,.
oo,ś,ć Ś\l. i Ila jd.t funkcją kąru. poro1{-dzy w~kwrem :świilt.l , L) o~ wektora normalix,.
damcJ pOwiemhm ,:

C, - C"C0 cos.8

W wfe1u pnypsdkncb fat11 jej , f),'ko~stać i loczyr1 kal &Jmy, nlz ab~ic:za ko inll&. u
\'YZ-gł~u sposób 'li ')'K-017;),~tanie ilOcl.)'iUł kalam1:go. w i:ktorr świa.tra w tym P•-6.l'P!Ntn:
jest 1riier-(11"1any od powcerLchlli w Siron, SWt'łlitla. Po Z11onnfdi:zov.•aniu w1.:ktan n
ru;go powie-~~~i oraz .ektor~ ś,viad11 odpcwiednik w2-o ru \i;ykon}•srują_c)r ilOCZ)-u
Jwny prayJmtc ne.st,:puJąc.ą_ pcs«tć:
C,.,-CfCDb • L .

Ot'3fIUllą rcpre;ocnta ~~ po"-yiszych. dv.·óch l'Ó\\'lli.l1ii przedsmwiono 1'tai l)·sunku 4.2.


R~~nełc 4.2.
~JnYlłt'drQIVlr"l't"
dla ~v.· ohliaawo
af1t11rtil'lr1a
rwprar:aj, ~~
lło' ..\:or:ytf,,;lqcyrh
tarrnU3" (Jrt.11. J~7'1,
.rłoltrm}•
ROlddał 4. • Kika aMw o k•rach li at..łetllnlu

lb'l•••k4.3.
Sfor"_(poirA~
11,lło Io\ r;Hłłff.tl~m·11
~,,.
fpo prd"ć/J w aivi-·1~1/~nru
~j(IC)'flł
, ouJ1::a}J1.('Jnt

l)tac;ZlljttQCgO. Dodanie niewijclktego komponenrn iwiatb O'llitzająccs.o j~m bmbiej v..ry.-


dajnc niż dodanie ~•i,;kszcj lic.@y iródt-ł ~wiatła,. pontewa! 1$.ka. opc-racja pobil!ra o wi l<:
mni:ej mocy procesora.

Wi~oMi operacji a~, iel1m1ia z; t:icniowaniem w gmfioc lD wykOmJStujc oś.wieHenie


ro:tprasz.1j;ą_ce„ ponmewat \1,/L~~ mateliaJó·w przynąjmn;ej c~rowo rozpras„.a swi.atk,,
które dtJ, mych 11131t:riałÓ'-J.1" doeicra. O~widtenie rnzpr-Jisz:ające dodaikowo dos~J1Cza sto-
sunkO\ o łatwego spoonbu lllZ. s.kania efekt,o,.1,•ne:go cicnio11 raniai powicr:~hni obiekru.
,Os,tatnią ,\ta.in infonnricją do zapa.m i"1ania n1J temat o~w ie11c:nia rozprnszające.-go jreśt
to. u pooiewa:2: S\"-'iado r~pr-.i1:Sza s~ę w sposób ro,\.uomi~m.,. dla wseystkićh obs.e1r9,•;i-
torow wydaje i~ takie samo. Jednak rzeciywisle świlłtłf, odbitt: nit: wygląda tak sam.o
dla wszystkich obserwatoro,,...-. dlatego potrlehujemy trmeie-go modelu oś, ictli;nia.

Oświet l,enie
1
zwierciadlane
{h\,vit,11lem :,,.,iel'C'f'1df(lne ~"ia, z~ ~"•iellanl!' l)O\\'L rz.chnrc odbijają śvriatło "' określo­
n)dJ kierunkach a nii: w~ w•:,1.y tik ich kh:nmk.ach) Jn:.1i.;.1.eJ n;.i' w przyp:.idku oświetlcm11
rozpraszają.ee o. c¼wieUenie zwi~rciadlane Lał1;;;ż, 4Jd ku,;runku wl!lmur-d obsc-rv,mtora ("V •
iatło zwierciadlane poJa\\<'ia się na łych p,o,,·icuchm:i..:h~ gclzil! wd::1or ~w ialła dbil.:-
go (R)j~ sk~~rowany w stron~ ooscl"\1.'atora Dll.ł rói"np .:h ubs~tv.:.d.016w zbiór oswit.· do-
n,ych powit:irmhni mote być r6'żny. zat~m świ11th:i :rwi::rcmdbm: poJawiaJą si "Jt różnych
miejscach dla rM:łiyt:h obscnv:.noró'IA,, Rówoic:ź poi :-..k vbLek1u \\ 11ły,, a na moc ~wii:r-
ci.adła (P). lbrdt~j bl~:r.c;,..ą~ ohii.:kl)• m ~ ~ wir_:k!v~ mrn: .r.\\' ierc-iadliJ. Róv.'Ilarric S\\·iatla.
zwierciadlanego prJ:yj mujt,: 11a.~t1i:']Jującą po~tać:
C CC
l 1 R ,• JI)"
R =2.r'\f( ' • l)-1~

'Ylyznri 1.i.;:oie cktom odkucia, maga du1.t:j i lości oMiL"l.cń \Vcldor I.en m,usi być wy•
ma :wny dla każckj po•1,vjer7.dmi st:c;ny. OkłLT.1.~C 11~. 'i:-.; ~Pf"ksymacj11 z "')rkor~)'St.i.miC<rn
w-e~tara pułdwko"·l!go Cang. hulfn„ay "W;"Cto,) di:tjc dubn; wyni k.1 \\' postaci wymagającej
mincj~j _HMC:i obl iczc:ń. . ~ktor poJJ6\vkuwy je!>1 wckt,m;m • nfljdującym ~ę "' p0t wL"
od_leg~.1l[)Gmi1;dzy wek•orc:m wiatł11 a wd:.mon.:m obscI,,.. •om:
Ił -(L V ,11 l VI
rzystać w c~lu aprnkłymaej i odbi~ia lustr'l.anciD
w~kior połówkowy motna ~to skll'Ci sceny z.a p001ocą p0niźszcgo. p m : : ~
k:udcj pow1cm:bn1 wchodzl\CeJ w
wzoru;

H
łłpunek4.4..
Oń,ttifbf(ł
~~rł
(po łtwa)J do.~m/ilćl
~ (/J'} pra;,~~j)
.~
~ ~ 'l'ł,,iJ.tWQ.
p,olli'dtJM'ą.tJ

N-Il ry unku 4. -. pokazano. \-Y jaki sposób oswietfeni~ zw i~n.: iadlanc ośw i~te scen~. i ·1
r;.sunku 4. - poka.zano sf~ oswit.-t loną ś.wiatfem rozpros1.<mym. 7.Dan n~ z rJ;
4,3b. R,'SJJnek 4.Sb p17- dsta\lt i.ai 1.ę :s.a.m sfi r~ 1, d~nym oświetl c1111!m rw1cn:1:adlaJL)
11 n111 l)'Sltnku 4.5c pawano sam komponent ,;wtcocu1dlan)'-

Ry!.łl11ek 4.5 .
Ofwimaue z:v.14-"Tciadlw: :
(po lł!'łn'iJ hra. (łl. •roJh,}
lhdall)' lwm/)(}iM71l
_wi~l,Dt/Ja.n ',
(po pł'tm w'J,'IJ.-0
Mm['Ofk.."'ffl :M-łt'TÓaJłtDJJ

Podobni~ 111k w iunyc-11 modelach Mwielk-nfo \fy.ni oblic1cń u:rn it:1 lcn1a zwjerc· d •
n -go xależy od koloru odbitra. obici ru. DJ:.1 "''•~ ·s7oi..:i ub1ckców Jcs• h.'1 lco!,,r białv.
omac:ZB~ l powier/c-hn ia. odbija taki kolor św i.iitfa. Jak• odbijt!ł.1hy powie17cht11a bł)'S2•
rząc:i. O.I w11;kszośc1 obidi1ów daj · to dobrlt' efekty. c hocja.ż 11icktór~ matcnafy
gencrować odbicm zwiierci,1efl nt w iru1) m kolDT7. m~ hrnl).

Pozostałe N>dzaje światła


Oo_ tej ~ oma"' ~3k,n I l o świaLfu obt"llłj~ ontt kJcrunlcO\, e. ,,. których mle 'lj
•w•allą Jest fun CJll ką!Il pomiędzy wiallcm a powierzchni . ·1ck1óri: swi,ttta osl,bia
~ ,l~b ,we.ą ink'DS)'Y.rność wrnz le v. :zroocm odlcgloki. \\ 1"2cc7.)'1; istym · ~ i ·ie w~vst·
k,c swi U mlegaJą osłnbicmh, wraz ze W7-IO.Slcm odległości od źr6dht alit zas::uni ·
w-ygodnc i ..,opłllcalF\e.. z p nłm.1 widzeni ilości obltczen zigna ownni ~ utj wr-sciwo L
RoldiłM4. • Klika Ntw ,a kcJlorMh I o6........

P'rl)·klado~·~ 'wi_amlo slon_reznc ~l,:gi oslabie~n.1 , ale dla wic:kswśti obn::kc~· ""'""Z&lęd-
11 odkitosc ~m•~Y'. abid;:uum_w po-1\\\\'naniu z odkgloi(:ią od ł ri~ ;~1 tb)'i mata.
aby u,~ ~l(dnJ~ c_zynn~k oslab1mi..:L W ~rpad~ św•atJa łatadti lub paehodni ,; cicmncJ
· 1 nie ~ u nkŚrny • 'M czynni osfa1:ncn,11. Rozwnm)' ławkę oraz pochodni
j a dw.a. no-...c tochaJe , 1 da_ P~hóthtiC! mobl11 umoddowai: je.k,o wLatło puakto-Y,•e.
1

te rr emituje vi U we w . lkim kłerwi cb ~ u osłabi~iu \VGl2 u: WZJ""DMCm ódle:•


łMCi od z,ódl at.a.Tł..~ ui~n zamodi:lo\lt; · ko OŚ\~ ictk11ic rt.'ffl!''ktoro-v.e (ililg, spot
hgńl) "'' ł:szmtde :,ro ~a. któtt uli:g11 osłabieniu WF.a \Yl.fMltm kąta cożki °'wiet1et'lia
re-tlektOl'OrWt."łO !i ·łntLJj~ ~m; z dwóch ~ w : obsżruU •tmb,~ •ub ~ w ~ ,
gdzte ."wiatto me u!c o labicmu wraz ze w;r.rostcrn , · oraz p •,Jumbr.a, pierścienfa
ze:\,\ nęff'ZTltgo. gdzie światłe ule a scopaio u osl111b1eCJiu. do c kowitcgo "')'g -
męcia. a I)' uniw 4.6a poka.?;a o 5.(4?n~ o wielh>n 7.łl pomocą wi lfo punktowego.
Z"TÓĆIDY lł,,rag,ę 11a mt~n~ M110. ć świ efa jako funktj · od,e •~o. c~. Na l)"SWlku 4.6b rpo-
azan-o m~ sam $C'4..'lł OS'\1 LL"lloną za, pomocą oświctk-m11 reflr:l«oro ~ o. 01Ji,1.3f umbm
jest centr-Jlnym. w pi:m,1 t1'c\ ~ Uonym repooi!m, rui1omrn.s1 pcnurnbrt1Jesr re ·onem, g,d~t:
inumsywriość :wiatfo pada de zera_

Rysunek 4.6.
.ffi,Wl'Jt.JTAI' .fuTtltla

rzy rypy u iatc-ł, kMrc- omóv.Ulsmy do rej pory w bibliocl:Ce Unt.-:(:130. są rcpr~z~nlo,.
\\Sire priv typ tforl}'Ch CJL. . : Głłi "PE. K.fod. dccyduJ~Rl) s,~ n 7,a_<;(~owa□ic- rfcilo-
nego typu. pnwmmim) pn:L"-W:'I. H:zo-.,,.a. • poiJłdan} •(c ·t. poi~d[Ulą jt1ko ~ o 'a7. •..ko zf'
oblicz 11 im.,1'. Sw,alla kn:run~owc:: ~ naJ łutv. icj 57.t= do oblicze,\. ale brak-uji.= im s11bmd•
noś.ci sł..1bnu;c~:i s.wi..t.tł.i. S,, i aCłiJ pun~lo~ 1;; '''}'gl-l.(1, !J:\ niL"'CO kpu~j. ak zwii.\l n~· , nimi
ko-1,·C" obhczc.:ni0\.1.') ·c5t nieco wi~k~ey być mm~e nic daj4 Ct:1 p.t,;i:.1_d:mc:gu efektu),
Oś'\\ if'tlt□ i • r flr;kLorow(: _1.:,s1 mJjb rd7iej r1;;3hsty ~ZI1 ·m os1i.~·1e1le niem ku:n.mkow~ ,
le ;,:;w~ąz.iłny z mm .J,:o~n·· obł k cniO\\ )' · l!'Sl ..-. ii;k 7.)' . T rud.J....ijic o;.v. ii:t.k·ni zo. UDą
Szczt.~ól'o-.i, o opi am.; w Jabzych ru:aizt:iłaeh. k1cd bę 7.lićm,Y 1.-a_,mo\\ ;ać ~i~ S-'.cn:gc'>l m,
1rnplemcntacj i.

Uwzgtędnian1ie wszystkich
rodzajów oświ1e,tlenia w Direct3D
Cho,;:i~ opi lćm tatdy z kcmpon n10" osw1c1lcnia oddzi1; Ln; • to j dll zazwycz ~
rz-)'519 si~ Ji;dnooc. nie ze= w zy:,.t i b kompunentii, po I . 111hy UZ)':-i. a tcimplttn)
. giąd obit:k1u. l3k j to pokllLlnO oa rysunku -4.Sb. p,,:i Clfflł)' " rn1 działan;a w •s.t-
kich 'J"'IA..'ćh rnodcH oś.,,1 1c41cni mot.na opi ac nes.l\cpuj ym równamem.
Bernem TYO danych Opiis
03.:..rQł i:-
j '
~ ~ o ~ i : o $·iecle:ni's (~it.-ru:,,~,gwc, pul"llm;;iv.rc. telkla~
Otffu:se 030C8..St# KoJor slkhtd wr:j rolJl~nii1 cmttovi'.311~' pr.&l:ż świBłlO do wyk"~
W obł~~" orn1ii:1t:c11in.
S,ec11tia o (Jł'ł l(
Kolor J11dowrj ZW'1:f(iadln.nej l?lrl~fr,;iwwiy ~ Y . Ś\1,d.lcl'o do '\\ry1łrol~tai
w ob]" l'C!Jlia.ch ~\i.1i~h:nin.
00~ i:r.»:11. -~ Kolor łi!dowej 4.ill.:. E.. ljąe(:j i:mi~owan_}• praz ~" i, tfo, do ""PO~
w ot.licu.ni h ~\vicil!tli
l'os1 Dń DJlJ'łEC
Fo;q•tjo źródła '.wfaitfa w pr,csU?,eaa, Tćn r:IA:me-m Jt:SI ignr;:,row.aoy
if'n)'J'l3dk.u oświelf1:ma l.: ienml,;~!IO
lhtect.1 0Jo ECT(lfł
KiLófimc ~ lJ Tt.'11l c:"L~mę111 nic ~r \vykorzyst:any w pr'l)'Jhldhi ohi.iimc.,
fM,.tn11ov.'t;go. a dlil OSl\ ii~tcl'J1 reU-ef...c4:rmw-ego0 nrv. °'wretrt:n kicru qł
powjliltł:□ mrę · wrlJf~ n•L·z.cn1,,A.·t1;-,

~,;-mail11y cf('laywn >'::Ikr~ xw1atb, Din ei~wi<:trł.-'llia 11:flktowc,go


-ck1ntmt nic ji:,s_, v.ykoreysł)'1t.,.any u \ \ .1:gl~ ~ :s.:p1J~b \V)'~Oł!Z)'Slaftil.
~ pa13rncb'li nie- po~vinn.i pr7~1.roc-.qt pi,:rv,·1.1.::1k11 kW-ld.ntma. o
mak ')l'fflr1ł11cj \r,, rto~i -, ~....
Falla F •
Tm,clemt:□t okrril~ stDl)rt:ri s.ł.1bnu; ' iJ ~wiana w , , ~ pciiumbra.
~V>"~-1.1 w:LrTosć po" n,jujL" b:rrdtil!'j IS,.,, ,1ftown~, wyL:i.1:tlnjCT.Y spzdck:
mtcns,rw,tok:i w~ir1ośt I .O poy, o<łuJt sp.Jd,:,k Ji n11J'Vt"'Y i "'llos.i illh.1tJ:u:y
, U-sz1'~oblii;u~NJ\\'}' ·
• 't~t Dr.O,
,t ~,~a. ~ • tlC'llłc-.111y ob-i:. lnj[\Ce sr.a bmęx;n:· wyt,; 0ft) I) want; '4 J:d::o p ~
Wqfć'?W4!' filnktj~ obli~zaj~1t'(!j knyv,1ą sb1htl i~iai ~·mz ?: odk"S~ią.
' l.eniJat.1002' Fllll k:c:J.l w, lacz:s ku~ zgocłm~ "t.e \\..z arem
Il'. = ll(A + A1D A,D· l
~.ren,~"!.)' te ~ubili 1.lr)'~a d(] ohcil~1u.o posflbu ~ł
bm~iJ \1ti1Eb
,.. wuno,6ć
1
" P ~1ni:m. ~'tZIIJ
\.l,~j ~Ją-
I A:i, main
• ·~
zero " ..,ami A J ,;-..
.ri'W'\\ilt

f( t ('Vt, [Odi~IJ. Ob ~ umbra dflt o 11!1 lt:nil}. rcRr:ktoll'OWe30.


Ftu ~~7.)'Ć WlLftoŚC-i Pn
arto.(.! fin Jlll! ffll')tt'
ECąt (w rn.d'in b• ob:smn.i ~riumbm.
1
Rodzaje cieniowania
~itj powli~illlern~ :aby n'IZ\' :&btm pow·er-a:hni, ~ \\• tym rozdzi ,,
· '- óml!'kl _jako
opisamn. w j:ikl ~II> nR b iąpowicr7._c:t,nię. oddziałuje kolo r i światło, Teraz pn;·•
~dł ćza& u to. by J'l'Z)'Jl'Zćt i;, w j~i sposób pos~zqó-hw:- l)Ol\'iemln1ic są ze scbą
pOI cz.one w cc:lu u~wor:z:eni ci:-ta ecznc:go obrazu ()'bicktu. Ol:.1 wszy.sik icb obłi~~efl
Z\ i nych 7- ~· wii=Ucnicm. któ:r wykonyi.vali my do tej pory, opi-sywakm równant ,
odniesieniu do pOwiuzcbni DOł111tl ln~ieh. ponieważ w gm_fire kompute-JO\·w::j kabły
obiekt md:1 ię ze sł::oncoonr:j lmc:r.by pcnvi~chni, Po połączeniu v.szySikictb l)"Ch po-
wienchn; ze ob,ą powstaje osA •~y obraz obi.el..1.1.J. Ró ~ c clC111owaJ1i:1 wipty.
waJą na to. jak ~ zys.tkie ,c p-uwierLCnni.e w,·11 ooją rr.lł'Xffl.

W bjblio1«i.: Oiri=ct3 D is~ri icj dw3 uyby ~ic:ni.owan ia, li:tóre 1d daj się rm typ ~~i„
c-~DiQ"''Y □3DSHADf 'OOL e 1ryb>· tQ 03DSHAOE_FLAT oraz 03DS»H E_GOOAAJJD.

·re-niow:llltl!' płaskie,
k1óre zapr~1.en,ow1u10 na rys 111'lku 4.7, jtst n ~pruSl_szyrn rodzi:J.j1:"m
cjc-mowarua. Kil2da po"-·ie :lClrnill jt-st os.wiecto11i0. nddxidnk. z wylrorz, tanLem ktora
oownalne,go pow1i;r2chni Taki„ po_ub ·ii:;niowani.1 mwm-.cy mierównomiemy obraz Qbk\:1u
'"'1-idocmym• fr•ankami. klłiry choć n,01. · hyc UL)flc.:c,ny do wbr-,w1..;0,, ani.u. dyslore'kowej
l.,di. dla i rmych ("lhiek16w daj,c, mt:rcall sl}'C7.ni:; wym .t

fbt,Jnek 4 7.
5),tt.d ~ pnJ,pm/h~
„as'l'~.,;WT"i.a
CJ l'I'.lO'tł'anJU

W · tej' mclodTIC icnjo"' illl~il nit! bit:~ SL'i pod u,,. g". 1.c poszczc •o!nc pcw11:r.zchnie
• za&i.d:{ic c-,, ~etami "'•"~.z:i;g,.. objC"l ru. W gt;idl,.;1ch nid~J.ach c1cmow11nja tnp. c.ie-
\li
mowanie ,oornud:U bie1"Z(: si • pod u.i.1, ag ciąglo~,.; p,owJcnchn,.

W \\rtęk:tzości i mph: rncrn..i.qi JD wykor..cystuj~ i~ c1~mov. :1mc Gourauda, p-On•cWilŻ


l'riletod • dsjc dobre wy11ik.i pr.q minimalnym koucie obliczi.:niQwym. W c:r.nsi~ konfi.
gutowan.a dany,c,h opjl'>ującyd1 pt wit:rL-rha1ic do wyb..orz;stani ~ c1crriowan1u 'GDumuda.
przypi. ujemy wi.: ~my 1t1orm:dne , it.-rLc:holko111. ;l ni , pow1.;rz.dmiom. \\1'e\..1or nommtny
dla 'kll2dego w1~17,chołka jt: Lwyp,ru.lkU'\ ą ~ ~kLufó\i,, nom aloych powu;rz łm~ two~
C}'t'h powi~r-..a:-hmi,; '\V)' o zys:rnj~ ten y.,•ie1LdLofok. N 111epnie. w czasie r ndcrm'ii:an1lli
kaldej powii:ruim1. dla ka2dego i.,.•ic:rz bruka oblic2;lllr: "'.:.\ ;p;lltllł etry ośw1c1h;nia. JW
l'Z}'ln in1:t.'f]l0tow1uu; dla ca!ej pov.1er'Z4.1uti, W 'l"4ryniku U2)1b.kuJ~ si · obiekt pocietdlm c
w Sf)Osób c 1,m . Ul kic j Li:. 'klóre pc,ka.zanu na popr1.edn1c'h ')'$LI nka n.
li ~ · • Pudlllllllr

. • CiclunlUda nie jest j ~ )'l13 mc:1odit ciągłego ~ieni~": aJc JC':R ~ z


~~ w ~ h ~ h opiszę w~~J merod crCDJowama oru JJ· -•
z:aeply impłtmenblCYJDe,


PodS11mowan1e
w rym. Wl.4Zlalc ~ izow, Uśmy ~ ,.n ,we poj ·e~a na _temat kot1Qł\'Ów
oraz omówm y -spos.ób ich SCOSO'ł'l81't ~ twoi-zen ,a obiektów 30 . t tylko llj.
i•~
b;mtzi<"J pod."mwowc: poj~ i , kb z.:bl_OSO"l. .:.lllJc w ~od~~ oraz ~~ 1111p!ffllłn~
omó~vi1t w dafgydl rouł:(ałt:1ch. Op ~~ę lak:ie wacie m_oy, b rMżaJÓw 'lt:itlćnia i C'i6,
nro1.\•ruiioi. ~ wszy od re is:tyczn, h obrnzów n . 11r. i cf:i obiefrtó„1,,·,_ s ~ lly
na 11·e(IC;lri$1}'eZń h obje.Jttneh ryswtkO\\'} fl. Podobnu: przypadku mn:ych ~
ió\Jt "' 1eJ o j_ poj~io tu opj c bęcf stopnjowo toZVr'ijiU IC' i uści lmn " lroleju~
ro ~ ,(I rnzie zap3.1D· 1ajmy nil!it~puj c ~ i nm:
♦ We \J,.'(;h.młfich ~;iłaclt posJuguj(!"my sję kolorami 12-bila'"-'YITli~d1oci:if
O<tt~H jcs1 to kortiet:m urz d.tem mog '-'i'~ i~l'.ać kolory dla mnieJszej
H lO}' bi,ów Pębi kolorów.
• W obliacsfuch \\ s.._ tki~ k<,Jo!)' · 7JI rmalizm e ,du w o~ j 7 Z3 :re~
od O.Odo i .O. chyb.a re 7.astrzeżono in.Je ej.

+ W ed u dodooia ~nie o óJncgo p,oz1cm1u o.świetlr:ni mo~my zas osow ·


oiwii::tlcl"lie ot .;,zajqre.

♦ o_ra _11 ~ilnffl. efektu cii:mor.\ ni~ 'V,'i~ k. . o. Cł ohit:k t(~lr\ mo.kremy za.c;u,:m v,.-ać

w i:i1I me- rozp as7.'ljąet:.

+ Ob cibic-k.tó w bł; ' zer~ · h m o7Jlal z sln:,,. ;ma , S-wittl •rtjc .tWI rdrull. ll'C.

• ~ la. ~: runko~ ued I , 1~b do obrrczmna o..,wr tknia u ykOrE.)' ruj~ si


Jc:cfymc ąty, a si\! ialło P f'Zt'-1! me m 1tow3n,c mt: ·iabr:1Je
• Pun Iowe źr j a ~aa tła t'III iluj ~v.,1.a_1ło "'r;:: \\ "7\' -.:tk ich ri:runkuch rtórc la bllj~
wraz 7.e WXIOSLCDl odlcg.ok1od trócUa •
t ~wre-Henia rcndc:k.irow~ em·1t1~ii ,.,,_ •
~ą ~tł,., t' \\ ratla I uk'-ge,ą o. lahientu 7. ro,i. no
zm.st~m ~Jeg.to er Ja ró"'Tm:} .ł La ~w uhręb t ' ob. z.aro nr-11umb a
• ;>, • •

7.t:
K OS.id ohr1czen1m\ • 1y . I , I ~
V..' l:l,"T , · I t"'"' •
~ c o , pu o. w I t enacm J!.'sł 1J1i , oki.
"I'"

♦ Stmktum l}J!)f I·· 8 · f


równnJ1;111 OŚii+ •t:1ku I l.3Wrern \.li.'te .c P· rJ:JUefli'Ów Jl'Oll'Zt!bnyi;h do ohlkzrunm

• \V crc-nrowanur our.::iud:1 ,\"I.I • 0 , .1 .


powiic:f'ZC'hJ1i o . . ' ~ r.7,} s UJ~ .s1 • ~\·ypacfkm ·c \\'4: ktury norm fn „
ilVV'i- : ~
r ........~ ■tOWIDl)'t:••
71me,poJo" 11 WaJtośc-j l.)S\\ it"łll-nia w t C'IU u ,......., L-:lni obi •.....,,.w
~ s b · •ągły. u.r.,1 '"'- '"u
Rozdział 5.
Kilka słów
o potoku graficznym
\\ i;-m...:rach DOO~f~a i Qu e-ijs pra1. ie\' zystkic czymm ci związane z r~11ch:rowanie-m
irafiki 30 bi..-ły 1'\.rykony,. łmC pncz proc~r głó\1.-n:,1. Dupino w 0$tatrurn kro w, w celu
uP. orzeniai r11mki rj,\ dzia hrnj , n11 pl kserach b' •ły ~:y On) a e przez proc.c- ·or k-a.lt)·
SJ1lrl'C'111tj. Yl pók::a--sn • spr-1:ęt v.')'koouje niemal 't.!.'Sz stk ie· dzioJani z-wiązane z. re□cle­
rowaniffll man.ki. untOżfi"'ri w ~ r o w1głó\\n~mu \l,)'konyu·ru.i.e innych mdań. La.kieb
j logika gry. C.7)' te~ mucma inh.'iige1 j Prze-L lam wspa:rcrc J'rĄ'łm"I . potoku gm•
ficmcgo było ulepszam.: i ro7. z,,: :cne. Pien ze b1dy 30. które pojawiły st~ n rynku
lA1krótre po Quak-.: ·u. obsfu~1w1łly rJ.5.Ll!'l'}'zal:J ę, .a ri:ssh;pn ie teb,urowarue, \'V póżrtiej-

zyni cm.sit= w układach dodJna pJZęlówe wspomagardt.: prze -~nUik~ń o o~wiet ni


Pocz:r,, ey ,od kany GcforceJ. zakres funkcji pr1.i;ru 11h:gl roz zi:ri.enm, pojawifa ii.:
obsługa mechanizm w \fcrt_iex. ·had oraz pi J h.adcr. a lilie ob ·tuga wwh:nchni
\\ ~C"O ll'(du. j lt np. A -rr TR Qf.{J,\.f.

W tej k.~;. ~ W po:..zti"~,f'Óln t:h ro,..dLj:J:.i..:h poło.łono n:lc1sk na minorudnc problem '
W)da.jnos IQ\i.'C' om_z zagadni..:ni.i zwi 7'.ltl ze: Ws.7)'Stkimi r,,:t.'\parni [WOl7 1ia grafi tl, by
r

'i\ pełni 7l"Dl.Urnic Diljlc:ps7.) posob \\'}' or.cystar11 ·prz~u. tllile.t:y :rrommi1..'IĆ d~i I nfa
, ~ nywane przr.:7. sp Ą'I . \V tym ro1d.zin.l"1:" pr,.'LP(i t \\ imy n sr • puJącc pojęcia:
♦ Pat rendi;rowani. Di~-cl D.
• Wier.ocbo3k1 oraz pcm ieruhn ii; "_ .Ł-..zego ,Ju
·t Stałe funkej1.: pr7.Ckszta t« fi 1 \\.'l~lkme.
• M«he.nizmy vcTtcx h di:r
♦ :t2..1 obcinania,
ł Mult1rtc Słum~,ianie o.mz me,ch~mzm p1xcl . h d~r,
do mies1.ani~ t~brm.

t 00d wanie ll1i'lgicl.

• r~s•~ głębi. olf; oraz m trycy dtR s1.czt:gób1yc h pikseli.


• Wpro~ dz.ani~ do buforJ. rJmck.
♦ Prob3el!'l'ly związane 7 ~ d. jn~c,11,.
Potok Direcł3D
".l'!lr'lfe?.CIUOWanO n.a l)'Su.nkU 5.1.
PM1.czególme i:topy " poto ku u - "
l"'li

RytUMkS..I..
Pflltłłfffffkn~"JJ
„ Drr«JJV

Za1um n JD r o ~ ~ pncmi cz,,.mte ·i: pra.-.1-: poto . najpiern b',di ~ą dQ pam~


·yslemo~·aj i procesora ~łÓli ego. chie de-linkm • n~ 1 il'jodn te 7. dobrą prakt}·
pr.res fMte do _pan,j~c:r portu AGP (ang. .1kc leratł!d G,.,,phiL~ P,,,-1 J Jub pamtfrCl
graficuiej. Po ro-,poc~ciu włtl! d,, ego :pr.7. ·tv.ar„.an1:1 są an· pl'7.~syranr.,: d po4oku stał)
puebzlatceń r oswi tfen111 lu podd wanc dz i ~Jmu f)I\Ji;,ramo,\ al ncg-0 me,c,,,MlllllllU\I
•1tc"e wder. \\'')'lljk p,r.LCSyt4JJtia grnfakl Pl7.e'.l. obu: I ' Cil!'zki p u, ad7l do~• obcinanu..
~4ziI!' te · ztAłt ·. .któn: njt! bi;d~ widoczn~. są 1~,nr. nw,::mc "" celu L:JO!i7.Cl dzcnia
oblic~ęn1owcj .

Po pl"l s.7-1, lcemu w1er.r.cllol ·ól\Ą. dan o nirh ~ pr:Ą"Sylam.: du


f':i:r.y J11JC.'S7.!lnia. tJUJ ~
,.. podł.13.WJni: dzt
f)r2:CtwW7„'ll]~ pl"le, si ndar.dowy potok muftitd, unw.::1n1a luh
~ h3.ni nu p" el ~ndcr. Pu •-=J fill:ic następ 'Je ~mL!' mgły Uc.ldi ~s• tala p0c.rzcb3

w kohcu rn ne są gotowe do Wf$" i1:tr cnj• n.:i ekr.:mLi:. \ 11l 11,;j fa.1.i . k.udy ~ gm :t lJ-
zwycz:g piksd) jt"St t..:sto\\ aJJ)" \\ du :r,prawtl.1-c=n1 , oi· nowi; dane m ją b) ". ·toot
" rnie:J "~ S1ruych, wymieSJ" ne 7C ~Lal) rn i dtm}'ffli. C7.)' l1!'1" ,,~norow~ i:. Po pod"-
takLeJ dec~ ji d n-c. 1 ją~,, cil'-4ę"'Ści· QLlfol'ł! ramki. która o~t teczni u-.ifi3 n e

B)'I I ś ·rocony opi m han i.ant.I\',, potoku, h:r..L7 sztlcgołt1WtJ Opl ~ lud~ z

Wi,e rzcllolki
oraz powierzchnie wyższego rzęd',u
~ ii:ra hołck ]4.:" I podsr.a,.,,.awą JOOIWs• mt.:lrycut.t.. o ,ym szc~góło-wo i ,, _
J to Opo\\ 1cm w d fazych roxdziJ 1. ·b. K.ażQ ob1el--t D s ~ o:d sję z g lub w1ęl:SZCJ
Amddal &. • Klllia eł6w o po1a1cu.....,. U
-
Hczby wi:rzcholkow. ias.ami te wierzchołki są_ la~wane z plików (np. w rnodctu zna-
kowym}. !MFfl razem gene~anc mawm1.tyom1r: (np. :sfC1'11), Tak Cl:'/ inact.cj są oqe
~l-'.IJ g,enerowane ~ pcwu::n pmces pmcesi;;,ra, gbhvm:go i J J m ~ w pam~i
k4l(I są lat'\1VQ' do.!!l~pnc: d1a kany graficznej. .'

Vtyjątk1t'JJl1 M lej reg1Jfy jeSt z:a.scosowaoic .l!'Mnych fonn powicm;:hni wyt.szc:go r:zędu,
jak np. -paiclt 11 D.irootX 8.0 lub !.iatki TRUFORM w pnypadku spl"&ętu ATl. Tc pc;,-
wiazchnić driabj il\ł1C7zj w 'tym ~nsic. ie SJ'.117.ęł wykorzystuje 'łl'tdc,iwosci niedokładnej
s~Oti w ~lu utv.ttrLenia siatki dokJadniejszej pop~ sp~towe tw'o!iZCn;~ oowyth wier'b-
dtt,łkó\11,1'. Ti? dodrrnkowe wi~r.«;,bołki nie ffl"8:lą by,Ć pn:~syłMc pi:zez SZ)Tlę, co umot·liwia
programistom "}'kOl;Z)'SWUe dokladll!iejszyt."11 s.iatd bez koniecDIIOŚci inmitjszania wy-
dajmr,sci. Siatki wyższego rz . du om6\vi; w dal&zyd1 ro~dziaJ eh, kiedy będ1t dokładni~
opisy,;. 0:J spoSób ich 1wor.t:~J!Lia Wainc, aby zapmnj~ że powit'nlchnir: ~ g o rzędu
~jedynym m~-cha..nizmcm sprz't•owcgo tworzeni ks1l.ah6w g,C(lmr:1ryczri)'Ch.

p0wteachnfe w;yhzq,o, rnędLL


PQwlendlnla wyis.lego riędu to t ~kt1. 1-ttór~ ~definlowanti za rx>mooą funk'CJI matem~lflej. a n e
pop11&z defln i1JWę1nie pos2e ególnycti punkt ów. Jetżeli ta'kie PQW erit>'hnie $q ob-$tt.igiwan.e p~::z
spn 1., karta gtafie1na moze two~-ć n choaki sama. błłz u@latu p«IC@-sora gf6'i11 B~. Mote to
uproś.cit proces przesyłania kszt~tów geometr)'Cmych w systemie. Powlerzehnle v.yż:slego rzęi:lu
można także z.astosQWać do Y-~ac;U:e ia model1 nit.szych rozd1ielczO'ścl. W rwtfzi.ale 2 L t.Klzy.Ne
Be!iMa•J pckaza no echn1kę wykort~anla działań z powierzchniami wy1sz.,agc rzędu ztlefl nlowa-
n~I prz-ez ut,rtkct...·ni ka za po OCł:l m echanizmu i..-o o shadcr.

Faza stałych funkcji transformacji


oraz oświetlenia
Do tej pory (}(.'IS\~-i~eiłr.!m poro m1e;S<.--a n.a omówienie macierzy wy -or-1.ysl)"' anych do
kansfo:m,acj i ora.2 marernalye:1.J1ych zag:::tdnień. zw1ązMych z. n~,,,:ic1.lenietn. Przed oa 9

dejśc iem ery spraęmwcgo wyk onywama transformacJI i oswLL!lh.m im (T L' wszystkie
oblie2em.ifl b. h)• wykonyv.·ilfle przez pro«s.or głó,"·ny. Cb:m1czało to, że zadaniem proc-ie-
sora byto ~ykony"ranic zadań związanych ze 51.111c:r.ną. irucl igcncją, logaką gry~ ·w ięł:.-
81Ą część za.sadnic!r.),teh cl:r.iida,, 7,\'l.i~.anyth i rendt:towamem gm.liki. T&L \.\.')KQnyY-'llDI.':
SPJ2t lnwo po~,..·omo m1 prl enie~m:n it.: ~acfań oblk2emo'W'}"c-h do arty g raficz.ne-j . Z\\'a,-
niajj\'C p-«csor. etem f.l2)' T&L j es.1 ~osm anie w zyslkich op,cracj i macier2owych do
kahkgo Wll"fŻChwka. Po przekmalcemu wierzchołka karta obii cza o wil': tl nie. wykorzy-
~IUją'C '"rszyst'kie sprt~•owo dost1rpnc rodz..ajc o wietlerna z.dcfinir,w-1ne: Jako \\'Y',\'Ohm ill
funkcji 1ntctfejsu APL k l l{] jedtn z powocl w og-lłl-T11.;~n,,:j liczby ośv.·it:lleft sprzęttw,ych.
W ti:j fazie pc>aoku, v. SZ)'Slł:.rt.: m;r.: mus.i-.ą być PQPrawnic ®sru:.-,,11.C'. Altm1a ; ~ dln potoku
o_~ta~ fun'kcj eh. krom pojinvila się o ta4ni o. j e-s.t w pornaguny pnez spr:zęL mi.; ha-
m.zm v~r1trc:\ shade:r.
Mechanizmy vertex sltader
Choci.at. nic bę(k om11w_iał S7-C7.ćgółowo mechanizmów verte": ha~er j~~ pr.t:e~ kila
rozdzillfów, 10 j ednak me mo~ę omawia~ ~ toku be-z wspom~~ma_o teJ mnn~ac~i M~
chanizmy i,·cl!'t.e shadcr dodaJą patokow1 n~i;:zw:yklych ~o~ll\'- ości. ,Pl"'led 1)0Jaw1łflitai
.się meclwtlzm.ów vene_x h.tdcr w sprzę• o~J fiooc: T&L 1stmał~ ~oth1w·ośc "~Jconyw._.
standardowych ffllDSf'ormacja d:mycb. sfo me moma ~)·Io obśłu_zy~ przętowo dliwofllie
zmimi_ajit.cyc:b s}ę wie:L~h~tków. Z tego Po''"'·~ U ~~ anamacJ,e J~ np. ~ruszanie Sit
pos1oea z. drganiem ffll ·:m W)'lllBgIIIY pr_zet\\iarzan1a gt."O~cLtyC7.n) cb k~ów Jll'ztz
procesor. a 11ust~pnie przr:słan ia. d11.n~h do kart}' grłlficzneJ. ~yk~Iilywan11: takfoh opt.
ra ~ i dfa katdej ramki sry w iązało saę· z dufym ko!;ncm Qbhczemowym. echari~
"'-crte!\; h:idcr umozfrwtly programistom pisanie kroił.ich pmgr.m'IÓli ·• które ,,)'konY\Valle
są pa.ei; p.roecso.r karty g,afteznej i słuiJ\ tmn fom, cji d nych graficznych,

azwa •..shad r"1 (mechaniz.n1 de.n1uj~)') może być n.i co mylącłłl. Mecłlanizm}' ~
s.fl der mogq_ siu.żyć do cieniowania. ksztl:'lłtów geumetryćZll)'Ch w sen ie oświedenfa p:.,
pm.,-z wytrc-mn~ r.ówmui oświetlen1:1 dla wier;;chołków, ale mogą lak~ słuZyć do Pfu.
m:arzani wszystkich danych dotyczących wicrzchołkó\v. Działania wykon)'\, ane prlQ
m«lmru.zm~ \'ertex_sfui.d..:-r mogą obe~ m~wać zadania pucząwszy od gc.'Ollletrya.D}
pro.~oen. a oac•,;ywszy !'la ustaWill.'fitY no~rych ..,.. ~ y c h tl!kstury. Mofli\,
me~_hanlLfnów sh der wychodzą 11.nacmi...: po~ definicję cieniowama \\' sensie OŚ\\,e­
Uem11. a l)'SUnku 5.2 pokaz3no :ihadcr. 1-aóry pr1.cksz1aka gcomctrit ubicktu.
1fty-sunek 5.2.
P~·kltlil.owy efcl,
~JwnizmrJ ~ Tlfil
~hadt!r

V.' Z11.lemo.śc.1 od ł i „,1._• •


• ,. :r. o onuM;I mechamnnu shsde . anima JC muuą w d.ar~'1TI cjni,u wiata:'
s1,:
da.n.z iJi.O:S:ztcm
, •wydnjn~cio
· I '" • · · • ···· ; 'r.l!'
wym. lir.: JeSI 10 :zazwyc-.r.ltiJ mn1CJ~Z)' kos.Il Z uwagi na. rakt lt
c me musut: być prz.e. yłane prze.i:. m::igi.slral\:.
~ iążr.: i,: z tym dó<blkowa k , · T ·
mozli\\'Ośt s:1.1 • 11a. • orc c:nue bardzo szybki procesor moż,; 111 •
v.: es_
wfs, ~, . :t:~okpr-.len IIJ'7.Wll . w icrzchotków niż karta ~mfic-zna. Jc..-dmd: j t otZ'r
i 2 k~y- O•~ -. ?sztów wydaJno ciowych wynik a z przcr.ytania danych ,do km1)
. • e me- pnsmtlamy !kombin Ji ba.r<l1.o bkl
liczn ~ lepiej będzie ·es Ii zm.i~ . .. . . ;''-Y ego proc~--sora ze .starą ~ ~ gr.I'
l,.,, .-i..

!.>........... ..~ ,J S) ma l,zuJemy 1 losć prLeh,,n.r,1.anfo '!!'konvwane-oo prti:l


R4!a ut, gra dC2'ifl4,, .. .o
I

alefy zamvafyć 2C il\itczei niż w - dk • .


Y"ffev .Sh"'dol, • . :, przypa u ~Wll!f"lChna '\\, 'Z.'il. go rz ·d•• rnec1JllJll7..ff'I}
... ... ~ . . r me maJą mo;.;hwoś · • · ~. .
Wynika to z faktu że · t ·ał .d c1 •wormm l~h U.SU\ Mia , ie zchólk 'li • Cz1tśc1o'i\11
Dzi,·ki 111021· ,.J. '. as n,a .a , ea. aby mechana~my vcrtex shod!i.!r dział ły ró,,11ore~lt'
zaldnośc
1:
· n ~CJ
• ,1~ twr:u·
.
A~nm J:ub us.m 'il, ma
· \ i·erze1·h11AóW
- n- ·
mog by iPM' suc:, \'•.za.J,Cn1nt
•-
• ponru't.....,_i w1cracholkam f. oo W)lkluc.zaloby dr.imanie ll'ó,:i.•noh:· fe.
- Rozddal.&.•Kllka91dwopaeo1c1a....._.

Trzeba tatte zauważyc. te jezeli wykorzys•amy mechanizmy vertex. sbader ~


93

zastosowa_nc zamia.sł potoku o stałych funkcjach. 2 tego pęwodu ..,.. m~blffli~it


S,łlader oalcJy zaimplementować w~stkie opc,rocjc zwitlZ,ilnc z ć>łwic6en ·
VC:: _
formacjllffli ~ep. potJ"~bnu ~· naszej aplikacji. Jetcłi przykładowo napis~4 ~~':'do
Ył)'kon_ywan1a p~.u:k~Jtc~ geometrye:tn~cm. ale ch«my 1.as,tosowat ohvictla1ic 11oz.
pr35~Ją«. mllS~Y um1e:śc1ć w _p~mic \•cr1ex shad,zr oblicz;nia zw~ne 2 oświe­
tfe11ie,m ~z_aJąc.ym. Zagadn LCm,z to om6wi; dokl11dnił;j 1 kiedy rozpottnicmy pracę
z rnochan I tmmnn vertex sh:ider.

Mecllanizm obcinający
Po _przck;Ształceniu w,ierzcnolka p~z poló'k o staŁyin zeswwic fiuuk~j l. czy teł przez
v,;ne: shaiier. dane są pnesylru:1.e do mechanizmu obcinające o. \V tym mccb&nizrnie
podejllOO'V!.lna jesl decyzja o rym. k[órc ks1.tahy geom~-:2ne będ1t pn__;: ~11nc do pric--
twarzaniia w dslszyc:h far.ilćh. · a pnykJad, jeieH po pr.zekszmłcen~11ch fragment figury
znajdati~ się poza widokiem kamery. ilo nie m:i po,.i.·odu. ab kontynuo,,, ać pn'._dwar1.anie.
Moiemy odrzucić \VSzyslko 10, c2e.go nie wbdzi obse:t"W"ator . .lccJit ru jtden ::re sposobów
n~ m. ab. mc'iC.:hai-ii zm shader us.uwał wie~cholki. WicnchQH::~ można prz.eks2laka.t
w maki sposób. a.by znajtLtowal się po1.a widokiem kamery. 'fa fa7.a umożli, m:i sp.rzętov.•i
pozbycie się nicpolrzi;hny(:h ksz•a~•ó,:i.· przed przyslą;picnicm do wy'kon)'wan ta dość.
kosztownej obliczeniowo fazy 1eksrurowania.

MuRitekstarowanie
Faza 1.ek 1urowa.nia J~~t tą; która pozw la n11 pokl)·~ic cfokto\1;:nyrm tek~urJ.nti :kształtu
gcomctrycznr.=go W).-Slępujątcgo w fom1ie prostych i nieciekawie osw1ctlon}'c'h plasz-
czy211 o ile ocz;" i~ac program1s1a sóhic rcgo życzy. \\' mi:;j fa:,jc ,ie-zoo teks.tur, j~kie
mM,11u nałożyć "'N p(}jeclym:1.yr11 przebiegu, jc5t fon ~cją liczby polok6w r~ks.Lur obsługi­
wanych przez s:p~m . Przykładowo dla kart klasy fu; ·on:e w fazie 1eks1umw~fa bryły
progra:mi'l>ta m{tie zcldi.niow.ać do czti.:rt.'<:'h n\:1nych tekstur. Liczba 1.:1. będzie sic; zwiek•
szat no: z pojawi;:miem si't ..:ona. nuwsz.e.go spl'Zfilu.

Mull~teksturo..,.ranie jest bardzo wazn)"m procesem pny tworzeniu realistycznych :ce,n.


Jednym z b3J'd2it:j m~1)'t:h Z&Stosowań multitekstlJJO"',mia jl.~f odwzorowyw:i.nje o \,-rie-
llenia fang. l1gh1ma_ppmg). Tcchn1k,y u po.lega na wykorzys,.t.niv jednej tekstury lub kh
w•ię;kszej liczby celu zd'efitliov.•ania ogólnego wyglądu nk:J:'e,ślon ·go obit:ktu o~ tnnego
:i'l~tawv •.eksiur w ce lu odlw:r..orowariia inaych efektów wictlnych dla lego objektu. Pr.ty
odpowiednim wykorzysumiu ,cchnika ta pom·al11 na rn•oncnic w. ok1ej j eikoiid ef1,;k-
tów świefl nycll z.a pomocą goto,,7Yc:b tek Lin oświeflc11ia. Tl'.'!kstwov,·anie oraz. związane
z lą open.cją V.')'Wotenia A Pr omó"'Lę s"Zczcgó!nY. 0 w dalszych rozdziah1ch.
1

!-'echanizmy pixel shader


Mtcllwuzrny piMI shadli..-r, podobnie ja.k o;.•ert~x. sba.di:r. są DO\\."ą funkcj ~ hl 3D. PodC'?llS
8~ m~allmn)' vc..itex sbader dają wi~li;sze nnotliwi śe-i wykonywnuia dzielań z ksztahami
.
RyMMk5.3.
Pn>łłodo~,-· ptxd
slwtkr

• , . l!)ina lalde ""')'konysUIĆ w celu pobjerania wartośc~ ze 2ł~źon)·dii.


MedwliZID} te: m • · ..... · h ...,,.,.,. nałów J"'k - .a- -
ZitkodO\'. }'Ch w tck:>LUraCh, aby uzyskac wrażemt: l m..l C ......... t:: ' • r Cl' VIUL,-,; ~
. 1 w dals h rozdzi~lach pctratę wjelt: przykl~dów ~cchamzmo\ plXcl s!iaater
= ~-s~y od ~cji O v.•icd1:ni11 na p02:ioi-nie pik el1, a skonczyws,1,y na pn.cłV.
,

obra7,.ó w.

Ostat~~~IJTI krokiem prowadzącym do okresleni.ic. Jak ma w;•gla.dać okre ·1on)' pik!Ą


jest alaybut mgły. Jc-!di ,,-,ykor.cystujemy mechamzmy, crtcx shatlcr. to mgła mote „
rwon.Ol'l i n p0ch.tawie odlt.-gloścj, W7.lliesienia. lub rn.t'tcgn dowo]m:ł;O parametru. ~
mglenie bryty \\'fi12 2~ w7.rostcm odJegłości pozwala na ueysk,w:mic ,, ra,: nie gł~bi
biertn~go przez graczy oglądaJący h scen . Mgła na podstawit: wysokoś~i potv •im
UZ}'SkantL! wrnżeńia z.amglonyeh bllgitn lub zachrnurzon •eh gór. \\' ,q,Ju przypadbc
efr=kt m fy je L wykor~tyw-.my do ukr1•cia ogrnnicxcma pola ,vid,~nia gracza. W
śłoocj odłcgto:k-1 obi4:kty s1 ją &ię 7Amglonc. a ostau.~Y.nii; ult:g:oją catko" itcmu riomi) •
Po pru-snni4r-ciu :1;i't po1.1 gt"dnicę w i dzmfouści takle ckmemy mogą być obcięte pmi
mt'(ha.nizm obcinający. Wpro,. , ,•acb;enie mgk) pozy.• la na ,.al)\:\\ rm,;n11;, te obiekt w
t lonej ud!li:głości nic znika.

Testy gl,ę,bi, matry·cy 01


r az kanału alfa
K~żdy z wspomni:m~h w l)11lie •~t6"' l.ll.~h,guJc ną to. t1by po \\'1 óc ma odniłmy ~ ,
~1:1ł. w cel~ v.·laśdwego L>mówieniłl Jego ooc:h. Tc ty h.: ornó,- 1my bardziej sz zegółO"'
lur:dy b~~remy mogli pn ~si~, ić j~ w koflw •ś.ci •. z punktu ,,, ,;dmni po~flku le-si}
rep:tz_en_lUJi\ osratecme przehi.·a_...r,, nic. jak icmu muszą byt poodmu: pi ·~ le przed
l,\'}'!riw•~1Je111em ~() kra nie IN\d • odrzu~nii:m. Kłddy z 1ych testów moirl wląc 1lł
wyl~~zyć, 00 w, e s1ę z fHJrównyw nit m p ik ela 2 bieżącą zttwarto~ią bufom lt~
..
T~• gl~bi spraw~ g~ebi~ no~o pi~~ i ~·duJc, czy nowy piksel znajduje się bli-
icJ °'?serwatora °'. bi~ ~•~• ~aJ_dUJąCy się w tym mu:jiCu. fotcH tak jest. to na-
stfptJJ~ ~1~ pLkseli. Jeż.eh_ nu:. me Je l \\ konyv.·ana t.adnil czynność. T~t matryqi
pt opeł".lCJI\ bmam , Prog.roffilsta mo2e .zd,fimować pammctry testu omz dane w 'bufor7..e
matT)"C . Je~cli n.o,, ' pik I nic pełnia wa.nmkńw tc!itu. nit ulr:ga modyfilacji. Poka-
zano, 10 w rozdzi li.: JQ•• na rysunku 39.2. Testy atfa dają wię SZE: mo11iwo ci. w najp,o-
p 1łaroicj·zyn1 zastosowaniu test aHa okfc' la !iposób mic-s7..ania ~,i: ptkscla z-e, ta.rym''
pikselt."nt po to. aby ttZ}' k · takie t:ftkty j ak np. ps~udopn:erroc-i,stotć. Opcje r~ru iilfa
można jednak us• ~ i :na wi~1e różnych sposobó\Y po ro. aby uzy~t: inn~ cfc1uy. Do-
kłlKlnitj zy opi !> każdego z tych tes,tów m21jduj ,; i~ w dal zych rozdzi l11ch.

Bufor ramek
KaMy p1k~e1 ora2 k ,żdy wicrlchołck trafia\\' kruku oo bufom t""d.f'll t. ZaziJ.;_ c-z ~ jest 10
bu or ""''YP4---łnian. w de.: i oc~ekujący w pamięd obrazu na wyś ·kllt:nae na ekran.u:. Po
,, konanr11 R--n.d rowania "~ l. tkich obick•ów sceny. prlCtwo~niu :fsz-ystkich pi~eli
o~z \\ )'k011aniu " 7yslkich 1.1:stów. w kod~e nas,\"puje wywo! n,e funk.ej i, 'która powo-
1

duje wy~'-' tl.ich:t'I re za" arto!ki bufora na ckr.m;c- ( w w i'ikszości pn:.)' pad 6w).
Czasami bufor ramek wr.:alc nit! zos,ajc- pr✓.esfa11y hc:,posn_~n10 na monimor. inna gwa-
mnt\Jj du,t: możli,., ości tech□ ika pole~a ml ,, , gt:n~row:miu \\. s.;c •stkiego do postaci.
t,e'kstury~ ~tórą następnie mo}na v,:ykor.1-y ~t.1ć dla okn.·s]oni=j figury gr.:omeuycmej. Pro•
s.tym pr.zy'kł.adem 1:i.k1 ~ 1.i.:~hmki jcsl łustro Prr..,gram 11'10:►.c remkrow obraz •u traany
ge□ ruj c go do ~rac, 1ck!UUI). a me Jo bufora ram ·k. ~~~tępnk. bt:z wy~wict1anm le o
obraocu n c rank. program możt: :t.:tpr;.t: lać ri:11dcrm,ania do pll!-,lac1 t'L'"kstury I v. • e•
nerowut sc~m; z punktu \\ id1. ni21 obsL"rna.tora, g~m:ru_)~c obra7. •us.tf7.auy za pomocą
popnednio utworzonl!j hi'kstury \V ten ~po-sób możn tv. ur,0 l: ,, u:lt: cfckró~.

Zagadn'i en'i a związane z wydajnością


.Jednym z pov·odńv.• pozna, anie wi1:d7y 1eori:1. ~zncJ J ··t zroromiemc faktu, 2c w pocoku
uafit':"Z:flym mołc ,~ yst.ąpić w rek •.,, ąs'ku:h gard t··. l ancueh Je~l l) Uto tak mocny. juk
jego naj~lubszc ogniwo. k,a1.da faza ,, poto~u n 07c potcn1:Jal n ii: lat st • .słabym ogm-
\\iffll. Kiedy nie było kan J[), parametrem ,, >·kor1:y!!iotyw:u1ym <lo pmmL ru ,, ~ dliJności kan
gl"3fu.?.nych był \\"pókzynni'k wwdniani. (Wlg.fiU mlc.:). \\" uproszczcmu, ,, półc7.)M.t ·
u.~pt:Lniania okr,; 111. ja.k Z)'bko kana potrafi wykre;l;.:1~ pthtll" n:ł dmmie. W przypad-
ru lw'I wulniaj zych od pr~s.orów, krór dostaTCZilł}' dMy h. n1iidi~m do czymc.:m
z apli~acjam~ •.ogrnoiczun mi pr2t!Z wspólcl. nnik wypelmanii.f". Kied~ po,a.\\.·iły i„
$X)'blrn: karty lD. pro«-. ory gl6\\ ne me były ;,.dolni= do dm,rnu::c.·in•c ~2 bkn! o p~etwa•
rlllłia bryi gi.:omecrycznych i v..rtt.-idy mówiom, u aplmkllcJa h ••ogrdlllCZóny,ch pr-1.e-;1. gćo­
metrię'", Poniiej pod no kilka z g.oomcii, no k1ór..: n, le-ty i,,mc. ~ u, ag·:
• Zwiract,jmy uwas1t na to. JILk ir.;sto dane p 2ctw:.1.r?.an • pr.z.e1. pr,x11,.-sor.
r ie nie pcmoże baNbo eyb1ci proc-.:soll' główn (' PU) on1i zybki pr or
grafi. :.r.ny GP • je:1.t: ti kicfJm pom1~dZ} niani poznsum1c wotna Z)'P~
1

$)'~ow je L zna mie wol nii:j za od kA nałów dcm h we,, nąlrz. ~r.:j ka.rty
..

Podsu mowanie
1

foool:mi~ j i ro; dzill)y cej ~ i j~ '1 iniejszy rozdzii. _i m iat za 7.3. _ ie.
czc1Jie ~11w pozwataj, ycfl na 1-ro~wknie kolejnych ~ozdz1ru6v.i. Zrmwm-en~ ~
t nia paloku poz,. oli □ rozwiązyw:1n ic probkmów 7.\'to'l z.an„ eh l ''')'dBIJnośc:at\
efeklywnokj „ któ11t mogą poj wie ii; , prL)'?ldk:u bard11cj -~ "anso, .a.nych E.L'l'.:
\\fif'le z po# \ tym ~oz.dziale p~~ta\ iot10 ~ posób h~mr,;nl.3.r}· .r.ny (baJ'dli!:]
gółov. omó',l, ic:nie z.a,,rto v. dal-;zych rozdziooli:hJ. t'\ ri; ZJOZlHllierny w pełni dzi
po1oku. dapóki nie rozpocmiem~ pisA1nfa ~gt'illTlflW. które z nLt!'l!O korzy taj ! Kłtl'
jcdn już ~ ;uiicm) kodował~ C'lęSto będzi1:my pm,vrac „ <lu w idu. 7 gadnit:n ·
n,cb w •m•ror.~alr..-. \ ł i"1 ie- odo-wllfl 1(' rozpuczyn:, stę " ' na t pnym rozdzillc,
na ,Płt:l'W J'lrl}pornnijmy 7Jłg:tdni,c,rum, ·tóre n ]efy i;apąmi lil~ :
♦ ~.aaw do cyc~ b ł g<.-ometrycxnych mog być gen •row11n i.: pn ·z procesor
P-r.«.'S,'lilnc do km, ]ub mogą być ,,.i,·017.ont nu kar i~~ z v. korz.y:itanicm
PPWii:rzcbm "1'.tsĘgo .-~du.
• pr.q;łO\ m(.;C'han1:1.m pnc~łccń i o.'wietll!n1a o ::.tatym .1:e.c;t wiE: funkcji
(T&LJ um~'lh\:i wykon1 wanj~ wszy~ ich pod tił"'O\li._'c:h pr7c-ksztaleefl
omz cli1al11in Z\ ląlanych Z Mwi~1knc~rn,

ł Mech niJ.my vt:Jte_i shącfer <łostarczoj~ v.rię "S-1:}' ·h rnoi.li..,i.,•ości mod;fika ~i cbn)
~fD~h)'cznych rui potok o talym le tawic funkcji. Ki d , ·cdnak zdecydujemy
si,: na ~orzysrruuc z mechani2mu sh3der, musimy z.aimpkm nlowa. w nim
w 7.Y Lkirz PMr21!'bm.· funkcje.
17

t Do mieszania tekstur w celu uzysbnia wielu efektów moma wykorzystać


mechanizm mulliteksturoY.-ania. Kiedy korz;ysa:amy z wielu tekstur. pow inni~my
mi:w~ ogranicxenia spffłtOYlc.

t Mochanizmy pi:tel hnder oferują w i'tk ze mot.liwości prz.etwanam11 pikseli


oroz tekseli ( frngrnc-n1ów •ekls"11'),
♦ Efekt mgły można wykor2)·smć w celu tąskania wmta1i11 ~i. a takzc , oclu
ukrycie efektów obcinania.
♦ Te-sty gl\:bi. rn.ury 'Y oraz alfa s,łużą do sprawduoiia. c:;ry obc- tony piksel
poja\,,·i •j~ no moni•orze.
♦ Ro,zw jmypotokjako łańcuch 2.aWierają__cy kilka po1encjalnie slobych osmw.
Wiedz na wmat spo obu działania n1;1.~j apHkac:jm nil każde z tych ogni...,
pomoże w zrozumieniu. sposobu kutt.~.rne,go v.'}'ko~tan iA dos11tp11;·en
mo!liwo •ej sprzętu.
część 11
Tworzymy szlk ielet
~ (t'Olli , CW a;twon)'t ~ocfię ~odll! ~anim f02Jpoc:%1111Dffl)' arn~llllie połZCUp
grafi~b,. w Jcll•u nmtział.acb teJ Cil~I srwc~·itt}'. impkmcof.l.c:Ję łtNklary (:UCIIIIIVl..:.:il
. pwk.o•nti,cy". "'' któlwj bifdncmy s,ę ~'1. lłlffl~Jc:,w11elt ~ l ) ' c h ~ • - . . _
51rUłfwY ~arzy~,RCC- mtfflłjs DlffflX ;\Pl. 1a'k.1e płc ~~ '!l'ltryny, , a ~ •
n.tła s(nlklW'I .Z."''ffll w Dim?rX SOK. W ~llłrll l~J cięk1 ndre,lim)' ~ w y iNRlla-i:
ti,;mej Diref;tX o-rv omówir'n}' ko~ & ~ SDK.

iR.~ly ~~ $i;; n.a c,; c ~ ifllljt\ iwLtPuj~ aWlłrtóU:


♦ ~~ 6,. nKoi,figw:Dtj:i in,dQ"',i b i proR!!,, plikBi:,j31 'W"mll'' j~ WC:nJIW'U)' do tych
u:eya~m•kóW t ~ nłl_;. ni~·jellcic- do~•iadcz.mic z SDK DirectX. Pokrótce om()l'r.l"
samo SOK. wn1f[gt1rujcm.)' ~n,dm,wislro, llłfOr,,,•iaj~ odpow.cdruc ~i:ic~ oru tv."llltZymi
pros~ ~t~ Win12,
• Rozdzml 7„ TWOIUIIIC' i ~ Llmtd~nien, Dir~IJD"' .wniowi k,otu-)'nuację_
M

popnC'Chlrcau l:'flDi:thl o~ ~ dza poj~,c u0\t.btni3 ml"tt1lD. ~ ~:tanowi krq


k
~ t j ~~t!iY- Opo1,11,•i:eCJl)o· i;;i, ~vm. w jJ.ki sposób utwguzyć !Jmlduaie. mst:osow.a,: oraz
o 1l'fl'J\ J · Jt UjJffi;\f. Rozszereym,>· • ~ naszą strubtlrę. oo umożliwi nam faiwc ~
łlO'v,;yeh "''W.CfMo'Oki "'' k&.k-jnyc:h wmD!l-~h..
Rozdział 6.
Konfiguracja środowiska
i prosta aplikacja Win32
Czy1elm.icy. kitórty maj:ą p(."\\rn,c dośwfa.dc:a:nic w 1po-srugiiwaniu si; SOK Din:·ctX. 1.apcv.'I\C
~ją ,vi :tszość ,.,.iooomości zawanych w tym l'07..dzialc. \Vano jŁ"Qllllk zapoznać się z. tym
ro7Jlziafem. p<:ini1.:waż większość konfislllrra ~i tutaj pokazanej będzie dotyczył kolejnych
rm.działó, . Przyjęło założenie. że PR}'St,ępując do lektury tego, ro:ul2i r-u p<i$i-lłdamy
DiactX SDK. · tworzymy pr~~ szkielet aµJikacJi. m,yzględnilłj n~'lt'Pltj e 1.agadmcnia;
♦ Posługi1i,ranme się Di r,cctX DK.
t Konfigur3cj.l ~rodo\\1 i s.]rn, kompi IĄcj i.
♦ Stv..'01"2.enie _prostej aplikacj i \lliu32.
• KompilacJa i uruc:ham13J'i ie aplika.ej~.

Kilka stów ,o SDK


Jedną 2 pie~:t..y<.:h ciynmJ~c1. J~k~ rnu~,m) ,, ykomu.:. J t.-,;I m~tiłlacjo DK. Osobi ci~
posługuję St1t wit:romil nK. /~lU,;m w moim kmńptHl!I?:e mam katalog C· SDKs, gdzie
instaluję , ~ 1kit: środ~n,·1~lc,11 . DK T:1k wii_:c s1.:1cika do kalalogu z. m<>•m DK to
C: 'iSDKs\DX SDK. . i~ 78mir:1"7.~ m Ji.:tl nak up;s) \\':.J.Ć. v. Jak i sposób na lczy ~ć
plikami na twardym dy5'k.u, 1;\11"rc 7J1in:s1alujmy SOK tam. gdzi~ m~m wy.godnie. Pnmię­
lajrny. te po pobniniu ~DK. pr7~rl n1~lid~tcją, tiyć mo:7.;e bi;dzu.: lnćba jt rozpakować.
Dla wygody b ·•J.,ir.:my opiS}'\',,':JC l_ •ll,;,n c1 • . . DK dotyczącą jt;:ryk;:i V . CL kiór~·
1.ain:stafowali inne (i'~"!i-CI. jak cho ·of przykłady V1S-ual 13a~i,. ,nogą nrueł. m4.-co inn)·
układ kmalogóiw _ Tąk ~zy 1nac1cJ hętlt; (M]no~il SL\: do scir.:żki. ~d.Zi!.! :zainstaJow no IJK,
niezależnie od tego. gdzie ta ścieżka ~ię .m~jduje.

Po zafos1alowaniu DK mamy na i~pującą nrukmurę phków:


ł \h;n - Folder zawiernjący prekompiluwane µhki wyko111) \'l'altte ora2 narJJ~dzi::..
1

♦ WXUtils - njt, rd1.icj przydatne rrn.rzędxia to OXCapsV1 r pokazuJąt!,'


możliwości ul'?..ąd.teni~m ,tu-a:l Ot
ex - nm-.zędzii;:: v.rz.,.;•-war.z n ia tekstur shlż· .ce
do twor:zenm wk mr w form9cie .dds.
ł \' , •. - Folder nwicmjąey mlrtędzic służące do konw~Jm PQpolarn'.Yth
lfi . tt...r.., .'J D ... fonnmt :r wykor.tysl)I\A.3n)' w Du·«lX.
fom1atow p 11.,u,.,. ~ n.. "'
• IDot.· _ folckr zawieraJ!l'Y dokumentację DK. Ji:lit •o ruc:zi.vyldc wan~
żrodło i.nfom1acji.
• IDm.,clA" ajbafdzicJ prz.yd1nnym pl~lrn~m ~• tym_foklcne JesL 1<on,,,1~
plik pomocy dla DK. \\' nic:kwrycll k: •a~kllCh ~ Dl rt.'Ct~ ophi mlerfqsu API
jeS1 po pro IU dokumc~• cjq SOK. ~ ~tóre! us:un~ę!o ~ Id t,. Pr~bowtll,:m opi._
API w nie(-o inny spo.~b. polot.mu Wtł(C prztc:1:ytAC doł..1Jtnc:ntacJ . aby ~
si innym podej ' iem.
♦ ID~·tXEUL.4.~ - T~ folder 1.awic;r:a umowy bc~ncyJnc uzytko\vm~w
i!Qo · M'l,vydi. Wruto pl"l.,eCZ)'1oć ce do~memy. porui:wilŻ mogą. one m1ec wptyw
n sposób dystrybuc:i i efektów nll!iżt:J pm y.
+ lfnclude T~n foldi=r x.awiern wszyst~ re pl rk i fh giówkOt\•e pntnclm.c
do skompiJo\\,•3 rti _podst .wowych przyka dó\v I>K~W n •~ny~ poorozdlia'e
opisz: , w jllk.i posób nntety s.konfi~ro'"- ć rod w 1.!; o program1s't)'cznc.
3by f<orzysle z łCJO fofd'eru,
♦ 1Lib - FQldc zawitta ,\ ·1.ystkk pliki biblioteczni.: DirectX. Niektóre 1. ty~h
plikó"1~dzu:.my ,doląc2ać w cz3 re kompilacji. Kszdy przykładowy plik
irócfłowy za'"''it:ra list.; plików. którt! mu z by dołączom.: pr,li;z kompilator.

• amplt• ·1.Jhtl#,mrdw fotder zawi~rający przykłinłowy kod xawiUty w Ok.


TC" pnyklady m8!J'ł kluczowi.: 7.naczenie dla zrozum1C"nia pcH.1.s1awo\\,yeh liS3d
korzysum,a 2 Din:dX. Dla n.lS7)'Ch potri.Cb wykof"Z)rst.'łm~ t:.. lko ® 'a podlca~
ł Cvmnron. - Katalog lJm icraJąc. podkatalo~i 1. plikami naglówko~iymi
nTil.Z plik:lmi ż.ródlnw1mm po1r2ebnym1 do zas.toso\,ani:.1 sz ·1eleru aplikacji
opmcowaną:o p r1i;1 Zt.!Spt'il programi,;;1ów DirectX. Ten ·z.kid1,.1 jes1
prrydmnr, ale w 1cj ksiąkc opnLcowano allcmal) wny prtJs.~y zlti-=-1·t.
aby lepiej 1.adernonstrować pncd. taw iam; poJi,;t.: i~•. Kiedy 73po1.mim_ i(
2 poj i?Ciam i. moii.:my sp1ilł,o\\ ać „vyko.-iys•:ić hr1rdz1cj 7.,t.3:'"-\. JllW'II .ny szkielet.
aby zapo:mai; si<; z dod rko,'I y n11 wiasc l\.t,.·c,~mrn 1. \\, pra ·myce uz O\\ lliC)
cz,:sto tworzą wł su zkielc t najbardziej odpowiadaja · ich ~•u-ebom.
♦ Dlrecl1D - Tcn katalog 7a\, ie-n1 kod hoołm.i.·y w.sryslk1ch przyk łado~')'~h
aplikacji Dirt!'ct30. hoi::i t · lej k:SiifZCt' ni · o rt1t>w10110 1\7c2egókm•o tych
prl.) kla.dó\,. tQ jetln&k opisano wie]~ fl'O(k)bn eh JlOJę..: . Fo Mer lćll to w:.mo~ \\ e
ańdto przyk t dów pra-i;y inny h.

hoci6i ' \ Z11Sadzie nie op1 uj • dokładnie p • ·kład-1..1, lub szkrdcru • DK. to edDllk
poswięerć ~1· n_a zapo~ani · i.; z OK. b dowit.~zu.-ł 1\ię. ·ak.Ji,: zn 1b ą dostęJB
w-
C"z.~o ktos zadaJ.: P}'13Iln:. n któn: odjl(:)wiedz zr1aJdujc •~ w 'DK J L to jedno 1
iep$zyCah dostępnych iród,.d jn 1ormacji. zap1r12"J1rmie si • z nimJe~t. wiii~ bardzo ,,acme.

Konfiguracja środowiska
1
....-!
)
RoztzW 8. • Konfteia,-,. ....,,...._
................. 78
inne środowi.s_ko IDE. powinni sk«zystać z instruk ..
dostępu do phków na lówlćowych oraz phkó b btJ• dołyc~ych modyfikacji tciciek
który należy ustawić, ą cictki, 8<.iz:ie rodow~1 k 1 10•c:k, aJwatnicjszym parametrem.
0 1O pc>szukuJe płików.
Uruchamiamy VC' • wybieramy Toah • 0p11........
,.,,.~ •
, 1. a nast911rue klil.-.. nu, ,..1,a.u1t.- n..; __ _
Można lu ustnw1r.: 'Ił korz, stywant katalo~i N . . ........, --......., urn.Ttol'l('.s.
nagłówkowy h (ang. m ludi Jil, • Okno di~lo UJpi~~I usu wiamy ka~~i d1a p,ik6w
prików nągłówko\\ ~ t h pn kazano 011 unku ó. I ~O\'iic ~ ni ~ dlo U.St.a\\ 1en1a śc1et.ek do

ltylUMk 6.1.
,}b,o dralcJg<Jttc!
Opf1olfJ lu.'ąct'
Jo uSt4U ·ema
kurologu plików
1111głól4 OK'l h

Do us1awie,i 'r.:ie1..ki ńak;;y doda nastc;rHiJ ) k;.iUilog:


[' talog SO J\1nclu1P
gdzi~ [K:nalog ' D..K] oznac7.a kJ.t:Jlo~, , ... któl'jm z.ainswlo"ah my ·o · 'pt_)\'\'Oduje to
doc.ta.nic katalogu l11tlude do zbioru katalogm,., pT7 7Ukt'"-'anych w c1A1..Sn: kumpilm:jJ.
JeżeJl chcem r " .. kurL) cywac ~7k1cl ·t ,.com mon" IX>\.\, mm,m • taki,e dod~ na! t4;pu1~ y
iap, -~
[Katalog SO) Hu uue
astępmc 1, rozwij:im.·.i list} lu,1i drri?t..'/o,•fe , Jor"~ 01i.:ram) po:rycjt; Ubrory F1lt!s.
tawim) k11talogi p 1'7.U m ni~ plikó,, bibliotek. Wprow..td,..am) na tt;puj, }' ara.log:
[ atalog ) 1b

Prosta aplikacja Win32


Wrh1.eie jestdmy gotowi dl pi ania kodu. Pok:mmy niz j kod i.: ID- \\ SL} tlm; preykfa~
w r )j 1ąź t! nn_pi:,.am, " Języku Dzi,k1 temu mo1cm ' \\ pi.:łni \\'):korz} ·ta ~L~
któ~ "fa· ·h, o I bibliotl.!ki O DX or.ii za tow, ac: pros•ą e-nkar, L1lscJ~- Czytielmcy.
którry nie ~ą d,: p,crta_mi w me mBią po\\·ndu do ,,baw. Glów11ym c.:lcm tej k ią ·i
j ·st nau ~cnie poję · gmfic.myc h, nic wt~~- iwych praktyk prog~mow~uu ~•~~towego.
Z tego pm odu przykłady " h:j ksiąl:c • oprncc,\\ ano mk• ..1by b)1ł- Jak naJbatdzicJ czyte Inc,
_ . . ... .,._,...,. uld■lat

zrozumiale ontZ w n~kcórych przypadkach ~l~zowme ~ ~m sn&ti.


celem jest nauczenie c;eytclnik~ po,Kł ; umoth~ •en~e. :;.raco~;:a wlunyda ..mllellili
21N)W"'. z wytcorzys1an;c:m 111Chttektut)'. kt6ra noJ1ep1eJ pow, naszym

Jak wsponwelłś,ny "~lej, SOK_ ~wiera doskonały SJM1d a~ikacji. Szlie~ ~


tworzymy przede \\•szystJmn Jllk~ i:w1ezeme. d~~ celo~ c:dukacYJnych. ~hoctat ~
dosrqny w SOK jest dobry. to Jedruik . , 1m J~t n~~ zbyt sk_ompłike)W~ dla p.,;
cwtuj11Cycb. rworunic wlilSn~g? S1'~ll"tU apl tkacJt pczw ła. na .~ t \ ~~
n.ad Jfockm. Czyrelnjcy. którzy po 111~ ~ąJ~ ,~1 _ny ~1c-1et apbkacJ• • spra~' " -
guj~ $if DirectX mogą prż}'stosowac :,~gadn1~mt1 op1tllne "' dals~,ich rozd21alada de
wł 11.cgo stylu k,odo~ani.a.. w.e w~ysduch pn:ykl:.1du h za{ożono Je4nak"' u ~
tujemy •~n, pro ry szktcLet aplll<acJ1.

Kodo~wnie w DirectX owat'U kodowMii= w \ indows. Wseyslkie Pn)·k.łady klJda Ja.


pF~Ioi'M1nc , ł tc:j ł.$i~ cizia.łaj w dowolnej w«sji \\'~dow~ obsługującej DuecQ
~· wc-rsji .O 1ub no, szej (\\'9 ~ . T4, 21_<, \VanXP~. O 1łe nuz:_Z'1ZUaez~o ~
.,Wmdo, •· O:liJllteza dowolnfl wers.Ję, kt L ~ pos.hn!UJCm . P , 1e " '$2YSlkie aplilcac,
y łemu \'\ indow.s s ~1aaaj i'if Z lrU h p(Kł.slawowych Clapów: utworzen,e: okna, obsi1,
BB zdarwi i komunibtów omz zniSZCZf:flie okna. \Vsz stko to odbywa s;~, ltiedy ~
operucyjny wywo1 funkcję " 1 a1 n. a$:Z sv;iekt opli · ti,~zawiera pl'05łą fW'lkcję 1 Id ~
K.ied;• . -~ opc~cyjn„ wywoła t't fllD~tję, t\ orz. ~i5
obic:kl apUk~ji, kl~ ~
"'·szy ·tk,e dttruama wykony,.wne w olane., w tym tak:51:e rcfld~r WrJ1ue grafiki W ko6ej.
n}'Ch podrQzdzia.ł eh opu zcm p1i1<l w. kor:. lane v,r prostej aplłkacji. PHk.i te znaj~
i,; na płyck CD w katalogu od.Rozd:in/6.

Plik W-yiko-,wal,-y lh
'1':ktm 1u'(lb~11• I, Jest phliem n . !ów o" Jm iaw1r.:rnjącym p,ototypy funkej ~ wyk~
wan~, p~ez ~ tern o~~C}'Jn ~ . komumkuw~nia s11; 1. ap~ikacją. Spróbujmy prze.
an hzow c Je o naJ"-'ldnl..CJs.Zc.:. c1ęsc1.

Ponit_c;z. ~Hk ~lówko\\ ~' :,;.awkrn detimcJe WS7)'!1-1kic h podstawm, ycb l)tpów okiet1
~ącza się go mem I 1n,e \'-',;.,:y~tk1ch aphkacjac-h \Vindows. ·\v n~zej plika ~i rowniet
Jest nam po1rubr1y·
• rJC 1~ UlO'Jws :,

Poni~:.r..ą funkcji; ~) iem o~r. yjny W) , otuj~ " t:1u TO!plKZiicie dzi ła11ia aplik3cj
fun CJ 3 io służy du Ul\-vom■nia obH:hu aplik cj1, ·tóf) ubsliuou, tworzenie okna oraz
~ ndcnn ,: 0 J

PSI .. ł )

lk . AANł ar .
_.
ktora będzi.c wykonyw~ wszystkie operacje zw.-ne .
,.
kacji. ~ ie eo prosty pmgmm _ ~ i e (ang. z JIQełWlrzaruem ~ naszej apli-
.
w dalszych ro7.działach. ~ ) . la6ry będzie rozu.cmmy

Plik Apllkaeja,h
Plik 1P_l~kacjo.h _zawi~ dcfiukję kl~y dla naszej proslej aplikacji. w tóldz.iale
bardzie_, mf(:l'C~UJC nas s'konfigwowame ..........i#-ta.w.nuNt~ 1 .....__.• w=-.i Iy:m
- ..J- · I · kA,,!...,· ~ ..,,,,..,..J P •~Jl lllUOWS mem a! do
oas•ępnego ro~1~ u nu: ~ u.:my zaj111owae s;ę kodem 'lconu' , •
ią; e proste defi_mcJe m\\arte v,,, plilru Apliła,;fe,.h przcdstalQOO s!::; . .
reDdermA, Bte-

a)picrn• dołączamy plik wintkrw&.h zawieraj~• defmicję podstawowych lyp0\\' dan~


\ utdo\\t : ,.,,,,.,
1rc de- -Gi. -s.h=-
,ld~S ~ pl1k3~J1Hós a

'
K(i!ejn_ dwie ~ cjc _1.0 ko:n lruktor o~-destruktor, Są_ CJJle "~·oływanc odpcwiedruo
' ;\: LC ~~~~~rn,_ ob1~u oraz w ~•e ..1ego niszczenia. Wywołama te zwylde znajduj
s•~ ,...,. sektJJ m1cJ~l ~zacJ~ orniz w s,cktJ• c1..)'s-U1..Cflia;
~J1c:.
·•pl 1 acJ1Hc,st O .
. 1r ual -~1; {!C.,;· stao.

Pon~zsza funkcja ma ma.k ie :imo pne2in. zeak jak fóJlkcj B obsługi komunikató"' :zdefi-
nio11J.ana , p~iku JJyko'l'll'Wol,iF h. \ istocie jak pokrJzano w następnym podrozdztaJt .
funkcja P ocODs omum ata,.. \,, . wotuje funkcję ProcCbs rn atCM w edu umoih-
wieni :r..dec. do,vanfa o sposobie obsługi kom~n;JumSw przez aplikacji;~
lRtSUl.T ~lP:.PJ Prod.l>SK(Yil.Jn 3 O~( ,D C t. Ui k ~ kat, ~QARĄH ~Par .
LP~.~1111Pc!I~~).

~niższa funkcja powoduj e rozpoczęci~ przetwarzama:


v01d S dr ().

Poni;rs ze pole jcsr uch" . tem do okna aplik j i. Ut czasi.c: twon~oia ~1i.k~1.cji jc:s.t to
1dentyfi1mt-0r wykorzy · t wany pi-uz aplikacj za każdym ra2em. kiedy I słmcJt= po_,n~b.a
modyfik~cj i 1..awart~ ci oklla tub odwom.ni się- do niego w do·,.,,,·otnytii ed u: Ostami rrzy
zmienne zdefinim .ano Jako protec e,d p m, ab_,. urnijemo21iwi ni ·praw1dlowc " 'yko-
rzyst.mic ich p r~:z mny kod. T)'lko lasa pl 1 acJ 1 s a lub jej klas::,· podf"Lł(lnc- ntog,ą
modyfill;,o,,•ae pon· c.: zm icnne:
o ee ei,
Ił" rD ... li t ,
• · ,..... Mo"'oo J e :zrnie:nić nn Io.
0

P,om!s2e (JOie oW1ają l)Od. ta, owe Jmrameł~ ~ ' ru ol\;n • ' k "-

aby zmodyfikować: dom lny roz,n1ar okna :tphkal.':Jl.


long m_ oosie o os~.
1or,g _(JkNM,~osc:
.. libcji. Ta klasa stanowi podstawę
Pow)':tSZY kod samowi ~e~!,1.~!fach. w 0 -,.ępnym rozdział~ nieco
~ y e t i w kolejn)'.C~ .-:- ia unądżcni• Dir«t3D- W koh~Jnyich roWZ!i·..ał
deftn.ic,k klas)' w celu um•c=•~ pccyfiezny(h potrzeb kaJdc-j z icelrmik.. At:,,
,ozs.&CiZOIIO 1ę klasę w ce~.... S.~~stywana zdefiniowllfla tutaj kl k~
kOILIĆ Słf. w jaki sposbb ll\:-.1e wy - --..,
ldc.turt-

Pllk Wyk9nYWalny.cpp
_ • , za.w,em kod wnkCJt , a 1 n ornz: f1JJ1k~j• obsługuj ccj ~
Plik HyJo~-aln) .cpp pr,1; -znacztni~ to utwof"lA!fli eg:1.empla~ obtektu aplikacJl n..
k.afY. Jego .,_.stawo, c - · ".1111
,i,aliz..t wu7Jl\Viilrtej0 w pliku Jf)•k.mJWOlny.qJp.

wc:Zf.."ŚJlie; nlilru p11~łówk0,,rt..~O- ()wa za


(fil IO równiez dn!ącb!a...
Wlącunte op1 nc.,- J r . . , --ii:
wszystkich dcfimc-ji zawartych w phku H·mdowSi.h.
1ncl~e r...

Dodanie definicjti kia )' potrzebnej do utworze~itt -0bieklu: Zwróćm:Y u~~g • te ~


z rol9l"fZalliem kJas.y apl ikac:ji w kat.dym z rnzdzmłÓ\\. bfw1em ' w tyn; mieJscu ~łączat
1

ru1:glówelr lQwicraj y łinicjt.t rozsz r.lJOJ'ltj kiss :


lllC u=le ap 1~ CJo.1<,h

Two.rzym~ st~ty zn , glnbaJny ._,., skaŹ!ll;k do obi ktu ap~ika j1. (.km:roln;e ,,,,-ro~
:attienn}:ch gfooolnye-ł1 _1esL Uil"n wane 7.Jt zły nBV•')r'k . k"tlnak w t) m prrypadku. zrni
ta musi 'być dostfpnn w funkcjtt.Ch r ' 1n OnlZ Proc()bs , u 11 ~~1 ► c.., e. l.! 7,a1em J
rozs((dny ,... Jttek. Z""roćmy u"' g, 11:1 ro, ie myp mego , ska:i.nika h~ctt~ · si zmien~
w kolcjnyeh ro:lldzfalceh ~
st •c pl acj HGsta ~ 1katJ' sta - ~L.
W momt.-nr:ie w ,wołani.a funkcji 1 r .a1 n· lępujc utwm7..CI1LI! no" cgu t:pmplam
ooi "ktu apJik j1 , raz wywotanic fwrkcj i tmt ,.._, c łu rozpocz,e,a wła.-k ~w ego dJrJa!arua
~pti.kacji,. •unł:.~j Star· końC"l.)' dZI lanie w chwil i. kiedy :]phka j.1 je!!.l goto,, a do :r.a
cz~ni pra y. Z tego poi, odu po wykonaniu t go ""'·yu•obmia mozn~-t ?a ·miczy d.1.i11l
proVoffiu:

Usuni!cie obiektu ap1ikacji I zwoJnicnic p,n)fd7idoni.;j p;m1it; 1• fcm odUJc ao w.ku~)·


\a,,· l~m~ cles1ntktori1, ktory ll.1SUW'a dane" ' ewnętTZRC~
del~le(g_idlplf •atJ sta).

za~ k:~ie::. Y.'Y~ ~ zystkich dz1ahtń u unię.cm zy kh


ftO 01•_?DiU
o ~ć dzmłame ~unkcJ1. co powodt~c :r.akońc.:1.en;~ prngramii:
I w 1~ obii.:ktÓ\ • m*m>

re·urn O.
1
Jak \\·idzi_n-w, działa.n ie kodu w pliku I J' ony,..alny.cpp polega po prosmu na p ~ i u
terowani do obiektu aplikacji. Prv..-am.lli1J.1jmy zatem plik .'lplłk«ja.~pp jako ostatni
~.11wałck ułd1.1danki.

Plik Aplikacja.cpp
Zaprcxentow l'l,y niżeJ kod pokazuje.,...,. jaki spo...,ób 'f'liot.na sitwJJTZ}'i;; prostą aplik11cJę
s t mu \ indo"tw ·. N ił tym ,el3pie aplikacja pelni" Jedym~ podśta~ owe fun cje. w dal~
szych ro:zdziabtch dodamy do niej kod Oirctt3D.

\\''lączamy pliki n główkowe . B~dzte to pl ik Apli mja h ponLL!W:a-t zawier-.:i dcfmicje


ltt~·artości pliku Aplikac11.u:pp oraz phk ił)k011)'\~'Cllr11.I,, ponjtw~ apiikacj musi mieć
dosięp do funkcji ProcObsl· ~ n1 a• o..ł{)e w cz ssi: rworaeatai ok.n ~
•oc 1uoo ~ •cny„a1• .h·
·nclc. e ·.;;>l'I' aCJil t

Kon rmktor Jl! t prosty frgo dziaia.1Ht. to z ioicjuw me dom_ 1ntgo rozmiaru ~kn~
KJ:isy putomne niosą znucnk 1c warto 'c i 'li S\ oich kon 1n1klorn;ch poprze.z z3~1t:me
~nyd~ warto ·ci wl~~n)'mi :
~pi1KdCj1HoSL' . .;Ap ,~ccjiH ~ at
{
C•1 toS.-·t roi: ·si: !Jl.O.
= O· r ,, ..so\ se - 48Ci.
I
· ,. . : • · · · •-- ... -, 1,.,.m••n·1k'•t-..• "ri nn •· ylam; do aplibcJi
OZl\':&I firn ' CJL Stil!· nruil~J1UJC utwortcmc Ol"i..l 1..., .,, ,.,. , •· . . ·f ··: r ... .31 . .
i \ y yłanc z nicJ. K1cd ap likacja 01rr.yma ·orrmnikat do J."Ca „ funk J konez. woJe
dzialan ie, co 01Jmc:ra także znkońc-zt:nie dzi alania rpro_gramu :
'Old Ki-.p .~CJlt~Sl~ S c1r ()
.,. _.. ...

Jc-zefi udało nam ~ił m~'Orzyć ok1110. Jl(!Wod'ujemy. że sf.anje ię ooo , ·id~zt'lc:. J ·
7.j:ikicgó.Ś ;pow du nie udi!ło się utworz,. okna, ni(' ma sensu konf}'DUlY\"1'a działania,
moma załi:ooczył je w tyru momcnir:rc:

P'olcv.any nit.ej frngn c.-nr kodu putocmic ~ i 1 - 1ę "pompą" komunikató, . Pętla ,..+n1
pl'Zcl<~ liffll11nilml)' umi<-.,,.cznn-, "' kor•Jc.:. do ehwili uz)s •wia komw,ikaru o 2lllloó-
ozc:niu d,;j l3nfa _OU ). Pompa k01ńw1ikarm •.apcwn13. a, komunik ty są ~-,•syW,,
00 1""8Jlllllll <lhlJusi i«iRJunik:1161 . ICicd) pomp utr,)ma konmn1k.at
łanila., pęrhł v.-J,ih~ kończy dzfalan re i nkcj a kmicey prac .
mk<>ń=nia dda,

,r,, .
t..r .

11·at).
k~U .
• O, O. O, F,,f_,EP. ~').

'
JtGoijej tnljduje się kod funkcji obsługuJl\caj kornunika K - • .
.....:,aniu za pomocą globa.lnc:-J funkcj~ obsługa kornuni~ów o = ~ nfillJą tu po
llwi• wybór. na który komunHc1t cb«my ~powicdziec. 3 • , • Ja ~, <:h umo2.-
ikal QU t natomi.ut ,; tłuc ~ R mtrrtsUJc nas. tylko
koal1II! ' pi.lZOcQ pru:syhmc do domy.tlnej funk ·~ obsl i
tomunibU>w Dom lny pmgmm obsługi komun~katów ol)s1.•-··· _,,,-1.. . ą ug
·- •n'L .
dołY~e ou■11, Wlftlłc J
.ak . I
ztn1an11 rozmt'flru. p~ uwanil!! itp.
•~.]C ł'VlolOtawowe- opcnu=je

tJIESffl T INAP r C s. Af:tl)1 d : •ProcQbs mka a,, l I)"


ur. lk~ . ~ l~~ Pa )

{OJ.

I to Już c-alo ć kodu. TcT37. mu:2~m; go ~komp1h.!t\',;a i 7..obaczyć, p k dzi,a,~a.

Kompilacja i utuchamii anie


prostej aplikacji
lJfy1kownic r VC odpo,,·11.;cln ii: pliki obsr.lru mlx,c,e~o ( n .... wur pac , oraz
7.n:1 -d~
projd.tu n płycie CD Inni po,, mm p pwstu skompdo"»:u: phk1 1n'Xilowt: i slmnMlH•
do~ · je z. bibhotckarni k~md)_.lib u riz •ser ~.hb. Po ~lwmpilo\l.amu próbujmy uru-
chomk a1plikm:j•1o. Pov.·mniinl} U7:'r~ka1.: \\,)ntk1 pL>elob11 · do pokuan'.','ch na rysunku 6.2.

R)Mlllk6.2.
Bwtfwprr»la
ilóqfJ
Zt,. • lfflCJfl(
~ k/alJU2
80 ~ll•'fwtOIQIIIYuldlllt

•idania zawartości okna. To nie Jest bll\d. ł.azwycraj IPli,.


Zwl'IW:m}' uw ~ brak odłl\ . . komunikat odłwiet.ania (eysowtm1a) zaw~
kacje $Y5-!Cm~ Windows ~~~!:a. Poniewat doce,lowó będziemy „ryso~-
1111
w ytuacJ•• kiedy pows.tłJe_ kod. l«óry słuzyłby do odśwad.ani mwaftości Oba.
urządzeniu Directl-';)• pomanąlc~•laś.ci kod Direct3-D. •~ rysunku 6.2. widać, f.c OllłC
\V nastg,nym ro.ldzj:dc dodamy . . wy • , sposób typowy dl:a apHkacji W ~
oklto aplikacja l'lie ~widla swo~eJ :'"~osc;;ooe na ~ ~ n i u DirectJO.
Zruni mk-go w: ey. tlte t lemcnt) bę""'l \\I "
. I ol"Ylm dzi truma OO;Sli="J p~ rej :iphka J1i. Zwróćmy 11\\'•o.
'a nn:unku 6. . po no a g •.,. . . . ~· . ...
• .f... • _ Jl , Jw. 7,,,.,.,..IN'I Jo wykPilamil zawa rt(ISiei. · a raz1t •• •
lli1 fllkt, te me ma kuuu : ! 1 ~1:lo-

Rpunak ·6 .3.
Al.l;.'t,oJm r.if#iłanm
pr-osl •j '1pl;łaqt

An,aliza 1

.1

Dlaczego to zrobiliśmy w taki sposób?


1 1

Gdyb m p1:tiłlh własną aplik cj4c. z pewno cią zrob,1ib).'my lo inaczcJ, \\' ('11cni.· ·:t)
ro1"-dzuil'.e pn prostu prab ujern s1worzyc aplika ; · \Vindo\\ s n:a111.HJł\C . najpros.-tw
funkcje. \ kofejnyc,h rozdziała.eh klasa M l koc 1 os ta ~d7Li.; v... •kon. wać "": Z)~,:
podst:iwowe działaJli~ utnotliwiDj~ r141m koncen1ro,,anj ~1 na b-rnficc f unk j 1 !Ja,r
umii:ścihśm w innym pliku ni;;,; Id s 311~1kacj1. r,onic"'ID' gd1•b. b ty une w tym sani
pl iku, sytuacja skomplikuwarltlby i~ w mom~nc1c twor.lcn111 kł a podrzędnych kl
KA.o I 1 a J Ho-st . Umrzymy,, nje ich odcb.aclll] ie u.-.nacz • h! mt1my mot.1iwo t ZJTiil11~
kJa,!;y, której i:gz~mpl.arz twnrzy fiuik11.j11 1 a n, b~z kanir:c1nośd modyfilkacj,i kodu
w phku ApJi.tac,a. pp. \\ls;c lkic ile powody„ -yt, ik !J z fokru. t • tworzymy szki Lcul
widu ró y h apl1lrac,ji. GdybyJ.my pi~::.1I i pojedyn z ~ pl ikacJę. m gł i o m. poł Q .
~ 11 nc funkcji;;.
Ruz■!rlal 8. • K.,.,,...rac:)a łnldo.._. I PIDlła ••■mela WlnD a

v,,r tym rożdzi fe -koncentro,, aliśn )' it wyłfl! znie n11 stworzeniu pr05,t.ej aplikacji Win•
dows. Dla do~,,•ia~zonych programistów 1cn rozdzi!II jest po prostu poiw1órzeniem oraz
wpro,w11cłzenicm do prostt: o 57.kieletu, Ol innych ro~fal rl!n doslaroza w iedzy na temal
najpro - zycb aspektÓ'-\.' programo, a.nin w ~ l,cmie ·wil!ldO'Uii,. W nilSlępnym rozcbi.ak
rozwiniemy k I ę l 1 acJ 1~s·t i wprnwadzim)' l~ciw;· kuci Di11Cet3D. Na. .razie:
powtórzymy najważniej„:ze punkry porus~c w tym r~iah::
• DK v.i1-ra do~ z rgu.izo\\·alli)' · ~ek.!1 ap1ib,cji. T, orzymy wh ny ·el.et
by móe łl11wo wytłumaczyć kluczowe pojęcia.
♦ OK z w1cra 1akżc wiele przykładów, które S<tpernoc dla ]JOOZl\tlwjl\Cych.
• ysr m opicrocyJny w c lu uruchomienia apl~jw wywołuje funkcję L-:i ~1n.
na..sZ}'Dl szkielecie funkcja t'I 1 1n łuży do urworo:nia egzempla.r.m klasy
aplikacji.
• Klasa 1 :1CJ1 os a definiuje n jbanbiej podstttwowc funkcje. W kolejnych
rozdziałach u't'-i.· rzyn,y kJ asy pochodne kla:.'iy KJI 1 dCJ i na. które będą hl1ij·ć
ł'lnszym t: lorn .

♦ Aplikacje \\'indow~ olnymuj 1n ormacje ._ ejś.ciowe oraz. po, ceni


za po 4,,.-dniclWL!m komunilk tó,; '. Komuni_katy te ą pncl, ar.lallt: prLez
funkcj e obstug1 ·omum~atów.
• AplikacJ ~,,.,.L,r-,M•1a ,, rym rozdziale j l.! t pre1.'11r:sorem wlaśi tv.-ych aplikscji
Dir«1JD. A by dow ic<lz1cć si~ wi\"Qej. kont)'TIUUJffl) lt:krnrę.
Rozdział 7.
tworzenie i zarządzanie
urządzeniem Direct3D ,.

Ce:tcm
w iJ>Op1'7.edniego . lu bvlo
._,,. k te· . h rozd:zi ·~ stvloncme · prosteJ· a.phk.ar::ji
• \\riodows.. po co. alb,y
~ - o ~n;,~ ~•ałach móc całkowicie skom::~troweć się n~ D1n-ct3D Zanim
...p:rzeJd~
_ . o· do ..orna.wiama
3D wLer-'Chołków i wiefoE.-.,.,t.L.,,
~ ~,.. li\n
r"'w1em • k"I'-- ó ·
I ~ sł w 00 ~ t lłną-

. • , ~ _ postępować.
11.L&Dl8 1rcct oru postaram się p kaz.ać w jak.i 'Sńl'Wób al 1, •
Kod umieszcw tvm „.1....:a1 , ,......,... n e Y z nim
~ w "' roZua ,e 211llJdt:a~e s1ę ria płycie en. w katalogu I.Kod\Jłqzd:ial07.
Pr-zed wykomm1em rendcrowama. ontówimy na.sh;pujące :r,agadnienia:
♦ Omówienie urządzenia Dircct3D.

♦ Utworzenit: obiektu D3D.


• Sprawdzanie mozliwoś.ci wządzenia.
♦ Utworz,ente uw..ąd~enia Diroct3D.
♦ Odtworzcn ie U11'8<:onego urlądzenia.

♦ ri :tczcn iC' ur;ą~cnia.


♦ Rendering .z v„rykorzystan iem u12ą&cnia.

♦ Zerowanie urządzenia.

• \Vprowadz..:mc no..,ych poh-c do szkieletu aplikacji .

Czym jest urządzenie Direct3D?


Każdy interfejs API dot)·c-zący grdiiki zawiera pcdstawową konstrukcję. która \Jtr-zymujc
ogólny stan tmJ<4,;ji rysuJących. J~eti programujemy z "''Ykorzy t:miem urząd:,..enia W1n-
dcrn,•s GDl. Je I to kontekst urządzenia D . Jeżeli programujemy w j~ ku fa" jest ,o
obiekt Graphic . W przypadku Direct3D jest 10 uriąclzl!Jlic DiNct D Lub - posługując
się tcrmino!ogiq interfej Il PI - rn, rectJOOev1ce8. riądzcn;e 7,art.ąd7...a ''fli,z)ł tkimi.
operacjami, pCK~\WS'Z}' od zaalokowa1Lia pamięci tid<Stl.U)' poprzez mmci~rtc transfor
macj~. at do stanów micszan ia. Zadsnia te ,vykonuje wiele metod Io, rect3DOev 1ce8. le
w fym miejscu nic· będę om:.wiał ich szc:,xgółowo. Zami it iego. w kUdym mz.dliale
~ " . 1'NdJIIIJ ......... ~
kk" __ ~ wi~ kiedy bt;d~ mówił o tcblUfaCh. ~
nqRZCOIUję r.e metody w kon•t. 7rectJOOeviceS.. w l)'m rozdziale omówi,ny ~
metod)' ~ tdcstW1lffll 10 • ·~
, 1. ~
_...,fugi sa,neoo un.ądzc=ma.
ra·orunull 0

k..im"snO w labeh 7. ! .
Trt;· podsta\~·owc (}'PY urz.\!die,, po
.I;

~ród cych tne«:h typów. lii\L jest najbęrdz;~ej u recxn?ID urr.ąd2t:nie~. IH)lliewat
~yko~je ceJer.icję P?łto,.\"ą. 17.;\dzeme _refercoq:1ne (REF) sluty Jilk~ ~
timkejOtJal□t" uriącf2',oie proJcktowe dh1 progr.ltr11s•ów. Oznacza Io, te ~muluJc p_mgra.
mowo ,,~tkic mo-iii~·e, funkcje Direct,"(, ałe 2c .mac--zną s,1ratą wyd jno~i, U ~
programowe mi,xe- wykorq·tyw renderery program,o\.'-'e dosta\cvcó,.,,. :cewnętrzn)
afe na razie tałdc n.?l'ldr:rol)• Dje I\ doslępne. Przykłady :lh"'arte \ tej ksiątce dz' ·
pop WTiic z ur~njem dla kart graficznych z.godnych z Direct 8.0. Czytebiitj
nic posiadaj ey b:r1 o~ługuj cych fimkcjc wy·.r.s~o ~-du. jak np. med1ani:an~· ·
"bader, a.by ml>Aayc dzrałan ic przykłsdó'lo\•. być może ~~erą musreJ~ 5]<onysta:ć 2: Lll1ł
dle-nia il\'.:fc.-r~.ncyjni:go.

W tym mmziare dodamy fun~jc cm. ługi 11mld2t."11ia do is rnic1ącej ·lasy ~ 1 acj1~
l"ni'.~.my uv.•agę 0111 m~ ie ~i· lworzymy podklasy, a jed~tnit: \\'f)m,vac::17..amy doda~t
funkcje ~ta'i\row.c w kodzie. któtego tworze.nit: ro2poc-zęli ' ruy w pnpr-.zednim roz ·
Pod ~ome tego ro~dż,atu ~dzicm~ mieli kompletną klas~ hazm,vą, na k1ńrcJ pOdstav.-i
~cł-,l--iemy rwo 'l:yć kod pnsze:zi.;gólnych tethnrJ.: .

Krok 1: Tworz1111y obiekt Direct3D


Rozddał 7. • Twonlanle I a,.n'4 • _............ Dllect3D li

l(tOk 2: Dowiadujemy si9


czegoś wi9cej na temat sprz9tu
Obiekt ~i~IJO z.awwrcn,a. \\'hiel~ _metkod. któr! można wykorzysaac w oc:lu sprnwM<Cnia
mo.ż!iwoSA:1. sprlrflł. (:J c w11, s ;om;entruJę s.ię na dwóch naj~ejej \\.'fkorey-styw:i.-
fl)'Ch tunkcJa h: Ge Oe\l ceCa ps oraz n Aclap- e es.

funkcję ~ Dev1~~aps ~o~_wykorzystać do sprawdunia mo"i,"'10.Śti i<a2tk"go rodzaju


u~ma. Pon t:łeJ 2na.,duJe 1ę prototyp fuokcj i oraz przykład~we ms«>sowanie:
5.ULT ID ee 3D8 . .Get v1ceCJps(U! T Aó.tp er. DJOOEYTYPE h'~ Ui:1Zet'l!1d .
D30C.APS8 :t'.OtlU•'.taóZC a),

OJOCAPS8 ziUrzadzen1a:
E )''' - p030 -~tDe·ncc<.ipsCD3MDAPTtR_ F'.;JJLT. 0300[, PE. HAL.
¼)zlllrzadz ial . -

Pierwszy parametr okii •1.a sprawd7J111y adap1er 1ub kart • graficzną. ie mam .t..aJniaru
dokładnie opi ywać · ste,mów z wjeloma monLtomrni. zatem jedyną spra,,.dzaną km.tą
będ ie karta domy ' lna. Drugi parametr okr~ la typ ur.lądzt:mi a, kto~v 035, ioteJ'\I.! uje,
naromiast 1raec~ parametr o:macza struJd.11ri; opisl!ł możlh\·ośd Ul'7-.i4dzcnra. ktor.,1 ~dzte
wypełniono prLCz wywołanie funkcj~ . Możliwo "ci wymilinionc w tej 1rukturz dcu c;r,ą
\liSZ}-~ktch «:cb ·przętu; począrwszy od maksymalnej lia.by oŚ\Vieth.'ń. aż do obsługi,""'·:io j
w~rsji me h'łlnjzmu \ 'Cr1e • hadcr. \1 k~dym rozdzfale empi zę. w ja.'k~ sposób mo-.rn.a się
1

upewnić, t ur7-.ądzr:ni • obsług11j c okreś1oną technikę,

.Pode-z.as gdy funkcja GetOe- 1.nceCaps prawdza mntliwosci uraz ograniczenia ·prz tu.
funkcJa Er nAdap er · s :prtnvdza rnoll iwości zar.t,ądz_ania sarn:i,·m r.::kranem. \Vyszco;-
góJnienie do~pnych tl).'bów ,,-yś,vier1ani pomaga apl; a ~i ,, okn,"!ilcniu rozdnelcz ~ci
d:ranu Of'dZ formatów pik ·cli dostępnrych dfa okreś.fonego urządzenia. Ah}' okrdlić liczbę
dostępnyc;h trybó\l\'° , ap,ikacja mo1:c wywołać funkr.:j Ge•, dd terł-'o cCou-1t. Prototyp
funkc:jj pokaz_ano poni żr.:j~
11, 1D1rect308 Get:i.r:Japte, .JM: ·1t(Ul .r Adapter) .
.W~ ID1 ce 308 En Al.lapte· iPsCUHff Aoapu·r . UH: Trj . 03001SP1. •

Pien,rs.zy parame1r jest takim ~mym identyfikatorem kart)·. jak I w 1kor'Z) talL rny , funk ej i
Ge Oev1 ceCaps. Drugi p.ar.1.mlr!tr identyfikuje, który tryb będziemy sprawdzać. Jeżeli ,; ·ar-
tość le:g,o paromclru Jt:Sl większa niź wynik działania funkcJi tetAcldpte ,,,odei:oun . V."'J'-
ko_nanie funkcji nie powiedzce się. O. tatn; parametr jest ws~ikiem do suu1,,.iU()' op.i-
su~ tryb \ wk.11ar!ja., która t"trlzie wypetnioM pnez tę funkcJi;:. truktum 1dcntyfikuJ c
szerok ć. wysokość. \\'spóle-✓.} nnik oc.Hi"·it:ż.""lni.a raz formi1l piksela dla krciloncgo trybu.

funkc,je Ge oe..,ceCa s omz En ~dapt:er odes poma ają mak_ mal nic '' Y~~~tać
molliwo,ści prz-ęlu oraz przygotować naszą grę do wykonyst~1a ' prz sz~~•· \\'1~1~
stuszy,ch gier w dalszym ciąg1J slo~y ~czom. ale gry t s ogran~c-A!om: d · ~d1.n:!c7~.,; 1
640'.11'4&0 na,\•et na naj 11 \ zych k rt eh. Powi 0111. my t~ zaproJ~ktawa _n::iszą gr • aby
umo.tliwić ufylkowni.kowi wyb r ·po tr d :zbioru rozdzLclcz.ośc• ?bslU;1s1wanych prz4;2
llaSZ'ą kart Dzięki temu ufytkownik rnoże zadc dować ~posobie naJleps~ 0 '!I "'Jfko-
r"l.ys~nia spr-.&ętu. Kiedy j uz. po1.naliśm}' rnotli~ci sprz~tu. czas przystąpić do utwo-
rzenia unąd:tenia.
Pi1.·rw-sa: c:nery parametry dia ułatwienia mama zm1,T'leĆ ~ ~ b ; D~Y iCE_r.JfA .i:.r
PAA ~· TfRS. Zn zenie pieNrszycll dwóch ~euów Je~t takte samo Jak ,, ~
nid1 dwócb ł.70 cb. Uchwyt do okna de fin,UJe okno. k.-tor~ ma wpływ na nffllll&.oo,__,,
~~ni 11. Ragi ~iałani ~ta\\rfono w la~I i 7.2. natomi st w Lllbc I i ~ -~ opis.ano Pl-
mmeuy p~zcntatJJ. Ostatmm pa.ro.metrem JC t adres zwracane: o wskam1ka do
utwommcgo UJ7J\dzenia iju.ełi wykooanic funktjj się nie powiedzie; jest to wart~
Dx1ara11ie lU'łlldlc,nia w d®:j mieae je; t opis.ane pr~ez dane ze ta.wione w zmni~
n„c.h pooiuj tabela h.

Fraga1
....... , ... TwotUnle I Dl'l'.aldl•II UIQ+ •
e:a• DlreulilD

__. T.& s,nłlwo OJDPRESCNT_PAR.AMETHRS


Ople

Defm1uj,: s.zfflliko bufoi'ill 7.łpHcii-wcB«) ~11,;{łg_ ~ hflN) d la apl1k~ji


~n_~••n1;1wyd,. W P ~ pl'lk Ji d;,tjoJaj,l'~eh "'' aknit- o t t t ~
011.1IłL Ull:e~'t1\!Jl: ~~ I('

Ul icl &i l er 1 t: f'1tn; pQpncdni Oj!'i!-,

n~mr,,~T Dctinu.1JA1 piks~li ~łom zop. we-g.r;:i, dJ pl 1 ~i pc1nOelfJ1uJoW)'Ch,


foffl'l,1,
rFo t W pr.eyp. .dlru: ńpł1 l;J~_dl1 ql('h W ob~ •__gządi:e-ni,: " ' ~ i;IJC formal
btetQ.ccsa 11)1:iu \i, . ,e-tlal)t
L~l>:i. biłforó:W Zi!!p v.")'dh ro, 1.2 lub "3). WanoU: Oj~ nbo...,,anaJU. I
Z\ 'i ll1C' h zh. buforow rł3~o~·cłi umo2.li.v.·1 ur.ą{kcflill ~ll'l )A'11Jll.1:
do i ll:nmtyv.n«?SIJ ~ r . i z:ap;~owc-go \\'l ed)', gdy· i1!_1I)! buf~ mp.~ Ji:fl
wy:,rnetJ~ n.i dm:i111e. •
Omtśg rodz!lj mut11pro'b'.lrov. nU1 (WH~ ,. A'b-y i1r.,,,.., 1 cdzl.CĆ si
j aki<: r-od.za,e· ~j'flc•. n,ik-J;y pn , uzo m1.1k~ opisu rno"i.~ii
tir.t~~ ~;, Rodzaj muf1iprobkov. n•. mOżJU! wy _~~ l.)'Ilro w preypadlru
usnaw,ema e-lit:m.eTitY St,,~r Ail. "1111.ość .t.PE.FF'T OIS(A'.
Pammctt cen okres , r::ey w mon\\.'flt:1, pcu-s!DJ11,1 >"tb ILl d.r-"111 dJ.:111C ce
1.: htm v..mc \"'li'.nn~ u.;,u,;,_-t i7FEC1 Ol' :,.. (KlWOOuje: naji •i(k.'"14 wydaj n
pomew:i) !5f)Qrwi.•1ft, 1t roslnJe- ~"Min.a. mJ~lł"j d.aj n;_L 11:clim~ J 1 ~ ~1
,iv fH7} ipJ.dk u ~ plik- C] i dria.laj ~ ~h \I, ,olrn1c J1..·s.Ho IK'hW)'t dLJ I na ~h1'.ąc}
j:lko obeł! ·1 docelowy dltt 11~r.l.{('nt.l
w T.a flaga dc-fintujt. e--1.~► apbkuq-il dzial::i w olrnic-, e:-1.)' 1r:~ Jt: to itfM,i. tj.
p,rlnO('krano
W pr.ą.1)Qdku 1.1St:1'1.\' tL'1l.1ai ll:J Oa.~ 11c-.,r:;idl m1c J~ odpo"-1aizialn~ za IJtV,orzcme
buJCtr.i gł,ębo:kos(,1 I Zlt"Ząd.zan ie mm Jc,r:I j \\' ILl"lt CCJ n ~ j ""'Y'ł~I . ,1, •
n: ~t ,Tfl) '"' 1,1.hch di:m('nt struklury m11Si byc usUwi-ony na pop1a.wny omra1
Mhll~;AT FormaL "")'k~ ~'"V. .an~ w pr1ypadl-..u. ~dy popnc-dni ekmet1l S1ru}:n1.f)
A!l~ St 11Fo, usta.w1,:1a.__., na \lo,i]flo,,;t 1!i.. r MlL'-L tt, b)'\. (lr.1\\'tdtov.)' t"'óm1 L • i;Mciśi.: , dla
ur:zad~naa
F S ObcLnLt:Jt.'dyną Il aga (mm od O) •-5t D~!I~: (; ', •"'i_tOCł:AR[_ - •,St.iHE P
Flafl:ł t.J okr dl.,. Cl) bu for ,.~r,; ~1w~ mm:rtlt '1.ah 1,;mi, :tć Ogol11ll.' bk,k(W,, rm:
hufom zapaso"' ~o v. pt; \\ ..1 n;, c ~111:nii.: 1i\'} daJnosc 1
l)1 :)plrk,11.--ji \l1i.sl J:łC~•i.::h \Io O ·m~ til \\' .Ll'\4~ il1Uc"ti by..:- u5CJ11, ioo:J n fll O.
lJfo ·•Plil-.::i,.;ji pdn~ <.::krano1'\-ych waJlt-..-.:...,: l:1 J)I.W,innJ b-yć eJ11~ 7. \l. a.rtos.c,
1v. n · lr'I, ·h rr■1i.:-1 fun "('Jl: E ' . lstni.r:j-11. mkżr: dwu:
"'·artOM"• J ri!4ldi IHt i\ .in..:-: J1k- p; i_ , W ktiJKJ phi,..· ·,a.
-
'-\Vhll:li'l",./\b~O'SeOiłC. \'\'1r:/,nl;)Of:Ji.Z • ,.,._~ r•, _r,.
.,D'"'f T ot,..L_ ' .' "l . I)•
T •

iJ.,..,i: .
phk:~ 1a '"''ybu:ra 1u1v.')•;.!$L1 m tli w. ~'°. ·~ Lld~"'-rte-ŻJI!m
I.Jl Ta n.a ok.mia, -r.~ p~1k:B.! ~ h\:dli.c oc;re 1\\ a..ć na ~~ót p1arnkl w pl{lm(:
J
follStret'n P.re:sent.i l0oh1 rn~ :iplll..KJI dl!H ł~j c_ eh\\' f nic tl"tl i:lct1k:1ll ffi , til1CC 'Y,U~ Cl
al - Inne wart~, m ,ie(,J. z.i. :,;u,· w ~ ; 1 ~11: ud dZJ I n 1..l natyd1m ;is.t,:i, ' l!ll.O _
4skrowmk n~ i;,tk:i:1 do ~..;11..:ltwm•13 m:ik.5> 111.31~~o. r6n; mote 'Ił! yn ,.,
do c?.tt.~rct:h pn\\, rMów p] 1n l..~
. C., U• Twllll'.r ....llł

Krok 4: ąd ■I
Odtworzenie utraconego 1
u,r z . zen1a
C2iU,3R!i mo-z~ 5,i~ .;;,,.darzyć, 1c utmcimy u~e~i.c i będzjerny c~ci~]j je.~ Lw •~
Przyld.ad('m mote bfć u~b akl:yWn~i ap111beJ mpelnoemnaw 'lJ_czy l!rumma,~
11płtkaf:ji dzi:i.łi)j «.i w oknie. Utram ~dzenia 02m1.C7Ji. .t.e d:me me mogą_ być~
wwane do c::fJwj lj odtw~m urllt(iz.elll3.
w nickl~h, ~cb Jm)bujc $t~ obćj~ć ten p_r-oble~ '?Prz_e~ b]okowaailf ~ombin
1:Ji,wis oo uni~mD2Jj~1ia plZiełąc-zimw apl 1lnu::J1. Z kilku powodó"1.' Ji:st „a
J;fff. '[:ab,
wleś(:iwy s~b posrw,owan~:;1. Po pic-w.·s:r.t1. nic: mólt'l :l dopLJ z zać do ~1wi.cji, kitd)
n:ity~mi:a.c;rQwo v.'}'sbkiujil.(."e okno pnwociluje :za~•,,ie iłl:Dme gl')". P,o dm ie~neytkowf
;i.o/fde deneiwu_ią lf, kied_y plikacj[) próbuje iJl~gumf:'" 000\ll.'I ~ją_a; Uindamo,v.·e r~
di11 ripl~i Windm-.1s. Najkpfoj ,ił.-sl mmc.zyc się sposobu odm•arzania urząd:zt:nfa.

Aplikacja ma motliwołć ·pra~ d:«njłl stanu nrządziea1a popr.n:x "i"VOłanu;: fi


res C~r~t 1-.,eLe·i1e l:
T f(hr~30de'.i1ce8 S'tCooper11t 1•.ete·, •r( ):

.rc~li , ryv.-ołani~ fin:iktji TestCooperat 'I Yeleve1() nic Vo' iedzie ·ię. t)mac-Z"J. t4.l, :u UJ"?t
4llt!nk zouo utrffl:OJ)e i K-mdcring nie jtst mo~iwy. \~ ~ mmm:ncsc zazwyczaj dofim
~ ZOOZt."'kać i Wf\''ołilĆ funkcj't Tes. Cooperat 1 ~vie t {) pwmwncc. Panti!\',,'a.ż rend •
nic j est motłi\\,'f. aplik3cja mic powirm~ przehwrzać kodu Z\J.'iąLilllc-go _ :tj's.<ll'iirani
potu~ at byfob to n1armm...·amcm czssy proc~QTil. Zami135t tego mdcży czekac do cmm
Jiil(.ld)' fu? . :ie.Tes ~Coopen1 t veLe-..e l Z'Wl'6ci "li arto§i J□ERR_JE. , ( er NC TRĘS.E T, W ~
rm;,men~u: a.phłil e~ po"1in11a spróbować wywofun icB funkcji Re Sf-t 7, ząpis.at1~mi ~
mt:'tmmi prieztnta.cJ,. ProEocyp W:j fulilkeji je.sł nas•ępuj[tcy:
~Sl.LT J .rect.lO:łeY1i::eB: .FleLU~ESc 1 _PARP.HE EAS r~~r r.)'Pro:J~~!ltac.11 ).

ołtm it ft:Inłccji Rese powtedzie ~i.;, n. ~ i odtworz~n ie ur..r.ądzcrua i ilntu


}~"Cf! W)'li nd
będz1t· mo61 a \.ll ZflO,\\r:if re"'dc ·ng J -1.-1 · • - . ..,.,. .
d0 .. • . · ' ',l n : i;~ • nie. pow1111 n poo~e-kn.ł I próbo\'\'.a: · ponowM
ehwd~ "J~Y. wy,.,.{'ołame_ PQWJ(-dZJe !j,ię Iub do cznsu.~ kiooy upłynit:- bcllony lin::1
casawy _Ponat:SJ Przedłt.ai\ iuno preykled t ·go procesu: •
T • r-z-19cJz030- =- es ~ r a 1i,,ete..,el ; ;
r lee~ - "3tillR_DE fCELOSl )
{
11ell-iyrn - DJ RR_DEV rcE , ES. •
I
J ~lK - INł.JrzaÓil.030->T~tCooper4 t1 ~euc,elC):

f (F~[LEO( zadzOSO-~e~e ( Por~~ r~ l"'tz.en. d~j,)))


'li ni • OJOEf;i"_DEV CCL6ST.
)

Właśnie

zakoóceyliśmy
• .J J d
omawjani-e zanądzaniern e·""'" • pozo.
•.,•-· • "1~dtema,
.......,...... m hlillltm11
stoJIS Jt:S.ZCU JC.-"ucn YO atkO\VJ, bok. Na koniite tneba ZlltSZCZ)'Ć u~dttnie.
1

i e urząd.zenia
KrOk &: Zniszczen1
.Znis~z.enie uratdzcnia j t pm te. To.c-bit, po prostu wywołać flllnkcj Release:
~ SUL T IOu tJOOe '1Ce8 FI<! 1l!Jse ) •

wrvdru1ie .•ej ~jri p,M~'odujr.: _Z\"''o1nit::nic_~ 3 . at.: dobrym zwyemjcm jes1 uprzc-
d~ zwolni-łi:me wszysdoch obtekl,6,,"· r.w1,ązanych z. ~117..ądzen iem. ~kich j a'k tek.Stu:rj'
cz;y bu fory wicnwholkó\v.

Rendering z wy1korzysta,niem
urządzenia Direct3D
1

V.' popntednim punkcie c1mA it:d;i:idi my sr1c. jak uc, orzyt UJ""140ttnte. 2 którego mogl t-
byśmy skor~)'sta " do n:ndclingu, naszych doskom1rlych sc-e.n 3D. ri~ wiem jak Vly, ałe
ja już n Li: mog~ s1~ doczekać ! Po ut,,,•orz:enm urzączem11 i upev.'Dienh1 się., że nie zostało
ooo dll'aoorie, mote1ny rozpo\,;1.ąc remłenn~ na..ęzej • cc;n • za pt,rnocą funkc-ji Beg1 nScene~
ESULT O N?Ct300e•, Cl>'~ Beg ·oc11r-ie< ) .

\Vywobmie rej funktji inlc.>rfflUJe urządzeme. że mam)· 1»miar rozpocząć remkring se~
ny. Urządz.coie konfiguruj i.: w,c\, nr.;tr1.q~ :,,:,Lruklury i ocz,ckujc m• ~,nsuukcje. Po ""'""Y ł.anau
wseys.tkich instrukc1 i d,a " branej scen)'. apl ilacj il morżc wywoł!:lc funkcję Eod~cene:

Z"iróómy uwagę na La . z-e scr.;11 01c możm1 ł'-BgFJ~eżdżai:. Aby roz,p()Cząć no~ą so,:,nę:
nmsimy zakonc:r.)•Ć 'ic;t:nę i~nprn-:dn i ą, Zazwyczoj dobrze je ·t umieŚ(;1t w poJedynczeJ
scenie m3bym:ilną ~i z.hę in ·tmk~j•.

Po wykonaniu rem:ferm,\t·:1111..1 set:ny. aphka-ej a in unm1jc urządz..;oie o łym. «: nalefy wy-


śwh:Umć grafik~ nil ekranie. popra..:z \\■ywoł11nJe funkcji Pr-esent:
HJiESULI J01rectl00ev cea P"esen (C"' IS Rf,C rostlrocH (! ' -

• T fl[C ro.Pros. DocE!la,.. •


noOocel ...e.
A r,,Qos?.P11 ec.:.ysty),
._.. ... TwOi• .., ......

1 powinny mi~ warto~ NULL (Ollltlli


w większości ~ ó w ~ ~ w a n i e wartoki l powoduje Wll0ielailiłl
zawsze powinien ~ « ~ oknie określonym JHUZ ~ ~:....~
1
1~
całe'j rendcrowanc:J ~Y " ~ ~ w e g o jest możliwa. ale z mo1cgo oosw·iadc::aiiil~i
Zmiana prostołc4tów żródł?~ć -Ab rcnckrowam1e scc:ny l zaprczentowat ~
wynika. ~ łcpiej jest vn iem s,.,..,,...... ~.. ~
nit znumiać t~ parametry·

Oshltm m elr::mc:ntc:m IIJ kfad:inki


·
Je.Sł , n d. emc ni Ina czi.: ·ć rendcr ngu -
fu zero.-,.
- ··~
urz~dzeni

zerowanie 1urządzenia
1

Tabela 7.4. Pt17a11tt•fry fimkji Cl,..ar


Flq:a
Ołm..'{l.1 hobę pooprostok(ltó~ d1..1 Wj,'24.:rowan 1 • \ n110-;i.:: O powoduje ~ow.nrJc
IL-go bufor:
·a.1Jt00 do podprosto~ą1ów l1C'lba pro-stokąlów mu i byi; rown "anosci p;lml'.Mtn:
L,c1~fl' os .. " .W o. ć 1L p(moduJc '"'P't:ruwanie calc~o bufora.
Okrdla~ które bufory .nnk:r, \'1-')'Zc.."fm • ć. O pw lcza 1111: wrt11~1 10 3CO...Ałł_T · ,
..1. ~AA STE L LlfiU ,.. J. r ,• ZIL '"t Ra!! tych ltcim.l. l.lL)'Ć 'Io\ dowolneJ kombmatji.

W w~._ -ioser :ipłika11i tntl!~UJł: 11as t ·lkodocd1)wy bufo ram ·k oraz bufot Z 11
O!OCOl~ •'ołcr Koror l..lzyty do ,\')IPl..·~fmi:nu11 bufom ramek
fl. r a Gleo1 W:uto~ć wyk.o yslY'\'31')3 df) wypdn, •ma hufom f!łę.:br. k,t to 'l-\.'3r:10~ ;i; zakrrru
od 0,0 do 3.O. ~ atJ \l.tY,.\'ilJla Wru1ó$Ć 1•' I ,O,
ks:4 co wru1~, ·ko zystywan3 <lo ", ·pełnienia hufom rnJt~·t.-y. Poprawny 1„,m.s
\'i.iU"to~, z.alr:l)i od bitu gł bj bufora m. tryc~

Podobni~ jt1k w przypncllru funkcji P ·esenc. zazwycz~j oajlep, ·j "}:'Z~rowa · c ht


ni~ Z3Jmować 'ię pos7~~gółrwmi podprostokątami. funkt:ję r e r ".:wotuje ię m
pl'Zt.'.d n:111dc;ri11gic:m sa:ny w C(!(u \V)tzerowari i slSllu, ale: moŹJlłł także '"1"'vo'8ć ją "'
sceny. c1l>y wspom~ Oper-dej ·· z matryc~ lub efekty głębi.

T:i.~ wręc pr~~' iliśm)1 \\rsxystkic fr,-41gn1enty potr.rebm:, at,,, n· zt= ur,,ądze,ni~ popr.¼Wll~
dZ"tałaio K°4:1 zródtm;y lwor..rony w 1y111 rozdziale ma za zadnl1ie uzupelnit.:nu? pod u-
wawli.-ga_ Yk1de1 u. k1?1)' roq,oc~liśmy \1{ poprz>t;dn im rozd:zial •. L.an ·m przejd.ziem)' il:\
necl}'l\ rs,tego re<Jldenngu, wróćmy do k:odu żrót.lfowego i z.obaczfl1'y, co się znueniło.
7,•TWDllllnlal.za.sr l1u„ _,_e .........

Ponizsze metody -ą c::hmnil'.im=. pon ieu.;ał dosC~p do nkh powinien być rmotLi\\,Y t::,•H;;o
prze;z demtnmy tej kfasy oraz klas potomnych:
roc.ected
~j~ ln1cJuJl130 inicjuje obic-1.t DirectJO. klór:y wyko lamy do ut om-·,m11 ur~
dn,1ia DireclJD~
ESULl I~ CJ~Ji).)D().

Ogóllila funkcj a cwor.r.ąca un:ąclU?nie. Funkcj - ,i.: m~zml :J,!ywo1-nl beZp-8$1\.~0. v.-yko-
m-zysruj,ąc wsz. :tkic pia.ramell)·. aplika.ej moie leż ,vywoła j{.,-dl'UlJ poTiizs:zydl upmsz~
C"l.fJnych runk(;ji:
-SU! Ut rt1Jrza11:er1 ern300C'1Ll: "~EATł~ P~CTERS lfl9ar ... tryl ne 5.a.
OODPRESE , _•;i.lt!"'i • E·!S ~-f)c1 a'"~tr)?rfiE! tacJH:
r

_o jest uprns1...:zon:., funk j a n:arzę---<lxiow do mwor,..~!11~"


. 3iplib.cj i dzilll j ,eJ ,- okn~I!':
f-łRESUl- Ut rzProst t.,p ••... 11~e( o: :,t r,a. DJ · EVT T rzi!Cllen a,
□ Ov~ <1n ·),

ronił.sza l\.mkej ~ j,i=i t fupkcją nar1..ę:d1.iową sluż.ącq_ da ~bkirzga utworzrmia 3Pt,kacji


ptlnotkrnnowl'j:
Sll Ut ,- nPro$ta~p1 ~1 ,.. ra rn:roDJSPllt't 1111Tr;,ł·t>.
OJOOf T r rzadl\ln a,
p

0Zloi:11irnle,.
1'a fun~-eja implemeJUuje proc dlflrę ot1.:e ·iw nia ~-odl~ar2r1ni{Jj opi~aa!\ wc~n;cj;

Sllll O::! .tJrzUrzaoffi 1e ) ,


funk.ej w celu sptawdzmia wszysdcich ~
Apli.klCJ& m o t e ~ •c . ę •f funkcji sprawdzania ll)'bów o
W"Z4dlen1a. Szkielet SOK aM~ n':!:'8() izkielctu po prostu um02liwirny IDl&i::,
moi)iwoiciad.1. Oł• uprosn:ien• · -.,_
doslęp do wSZ)"Stk1ch bJbów:
-wrr b;)'. Jon§I l 1czbaTrJbcttl •
1~ 1, t etiTr-~ (.00001 SA.li
.:..-Ir · • 1 ............., ied7-ialoo za zrusz.c?.eil1C' dmdzeaia:
Ta 1w1ACJA ,es uuy,,• ·

HR!'Stl. Znt~.rczdrl iJzen1~,, .


• .c.. lM. • est w w..-.hna1ana prlicd J-Oq)OC:Zft('łC'.m re111dcriDglil. Wyv.•ołuje fiin1...:
Ponitsza. ,unN."Ja J „ VlJ '" • • c: 1k ·• - L.,,,,A k _:_~
, 1e.tr oraz Begl nScene-. w innych aplmkacJL1~h w ł~' ~un CJI mog~_'""",.. wy on:~ane Ullt
dziiłJanial takie jak z miana J:mh>ru. zero~anm lub 1-"nnych pe:ramctrów zerow11nia._Fllllk.
cj11 ro. mus_i jc:dn.tk ''"}'\\'OO:J funkcJ~ Beg nSC . VI przeciwnym wypadlm Je1Mitri11g llit
powimzie ii;:
1 rI Jj ·, 01 d P le R:erx!e an IOOCl.

ra funkcja jesl wyw-ol)ro;ruUJ po wykoruu, iu r odernwania wszysdcioh e1ernc-ntów. Fiw:.


cj1,1 ..-.,ywotuje funkcje EndSc oraz Present . Jak f)O\vicdzitli my wc~śnLej. funkąt
iP1ZCSłan1nj4u m funkcj mu.szą "o/\ oh1 funkcj~ E dSceni':
nrtw l E T ~e,,ide - :JM u{),

Osfar111 funk__cjj wymienionych p;,Qn,~j tn „punkt zacicpicoia' dla klas potomn,~b ~~


aplikacji. kA-4i w kJasacll potomnych pomźsze funkcje będą pm,~oom,tc. kl~ ~ " ' ~
wywoła je, ab powiado:rruc lklasy połorruu.: o 'kre~lt'.Jn~,,;:h zdarzeniach. Prz}'łdado\\·Q ~
połomn:i mol.c: pnmonlt fimkc-ję Otls 1u 1katy i od.po ;.1iad.8ć na kElmunibty v. •
śetowe li jnny po ób. Kl sa poi mn IIlO'L.e ~e przc..-słooic funkcję Przedl)1 · zer,~
:1~y Upe'\V'ilić {im~ u wszystk.i~ dbie.kty z.alc:tnc od Lll'Z d2en1.ą• .11ak np. me'kstury. ~
\\')'zetoWillle pned odtwt1ncniem ur-tądzeni 11~ J

• rt Bill. Przed i 1CJO'n lł113:1(),


,•1 rU!d I BOOl Pola1n•c ·r:,.,.·a ltJO.
1r ual liO(l Prz~1n,szcien1 <).
'•1rt 1 BCO.. Pob11szc,e-nwo.
1 ual Viłltl RE',IIOO(UjO.
'11 rt~1 8lll PrLedO:I „'0:--.ze 1 c},
~ r d] BOOl POO:I ••i'Orie•muo:
v
P;"O .ee ted
~ m Obsltu: · n· a vCHSG .,.
·
cm.inna i.
.
roko-s,c.
1 so ose.

To jeJSt Mbioil:: do u174dzenia DirectJD:


LPDJi;>!CT 'IICtB - ruazem 039,
T . .
o Je l Wslcaimk do IUl:Szego olJJekn.1 DjrccllD:
LPOlRWJOe

Te dwa poła peł · • c.. .


u~ ..il . ~ • ina.Ją ,nnlkcJ~ Z3pi :lnych IQo •.
. ząvzenm. Zrmtnnc t~ i....-..J.... 11":n...:r if>II parnrnełrów słu.1: \."Ch do utwOJZenia
I po • ""°-Yo\ p, ..J'"' tĄe \,\;' S,)'1\1 . • ..ł... • • , ,1
nowncgo ulwor-~nfH u ~ni11: a Jm, gu,r z,atS:til~eJe potneba o(ftworze,111
-f
lbYPd ieJT. • 'l'woradll 1.....,,-.,._.. nllll'IDII•-
n n<i

Pmitszll flaga je-si ustawiona domyślnie na wutołt TRUE. Mote być u.u.wiooa raa wulfOłt
FAł.Sf ·przez ~ kl~ lub pr■,'-!Z klasy potomne w cełu pomformowania aplikacji o zapm:•
staniu rendfro1i\·anu1 ramek.
8CO;. _1-:ont;.rr: .XJa,
}.
w l\llS~pnym pod_rozdzfaJe opisano implemeo1a.eję kom:piem~j już kl~.

W•-•Y do pliku Aplikacja.opp


~Qfliżej m_pi:"ezentowa_j)Oimplementację nQWt.lij klasy apli.k.acjri. ~tóra ~ w,cra fUDkeje
obshig.i l!łr-~d1.enia opisane w tym J!lldziale. Zwr6ćmy uwagi na to, te w ~lu pr.ąslo,.
so, ania kedu do tych nowych funkcja. peWillt- h.slnlkcje kodu z poprzedniego ·~ du
1..osta!y ptzeru~"Sione ,,.,. inlJlć miej we. Ta poprawka jes~os1a1mią, dla kl~ ti:Apl i acJ 1~ 11.
Poz.ostaie mod1fikacje zrumpl~menm owam:i w ormie ldas potomnych, któH ~ opm•
cowywmJc w każdym z kolejnycl1 rol-d1..iialów.

a r)'SUJ'l}ru 7.1. pokaumo miodylikowa-ny dia~ pntplyv.'llll smicrowfil'lia dl tej plikat;ji.


Ogólll)f pnepłyv.· stcTO\i.ia11 ie je!it raki s:wnt ale c~-raz zawi~~ kod zaną_dz.anła wząd2.e­
niem oraz kod n.:ndl"ringu.

Ze wLględu na du~.ą objętosc kodu komc111tarttm opatrt.ono tylko zmodyfikowany ~ub


aou~t kod~
t ooe · "J ·orir. . d' 1 n"
1 ll~dCJJ h"
1n ~ a ·:Ji~ll an1Hos. ao
· nosze ""o,;os „ 640.
)1 nc ysokosr • ~BO,
}

oia KApl 1r~cJ ti'.I ·te)


{
... :OCUSSU h~i":1 , - {!:t ... eo ( ,,,• LASSE:(). ts_Ct '65.0C.
F'r'OCOOS ,tr:v 1r.a .. ...~~. O. O.
r~t, en,1 .ole(: L). ,Ull. L. :Ull.
. . p 1 .1CJd :Hos •• , U.
~~srn C dSSt.x ( ~~ldS na). •
uc ~t M cr~dL~~ 1no~~c·· Host·. ·Apl1kdtJa H0$t.
- lti'S • o. 0. m_Okł106~e o o~c.
rn s Des. ndO't110. rut t.
~1 a ,N
1 c _u IJ.!J l
Sho 100
14 ~ 11 • twaa,a,, dll1l1t

""8Mk7.1.
Prupl;w slffl:, ..w,ia
14' oplfiacji

UtwlWD!lleOl:N

UłMMDIM~ D:W

~~om

~ O p a l. . ~

PnDcl~

~ CJWlri,,

~~

I
i
cr
l
L ~~'lin
I
i
f
F'o.Znlu~
l
Ponim y kno służy do zamicjow2nia nag.i konl)·nua.cji. Aplikacja kontynuuj~ n-nd~
du czasu. kiedy otrL)'ll1a komun ikat o zakont:~cniu działania lub k1e<ł. ta flaga zosWIIC
us1awiona na warto:ś S.
_ ooty ai:Ja • TRUE.
- Rozdział 7. • Twonen. I .Dlrr4dzanie un.,.,

Teraz wywoł~y ~icrwszą fun}{cJ~ ~~miat,ną. W klasach potomnych motna Qimple-


1&111111 DINullD -

ment?'1'."ać t1t futlkcJ~ po to'. aby ZHIDlcJowac zmir.mne pr-a::d utworzeniem obiektu D3D.
Jet-eh kJasa potomna 7.WJ'Óćt wan.ość FALS[ , :aplikacj111..akon.;zy dtiałanic:
1f ( PrZlJlrl C C'ndh l ( JJ
r.=-Lur

:~~~ fun~cj powQC!uj~ utw runu; ob,clctu D30, 7.g-Odnic z tym. co opi$1U1o we wcze,.
.snteJSomJ części te o rozd,z1ah1, lrnpkm.entatja funkcji inajduje ii; w dals~cj części:
• l CJ JO-: O,

\\f pliku ,fpHkucja.cpp pozosmnjc jed,.m nił.!dokoflc~ony ,dcm •nt. \\f lym tt.r~zfa\e wy-
\\1ołujęmy funkcję Ut~orzPros da.pl 1 me. abyśmy mogli wyświe1lić jakieś infomiacjc.
W kolejnych r ztlzrnłath to wywołilnic unkcji n~uni~to. a utwo.runic urządze'n ia dla
.aplik cJi w oknie Tub aplikacji pelnoekr-.mowej będzie ~~dani m kl polomnych. dzięki
przesłoni· iu metody Pold1 CJ ·an1u:
1f ~f !Lfu bt'il r ,:Pros. -r< _ 11: ,.y • 03 PE_·W..
OD.:R(o!. • ,-.AP.1_1 P. EXPROCESST o1 )))

In lnłkcJt; C • ,,rykonuji.:m)' po utworzen iu urząd.-.cnia D3D. Znów. je2el1 klasa potomna


z,.vróci " artoś · FAL SE. aplikacja prz~t:i.nie d1iafa.c:
1 ' (! la OlCJO'~ónlU ))
J'Qi I •

Pęd.;ob ług, komunika• ·\\ ua ·tualnionl. \,•pro" ad,.ajac: kod ob ługur cy r ·nd ring.
Oznacza to. ✓.c ~łpltkacJa re-11<-il!nsjc ramki t:.1k sJ;ybko~Jnk co j11.-sl moiHwe, ah.- w dal zym
c iągu odpa" •~dra nu komumk.i.t} ·
n •,
Sc. n • d •.
le ( lkdt SS<1 •

Dzię~• tt:mu k I11~ potomna ma mozli wo ·ć wykon.mm potncbn)·ch d.zirc1 łań pr6Cd roz-
lJlOC.lt;CJem wła:ki\\t: .sci:;: ny·
0

W '-'Ołanic pcmil~ZeJ fortkcj i jest tym m~cJsccm, gdzi-.:_ · kiclct ap~ikacji info~t~t kJa .
pocomną o tym. ie. rnłlc:t \'l.)'koooć rendering. 'IV kolcJ)ll)'Ch ro~1ahu:h 10 ""raśnn:: w teJ
lfun ·ej i < dbrwa ,~ ,,.·,trk~l"O :ć dz1ałan :
P. eruJ().

Tc az m ~ :m "ywołać funkcj'e PoRender 'dll IL ab_. 1..akończyć, proces rcnckringu. ~ -


~ja PoRe erc,.oan1 1 zwra :i \\)'flik działania funk j i Presen , k."lom luz · d spra~ dzema.
c:zy mi.:: utra.cuno ur.1ądzenia Jf'.ic ti u ządzenu.: utr1lcono. w celu ,1cgo od1wor~nm nah:~
W)"\ ola fonkcj Pr;,e,1()(1 .-.o ne nem. a naslępmc Od r;,-Urzadzen, . Po od~tworzsmu
urząd:zr."!nia. należy ptm1formować o tym kia • po~omną pop_rzc;. .": '~ola~u:, ~etod_y
PO'JdV.vo rzenlu iFunkcJ potomna po,..- inna. n ·t~pme p,onm,•'~14! 2.!1 ni1CJOW c "~ey:;tk1c
elementy. któN: mogły być ut mcone- w 1. . i . kic:d u~i.:n u: by1o :utracone:
__. •• .__,.,aa1.llł

~J PoRfpdel'Ciiłnl U( U
1 lo.XIEldł_OEYCCflv.JO -
{
prze<lidt110ri~18C),
M r1Urzadmi, · f >•
PQOlnll(JrZfłl11J(j:

J
. • mii:°seR. ro czas zakońezyć. \ l ~ miejscu ~h:let daje klaait
.leśJ1 dos~I my. do csg~ . ~. ńnl'"'nldku pliZt."'<f z.nim:zemem urzą_dzcma:
pof omneJ mo:lh\1/ro~ł zw 0'.lcn111 l t ' ~ - f
p z,cdl;l1sxzen er.-t>.


Natommsm - ·&.,..,
JOOEll ... ""Sln!kll"ia
.t:i)...... fil.I ·
nnwodl!ł
v r... . jć: misze.zenie
. . -•. or7•.ądzenia, Jesteśmy na dAL.:
-~
drodze oo calkQwitcgo z.ńkońc:z nio Mi'ała1u11 aphkaC:JJ.
2n,szcz 2Jdl~1~C).

Klasy pótOIIUllc mają rcQU ostamią możliwo~ :zrob-jeni.a porządku:

Poln s.zi:-zenf.u ( >,


]

f unkcla Pr200Rtnde ffi.t'illl ~ obsługnje prcrulsze emapy reru:lerow~ia. Jej zadanie ~


wyzcrow.a:nic buforow i ~•y,.....ołm:,ie funkcji Beg nSeenP:
tml -.Apł k.sc i Ho-stil nriedRer'KJ~:-c,~rnemc J
A
- r1~11Zerne00.:l•>Clearco. ' l.030Cl(AA_r~!łGET J OlilCI FA~_lOOfFER,
- 030C.0tOR '1:-."Ga.fO. O. 0). l 01. O).
_ i1Jrzct1zem ee:w.. >~1 ri'Scenec ) .
re llrn;

'Lff\' ołame fun_::cji PoRenoerat.,a, u jcsl os,atnią CZ)•nno:i.:: i~ wykony,p,aną dl;1 ~


ramki. Aplikncj~ pro.isianiaj~ ~ funkcję prn.. Lrma "'}'v.'o-ł i.: funkcję ErnlScene. a \\lńlić
v. )'flil1U ttj fun · ~• musi ·b)·c wynik iern dzi.arania funJ..cji ~ rrist- L. JJ.rZ«'tr"11rym v. .
. zkielee nie b(dzic: 1.1r· s1.111ic· prawidlo1.11,10 obsłuży u1raconych ur:z.ądzi.:ń:
[SUt,1 a ll~CJj ' s ~ P ~ r a lu
f
_ilłlrz.adl.en1 Ę-{)l!). :>i.lY.l'Scer.e( , •
J rti urn _ :l)rllld1e,·1.e0Jor':llpre:5.@,/1 ( 1 Ll . , L, ,U L, NUi. L J;

Oslaloią cey,mokfą wykonywan pri cz aplrkacjęji: t zwol~ienie obiektu D D:


K:Af;łh .ai;J1 s ta.: "A J -~ 3lHo$ a ( J
l
H { _,. )
_fl\OJO.>~l!'li?.asec l:
- ..,

C'.d1 _DES •
PostOu1 ssa eto):
}
retu n De iii· nt.10licProc (ix:
)

Poniźs~ funkcja tworzy podSta~'O'i7.'}r obiekt 03n .......... · · - · ..,.-....i -


tLILL ~ - . , • a..- ...,,.,-- m1tJUJe: u."""ł.",l~•e na 'W'D110-U
• ,co poz't-V!;h , na łatwe prt11\\J'dzen1c~ cey obi-1!1" mwono.11o:
HR::Sll.i • ll~dtJ,HOsta . Tn1CJUJ~30(J
[
_..-f:'30 • D1 ee 3t.:reate8(030 'ER.SI IL
_ :za l~ 3D 'L l. - -
n s_ •
~
ESIJL I ·.c,irJ 1 Hr,s t i1 U .or z rzadLR1 ~C
C,300„YtC(_CAE.o. i 1 1_Pli.AA."'.ITERS ...i>Hl!!:e f"_ liiiOrH ld.
DJDPF!ESfNl_P.AAJ.t TfRS "' ar r:,Prei1:: B~ )

Zacho'11. :ij 1
kopię p,arnmctro",.._ b w razie: potm!by rniee moiLh,--ość odtwnm"llhłi ~
·.y S _Pa a,: t. y1 r zen a. ,.Par~ ryT„ rzema.
s1zeor{O::OOf ~Cf. CREJifON ~•iłJ.~ EP.S)l,
P.)''~r.:_P:1r4..,, --yP·ez~ aeJL ; ar~::'.t-tryPrezerttilC:j,,
!:i 12eo~ CDmPR[SE T_Pi..! • qEA,S)).

To '"'Y'-,,,.ohmi c FKl"'oduje T"UCZ)""Hs.te otworzenie 1,1r14dzem . Ji:zeli funktja zal:.ońc:z:y


się pomyślnit\ będ1.1e mom '"'-Ykw""v t)'\\'i.'SĆ pole kl ~Y opi. ujące ur~enie:
re rn !J:!D-,.C~tl?Die1J1ce~ ..~ul!- tr „,;irzenM )~-!pt.I? 1fldl1.
'il'Pnra '1! ~._,J ,. --z-en a-=-Ce~,re 1J)e'.
\ii'fl.ara~""r)'..,. let'l a- cocu5W nor,,r.1_
Pa.ra r r ·· ,en1J1 ~">Set-ta'- o ~gs •
..11ar r.etryPrel~ tacj1,
, z.w„em~l .
}
N cz,t6 11 • TwollJfflr alkl1llt

SOL 11 acJ1 su; ln1szczUr1,dzet1 e( )

if "4Jriod'Zen1l'030)
~rz~ KC'l•
„ijrz~111
- rn s_ ·:
ł '1 D3001 SPLA.'1
1°"9 . lha~JitiOS ~. )
t
'ajpiCIV-' pcbit:r2emy liczbę dostępnych rryt>ow;
ong L; cz 1 Olu-~ti\ P ".rMQdeCouń (~TIRJ>EF ' l:

asii:pruc upewnimy tę, czy pic ~ większej liczby ttybów, rut~.._.


1• .. c2oaT,. · tlc:z >
Li li>aTri - L1rin1~.

1 ~as•n,n ie wypcinim infoffl'tł.lCJ~mm S1rukmry podane Jako_param~•ry i zwrócimy


czywi$1ą lro:bę; dosl~pnycb lryOÓ\, . W te~ !.~ 6b aph~acJil b'tdzi~ .mogł3 v.~
fimktjr; z par.unctnurn LL w celu uzyslrama hczby łcybóv.· ~ 11 nnslępme ~)'Wab;
ponownie :x; wtdlŚc:iw-4 W-Jj"(~i„ w kaźnika~
Of' t.loog ooasTr - o. lnóeksTr < l1cm r :,!Xt..i: lnitek.5lr,
{
pte C~TER_l)[FA.IJLT. nde' sJry~.
, iT"JbY $Tri J}}.

l
Poni za funkcja stanm,fl w•ł~iwą 1mplcrnentację tt:dmilci opisyv,•ai,ej V.'CZ~ie.J.
rz czy,...•i~ta róż11ica _polc-ga na tym. że obecna wersja ~wicra ••pompę kom=...-..
która umożliwi11 ciągłą obsług't komunikatów w czas i e. kiedy ~plik:tcja _,11,11,łi
odm•or'll'nie urządzenia;

łn it?("'ym •, !• DJOE.RR 'łICENOTRESf l


r -
SleepClOOO):

p ~ . (I. O. O, _R[ 'E),


T"a nt a ).
01s C&Korn.Jn a ) •
>ii1rn , _ adzentE-030->Tes Cooper-au .

r u s_o.
}
- Ro eldat t. • Twon1n1, J __,. 111

Poniższa funkcj stanowi ~owanie„ dl lun .


•?Pa••• Dlm◄•
tej fun~jijes1 "'YJOdne w c2asie debugow.: kcJ• UbtorżUrz~1e. w ~
dzać moł.liwoici ~Zeni . Podane panma:: ;:n~
SfJl'qcie_ ~ cilllłt nie tpl'&W-
oraz gc-For,ec3. W razie ~c"""• można........... .ć iałaji\ p<>prawme dla kart pPoree2
. • "'7 -.o■łCJII ~ IIJłftfluhov n"' •-t..:_ 1-.L- A ~
na mnyrr, Pf2~•c: r--·--.1 • llaAK, ĄJUl'C' - "

.E
ra .

• S1 zeQf(030:?tłES€.t _P»I.. -I RSH.

_Ol ~ .
łC.)' r)l, . Far::,

t
-- .
O)C,t;Kf 016.
u.;u,l~ uou - r.
- 1 .zadł:l!n1a :
Uchf,,t .•
• Oz:1ł1 la 1t!.

ret rn Lt i.. rzl! r ,-adz . .'. , ei( PJ ra lj,•T r i,e,-i1 J .


-_Par •t 1") Preii1..: • t.ic:J 1).
0

}
r~ urn E_FA L.
}

Pcmiż.'i:tA
funkcJa j est inną dodaną dla. wygoił funk,eją. która $hify do \WOf"jenie u~dml
pelnockmno\vych. Znowu funkcj tę utworzyli rny jako udogodnienie dl progJGmtSlf.
z.ar m mozc-n,y zmicn,ać \\'llrtOSCi u~h pammelrÓw tak. aby odpowiadały Q5.1;)'m
potrłiebom :

ESULT 1kaCJl~O~td Ut r~Pros atplPc-l


rooo; , ~i?f TypUrz~ozen1a.
(
Par r z ERS)),
r~ l ~~ -
J1
J1 . I}-
- CJl ~t• '
~j, Bar •
""J1 f t,11 l r, ·>Ref~t
r c l u bł tent I •
_ I" tJ\ AutO'JepthSteflC.1 lfo '!. • _D16.

r0rd1na 1 • ~lER_DEf T.
·z , .. ?.er1,L
, . .
1
z.adz _
ł
można pruslonić
fMkcj:J 211ajdt11'\c sili poniżej jest funkcją obslu .i ko~~ tów. kł
w Id h potomny h dla uzy k.anJa wł nc.go dziaJ n11:J.
. . . . . . . TwGiiił•., .......

-•
Podsumowanie
Mamy teraz wsiystk ie części naszego proste~o szkick_ru. J ie _poświt~iłem iby1 v-
uwngj zarztdzaniu trybami czy też okr la_nm fom1atow, pom~wat s2k1elćt dos .
w ~ DK 11obj •o ,v najdrobniejszych $zczegółach. S1,1-·orwn... ?J.:1r.::le1 ma na ctlu IQG-
stawjerue Ceytcmikom podstaw. tak aby l'nogli analizować pr.cyf<lady ~ ~ r t t ,u.• Sili,
a także ah. mogH .z niego s~orzy~ae efo zaimplC."mentowania fantastycznych t
w mtSt~pnyeb ro-zd2iah1ch. Jetel i p10J ckrujemy gr~. ktota ma działać na wietu ro
pl tform1Jch będziemy zmu$.lCni stv.•orzyć funkcje- y_.arząd:,.a.nia trybllmi, ale ~ ~
1

s.ooelc1 daje na.rn solidne podsta\V)I do projekto"''~ia. Jak zwykfc. spróbujmy \\-)W
kilka ~adniczych punk-tói.,i.•~
♦ Urządicoie Dircct3D jest ob1cktem, który umożliw•::i r~nd~rowam~
~ ianąd7.anie renderowaniem.

• Umtd:ttnie :refr:roncyjne dostarcza w. ~y tkich motl i..,.o ·ci . ft; n\ cen~ ~


obnikofa wydajności. je n:adaje ·ię do t"Z1.:czy,, 1skgo wykorzystania. a1e 111.0h
się przydać du tesro\vania.

♦ Ustnwiont .,na $ztyWno1• parnm~1ry unąd1.l.,'flia są do~konałe do t.'ksperymentowaniJ


z ~·h1s:nym przętcm, le r2i,;czywiste aplikacje przed okre~lenicm parametrów
do utworzeni.J urządzenia powinny spil'aw~ sprzęt.
• Param try z stosowane do utwor,t; ~ni 1inądzcnia mają z.n ci:ąc wpływ
nil o órną" dajność urz d2.eni:J4
• Ul7.ądzenie mogą być neooe i odtW'W'"lJl.ne, a dobr.l pJ Urncja nie powinr1a mi}l\'1'
nioey procesora' cz ie~ kiedy urządv.mic nie jest zdolne do rendero,vama.
• : ~ąszym zkr-elecie je.se dostępn~ch ki lka funkcjj . klim.~ mogą być pczeslooi~c
b P<)tonmych. Tetaz hi;d tem twouyć kle polomm:: zru:nia ~
modyfikowania plików pod lawowy-eh,
- na nidb)'t iriEclfC11,ljQ!G)'B. 11k n ~
--1'Cldll--_fli roz41i~ k.oftCCl!CtO"''liłrRY 5ię •• ~•t6w pctitd i:mdei:owailimt. Ttflz.~
W pupil ~ • DpflllD on:i!,JII koofirJ~~ jęSldffi,y 3HZ,CZC sotowi, a~ ~"'S
= m ) ' ,cn,dcłO"'..t grali~- W ~~f0 ~~,s«i~ ~w,o\J,IC 1.a,g11.d1nęn1a ooty~ ,
~l~~~ ke>Jęjl()~b rcn:dzifiJów ~
.,....ałem ~
w,paniale 1eetJruki. •le w ltJ ~c: wyg~ jak
wania. 1)Ja ~(lll)"tb ~drt ~4 t· •t (lpi pewuc: b:Mdz.1cJ u.aw-.a.ns0 ,,..llllt:
~..iri!i,ć 10 byio 111~ . .... • ·- :, ·• I 11M:
Jc-d,W,: "''fł~ ~ ,_V . l!)fJII.Wian•D. .zapdnLoC[I W}'dąinOS,Ct. L-CIU ws~y pol.l·i111s - ~
. · , • ·

rcild~inJv. ~cgólnt.e ~ ---


tu CO$ M > ~

Pomtq op1$Al)O z:l\11,"WR ~ t&v,, tej 12~1;


. zaial\l S Wll)'ft.lro ~ s:ic od wieJKh,ołków"'. mot.tl!'lł)' 'Vłitlc-
ł Po p ~ l l l m •• · ·• ; 0 n:,,J·l'lr ~ eeyl~ na •~mal lll„r.offl)'c:ih wir:ruh.o1t6.,.,,
(fio'l'"l~te .S.l'i i1.!1 tCCDAt "" P, ,.- · " '
· 9 >s.10SOW r1ic ~ t j ~ n , ~"$'bU10 ~~ tc:ori~.jakąpozmLi!my
ł W l"Oil~k ·~• ....-.1-.1,::.,um ...-Jih .. ~.1, 12~c11nia numeir.ey do mod)'lfiki!l ji dn.nyc,h
W fOJdzL.t1il! 3· • W r e - ~ ~ " '1"" ,,,~
l)"fO~ lll;J eł;nniC'.
ł W' ,o.Bk 10....Od ..,,,imeho1ków ,da r(gllr-". ~adEnng "'anie się incc:resuj c~.
OpJwit:m)' , r z e t ' ~ ,,.,.}1rorzysmniu wier.z;cbołk6w. 3 Il U..c: ~ łęlooffl)' tę. w t~ont
0
i prdd}-kt l)'HINBDili ~ b
t WE 'Pi ~~cit tcehniuch wy orzy~tujqpycb mec,~~ h!tderów .~~w.in}' unp~m M\'li
\\rias!Je oświ,etl'mie, Jcd.11 kw ,02.dtillk I 1.. .. :v.·i.edc:i'ttC' z wy'korZ) stamcm fu□łą,
w b ~ c1f', w zyi,•i,ętły sposób ot)is:u101,35tosowa.ni,e 'i'libudowany.;h ""' [)ir«
furtkeji og,v.iicdmia.
t W r o ~ m2.,. .. Wpmv.111Jzcaie do td.sutr". o piSlUIO Ol!,c.)tmą l. kol'lstrulcj i pods,.awow;'di.
Omó'i.\•im}' w 11im~ \\{}ak, S:pOS-ób molM tworeyć i~ dować: 1e~t}' omz po'il iffl'}'
o łJ>OSObłCfl, ic<b '11,')'koreysty,A'Mia.
♦ T~ ktm1 v.~ic mmny ..na ekronic'' ~~~gi."(llmi!'111fi: 01"37. tekscu.ry, mok-m~f r o ~
Ol1!iłWianic: rM:.oo,r,odn ~h !:.Ul'IÓW. które 'Yl,'f)łyv.aj~ aa s«)OS~b W)'KOil~ ~tam:l i m1e"S.z::mia
.~ c11r. Rozdziw l3 .. ,.Stany f31; tek rtur', opjS.Ujl!: 'Stanyo~ślaja,c-e 17«:ZpviSt ~-posób
MkJJd:mi~ tebłuli n.a, il~- Omówimy równid: :;posbb mi~ta 1.:=btur :ta pomocą dzi:lbii
z. ko1orwm Of.Ili! z 'l,\f-ykor~i,'ffl w'ictu c,d,stur.
ł Pjbc-J~ muszq pm:jśc kalka t ~ów. Złlll im ostate"Czmc ~ą rcrukm\\. am:.: na ckrillilit-,
~':tł J-ł., ..Tl's~wwaic gfęm i, pf'lezro(J: ·s~06C". oµ ii;1!1je dwa spośród tych tcS(Ó\\'.
. wuny mit~r.c te.stów glę,'b1 orn;z 7.ademoost:ruj,cm)' c-i~ · au. !.L& 2..•Wtdn 1(1111a. lll!TłdcTowania
ołiiekE6w ~BOCl)'~'ch,
Rozdzi ał 8„
wszystko rozpoczyna się
od wierzchołków
ajbairdzfoj pod U\WO\\-')'ffl prymitywem w grafice 30 jest ~ ie~hołeł::. Je t to pods•a-
'' owy „klocek„ w ey tkich innych prymiryv.·ów geometrycznych. Po pnec:zytaniu tt:go
rozdziału będziemy rozumieć więcej. ni k.ic:dy'kolwiek sic; spodzijewaliśmy na temat
tworzenia i W)'kor:ry t)"\'Mia \\,'ien bolków. O z;,wiście opiszę też, w jaka Sf)Cl:iÓb uŻ}Ć
uaszcj „moc ~·. aby zniszczy~ t~ wiencholki. ~lÓr WCZ1."Śoiej utwOTZ)'liśm)L Kod d,a tt:go
f\02"dzialu znajduj~ SL w katalogu I KodlRo::dzialOB. Rozdział ten wykorz}~tuje uiedzę
poznaną w popr.zednich rozdz•ahich oraz ,,.•pro,"·adza nil.S~pują: e poj\"Cia:

+ Pod ,a,"-·ov c poJęda dot ·czące wierLchoU::ów.

• Twor.1c-ruc: ,v1crzchotk6w r buforów "I ·icrtchołkow.


ł 'i zczl."mc buforów ,vil! ·hołkó,, .

• Blokowanie hufor4 ,,·icr.tchołków 1 mc.wi~ fik.ac:j1,; dany1.::h opi u wiench I ·ó,,, .


ł Rc11dcrowanic ..,,·1r.:-r2 hołkl,, ·.
t Zagadmen1a n ... ,: :,anc z \,ydajno 'c1ą.
♦ \Vkomponowame unkcji rc11di.:rowania "n.:-rlt.::hołk&w do sz_kickw apli ·:i jt.

· \\ prze~u,Cm
Z :zajęt goomctrii r:::-111nęLutW, 'le dt.,woln:i poZJ JO ,__ · m - ,,:! b"·..:
~ ·-r
~:ńlZt.."tltowana

pr2cz matemacvcwc pi..lJ'i 1..:. Jakim · JL!. t punkt. •au 'I ,m1 m'-• •i" mkże ż • d".t pumk~·
1
1
. , • • • •

w pr.lestrzeni definiują hni · prostą or-.11 i~ trz pui'lkt) \c'- prze. ~em ddimlJIJ lll"OJk t.
o wła me te20 pomnebuJ ffl)'
i,; pod UIWO\\.e ptlJęcm 71ius.trow::ml1 na r;sunk u ,1 T ... .~ . _ _
'grafice 30! Put zcba n::ill1 podstawm, ·j kon ·truk1.j1, 1-..tom 11' ghib) . luż,c J:iko •.klo-
c:ek'1do W)' c ·1ania punktów. linii i pcm icrb;hni.
3') esm ~N"CJalni~ i:iproJektowin~ do
Wierzch . lek Jt:S.1 kon~nuk Ją pod Ul\ ov.. ą. pr.zi;t - •· J 5.r · h ,• t
. . . h ł'· • , oraz do \\"' ·or.l'r~tY'' ru,111 Le "' r.:e u
s.eybkH!·go I wydaJncgo ir,m:tw. r1M111 wierz 11'1.0\.'- ; ; •
. . .. . h , ·,. tm, • \ :n kic dz1alanm g om try zn
wykre. łam. punku.>,,~. lmu I pow1er7c m (trOJ"'• •· ·'
_ . , Ili • RarpoaąMlfflY 11111111,awanle

llylmakU..
W'.r.")11'• zoa,'ntl sir
od wttrzel,olł6tt•


V1

Unia p,rMU

• fi · rozpoczynają sif od działań na wic:ncholkacb. b.....t.


W)'konyi,, ~ na ~•~ gra i,~c:.,l,olkach kan.a rozp,0(':Z)'Dń ••myśleni1:f' nad w ~
•kona.mu dzJ31a.n na "u::rz • . _:=--'..,_
po W} . l'u .... h.Lm g~ome(n.•cznycb. z rtego powodu ws.zyslko. co l)'!IUJtrny _, h.
i")"S()Wa.mem ASZ•_.. n un ' "J "Ił
zaczyna się od Mctztłlolko,..r.

Czym tak naprawdf są wier,z cholki?


Po ługując się poj,dami programowania. ~wierny. te_ w~e- x~~e~ jest e~~
strubmy dany h. która zawien auybu punk;ru 11a po\1r1u:r~cłin1 , lmn lu~ punktu\\; Pni.
snem. Ta struktura d.1nycn jest przekazywana do patolcu graficmc:go. gd?~ zawm-te v, ~
wąrt~ ci są pra~twruzane w odpowiedni posl•h. W. Dirw:c • mo~my ~odffix.o.~
format rej ·rruktury dan}·ch. rak aby spełnre wymagania określonego zadama mo -
Proste fignry gcomctlf}'C-znc możemy ret1dcr,ować za porno :ą "traktury o formcie lł­
wi~T.Jją,eym jooynic wspólrz~dne X. Y i Z wjcrzchołka. \Viclo1eksturowe, ,i icl Tt
0m2 o :wiet:łone w róiny sposób figury gcomeh')lc2r1,e ''i)m:Jg,aj~ do r..:;prez.entacji bardzie;
wy:ra-uk'1ncgo fonnatu. ~, pomnianc format)· Sue '13 się jako F ~ang. F/exrble V~
Foml,(Jf - elMtyc,-,ny format wicrcleholków), fom1a.ty FV dełintuje się jako kornbjmq
t'J;'.)_g, które obdmją fommt okl'dlonego,zbioru, iLr.lCholków, Flagi te opisano''"' tabeli 1

Trzeba pamir.,1.ać, .ze niektórych 5J>O rud łych nag nte mc)żna tosownć r'1-Zem. a przy.
kład owe ma sen~u łą'Czenie flagi 03D IJF "'YZRf-1" z flagą ~3D.... 1r _ 1\1 • ponic,,.•lli w •
P1'2e~lc-0ne i oświctfo11~ wuer,; hołki nii: '\'Yfl'Nlg~jq ,aisto$-Owania wc~ora no11'113ti\cgl
fod'obn1e, w m ~mym f0ffnłlc1e nic mo1.11a 7~ro owa· fl□g dla w1crt:cholków oieJ,-"m
k ztalc-0n)rch Om.i' ws•c;pnie przeks:z1a.lconyc: h.

Rmvni1;: ~~.. jest fakt. re nagi wyszc1Xgólnionc ,.,. tabeli 8.1 ~ taly W)mi monc w
: ~~~•Jakiego ~zckują ful'lkcjr;; DmrectX. a prL)'kk«l ji;ull t1.>1111a.t okr1.: . I info~
~tJI. kołorze I tek lur.te. ro trukrura opi ująca ,v i~rzchokk mu~ 1 bvć rganizawir:1 „
w taki wfaśnjc • ~ób. Poniż.ej .lDaJduJe ·ię fragm~nl kodu "-Y~wietlaj;cy kilka PIZJ · ,
dów fuml~łÓ\\.' wrcrzcholków oraz odpowiadające: im slruktury <lanych.
1
•cie ne O ,f:._PR2 7.T I(RlCH ( .J F_,.~l ' I DJDFIJF Dl fllSD
strun PRZEKS2 I RZ EK
{

""·
J.
RU&dzlał& • ~.....,_lltOdwleaollOll6w

X'IZ Ta tł~ uma iZll 7~W:llliC trmch wmości typu f 0A; W ('Cru Lq>:IC2Cilkłwan~
pozycJ• X. V~ Z w 1cn.chołków. W 1crzd1()1kJ W)'ko~,uJącc ,~ Dagę 54, wnyłane
pópr-.rez potok geomcll)·c-n\}• w celu tnmsform~j1,
Ta łl:1,8.l_' omacm zastOJQ,~'Wlic: l"2tcredł wa.f'l.oki \)!pil Lill, w edu rciprczcatowania
W!if~~n1~· _prle 'lili;!_q ~ ~zycj1 ekmaow-ej wit~bołków. Oprócl,: pinycjw
X,V,Z, CZ\\'3ru V.l'nftośc1ue , wspóln:1 wru11JU W. W~ść RHW ma. znaczenie
~~(li ~ted}· •. ki ~)' mm~· o b~fu~
W. Wn:rac,bolki de,fmio,\i.;.mc z ~ łlail\
om1JDH b~oł..1 tmr1 fonnncJt I ofwu:thmm pi.1toku: urutdi7Jl!niCi: 7.,alcł* :te 'blic'l:Cnia
te zm-'lały wy~onnne pral.'.'z :iplilc:itj",
W nickl rrych fomrath :mim;ir:ji mołJ1:1 W)'klJIZYSływ ć \\ itk ma.t:i.tri.y j~o ..Iem.o•·•
s.tm1J cych ~nimar,::ją. K..i2d}· :z. "" icr«lwlków mote byt prMn ;tcZ1.\FW priłz bldą
z tych mncicn:y 7. iooą wag;ą. Tc flagi ol<R laJą. j11i'k wi!lłe ~ g uw1 tęd11iono
w formaci,c·, K~Oi ~gs wym:Jgaj~di'Jej we.rtli>Śc~ F OAT, ;7.3t ~ H _'AYl
~ d'lo\•tkh wrutosci rypu ąDI,. . , hodu. sstni!!j flagi dl\a ill~lmc- pii;,;:111
11:Jg mit.'2w'llnia,. to joon:ik DiNcmX 8,0 obsługuje tyl~'l ~- w. ości ie " " ~ Y
""'' d:ilszcj C.l:.;:ki ł:cSi!łiki. pr.-L Oklll1.Ji omcawfaniai :;uii~ej~.
mVf_LASfBETA_tSITT.11 Je2eli one']ono llę flng~. ,o OS~lmlll W:JS,3 mi_ 7.3ni::1jes.t imerpr~toWann JsJ.iiD
wa.tł ość tt • a nrc f L(lĄT.
030f~I."-• T. fla~a OO".na-c.l3. że rQrma• \.l. ierzdloJkóv. o'beJ f'illllje wck1of norm:.lny
repre2cnLoW.ln}' pni:.Z u-z--y ...,....:mości łypu O:. • V. Z), przykład, jdcłi tm
wi~'ho]cł,; JC~L CĄ-SC 1ą pow1ern:hrn. ro- wick!Of norm.atnl' ~c- pr:i'.Lv.-dopodobci;c:
,.,«1.~ktorcm num111ln} m pó\ło ll:"rLenn~ \\ ..,, ybr.rul)'ffl punh:ic.
T fl W1 071U1 1:ł, k f('lrmlll Zi\Wlcr:J pojt.-dyncz;i w::utcxit '-YJ}l.l H !,J, która dcfwLUj
m:1.n11ar punkmu dlll wicr.lcbołków. Eri:kl d:1.i:IJania ccj tlagi zali:1;)' oo mo1'Ji..,. ości
spr7~1u or.u u z 1d1A,,,~i::s.
ll:iaf~ _DLFFOSE Fonnarr Z3\',,lr.:r.a.;ą C t~ nag~ .mu 1.1."roj~ \\'311.0~
kolor rm:pros1,.::n1a RGBA.
OlafV _SPEUl.i\Cł T s:iffll1 Jak pul)'CJ31 popr.«.·dm.'I. dl;i koloru zw11:TC:ii.1.dhu,ego.
COOf' [XO Te nasi okrc...;.la_i~ całkow1t lic7~ ,YS]JÓtrĄ"d11yc.h tt.-kstur wykl,1ł7.)'StY,.,.·anych
COOPt(T0:8 w rym form.1,c 1c. W w1"ł..:P'OŚC i pr-.t.) padl.:ów kaźd~ zbiór "spÓłrlędn) h h~kst~
Jt:SI ri;pri.:1cnto\\'3n~• pr1c-1. dwu~ "<fm:o~ i lyipu F Ni_.,.. :ale:- z _pomoc-.ą n •~pnc-J
flagi mo.i.n:i ukrc~lr, 17,:c;.i:y,.\ isty n"!zmi:ir.
1

Olof f TEX Ta lla~11 O · resla. i le- w:utOŚ<Cl typu I :. ~ Jt:11. \\'ykQrz)r~tywar,ych do .lde-fam01i,'0.i.'Li:!
• ~ TEJ •·-·· J ' b ,rn,,-'J .•.,,~ .. hr•· ,_,.,.1r llom•..!ilJ1\' .rtUJln;U' to roc, F rr.,
'!,. .tr :'-VIT2.
II ULau:go ,I. JOJU '''"'rr•TLl(Ul•,I' .. .:OH • :,.i • -

, l"le OOOR F_PROST 1 ,. ! R.'0 (DJOF 1, F • 2 I Olnf 'F _,•.., _.t;,.n,l'IL

., JC OS 'I' w. ERZOłOL[ •~
I
\
FtOAT li., J . l.
FLO:.T ~~. ny. nz.
A O Q,

•ełc·t . onisie , ie zcboU,m. moiumy zdefi•


a., pod tarwit: lrybult'lw, króre cncem}' unn • ; . r form .. ·ie VF i 10, fo't1ffl1ll
• • J; • • . d , Il.. Jł; b t le ~ de, imowane w .,.
mow.ai;:. odpow1oom. typ anycn. "'try u 1
. tnołk wykonystJ 11.'~mego praez
FVF j,: l źrodl·em ~nfom,a.cji o 1Jkl d:,.i~ . onlitll'1l. ,vit~ 3
~ ... ~ ,............

rwerzenie wierzchołków
\\' rym momclK'i~ 1~ti · w~iml-:. U)fl ~ wrem:łiołlci ~ opi~li_m y ~ ~
kf6n je- de-fini1.1je. ~ Rll.1$1 IQ}' JC po ~ li :li ·o ~~NaJ~IC'J ~ 1 5 , ~ ! ~. hi:
~ mecodti bylob],• pro u ~lołcO'lr _ie bi_ • ~11~•·
pod~c JS~ co ~· ~ i
dt ymr DJ~1ego ruc? ,ilftiC' funkeJ Difi."'"CIX. ~1 re ~IIl'lUJfl ~ k:uniJu l\1.'Q~
pracz ll'-1 ~ T l ika ••. AJ,: rnll$imy :si~ p-0\~' ~ r. q_ l:l~ 1c fun CJe. ale v.,· 99,99%
l'li: złym , boR"m. j4.: •H chod1i o wyd.iJnoU. Tak, spo ob je.St Dil tyJc: J..ły. te Jl"ez,j~
piuj1r . omawrLia go•w 1)· n l'0.7.d~.i· re.

Ty~ 'ego n IJ')r.l' dę por:i--u ,jem). · t uMor.le-nme bufora Wilcrzth fkćm.·. PD! •
k o, ie · i.for wimclłołk Wj t lc:~n ("01,\1, ią7.aniem j fo~1"-, ze U l,l\da"Jloc ,IU,JIUUlt
um I btlfor w ~~i \'ideo hlb w ~tę •i GP. O.i!~j temu mamy ~"~. :n
u~k\Jj1: d tia, d do.nyc-h rak szyb , jak 10, mo,hwe, co oau1c; " dobrą ,~ 'daj · ·
Blifor w1erzd1ołłut1A' j i.: t w ~ i · t~ Ol'l ni)' prz 7 UrlJldzeni • pop17ieZ wyv.
mcr.od.y ID1r-ec . . l(eł!:· ·Cred ~• er!e B. (~ • Jak zwyktc. po prmot) re . ;p l.Dli-
du.,ą 1 , tn:bł:J~ opisuJąa-

v1 8v ·re ~D2I':. arB'.Jfor3.


P\,la I,
•. 1101 1).

~ w !'P1 uj.ą rw.mi bu la jego pojt.'flUlOśc ''" ł'r.1jui h. Paramttr fli'f"


'?Imlt ·.1 ~hołkó"~ za~. ydt ~ btiforzc. 2 la.dając. Z( wykonanie fun kcj i po'Vii·~
sJę_ OSłatll• p.,mrm'ł? ~ • · Ll~taWtOny na pr:l\ idfov.y wskaźnik d~ hufom \\·imoJliOfXiOłl
P3ramctr l
W • 1'
stos ·an
.
e, ..,
""'O "''
,.-1I U
1• i. · -
I.,; f10ł)J7AZ kornbu1at'J!i n.:1g \\ } ' ~Zt!'~óJnjo")

tabeNt..
__ nmOll'l~ ,n.i:;..,..""i:łr'
1
.... , .... •
p 1aP ..,.,.
...... 1 . . ,o«-ua u
'i, _
wie IWI. j rcln~ , w.ar1ośc1 vi: .
..,__ - - - •

nronyc,, , ~IJ.:11 .3,

Pooił ·zY od JMt:z.&:ntu11-" ov1!;ób c · • •


raj c.:gÓ 10' l'05 '.J-:' ....,,-. o worzem w parnięc: 1 tdco s1::ityc-:1.nego b
p Il 'ł\ ,crnfioP_k(m., (rorn,31 FVF dcfiniuw.ino ,\-~ 'nicJ):
lPCIJ ECT~i'HłTE rFER! fo ,er GnoH _
1 fi EO(. '•z~•2t1J1 DlD• Cr~te~erte:tĘ~ ~;
l!l .. ~17.lłOft~TY ~IERZOQ.[ >
O~E_ .ITE -J .
_0{ tA."łJC I
D.lOCtSl~.....POt ns.
,... a,..
T111 ~p mfłl~LIJC! UrFqtbr.mic. ~ ntt Ila.Idy obcin ~ ŻIM1nCiO z "'•~hołlłw
.Dl:l.JdUJflL")IC:b a~ w bur0rac Pi}dcz:as ~ d ~ i W ~p,łdku USIP'imu li,
lbgJ, prrNI ~ndeWWWlleJJI] ~c,gob,j,(m-3 WitCn,cholt W, lłllill!tt'j'W)'~ ·•IUllic
il.I l!H'.l.Jł~llllL

DY I. 1~fwmujc 1.Jrtqdz.cnie, :ie znwu.t'lMć bu~ możt s.1~ n.;:s.to :rmiieftia.t.


Urządz.crne u-m1~za dynom~ffl.~ ~fl~v. pami,:<:i AOP. l'llll mlłłt 'b!.mJly
1 l.y e~'° bc-~po~rednm w p:lJJlifiel -...1c:łi:o. Zw~y UWil.Jl.t nil ~-2t: nie i-siną
J:tw~'l. rl· dfa buli 16v. su11r)-c;:myd!L Br ll5Ulv. min ttj Ragi om.1:211
zasrMtr~•. m 11: bufon ~ ~zni: , •
.J. PAlCH FI '! tę " ')'~-Ol"'l}/$1tije' !,Lę dl:li l.lfor6w .,;,•~r.lt''ool 6'11,', W)"korzyit)'\lt1il.fiyeh dl~
pel' •r:nelllu ..,,,rym rzędu.

Fla;g'( tę v , ~ y j C ' 'iię w pc-~dlru, gdy bufor v.i i ~ w ~ 1t


\'l,')'lmrzyscy,.i.·.'111 db . In.~
T.i ł]IL omx~. że b11 or iLT1-d1 • będli.@: w;'kotz}i~)'WalłY do
dus.zlrow ptmkcowyi.:h (llllJ!:. parni !rprfU j tub H~• pę!llltffitl,•_

TTE y Jic2:1:!li :msro~ujro1y ~r lingę. bufóf v.•u:nc:hio&óv. b\<di1i: do l{pll}' ł)·llro do liłpi.s.u.
Prob)· od eytyv,·.ania oo fora me po\1•todą się.

Zasoby utwor1,0r11: ~ 1..; r;»iov, mem I.CJ 11:i:gi l'\\r')klir . c11 ·o~ w pa.Jn1 1
:$)'$l"'mov..-cJ lub v.· parru~ i AGP Zal,c; ~i~ \'.ry cn?.)'Stnnłi: 1.CJ n~1 d ilN{ąr W
wiel'.lellolkó'"' ,
Z: s.. hy u.-'ili1'(.trt0fle a, IPC'niOC..;J ,~J flagi sq ~ pr.RZ ur,Qdz,cruc. riĄ.dzca ·
p,7.!!<:howiije, opi4r dan}.d'I ~" parni1w,-...:1 !-o_ l!'!lcTlloV,,~j i lc,oj i,tji:: je do pa:m;i;,c~ ~ o
'r rmill~ pottl('b W pr.cypJ.dlu utt:](}' lln'..l[hro1 . Darr:iclX ""-)'KOr-':YS-'UJC' koptf
s~ti,: 1rtoY1.'il <lo ji:10 9dtwtw1,:r1i~ \'\' . ~""'P 111i:.t..1 1\li. ~h,~· dla uzytkow111k
Ozi~~ i ~mu aplika..:jn. ;i.~ ,·wolnio na 'lłi'}'kan}"'t .mia dl.ailł n ~·i .11t)'(h
z. odlwll7„a.mcm bu fora.
Om.D.._S 5U Z:1:,u'h)' są Cli 'OJ7,t)l\i: ,,, parni ' Ci s~·st~mO\\1:J, 1r: J'-'S• ") hajlqr.:;zc uslawieaa~ ~ .
oororÓ\\' wi~rl( llo-l~ó.w . poru~u spl'"l-t,1 ni ma h.::,pośrcdn~ ~ d plffll'{ L

D..\tJR PROS 1"\,; ! ERZOi,


OOOPOOl rn:--· T,
cn,
f er1ct10 1 ) l

W~!\\;·l)fonii; tej in 1rukcj1 :powodoJc: umw4ll"leme b1,1 ora., ·ienchofków. Te-raz oolely go
'L\'Yl)Cłoić danymi.

Niszczenie bufora wierzchołków


1

W porównaniu z nakładem pro y w . 1.asic t ~·or.zr,;lil i 'bufora.. jego rniszcz,:.rni~ jt.~ prosce.
Wyslarczy wyw-ofać;
108

FSllT ICllr!C
- ..ar ...~~Bu fer8 i:tele~se(J:
•• --~..ł • • szczenie: bufora i 1.wolnicnic ~•~D)'Cb
W) w,l3nre kj funkcJ• po1ivvvUJC zna 'ł
nsobów.

Konfiguracja i modyfikaeja
danych a wierzchólkach
istni~,. w p:imi •-c, , dco ~ub w pamięci 2nrh4..~
l!...,.u ,..t..~ mo'2'\
h :: ' . - ~
_. . ....
. _ , • $

PomewO:t bthu,, Wlt,;nlCU vl.fl.U"


. b"'I.
·r;: nie nm~my bc:-~rcdmo modyfikowa I re wartose1. Aby '11)-d.,
pm-z urzll:dzem • • - ...,~ . IO "D' 'e , e f""•'8 l
rec „ r
""'I;
dost.tP do wartości apfikarj11 mi.u.i "-.:. .vołat l'iln.l\Cj -=• .• F
Z\\lfflCI w.sbinik d ,.,'li~ołków~ który mon'la "'ykoreysmć do 11nodytlkllCJ~ v.,~
111
- ro 1r t -:-te-du ter3.-L CUI •• PoczPrz •
. i E ,._ n·t1Za ok nySu Or'. O:· F agU.

famm e:r Ooc..:Przes o:mnc.T..R :pn:i=suni,:cic do miejsca., " ' którym rozpoczynaj~ się
kowanc d~ne. PammcCJ: Ro · u o d ozna~~ liczbę zablokowanych bajtów. --.,•--
. :Zdb O · nyButor jł!SI wskaźnikii:m do zabiokowru1y b danych. który będzie
wr lll)' pracz funkję n tomias1 pilr-am.e[f ag, Y..dcft nitoWiTlO w iabeli .4 .

8.4„ f'fag, hloko~mma l»rfara w,i. r:<:fu-1f~6w

fl3 i11formujc
t1 dzcmc-, u: na1c.l.y porzm::sć- Sł, ~ dlllc I zwr1}f;LG t10\\i 1""'
Za.i(O '-'"OO]C' tej n: i r:oon: mi . V. płyv. llil poi ' pszt'll l C \\ •d.JJn I, polllC'-'
11.młP.Jt:flir: m~ rn11Si utymyv. potoku w ct&-ie u:r.y l,.1••••am:i. :c. tar ·cli dan)
r~~t:r l.b:r:tla. lyllre dl;i rufOfÓ\,I; dynam i zn eh.
TJ fln~j,I urnotliv,.1:1 a~rnwi?..a !,R podC'J'.M d&J~m d:mych do •~UllŁ'J t: l:rJJ'Ofl.
l.isło wanie tej flagi j~m zal~C"!III.~ w przypadlm d d:i \ ama danych do btlfom.
030LOCl YSlaa: ~ "' ch1j .l.Jbl owanie butom v. 1crzchołkóv. powodu 1.: t - blokm ·ar111: '
~ , r:mo~\'}•eh. W Pl7.}'JkldbJ długo 11W ~(l.(:ych blokad 7:0 Los~m ,1111t: t~J (1:i.gii IOOU'
by ko111~me. aby sr-;ti:m mó 1 kootynuoli , dzi:Jlanic:" i.:/.a~tl!' 1m :mia nt,_r.ot/TI
bfoko"'·a,n j ,

Ft_g1r tę rno~my ok~. li'= w Pf'l)lW.lku. s,dy a,plik.icJai chr:e tylko odc.i: ty\11, t buf«
1c- raQ!JJ:1 •oSffl\ ll JtJ dta buform • ·, itr.b;;hołk w tylko do l..lp1su..

ers :Ur. l oc O.
Aotdzlel& • w ~ ~ ... od..........,

~11łtMł101 [lndekiJ • JA.'t'.AS_li:.t TOSC~


,.,w erzchol~(J .-. s] y - Ji:.:\AS_~

1erz, ~]z~. Of:


ft1erzc s rn~ - l 0 .
o O" O;,, ff

fo , rzct. lk-...tJnl~C):

Bufor j~st teraz wypełniony dm'.)'iflti i gołM, y do ut)'Cia. ~my ~'}'sbc w1c:ncho11d
:popm:z pot.ok''" ce lu renderowania.

Renderowanie wierzchot:k ów
\\fres.zcic j • 1eśm golo,.,·i do un1ii;sic-z..:ni:;:i c7-tgo~. 1'111 <:krnnEe. We. fmgme11!acb kodu
pokazan eh do rej P'),Y mów iliśrny o "'' h;:pnie. przekształconych ",,;e-nchołka,cli, pt;nie-
W3Ż d,o, rej por;• nic wsµomirn:d;:,ny o przeks--ztakeniach (opowiemy o nid'I w następnym
roub:fak). Spr bujmy kontynuowuć ten w~ iek. W porlr\\11lllliu z ,,.,-ykommą lko111iigurncj,ą
w:,t~ną. samo rcndt:Mll''ru1 ie jest proste. a~~ty rnz.wa1)' 1.r.✓-)' dementy,

Po pi<.'IJWSJ'.t-. poli inni •my poinf0f1Qnw t urządzei111t!, z jakiego rodzuj u , icrzc:ho:lkruni mamy
do czynienia, Robi ~ie· La za pomocą '"'Yl"''ołooia fun~..r;ji 1Djrect3DDe,·kc ::SctV rte."tShadcr.
V 1.ym ·cuuekśc Li.! venc. hill-dcli jc.-s• wla:ic1w1e lbrmlllcm FV nil~'Ch wEcrbCholkó'!i .
Jt:sr m dość dzi,va..:. pr-ottwda, Zastosmvanic FVF po\,roduje, że urządz:11;n1c jest infor-
mowane o formacie w1erzchotkóu ora.r. o t~ n1. że w ii.:rzch-0lk; b~d4 ('.11'2.e'twarza.nc rp . ,e2.
poWk . rancfardo~ .. , Fwikcjc \(; ·w,
ołuJemy tylko wtcJy. gdy tonnaL ulega nmd, fika~ji.
a nie za l!rażdym raz~m. ktl!d>· \\ kormj..:my rcnckrowanie. Funkcja ma n::ist~pującą p,0$tać:
HR{St! - ID 'e<:t3We ,ce!3 S-t.~ •eri:.e,;,5.~dde:nO FF '

Ot.u!;i krok polega ,ia pomfonnowani1.1 ur1ąd.zcni:.1 o tym. kąd pochcxb...ą wierzchołki.
Wykanujie $i~ to poprzez prze ·az nie bufom \ 1cr1,clmłku..,,• {]o funkcJi [o, re--_ :'..lnDe'a 1
ce· .SetStredl'iS.Ource. unki:.:J~ t mforn1uJc urządzt!:nic. gd.1. it! pr7.ccho"p"'.11n~ _q wierz-
chołki . Pi oov.'llic funkcję t~ \ \ rwołujr,; si«t 1.yLko wtedy. k100) che miy akreśli,c Limy bufor
,. ierzchoł~6 . unkcj a m~ nast'ip-Uj ąc~ posra. ·:
ESU T E01recJ::.JO&. ..1cie8 Se !:it re~ource, U: :~T , · rS '"ti~ (!l'li a.
IDi rec:tJOv"'r lBu ~r8 ~.-&i (or,., er zi:r.o l •
urn >

Parametr I rS rur1 em a określ:i. jaki srrummcn należy ~k<ljarzyć z tym buforem wieil'Z-
eh.olkłn1.·. 2anim po.tn.amy traJnik1mcchm izm6',., erte). hildi.:r, bęclxiem~, '-V}1kor..r. st. 1ać
myłko strunrŁ~ń numer O. Pa.romctr Krok okre.--J11 (w b11ji.ach) rozmfa1r kafdr..-g ,vier:zchołka~
Znów~ d®pólu m p,oznamy fflt:(;l\amzmów vert • ~ha.der. IĄ'iiziemy określah ten pa:rnmetr
1

jałm rozmiar wierzchołka zg ~dnie z:e zdefin i-owanym fon-nal~m F f.

v,.• ostalnim bol-ru infum!\ujemy urządtt.entL? o tym, ~ na.Id.}• wykreślió \\1iendmlki. '\.yyto-
nujc- się to popn.ez ""''Y'\'Ołnn i fimktj i l 01 rect300ev1 c~B : 0rawPr1 mI ..,e. F\mkcJa ma
111asępująccl poSJEnć.:
etDJOPRlt4 IT

p...,,,dl'JI te „m6wi,;lr ,~ ,ze "" " ' rozdza•I• Io.• P""i•:Waż fflllj ~ ~
ZDl<Ji<tliC dln CfO" <ćl
i> l<sZl;dlów g '." <~ ,; al)' 11. Pont<:,.- Rll 111/1'.10 ~
łl lr,
o pqi:d""czy<h wi ...,1,olbt;h. mpam1~Jm}',., J>'I' m• "' _POI 1ST
mia.si I;;,,..; o ktril ),ei pwd<t " · ktbn: <I •~ r„oJ rov.a •

Konll!,'lltlll,ią n~ n l'9'\lll!'ol J IGmll I J,Bkl s,powb m1JC't)' retl ro~ '2ł..,


wi<rz<ho ..-: ...,.
J .
(
4
L)),
l t1 e(02 T_fOI ., us~. D. uc1SA„l1HUłWOLV. "' •
),.wł>)' t "" , <1-!'tkic polrZCIJrl• ffil!l""'nly. aby r<'llderować grafikę 11n el!.raru,. w
kic: buki z.Jp KZC'nt<J\vallD 0 3 _rywJ1kll .2. N,c ma patnch r w. 1,,.onyv..·am \\' = ...... -...
I h MU W dfa ka.id~] ramb. \V dalszym I ~ pro. 7.ii () ~t'i\\ i\ ~ cierpii11 0 tł etirn··
i t h iJO""' nm)' to, creg.a sii: nauczyliśJn>' i ·pl,jrzrńY na tn .t. pu n.i wi
1

,,,-dajn ~ i

Rpunitk&.2.
Opu,cic/ł' = M
lłlk •
-
za,attnienia zw•ązane z wydajllOśCią
Z:mim powiem_ eokolwi~ na temat wyd11jności. parni,ęłajmy. te Vl)'dajność jest fu~.M.
tego. ~o próblJJemy zrobić ..Z ~ego powodu. ponihu zaslldy mama uzna.ć za prawdy
oc~•5l~.• ale mw~ze ~w•nniś~y- pockspnymcntować, aby .mald..ć podc:jM:ie, kthrc
1u1JbardzltJ nt1m odpowiada. Pon1teJ podano 1i tę za~d. które wal/to :rozważyć:

• ~~~_ml'n,i c ~!~~w-~ic bufora ':"icneholków jest opnacjl\ k~aowną ~ powinni.


Sił JeJ unikai.;. Je'J'.c:11 J~s• to mo.żhw-c:. zęsto blobda Jest konieczna ale s ;z Iem
też niesamo, iti:: opowittci lud2i. któlZ)' zarrrnast w jtd'neJ błokad;ic dodać w~dt:
wir:tr2CMlków, bfokow111; bufor~ ~wiaH trzy„ ienohołki, rmderowa1i i 'pM\'tan:a.li
opę;rncję od tp0cządru,

t Z" ró my u, ag~ na flagi wykor2ysły\1,lanc w e~ie tWorzenia i blo\cow nia


bnfora wieTZCholk<',". Rótne nagi lub k,ombinaeje· flag mogą cbarakteryZO~ać
si~ 7J.1.UWazalnymi rożlllicarni wydaj~~. W pnyp:idlru wą1pHwolki zaleca sit;
ebperymentowa.n ie do chwi 1 miJlc:1.it.'fłia ttaj leps.7Jl'!j konfigumcji.
• zaz1i1,~zaj im wi~ej w i~rzcholków IT'lo2emy wysl ~ do kan w pojcdync:Z~lm
wywoła.n iu~tym Jepi~j. Li 1.by rótnią ię dl rótnych brt oraz dJ rómych
.Jplikacj i, afc g(:ncmlna zilSilllla jest tab. k hC2.ba wiembolkó, powinna ięg:1ć
~all.ut ięey. nie zaś lulkud1.iC',si ciu
• ywofanie f-unkcji Set\ler e ade jest komownll operoc::ją_ 2.rnnsią 00111
ur.nttfzt:=nie do '.:Jtr;.;ymanaa i prz-ygotowania na noi. rcxlmj o::my h. Jeidi mamy
do czvn i~nia .,. różnego rodzaj'U fonm1ta:mi Vf. powinm · my pogrupowa nas2e
bry+ • ćdlug fonnat1.1 fVf. by uniknąć ~ooicczn~m pr.-:dąmr.anh:i~ 'icktórey
id:\ ;lakj i rcnd~ruj eo drugą rm/i\kę innego rodz3ju po to, aby uniknąć
nicpott7.d:mcgo prz..cfączallfat.
t Ponii:wu7 prulączame formmów J~r ko 1tm1;-nc. powinm m ti,,rorzyć fonnatJ
nn pods•a ie atJybutów. 11 nit obit=któw. Z 1._-go powodu ni~ nal~fy twon)'Ć .
jednego fonnatu dla samochodów. .a innego dl ~o~m~, • jml1c~~•cry-LuJ.ą
. ii; e>nc c-, mi Scam •mi atryhul mi. Z miss\ tego, powmm~m}r otwor1. ·. Jeden ,
fomnsl dfa w1 17cho4ków "'}'korzystuJących Jedną 1l:'kstnn;. mnt ~la ~•1tl:"1.d1ołków
korzystając_ ·c:h z wielu teksltlf itp.• a , kic stosow odpowu:dn ,;e, fomuuy
dfa Oll,114n.,riedni(; h obi~!-: tów.
ł t_., ·1.awjantt.,; żród~ strumieni, j ~• równie--l. ko ZlOWlłll opera ·Ją. Pono„voic .
~1,•ywok111 ia mslrukcJ1 re ndero, aru11 po, ·,n.n)' 0'J"
-....c poan1TV11w1uie
~ -r: po
. . to. ab}' Jak .
• • .
.naJlt=p1eJ wykon:yst:1,;r bu lior wierze
. h-·
1• '
01 O" • uni
.kn111c' L,on,e zno:r,..c1
•l I",; •
'l'lntl:ti
I"
1
;,.3n I

• J11k po, 1edziooo wcze · m1,;j, im wit;eeJ ksz1t=1ł w ge mctT)·c7.nycJi mo cm. uu .


IPrzetwor,,.·ć w nnrL"Chn~zym \\'yw·ołaniu. tym kpiti Ooty~' R: raki \,~:_~•~ó
,; r-., · . dk h I me I.)'. 1,ęc:,• 1i,vterz,.,11,uu„ W
runlu;;ji I rd,;Pr-r 1t1•,1e. \Vmektórych pr~ a "· ~ mbilr° - ,fać i le
tym samym tf..asie może by niea1mżlh e. alcgcnt'iJlłlmi; P ~m. W)~) '
il'" ię da.
nrv!I !ilJilll/)\\'.OĆ za;. o sfyszan · ·ad)
w,"• •

J ...J
• 11. ···"""
1.UŚ(: pGV.",-'Ż5TI.•ch pr&\\o'Q OC-ZfWIS( Cu l'Jlua•a ,_...
m d # do mak · rmlll•~ ~J il.;LJIJ
• •
1·,

.. 1' --\. dl.i fan
... grupir,wanie to poch;tin ar. Zaw ze: pow1nnL • . , . • liiaci i ~ynuicJi, kied}· zmu-
.ak. k ć . d • 7Vl'il "'Y"'ołilnn.1 I tmn1m11
J •~ motr111 , y mrn w JlOJ e ~ ~c..., ··
:.i •
\\' mojej pra 'I prawie nigdy mi;
Slruny urtądzeni do przeł czama do nowe O tonu.
CZ,,,llł•~......,....,.11

Nareazcie coś na1ekranie!


Jak 118 l il{&--ę O gl'3tice. dlugii wy112yrnu!isśmy be~ oglądmiia cze ~olw~~k- ~
i~ tiwil~ je.~ cno.1 ~ Kod do ~ r,ozdz1a-łu ~u:'-rcsz.czony n C:D J~m ll!l~)~t prOJf\
! .~
Ie 11!,em,on........... "'"'--..r li-'ur.. zasadmc_u ~ildł'l
on.;.. "'-~:.ro-i-ie króre omów&lem_
• i.em::i., fi .. . Las,
L: nav.-ra.,l,:lb ·
~,.. jaki ~ób pokazać grnfmt bł:z o~wi.1_01111J;~ns_!~mdLCJ1 o~v. ,t !ary spo ól) po~
tr.lil fM□ai;p: 1k:z Offllll\ iARill yafif<.i . O tatl!c-~-Dte .IN\,~~ owa i=m s1~ ~a .wyk...,,,.._.., _
w t:i,m payf.Jmmc \\iSlępnrc prukształ,eon}','Ch \\Ile~ l~w ora.~ ORIÓ\ Jent~ hmbf~
w rol'dz.ia!e nasltpnym. 2 ri:so p(!IWOOU wszys:tlde w1en_:holk1 pokazane w paru~
pf'Z}·kfad2ie są ~pr~tow:me prz~z w.spół'f'Ą~e ekranowe.

Jak obkcałffll. kod w tym roulziille \\ lrorzystuje wc::tt'Śnicj optaco"~l'.lny szki~Jec, "\łt­
l"llffl?ffl J~ą niewieJką mmłtfibcję we,, n~trz klasy l dCJ l I-' ~sta ns,u.-"~ąe l.\o} t11o
io.nu.- ,,.,,.~ ur-'Ąd«nie} ~ zmodyfilcowakm plik W~,~ ·alf~J,·.cpp. ilb)• uwzgl ·
11ową kJłlS~. Pozosu1h1 cztść kodu majd'uj~ i~ ,. ewnl\tfZ klasy ~ l katJi 1fr -·i
która J~ kliis~ ,o,onmą k las1r '(JJ.p · kdCJ 1 Hos a. Pnyjl7,}jm_ ir.: defi n ccji .htsy w pt
ĄpfilrncfoWierzch.lr.

Zanim b~-dziemy mog_~j s 00"2)·s•ać z k~llSy pod tawowcj, mosimy najpierw\ łąc~ ·
defimicję. 0\'II r.:las.31 dzi dziczy wszyst ·e podstawo,,·~ wł.a!cawości i rillelody 2
0

r.Aol1 aCJl~S i! Wll7,J.)17tsbru- kilka funkeJi wirtualnyclJ. klón; urnicici li m}' wszkit]•
• 1ocl . · ·~1 ~:tC:Jil
ci SS r"Apl ilCJ --er"ltr.o1 ,

' ..bl1t.

~rzy rm.:!odY umie~crone w tej sekcji obsługują LwoncmL". w}pdnianil! cłm1rmi


:~~~7.cnr~ bu~orn.. \ 1e:.a:h_o~~ow~. Powstają_ m~c jako osobnt: funkcje·, po,nic,,.·aż ~
1

P ~•31 ~c \\,__aa ie •mcJBhZ3tJJ lub w cz:i 1e oo•,varzt1nia un.ądLe111iL \\' tej pr')
dow ~ phkitl.1m, PUOO katdą opi:racj◄l. rc:m::lerowania. bufor jest wyp.:tm111ny okręgiem:
~ 111łfłl;:'1r.1JBufo• ~(l"':! Ol,; }
Ol Ul •'L6.ir or'lllóJ~rzcbol,:( ): ·
·,old lrl 5lt1Bu or'... rerichol o.

Ko11 · Lruktor Ol'ill dt:Slruktó Obs) - , .


afe w·~ IOtc · - r uguJą proste o~r-JcJc inD ~ lini,i;:ji uraz pof?.Ildkoi,,~ll
i z 117.CClYWtStych dziabń w kmmją :fu11kej • opis~ ne w dal icj kokj□ i:
fA I ~C,j3 erlt®lk(,.
,,, rt41a I ~, ł 1kacJ I e 2Cho l
}'

Poni25zą ford::cję W)fwofajc:my • ._ .


oraz bufor w~er:zc:łto-tków: po uiworzcmu ołnek-mu DJO. Fooi:.:cJ:J bm tworzy W?~~
lłwJl'-18. • 'Wanwtko ,oap...,._ ... ad wleaabellrdw

Zadaniem funktj1 prz~dslawioncj J)Ol\i.t.cj j4!St spmwdzt.!!fllit: pned zniszczeniem ~ i a


przez szlucfet. czy bufor wi,erzchołkow zosm1 :zwolniony:
zedln SLCZe,l,Jeff,[ ,_

Ponii,zic funkicjc_wywoląj~my w p.rz-y-paqku utm~niil urządzema. Funkcja f'rzedOd-


twoTten, r.w Jaua. bufor w1erJ1chołk6w• przt.-..d odt\vorlt..5n.iem w:7.ącbtmia. natomiast funk-
cja P-oOcl ...orzen, u odtwarza burfor po odtworzeniu nl:Ząd2t.-nis:
,.,.rna m 600L !>r~ .,,~;,em eo, J.
•, 1r LH 800l Po(k:I :arzen1 u(j.

\\fre iiCie funkcja, ·n.a lktbli'.ą ~ekali my. Jt;j :za.da□iem jes.1. ri.:odr:,owa.nie wier2~hoU,::6w
ma ,e~r.lllie:
, r ~ I D1a Relide J().

Om nlł5,:i\'; bufor. wiera<:holków. Jes t mo najłi ażnicjsz.a czę~ć tego pliku:


L.Plll REC 30 tRHJ:BUFFE.ltS _ Bu o , er1.cho I k ;
f.
J 1i.\'i u.imy. kl3sn jt::SI dOS)IĆ oc,ywi~1a. Musm,y lylko up~11 nić ~ię, Jte bufor wicr.t-
oholkó, zo1>"tał u,wor.riun)· i :rJ1 i57:czon:y '\,' odp ~•ioo11 ich momcn,:ath oraz wykn:. lic "ó
:0:1 ii.ikr...-nie tam. gdzie ""''}'Dmka to z opraoow3nc.go _pr1.4,.":Z nas !i>Zk iclc:tu~ Prai.:;,naforuj m.
imp!emi=nracj ~ klasy ~wartą w pliku .4plr.kac:jaił'ie~f,,cpp.

Wlączamy d4;fmi..;j · kb1.!;.)':


lu~ ·1tpl a1;.Ja 1°r„ch •

Defiomujern~ fonn::ll oraz s1n1ktur~ 7Wil\1an· "l "'1cr;-1:dmlkami, ktMa :uwiera ·s.tępnik
1..1 .utoną. pozycję oraz prosty kolor. Usla~~mny kolor wkrzchoH;;ów niJ biały. 11h: nH:,ma

pooksperym e:nto"'aĆ z innymi ko!oran, ,-


_PROS ... JE.Rl Cl).:, : 'f I lRi "Ą 031 F 1F- !FfUSE

s rutt
{
~T '
- i -Rz E,

toat . ";/ _ .-' . rt...,.


O: !J olor.
}.
Poo~ instrukcjff u~ta?. H• li~:tl'K; wicrxholk,,w do prtJ:twarzanfa_i w ·ś\ ietlnni Zmiilffa
łaj liczb pcw.·nd1Jjr.: "., ,Jr.re łan i~ w 1ękS7.cj tub mmcj zc-j 1ic2by wi~ruJ,olkÓ\:i.• 'Il\ 1;kr-&1nLI!.
\\ybrafem w i ·kszą ,.,,·arlo~. ~h. u,Kl,vm sic;. że b :-dLi~ co ogl,Lćlac:
1ne L[ClBA_ ~E-RZ • 1000

Tc!ii7. zdefiniujemy proste makr gen~rujące 1;c;r.bę losową. ·-~Z$ plikacj a '' pełnia
ekmn rozmieszczonyrnm Josov o, okręgami ► :ate'ITl1 tom kro ublt"''~ t:"'on.,,·rne 10 ~"rych
wartości 11mi~nnoprzecinkm"r<')'ch z ?JJkr~u od O.O do I.O. l1on; ~dz•"m mm.ożyc pra~z
'2erokeść ; wysoko 'c unądzcma~
Oil") ·al'lłlO I ( 11 ~ )
11
•de1 ne- LlCZBA_l050~ ((
Clll"5 11 • Roa:P ..e:t,mm)' ~

~11 ~fj1W e:
r
ł
tii:4)· tiu for \,1 mc:rz-=:bołkó,.,.,. ni~ zos.,r.i, z lnfon)·. t~
Dc;ś.lrutwr oM~i,;_ic s)'(L1 3 t:Jł:. . dk W)'H imii1a iflJl h bl'(dóv..· w 'br~ie -HAl,ftillj
yooat;ja. m k .się ~ e w fll'Z)'P8 "
·, 1 r 1 u

1 CfAILWtU· lPros:
DJOC~(4J! r.-..~•,...,,._
F~SE. -

:te 1 o.
}

tłje bufo ~ · r.ro'h.Qł ków, · tóry ma I Lmcć w pamięci \m


\\i'ybr-ilflc gi n ja ~ et:łu ffliJ, ·n~iz Cjir wyd:::tjnos.( i db pr1,1 t.cj I is.l)· pwtłt •
B1('Y1taż pt1la pamił(i jei, di m. lri3J u ~ ni..:: □-r: 001wctr.G)' ~ 1Jf11 ._i u • ;Q}ru • ,
lll łlr'11)' . JCSI LO dobm platrorm d la oscyeh.: pi:l) n ~t'JIÓ\ • \ \ 'ysllJ'1G.l)i iini~~
~ ~,. ·• oo si'i d~c-jc-. Moil"~:J. lilk.Ze modyf'tkow:i~ pul~ pannę,., do ~
IISU'i\ f kod. Z: funkc:Ji 001.V.lll"l.IJfflill 'l:}Ofli f;I,\·~ jest ,o IU!$ 7. pi l\\'S;;n, I f'lajpfOOt-,;;zy 'pn)
po'Wim1ismy l,i(\ WiFCĆ lroch UDi.I L-hpl'1'}'111C:rlly:
SOC\

1f l1G?.O· ;i.iCrea ■- H! (
" ziea ~ _ F1.f. U.).

OYS. F- IElłlCM.
~_DH~T 1
a Ertt H:))l
r- SL
- Rmddat 8. • W.,..... "'llłlDOIJM ... ad . . . . . . . . . .

Poniż:SZa funki.:ja niszczy bufor wie17.e,hołk w i ponownie imcjujc w&każnik:


YO d <:.pl ac..]1~ e~lChol · . l 15 cllkl or~1erzcnol {)

'
ł
l
Funkcj PrzedOd ...n zeri f:fTI ni u zy bufor skojanouy 2 utrnocmyn, urządzeniem.. Przed
odt\'-'onenit:m urz: dunia zwolnicni lego,buforo j,cs,t konieczne::
800.. 1 di;Jl ri PrleóO:!t „ .ufl l1
{
1s1.ciS1 0~~1erzcool {).
re · rn TP.UE •
}

Funk ·a ł'oOd ri:>r zem :.i wywotrwana. je t pe, odt,i..·or~1,;niu urzącv.en ia. JeJ 7.adanit:m Jest
pono,wnc utworzcrut: bu OtJ w1erzuholków. który 70Stał utracon , w c::1.asir.; 1 kitd)' utros
ccmo unąth:~nie. Dla prawdzenia ty..:h funkcji można uryć pdnocicr.ulowcgo ur~nia.,
po c • m _p17, a.~czyc i.; cfo mnl.!j aplika 1L a na tępn ie przelączyt ie; 7 powll'ul(..'m :
1:Ap l ..:~J1" e-r-zCJ 1k Po(Jo --.urs:~n ,
{

Za kai.d)m r.u.cm, ku!ny \\ yknnuJi:in, op-+:raCJt: renderowania ponowm~ ,, pelniamy


b-ufor i mfi:nmUJt:my ufł',ąd1:c n 1 • i.c nale,y "ykri.: ~ lić 78\\':lft0. . Pom ze W) wotanie 1

powodujt: ry m, amc- c. t.::j ,.awar10:;.i.: i hu fora.


,'Olei •:Ap i <l J , ,- l · , ~ •.maeruJ
t

Poniisza funkcJ · je,st wywol)"',·aoo flJ'Zt'.d ;m1s~cz.cmem urz.ątlzcnj11, lV n mw.b,~ ·h warun•


kacfi t „ m miejscu na~tąp• :rniV-C7Cl'111i.:· bufom \Vicr.1.:<.:ho fków;
60CJL l 1kac-J 1 Pr1ed , zcz , en ()
(
lĄ1SZC, 1erzchol ().
re n •
}
C1f6ć 111 • RozpooąMIIIY ..............

BO)_ JltacJ• terzefM>, . ~In Buforłiłierzcll!Ol O


{
1 (! ~ o erte 1 )
re"tJr: fAlSE:
Pfł(ISTY_ tERiC • ,..,. H?r~cno1 •

rnJv"-"e-my z.ablokował bufor w najbardiicj ckooomicmy


n..-'t..•~
•, sposób.T Pontewat
.an ~ t,• ,
Dcmn.....-
, •. -_..___
W ~lni&m}' d:1n)'IW cały ~uf~r~MO<~my po~ctc: ~ 7.4Wu.u.O . ...~,..,_,, 2 JiiOOc~ ~
d6\ ope-rlcja się nic powL.edzae. koneeymy d.ziakrrue.
( ti[L c fo 1e tUIOI ■>L Ctl. SClM_11 lE]UCłłJL O •
s zeo c~ _wtE - Et).
(ffiE. • J.!. 1e-rzcmtl, .
OOtl __oiSUJIO!>>
{
Zn szcz&J o 1!tlchol <>:
r · ~m rt1L..S".
}
oa Prz :Sł - 6-!0 O UCZBA_Ł
l01at F lCS - 4 .a· ~l[CZB/l_L
Pmń v. mamy do czynieni z ,vic~holkami "~m.ie przcb~konymi. pozycje ieq.
clKJłtów są określone za pomocą ws~nędnych ekranu. \Vy konystujem}1 te 'i\' 3łto!ć
iJXIII ICWm: dom} lny rozmiar ut'"łądzc.mia dla apHkacj i w okn i~ le) 640 x4 O. W IM%)
modyfibcj i fimkcji łub \\I przypadku modyfikacj i urządzcmfa„ oakży zmodyfiko·" · k
wanoś.(j_ Wmto-ści pararnclrÓ\ Z or-.t12 RH\V u tawionc na wartość dom ' Iną LO:
for tłCOil I •!. ~ -0. JncL s < llClaA_.-..!fRl , .Meks • .. )
r
łoa ta - ł loa Hnorl s ł ( f10d )UCZBJ _ 3Efłl ? O- • 0'.W) _Pl.
erzCJlol Und!! s) . · • Prze.s~ • 50. 0 cos{ ~ } :
ie, 2c:iol (Jr.deks} y - Prle-s', • SO o· • slncrau.
1~rl~ooi, (ll)jetsJ z - 1.0.
.. ~rlcholt(incte-~S] - . .o •

.. ,~r,chol [ odeks] olo~ • o f


rlcoolk - ~ loci t)_
)
-
IIY_.k&.3.
IIJOlddal 8 . • Wezptko ~ Mf od ~
U7

~ prtmvl: ,.
~Ja

Podsumowanie
Celem tego rozd1,ału
byto ,., }jaśnienie podstawowych zasad twot?.enia i zaną.d.zania
wierzcho~kam1. Picrn•szy przyklad Jesl niezb}1 ciek~, y. ale jcżch m>zumicmy kod oraz
pewne zagadnienia ~• Lązani: 1 wydaJności~. to zdoD1r-dz1c=my s.olLdnc podsta\\.')' da zro-
zumien1a kolcJnyeh rozdz, ałc.,v. . Spróbujm; podsumował naj waznicJsze plll'lkty:
t Wicr2chołck rr'I07.na zdcfinicw, ac jł1kL1 punkl w pr,.e-suzc:ni. który sfu~) jako
,Jdoc~k.... do rcndt:rowania punktó,, . hmi ora:1 powicuchni.
• Fonnaty wierzcholkó\\. definiują ich 3trybuty.

• Wierzcbolk, nal~Z}· L\\ urzyć w bufonu:h wi~r7\.'.hołkó,, . Celowo ignorujtm)'


lak1e przypadl{j_ 2w.i1: cak nii; je:i.t.
• Wierzchołki nall"Z)' twnr.1.)'Ć 1 bk1ko\\ ;1ć, ,,,•kórzystując odpowiednio dohr'"dlle
flagi. na pod.._la,11 ii.: ich 1.arn i~rzom:go wykorzy!ilaJUa. 7.aws:,c na.lct.)1 optymalizo,'1/tlt
sposób ich pr..rt:-mieszcwma pom i i.:dzy J)am1,'('1ą v,deo. a pami,:dą s.y ~temową.
♦ Istnieje kilka reguł oplym~ Ii ,.a1.:j i, alt.: podstawowa c-...-g.ula polega na tym. że operacje
~ dane należy grupować po to, aby zmimma.•i1.o,, ać lacz~ pr1.ełączen oraz
zma.ksymalizowa~ ilość d1u1ych przekazywanych do urządzenia..
♦ .Efekt 'kodu z.aprczcnlowancl'o ,,.. t rm wzdzialc ni~ je t k~zy od ohrazu
uzyskiwanego na kiepskim 1elcwizo17e. ale ilu~cruje on wicie podstawowych
pojoć. które będą w:!7.nL; w nast~pnych roidziałach.
Rozdział 9.
Zastosowanie
transformacji
\lf rozdzi le . omó, iliśmy macierze i d wiwidiśmy się, jak mo-żn.a je wyk~ć
do ,vyk n)",;ani przekształceń takich jak prze uni~da czy obroty. ide pojęcia te oma•
wiaJima)' •sto tcoretyc,:nic. bez grafiki. Te-raz., po omówieniu ,,..,icrzcbo3ków. mogę
powiedzi • , jaki ,~ ,· 1nogą mieć maciel'"lC Iran. fonnacj· na i. ienchołki. \V tym 1'02-
dz:tsle opowiem. w jlllki ~posób morna „ korzy tać wspomńiane macic:~c z wząd2e­
ni m Din:ct3D, Kod 7.,aprczentowan w tym rnzdzialc moma znal.:żć na dołączonej do
ksiątki płycie CD,,. katalogu tKodlRMdzitłi09. W t)'ID rozd2iafc opiszem. aas~pujące
Dgadnienia~
♦ Poj cie trnnsfi rmacj i.
♦ Tnmsfom1acje ~wiata.
♦ Transformacje willoku.
• r,,.·or7..ł!łl te t:ransformacj i śwmam i lnmsformacJI wu.ioku
• Rzuty.
• Zastoso,,.,•anic tr,msformacj i z ur.1ąd1.~nicm Dircct.30.
♦ \Vykorey ·tanie ssosb, · m:.u:ii:rl)
♦ , siawrcmc widoku łi:'krunu ran~. ,•,eliptwl}.
• Z~t,oso\,1anie transformacji " aplikacji.
• Zagadnienia z.wiązane, w d~.11no~1ą.

Co to są transformacje?
Aby dobr2e uozumaoc , w jaki . posób Y.rykor?.Y t:1.ć Lrnn form::icje ~ c~ie r~ ienia
grafiki 3D, r'OZ\vatffly nash;pującą s)1u.t1 -ji;. \Vyobr&im„ obie. ~c znaJd'u~emy 1ę w we
c:.J.........
... •
,,,.,,u mut.steczku • • I KaruzeI1a n1a k· ztah I cui;."(_Hnctn
I fotog,__rafuJcrny ki.-Jruze ę. . " nie m:i ! kte.
pewną pozycję i orientację w przestrL,eni. · y tel mamy p~wn~ _po_zyc~'t w ~rzcs~nt
(na ziemi). Kolii ~a ·ja pomiędzy pozycją karuzeli. a naszą pozycJą I onentacJą ,o ~~la.
Clfll6 • • ~JNl!!,.._~~o~wa~---=lle:,_______________

. ·tp RóY.'ll&eŻ obiekt)""' aparaw fotograficznego .....


· za nmm - - '·mum 1 · • "-- h' kt c1a· ....
czy Jdt ona • ~~ląd zdjęcia. Obiektyw pow~uJ:• ~ o ie wy !JC się b)i
wpłyW na ostatoe':711)' ')S_ •nln1·... mu m1gawk•·. a zdJę:c1e J!ó:Sl ••rendetoWIJ)c" Ila
, Pl"7V1T'ller-am)' t 2'"""" .._ ., . . "'r • -
lub dIIIeJ. •~ ··· ...... ,~;o, folo,..rafi 1. Format filmu v.'J)ływa na ,a~
,-r także ma wpływ nil :@Ww.0 ;,..., C' ---.
Sam •_t m . . . ~ 1.dj~ia. w cym prr. kladll-ie oslntecZfly wyghld zd~
rozdz1elczosć uz) ska_. eg0 : . · obiektu naszą po'.l)'Cj~ obiektyw ...
dk WJ\ inu.-r.ikcJ• pomu;dzy pozycJą , . . . C'Dt
wypa o 61 które rzułuj I\ na ~zys.kame odwzorowama U'aJW,1niar...;1
fotografic7TI~O oraz mu, ...... • a. kJiszv. Tr::u,s ormacje w grafice 3D ..-~
c:-«h 1,;aruzeb M dwµll 1aro,vym ui!Jęcm n . .. . . . 41.iai.:i
. k .. 5~b. Vl świecirz: grafiki 3D mamy do czy111en1a z ~
~~A~.~~ ~la-.,, ::::,,.,..., -"iektu na ~mr:; przeks.zlałceniami widoku. k ~
wiata, ~"""'" '"'res ~~ ..---.. "'"' '1./Wl -=-~
·ej,; kamsry, lr.lDSformacjarm t'"IUIU. ~ó~ ok:reśl~Ją "'l~n.,.,~M;I obu:~}'\\"ij ~
• !: • il.-. •

pot, "d ,, ·am ·,.'"kranu • k1ón.•


OJ'37 W[ OA I'- •;
od \.!'ZOTO"YiUJ C mfonnncJC
~ ,.
do po5tac1
" .
rzec~. •
L'itych ~
~
Spróbujmy prmanalimwać ka'-dą z tych tran 1omtacJ1. a n :Sl~pn•c spro UJm:y j e ~

Transformacje świl ata


Jak p0wir;dzielm iny w poprzednim rozdziale. do dcfimm11,• ni~ obit!Kt~w 3D 'Pr') ~
stujcm}' w1erzcholki. Kaldy z tych wic;r1,;cholktlW rcpt~zemHuJc pozycy; \i\ pr,~
3 ta pozycja j~t okrdhrna względem pewnego punktu poc,..ątkowe-go. ied)· ·
renderujemy scen.ę 3D. chct!ni p,1.C'lil-llWłl~ obick1_y ,.,·i;wnątrL śwrnla 3D. Jak prze
liśmy "i w osUtnim rozdziale. moLcm mampulowm; kaL:dym z wicrzchołk.óv. ~ ~
ab uzyskać nową pozy,cj~ \ ~wir:cic. Jednak lepszym ro1w1:1;,anicm je l ,,rykorą
ma 1crzy t.r:msfonrutcji ~-,waata i umoilm u:11ir.: sprz~·to\li 1 1D lub oprograrnowaniu ~
tworzenia ka:idcgo "'~el".lchnłku przez pC'llok cr-rn ·formac12 '\l;JJprostszym zas\OSO\\"'
maciel7)' ~wiała je~L przi.: mvanu: prcckfimowat\}ch ob1cktt•\\ w ,v1r1ualnej ~
ale isblieje inlła uboc.tru1 korzyć. Mcvcm. ,:i. kor.I'_ ·tac lt; m;:icii.:-rl ,, ce1u \\)' ·
kdku egzcmplan-y 1cgo samego obit:ktu. wykonysLUJą<:' ,, 1elnkro1mc jooen bufor""~
cbołków ora-' ki lka różnych m:ic:icrzy lrd11 ·forn1acJ 1 :-:lcZ) -.n-.c1c zadamem sprąfJ.
kilkakrotni; przekszmki:nic wier1.chołków • •1k ,, 1ł::<lf"✓ )''itMiic Jc..·drn,;go z4.~~11 hr}·t !lil.:..
dzap&1m1ęć oraz pr-1'.cpusmowo ·ć sz n~• do kany \ 1dc: , . .:\a ~~unku 9.1 pokazaoorę
1

bry~ę re11di.:-rowaną dwct raz, w dwóch roŻI1_>ch pozyc,;jach ura/. ii.:runl-.::i h. Pod\~ ~ ~
d:myth o bryi~ gi:nmdryczneJ pr.tcsyhmych tiu karty, 1dcn jc~t tll t lko jćdr.:n rnooel
R)'AU11ek 9 .1.
D»a • -g..:.·ntplor:::e
pr::t.·Awdłoo11t;J
bnh
gC!O fl'1('1Il'(7'11ej
-
rr•sf611nacje widoku1

Tworzenie transformacji świ,ata


1

i transformacji widoku
bociaż maciew...e {\\ 1aca 1 \\ 1doku są pojęcio,"'O róznc. 10 Jctfoak ,sa oni.:: takiiz saTM mc-
:hanicznie. eo oznaci-a. że dla obu prn.::ks;.r.1ak~11 sposób t\\or;cni::,i m~cierz.y lr3:nSfol"m3cji
JCSl ~aki sam. Z~t)dt11t: z Ly,n. c('I nap1satcm \\ rol'<t,iale 3.. m:3 ic,,c 'Pf""'eksztalceń są
~?n_on~ zgodnie· 7 pt:\\ nym fom1;::1Lc:m. r.i potączon} 1:fck1 ich dzialani. motna uzyskać
dlztękm mno?.cniu po:s✓tz~gólnych rnacLt.:I7y pr1c1 "1eb1c. 'A•' t~ m nn..dz;alc opov.1iem. jaki
\\1'~' mają wspoInn1aue macierze na bł) ly gc-omc:tryczni:. W koleJD)'Ch pr,),lcladach
omówi~ srm oby manipulo\, :JnWi 1n:1clcrzą swi;;1ta " c4.!h.1 pr1csuw~niii'l. bryi gcometryc.z-
n,)'ch l!l8 s.oonie-, aft:- Ptlrr11iętt~my o tym, że te ~ami.: lnał::mitt dotyczą pr1.es.mvania ~::unery
za pomocą macier✓.y \\/tdoku

a rysunku 9. · a. poka:,,ano rzut pewnej prosttJ fi~UI)' geomctt1re7.nej zdefin iowam:j


w odni~ieniu do początku u'kfadu wspótrzędnych. Aby zroz1:•mi~ć dz-iahmir: pnekszt:.ił­
~6. ~bm. my "leć nic tylko o figurach. ale m~e o ~kładzi· iJ.•spół~~dnych dh1 ~~
(una.tzcJ współrz.ędn eh modciul. lmmmieni1: dział r11a przeksztalcenJ;e t pms,~.Jeże~1
Wyobrazimy s bw:. że. pr;...:k zta.kenmc ma ,. ·pty,. na układ y.11pliłt7ędnyclil. a w 1crzch?lła.
~ prostu •..zabierają_ i „ po drodzi , Przykhido,,.,·o na rysunku 9'.~h pokazall\o e ekt dzułl!l'•
ma rnaeierz:y pr~u ni cia. f('lesm,._1u, ona 'HIC rylko ,vierzcnolk1. ale 1akte układ współ­
~Rj'ch. , ary unlrn 9.Jc pok~ no efekt d2ialania mu"iert.' obrotov.'. Z\ róćmy uwagę
na to. te układ w p łr.t~dnyeh obróci I s~ę.
U2 ~ NI ♦ ~ Nlftih,IOW„

RJ't"'"91c 9,311
Ef.ekl)• pro~v:lr
p,-;:d,~/~'-Jł

....

Zrozumsfflie- wpływu pncksztah::enie m ukfad w · pób-'cĄ-dnyeh j~m kłu("zem do :u._,


mieni i:(('kni dzi a111fa widu macierzy oraz dlaczego " ' pro.et: 1c t,vor..rerua ~
:ote-jno,\; opem j1 je~t wm watna. N1J f)' nnku 9.4'1 pokazano efi t PtLC$Wlięea1; N
klÓl),m O IJOJIO obrót. Ta sekwr:n~jil operacji powoduje pt'2.l:Il11t!S.7.CZJ;nl( ukłwu"•

n ~ , t'łl nutftpliliC obfóce11ie 6 i wokół nm c:go począlku. u ·lad!;J . a ~ u 9


poka.mno r:fd..t dzi ~ niu obrom. ;pt'ł króij,1tr1 następuje p,asuni~c ie. · }'Il iki Sr.\ ~1-
róme. 1ajpier,v RńS1 puje obrót-~ni~ ~adu_ póln~ cb. a ~~Diie j~ro p ~
W7.aiul i. Gdybyśmy ""''ko )'W:l11 ammae;f!i zgodme 2 ll')r~rnlm:m 9.4. pn:11Ws~~
cjOI sp<J\\'000\\ by ZM,)'klyobro1" 1)1.-"Wnt.j o d ~i. n tomi~r dn1ga ·mcja bdbq
pr.zypominał3by fek1 okqzania. Jak widzimy, ko1 jn · · pn~k:s-ztaleen ma ~
Obroty mają ""'p1yi.,, me: t~ lko n:;1 Sflmc:' f iigury oc.·mm:lrycwc-. :ll~ 1ak2e n u ład 'i'-s
12,dnyGh. zatem prz-c unięcie, lkrón: dtlst ;puj e po obr ta h, mon■ być w kon:me mtb
oiecmi ~ w t rn1 kic:runlm, w kl rym byśmy ~ bu.■ k go tyczył ~-

Fłrtllfićk 9.4.
Efel«y '
pr.tlc..i~¾lkc.11

.,

problen i:m. o kmorym Int.: oo. pamił{La $ą c f1,;ktv U:tl


1
'?'~ .poteru:jalaym
do fi ru,.. n l"l _.- · .., h
Rll"S It.'fl.111 • • •
ki"-·anc ""'
__1 • • , , r -umętyc "'stosunku do flOC'Z.łltku ukfadu ,11 sni.ł,-..,..d1111.' h. ~krtt~
to .tJUan y JL"Z<= h fioi d f · ,~- ·--Y ..,;
L ~ • bun; z c I muweno Ził pomoc.. "· ,,.i\:'lu dn mod LO\V"'nia a model
1

uy1 "-')'Ś«Jdko"·aoy bł . . ~ u •
.....łi..r. _ . • • _ •• ·d n~n s,~ to wyd w~fo. :1 rysunku 9.S poka.til.Jllo fi~. tt.orc,
r'IĄlll.p;. nie m3JdUJC r" w ......,.. ■k. . ••, . _ J .
[ . . ~ ~za.ffl.u W41IILIU wspólrą-dnych. 1; a swlu c1:i. i'.A-«2c t'M\110l'i-a!Dl
is men iu wbudow lleJ me · . . ·J 'J .,......
m ·•ach na1 ,1.r.., et~~~ P?'=~UftL'tC19• Z tego P.(>11 odu ,i,.·1.: ,i.;s tldch transkt-
,, e~, Uwzg_lęd111 JC,J 1 ~filii! p""",1,,~ cl ' . . •
u · 'kamy efl!kt okn mni . j'I, _ • •,..,.,clUi) ~wo._ J 11 zast0$UJL"ffl)1' m::u;aea
_ .
odfi:ul~j od . pą bł „ panu:wa2 osie ~bracaJą się• •le iguro znajduJe -•~ v. :sttiJ
c ł, ro em ten mo:ma b · -•n
układ.u \ pńłn dnych. od . Y rozw,ą:r.at, p~esuwając model d ~~·
unjęcia i wtedu m... 1-i....~
:J
°' atoby 10 \ ' rzemwaą1 ,; •budoWńn~j m::.ciet'Z)' pl"ZC"
..,ig i..,,, ruy zas~oSOVl.' ć ob ó O .
~'rllO'W'anm w takich S}'t • . h . r ,_ CZ}'Wl Ir.?' n.aJpros.tsz po.
u Jat" J l upeWlfli nie ~ię. "te rtmddc q," . rodko"'łll'
Rozdzlat9. • ~ ~
-
Rss•rrtk 9.1. •.Z

F;gv,a prztstimct.a
M'fh)Stnfłll
do poc:ąlh ukKlih•
v,-q,i,lr:4.."tflJ)v:h

~ ~ . ; edni·m pun:kc~e. W p~dkllil •~ oi:rLe~ill '"'-•lasnycl} model~ nre ma 1. tym wid-


kiego ~blcmu. Z mOJ~ o doo, wadczeom W'}'ifl1'k j,~ nak. ł modele. któlic pobieramy
lvb ku:pi.uem ,~ 'IPrtL_gaJą p ·wncgo przygotowania, i-anim 'będą rnogl:,• być odpM ,cdnjo
pnekszrateone.

Popr;;edmc u,,1Jagi odnooz.1 s{ę t~e do s.kailm\·an~a. Je:h:li opcm.cja skalourani11 pr,,;cpro-
·w sdzana j esl jako o ·tatnia w ekwi.:ncji opera ej i 11.'Wl.t:ien.o,,o/cb, do•')'CZ)' oua iwylt\tmir
fig.iny. Jeżeli natomiasl macterz skalow·anwa j,est za&tosm am.a gdz.ies po ctrodi.e;, w ~ u
op~mcjL „vówczas do1ycz;>1 Lrtcr1~ font11acji, 'kcóryclni mmcier.:re są_ kolejnym~ w sekv.·tncji
po macierzy skalowania.
11 ·lę. że pow i działem JU.ż , ~7.)"Smli:o o 2flac-xe111iu kokjTiości ~•y'kony,; ~nia o~u1łait Klu.•
c:zem do :m)7.llmi ·n u, efektów prz,ekszutk~ń. j e mwi1.ua.Hzacja efuktóv.· działania każdego

z kroków na uklac.l spó! rZ,ędn:>·ch C'lr:1.z kh wp~,~u na da.l!.U boki. Pi:-1.:ekm.atciznia
\Vpływa;ą na le), w Jaki s:posbb obiekty i obscn"a,:ony pnesuwajt\ if; v.' świecie. \V następ,­
nej kolcjnośd omowimy li'ZUty. ·urn: ruwniet są op~ 1;111e. za p,omru;ą macierzy. ale nie
polegaj na prz~un tt;:c1:1ch i ohrntach.

Rzuty
Rzuty {ang. pi·oJr..'4.. 1ii-m mm.~fmw'1lrtm) l(i pra,:,.,·dt~poclolmie_n;,,ij~iej ·kompki~~ane
prL k.'i'l.1afcem~ dL I w~zu::i11 ,..acj, h1;;1.c.lCj n•z. w pr.r.Yf?•adku m_:1c1cr'o/ S:""hllta. ~ey te wrd?~
które kodują pcv. cji.: 1nbroty, rnacicn. t'l.Ulu koduJC \"łł.aś.c1,1--o c1 ~L~lJa~ne:J ,kami!:':'- V la--
ściYtoś.ci te 1,1wrzą ostrosłup wuiz,cpia. -1óry okrclla p,rus.tr2en ""dzLaln~ dl 3 k. .3inery.
Os.tros.łup 1c11 pokanmt) na rysunku 9 .6.

Rysune:~ '9.6.
Ou,wfup ł'.Wunia
lłysUnek 9. 7.
· ;. T;JJUI 9J
pr:e=. d,,;o
" 1(hi/uw
~ .. o/irf il)'M) .

Bibli ek:J DJDX mwtcrn I OróM}'th funkcji do tl nenia m..:ci..:r.ry zulu I cnie;Ją,
Jcwo :tn~ i pr:mos :1oc dl.a każ •g._, :z pai,: iu ,ypóv. m. i;1~r1:y „ i:-turu:k -kn:ru
~t.a. c,i dod!ltni kti:runr;k Z Je: l zwrÓCOl1) " 1mm; 0bs~rn .n tr•r.1. c I.~ le-1 P ?Vi c,;
o~erwa.100 f:' ie\\ 31. w Otret:tX ,.i. yko~Lyv. f'J~ Jl.'"'t ukbd 1i..~\lo \ S ·r: 1JI) r.....z \\'
od obi:;i:~.n.10 ), s.ł..onocnLruJ • :,;.i~ na pi~ tu L •pach k;-\\ os ·r ·rn) eh. któri.: ~ta
w 1akli 9.1

funkcj [ llńlOO',[\\i ~il ht WC: ~·orz nic JUII ri;rl) n:utm, . Dl:l pr, ' ·tadó,, I., gta .' ;o
:i n.1JUI},· '". ·or-LyStuJ limnkc; · ......,o r..a r 1 ,.~,.,
A •~Fo , , i:x,iw,:w:i7. JCJ paramL"łlj nJJb&-
dzitj ...........,,.~Jti.g-1 ill1'I ogii do ~·ty. W p~ •kraihch 2D "Yki..)17)~tuJ-. OJ.::~ •ti
~ · et:lu. 'lldr:1non:.tro~ a w. 1.a_lct L.a$t41S4'lv.1an i rn ·1cr.1y rzu1u njt: u,, ;,gł t;tlńi:ij ·. i..11 •
s kry...,y.

Przekształcenia a urządzenie D3D


- AGlldllllllł 8. • Z11Ł11 ■ a 11 ł1111ilłlnnNJI

r$~-C • 0'4
• FLOAT As
ZO.~leJ)

OC s
.- zero • , si:t osc.
F • T lO-!leJ)

f'tm'kcję ~ n,oma ~1/)'k l'Z)'S1ać dei wygelK'l'Ow 1a v. ł ncj


f fCe erl.H(DJCH. m IC'l'Z)' m.iru DDI pock~wie v.·~iwości widoku
T ll<t"J. fL -
• FlOAT Ydał eJ .
1
0A ZBll:ieJ • Fl.OAl l Dah~J)
T,1 funkcj ge,~jc tna(:im mitu · omclryCm<:go
TR I' .. fito,/ . ( bez U'\\"lgl~r11e11L.a ~ptluywy) pLmktml PQCZl,'lkowym
. rl Dalej. rLOli w rodk~ C'kranu FWlktj:s j~t 111emyldc- uty\«7.ll.l
1.łe • T ZDilli:a]l w rozdi1.ilae'b. k•61.! upi J :n~ n31 1cc 20
run ·ej. et1enJJC maccierz r.rutu nomCII)'C'.Zllego z.J:i.v.-nie
noOf fCe ert. en ix pod:myn1 p11nkćern poc~tkOW} rn.
81,zeJ, FlG=!T ~OaleJ.
J , FLO,'iT Yc~lej. Fl T
~ • FL T ZD.!1eJ)

· próbujmy .zatem opoWit!•fa1ec o tym. w jaki spo ób p:rak!tycznit :,,astos.ow11ć opasane


pr.,..ek..,liahxma. Pr.Lcdi.: wszy.st.kim lr'Zeba parru ra • t. unądzcnic- prz chol.wJ w d'nn)m
momencjc tylko j t:dno prlck 1talccrut.? dla k t,dr,;go spośród uzech Lypów pnektttalci:ń.
jakie omówikrn do tej pory (3Stnicj- inne py pr, ·sztalceń, o których opowiem póź•
nie:j), Z tego powodu, j ezcli u tawimy okfl:~toną lran~fonnację. lo j t.'$t ona stos.ow:ma rJo
wsey~tkich obu:k1ów do eh" Ili kiedy nic 1ios,ance zmien1,011~ Je:sl to doskon~hl «-cba
dla tych mac1~rl'y. które nił :nnicniają SL Lbyt czę1'IO, jak np. m:u;1t"r;,: c,:utu, le p,o,, m-
oiśmy pamiętać, z..: 'p rzeksnakeni które u~mawimy dla j ·dn~j bryły. będą mi:1ly wpły\\
na inne bryły do chwilj, k1ed) ja\\.nic u taw1my tr.1ns(ommcję.

Po u· ta\\ ie nwu 1111acicrzy pr.zi.:ksztakcn u~• w 1amy tran ·formncję. poprzez \\ 1~•ołan i~
f1.lllkcj1 Se T·an" form:
lfł(~T m, · 300E"l'lCI:! SE Tri! s onn(D': TR/l FOR IAT(NPE 5 an. C ' S D";" ' TRlX
•i'l'.ac1erz •
PicN"zy parametr okr ]a trans ormacJę. kt rą nale~ u cawić. Poniższy kod p~razujc.
w jaki SJJO$ b ustawić Erzy prleksztalcem , które om rwi liśmy do tej por)•:
_ rz 1'len eooo Se rtans o cDJO.TS_PRU.JfCTI ', . _K r ·:zRzut, •
_i,,1Jrza >Se1Transronn(O~ T5_ I ~-
lenie()30 ie ZW dQ·u).
_ lodlen1e03 r>Se Trans10 (~TS_ .LO. c·e !Sx atol,
nn u:-h ustowieniu maJą on
~...,.111., t!'. •
I !, .ua;;oJ.OJ1T13.tj e te fY\OŻl'l8 US

\ \ 'J rk ·-•· r-'U.._
.7.ęst0 jl;ff>
f'Mlll...,...,..i:.....
V•1.,
ate r·
~ pływ n ,. ,•:;zystkil: r..::nderowam: .;lt:rn.enC}'
SIi

Z.stosowania stosu macierzy


. . ·t 5 . ·~wyC2.aJtl'n • do P~Ję~j srosu. który iar.tądz.a
Propm,:k, O ~ ~ t X nie I lm<J• l"'J~ci< wbutlm,.anc o slosu w..,._
P"'"~l<efi, C . . '?2 " ~L to jed1utk bibliorok DlOX „wiera /"'IIIOcni<ł,
w Jakim W~'-'Jl'UJe '"'
l)l.' i030:-- r
ł C n• ...~ei f~n :t.awie pod tawm 4: opernc;e na stosie
s· ()pen
d . • ,,..rn .,. . .---...r. . I • •
I~ raJ.:_j kil.ka m-ctod w pomaguJ. ych twonemc J!)J ,~sze_a cen. Je.dbał ,
nitSh~,.. O~nQL
PoCJ '-"' Ja"'
narl:l;Ly p~ekazać
. n..ie za, •a110~• .s t.osu dod ćfunkcJ~ · Se ·Trafls f
.a~ •
$al11o urz 11Ueme me v.l! -o :1 • • o11.,,.lntt1•1i to~u. Sto mt>k się
• •
przy w
....... ..1......
Y1u.acJ1.
• • kkdy•
-•- ~ ft.-dzeoill stanów pr.z ksztah::cn 1 2n, ~•u.i: n 1
••
\\ "--O SUI~.J.
,go 1,1-..., s '. T. / ,..,, ·k k m1 w c:zasse 111111: ~
fO'i\lUJi:ł złoion):d1 o~ie«IÓ\\'. Dhi pr~yki du rozw.;i.zm} 'karc po ą2'aJ'l)' ll3 ~ ,
Rpunek 9.S.
St'1f~t.i
r.hJnrpł kowa~,•
llf(N/, J '(/(m[IJ

P!zypu.ćmy. re"""">" pozy<Ję, on,nta ,j "'3lku na mo~ omz /,; '-Damy 11!''-}"Ję •ioł
w to un'-.11 do LRlJ..'IJ, a l.:dcte pc3l}'4.j • haf,, to.sunku do \\'lt:.I) . 7..amma hvyl~r.a ·
llłfl ic:rz-y dJa ka.i.deso obie km, m1 •\.-pnie .:rapisy\\ a.ni a każd.:J .1, n rch. QN}Żerny „
1".!)'SI:I sio i rend rori.\ac sfnte · li ..:dług na h;pująt:c."go schcm tu~
L tworzy · imerte1s '>'losu 1. porn --,ą un~CJł J3D:<C.- t a r1 cS ac .
Z~ \Vyhcry ma je z dla ?07.}'CJJ seall1J i odłoryć ją na ·to

3~U ta,WJĆ wierz.ehoft.-k losu ja o bi~;-4cą rrnn formac ·r; św~::i•a. i rendero,,: _kadłub.
4. dło11 c n:i sco rdnr;wn..i tron fum11t{'j~ dla wJcl}
5. fawif u·i=cholek loou jaku bic,.ącą ll'ansformacj~ Sw1,1ta i reodcm1<·ać ,.;~
8. Odlot ·ć na ros reł:uywnił trnnsfom, ej· dra piet\\.' 1.~j Jutt
U 1aw;t
7, PJern Wis.,,,cholck rosujoko hicz· rq tr.
'i2t tuf-:.
nsfum,aeą "' inu ir ndero-.-.ć
s,ę 1JaJJsfunn„j1
8
Zdj \t_
- dJa 111aC1e1z ""stosu. cu
1eJy. powud,yc, ,e na s,cz,·cic
~ znajdL1"

9. Odlozyć na los n,la1yw4 lronsform.cJ dla drugi :j lu/}•.


h,e,ą ą tran orm:icJę
1
10. dmgą ·t wie chule stosu jako
· •11 łuf~. iala; n:odero,..,e
I
U. Zd· .
!Jlł mJCJen: ze sto u co Crv,.WodUJ
,dfo \\,tży ~.,
j_
•,
.n eoz,...~ "'
u , "' ~-.,. .. ,e
..I~. s·,......... n .c..fTTI,.,.d
zn 11.12.1 •u• ,,., -r
i;

12. ldjąć rrui


renc ze stosu. co sn, 'Wotluie
dl11 r.at u. •·- :1 • • na • zc-.ryc1e 211.yc.t.dr; , · fran
rma,cj,
13 Wr
• Cl']_ Dl PGSób l\t;ncf ~rować p zo ~r.a,..:- C?.~cr st-atku.
Większ~ ~kładów w _tej ksi~cc dotrczy prostych obiektów. zalem nie będziemy
wyko~y:;~wac stosu. ponn:\\1at nu: ~dzt~ ,nam potrzebny. Jednak. w przypadku rcndc:~
R.l\\l~1a obn:któ~.zlC>:tony,ch, nalt.:ty ~am~ę1.at. ie stos maci~rzy mote b)ić cennym na-
rzędziem pozwale.Jącym na zarządzanie w,c:lu modyfikacji macierz.(ll-..vych.

tas maeierey jt t ostatnim pojęciem. które doł}·czy miieicrey pn.ekształceń. 11:zalcm~e


od tqo. CZ)' będziumy , ył::'Jnyi..,,ać praekszt:ak~nia. wykonys.rując- sto~; cey tet 7.hiór
Plllcmeay. to om6,,,oi li mr '" s_z;•slkie 2agadnieni11 zwiąr..ane z prze~s.z1ał«n;,ami mac~e-
f'Z0\'1 roi. O· tatni prz kszl&l~ntc poiega na odw.zoro, aniu danych w o'.kn ie.

Widok ekranu
W'idc.d::i ekranu ang, vi wporl) nic mają '~'P~"''ll na maderze przekształceń. ałc war10
o nicłl '!,\rspomnie c. w tym morn ·nr: te. Po \.\')'konaniu trzech kroków zv.•iązanych z prz "-
krna_tcemami. ur-.ządz.enic musi określić sposób odwzorowanra. daG.ychl na rL,ecz,wis.te
pik.sele na ekr'dn,e. Aby uh1t,·vić \,\'Ykonanie tej 'CZi'lll'llości, d:mniuje:my ,._,.,;dok ekranu.
W no.rma lnych ww-ut1kach ~idok ekranu jest definiowany przez rrrzmiar ókńa w przy-
p:id.ku ~plikacji w oMJie oraz przez rozdzielczoś ekranu w przypadku Bplikacji pe1:no-
ekrnnm ej. Często ni· mus1m)' w1~ jawnil! usrawiac jego paramcu-6"' W Dim- ·tX ismieje
jr.:dn:ak mothwo~ć ustawicniH CZ\: ·ci ckr-.-nu jako widoku ekranu. Może 10. it: przydać
w ewie re11dcrowariia wie~u w1do 'O" w mym '(llrn}'m oknie l□b ido uzy ·ki~ania ~nnycb
efckCÓ'li • takich Jak np. c-clc,wnik naJpera \V przykładowej aplikai::j~ dla łego ro1.d2iaJu
utv,•ol"Z)'In ·, iele w1dok6"'-' ekranu. ab • zaprezenEo"vać roint:=" tr3nsfom.13cjr.:.

Widok ekranu Jes1 dcfinimq1.11)' piTc7 struktunr 0'lD l E.-


18. S1rukwra lJ. definiuje
prostokątną poz}'cję \' 1doku d,.ranu wcw,1ąlrz okna lub ~kranu, ::i także bl1l~ 1 dalszy
pl11n Z. Przed us,a" icn ~c-m no,, cgo widoku ckraJn.u dobrym ✓\ rczajcm jcsc 1.ap1sanic
1

kopi~ ~it..ar..:go za p~)inOC'l funkcji .Jl:.' \'1e"'P" ... l:


T to· rec .:moe.... IP )!?" • !..:iiPO' D301.': <PORT.S "" e1 ~ f~ --an ).

J~ tg dobry pomysł . ptm1eważ wirJ1.Jk ekranu powinno ię us1.a,viac r,onownic ",. czasit:
rencfer,owania. flodobnLI.! Jak \\- przypadku Ltans:fonnacji. b1cźocy ,,,ido'k ekranu odthia~
luje na rnndcring du c,.a~u„ aż zo tmrn: ustawi ri„ na i1J1 ną wmo~- Jeż.cli me ustawirn~·
\,id.oku ~kranu. rnny fragm~ń\ kodu molt przyj c 7..ałoźc i:i, kló~ ok:11ą l't nieprawi~
dicwe. !Po z,apis.aniu k.clp~1 w~doku ekranu, mo:>.11a tL-1 ·~,,.,.~ć :no widok ekrami1, 2a po-
mocą funk.ej i Set\' e-.-, Po
ESUl ren ect.300e ,•1cu Se 1 1e,.,..Po·· (OJO ,3 {POR.TB +.,&.· , [ f,!r'ILI).

funkcja ta d.:·finiuje nowąc:łĄ; ć okn., d t..:j chwih odbywa si~ w nicj_rysov.~_ic. Jeże1i
new,,, WEdQk ekr. .mu in Jduje i'i poza granic mi ur~ądzcnin.. wy, ~lam~ r~nk ·J• Set V1e
1

"' ort zak, ńczy się ni~powmb:eniem. \\fażni! mnf~acją do iapa~rm:too1a J~• to. źr: prO-
porcje wymiaró" widoku ekr.m.a powinny odpown11d · pr-op 11:JOm "'V!i'kort:) -~""'rrn~m
w m it!r.ey rzutu lub oowrotnir.?). Jeżeh tnk t1ir.s jesl biekt mou ,,, g1ąd,1 na m1~
ks:t1.akmt)'-
łączymy to raze111
My Ję. te n.njlep5,Z)'ITI sposobem na zilusttowanac poj~ć 7.d.cfin~owanych w t)lnJ ~
jest zademonstrowanie ech w pmkt!oe. Przykładowa aph~acJ_a ~re-lenlo~a11a ..,
rozdzjaJe został.a urwormna na bazu: kodu z popr7edn1ego rozdz~ału~ s1o~Jąc ~
n111cje do prosmych okr.ęsó-w . .Ponięwat d~ ~Z\"ŚĆ kodu p ó \ ~ s,~. ,omówi; t}'r.ko
materiał. n tomi st f1'łl pł~ic CD znajduje Ję komplelny kod iródłowy. 'IOitt
3574 apribcja renderuje c~ell'}' rome widok.i tcg~ sam~-go bufb"': wi,e~choikóv,, ~
każdego wrdoku to .ujemy inną ~ra~sformacJ ~mta. ~o po~3ZUJC ~fekty kolejnoiQ
dzi3łtH]ia. Zanim p:rzeJdę do om_!'~ruu_a kodu ••naPcey pam 1.ęta~.• ~ poniŻ$ey kOd •o-.
dwie wie~chotek ~óry· fO(fo\'-'~J. Jdli chodzi o wyk:orzystan1 mmsfonrnac:ji. Za
t.-ksperymi:ntowanie z poka2:mym kodt!m , zmjan kolejn ·ci dztaJań lub dodawanie
wycli operncji. Po omówieniu kodu zru;ugeruj · wykona.nie killku ćwiczeń. ri.

Jak Z\\'}'kłe pT'L>l-'1lnruizujmy plik I'lagiówkowy dla PłlSZej nowtj klasy Aplikacja~
c;łas.s ·..;.pl1'ac;J1Przeksztaic Pvb 1 • l1kc-CJl te!:
{
pv ł1c

Poni~ej zn~jd~j. się ~lówek Jcdyn:j nowej fiunk~ji. Funkcja ta jest '-'-')'Woł)•"·ana Jl?.
fartu: aphkacJm~ w c-elu zd;fi nmwama ~?wego _ zbioru widok()w ekranu. w· pełnym :
dz.re fródlowym ll'Zeb.a takze u"rzględmc ftmkcJ~ RenoeruJ, PoC'dt1,'\~rzan1u iq,.• a !aa:
poh1 dfa nasze~o tare 1 0 bu fota \ ierzc:_fmlków;
•Old .fllCJUj ld 1E, r~n {).

Poni~ze ~]a są ~asqmr ~11cil!r.atmi pr.lcks7take1i dla trt:t.'Ch głó\\ nsch mraosfo
Macit:rz \\ ~d~ku JCSI u taw,ana raz. na sam.:vm pocrstlła, ap IrkacJi. natomi t l'n3fflfl:
J'"TulU oraz wmta są U.'\f8\\'ianc 2a Wd ramką:
0.:,0~TR.X - c1~r2Sw1~ d.
D:m~T IX m_Mac1erz,.,1 • u.
OJOXHMP.f _ ac1en!ł.2u _

Ostarqie por.a to nas?,t,: nowe ,1·dok·1 ,.1. - K J'. •


.,, l d k . \\ t:1Puanu. azd}' z n ich pukan1jc okrąg wany z~
u ir.l tU · • O ·to11;go Z.1.~lOS0\\ 1:3 n '
cenfa11 co: .1 o mną mac icrz fransforrn ej•. 7 as to'.'.n\-vanc przr. .

ł obrót,

♦ . knfo"'Wl ic - obrót - prze ·m1i~cH:,


• prze lim cie - obrót-.
ł obrót - P ~s1.uu~-cie - obró1 - "'kal{), ainie.
OJD'.J TB
ll'"'wO.'J TB
OJ!ll! PORT8
030 ' .El TS
J.
- Bardziej szczegółowo opiu~ rnnsformaeje IIVwlczu am•w· . .._.. . .
Ul

l 'L•-· l'I .... - .. , dal . . r- ~ • Jama 1111.,yu zawarU!RO w phlru


1
Ap ~Jlrr%elll.!>Lua c.cpp. w S-ZeJ CzęścJ. Pamięlajm)'. te oma.wiam tylko nowy kod.
Teraz. kiedy mamy ;r.a_mtar ZHIO~'ac 12ec;zywi.sle lnn&fb . ......· 1. dl
, 11.-11..Lw stu,A„....ł......~ c._..... f i .n:- • . - ffl1-:JC. Wj'l'i.~st&ffl)' a
WlCl'Xillill"'V .......__,, .... , . 1urumr I' Y r I pominiemy pole: RJiW W ~IUrl..e wiemholb~

e ,,,r
1r'lf' O"' .. _PROS . j ERZOI cOOO '-'f X'tl DlOf"~F Ol Ff USU
str PROSTY}UEtłlCIO.EK - -
(
Io.li • Y~ 2::
ffiD kolo .

~ ~ u tej apl~ka~j i ogrn.nkzymy lic.z~ wi~r2.chołkó,, do niskiej wśńośc•, aby


Wz1eć odslfPY porn11ir-dey ptankta.m1. Pom.oic nam to zso.b$erwować obroty:
'ti
l flP. LJCZB\ MI EAZCl-01.K 20
~11k~CJ1Prze 52 GlC::PoZd RlCJ~I ,ut)

Tym raz_em jest to ratle aplika-c:ja w oknie. Mokmy swot«Jnic poeksperymentov..•at


z :iplikacją :p,i;łnookmnową. wykorzystując: funkcję utwonenia apHkacji pel.n.oebanowej:
af (FMLEDtU ... rzProst11Ap1,,. me{m_ yt, DJt-OE rr ·Pi_ ljl,
OOOCW E AA~AAE , ERTO:PROCfSS l łG)))
retu n f&SC -

Do tej pory nie omawfa1lem stanów re,1derov.·onia, le dla potrzi.:b tcJ 3p!ikacJi v.rylą~
oświetlenie. iPowockrn 1.akii;go działania jest fakt że wierzchołki przechodzą przez po-
tok. lmlSfonnacj i oraz 0$Widlcnia. Je~.el ~ nie \\,Ylą.c-:r.ym O:łiwictle11i~ ws.r.ys1ko będzre
aame (ponif'\vaJ: nie będzie św1a1ła) m nic nie zobaczyniy:
r._ Urz~dzen1eOJD-~SetRenderState<OJORS_ J ~TlNG, ~~Sł~.

Po1r1~1.ej u.stawimy rt·nn;ic-r.1: widoku na macierz tożsamos.ci. Oznacza co. że ob::;erwato,


$l~- w początku ukh1clt1. pa1.r2.ąc ~ k.i~ru11ku dodłunir.:j osi Z. D]a polr7..e"h t~go pnyJdadu
nie będziemy prlt.'!>\lWHĆ ,,~l!'rwatora ale powiem, jak na leży to 1.robi-ć:
DJD;t.ffatt Id m„ a•~ (&- ' C (l'llk1 oo,: L
_ Or 2adzet 1e03D->SeŁ ::, ans 1o~,.. (DWTS_' 1 • E'.\, ~- ' c. er.d.: 100łe u>.

Os1at11ią nową f".lecZą jest z3imcjo\vru1 ie 11owych widokó,,.• ek~?~· ,~ -~vykoo ~•.runy
do reoderowiłnia róY-.nego widoku wier■zcbolków. Cal}' kod mrcJalLzac:JL ~urora w~e:~-
cholków jest 1aki 1:U n Jak w poprl~tl ntm rozd:zia le. pt01J11 rtyrn. le nowe '" ·,erz:chołki me
:?J.ai\c\'ieraj ą pola RHVrl;
Jmc uj lC!Ok.iEkr"-il: :.I().
retu n UtMOrl6uforl-: 1e ~zct,o1•.O.
}

:a._IPUM\Y
. pobieram)'
. . .d k kr by poznać
bLeżący w~ o e :ml,_u. l3
jc~o W}'1Jil'l1iUY. K,.udy z naszych
'd,..•·n ekrmm .Poniiszy kod po pros.--tn
#

Wldak6w eknnu 7..ajrnuje j dnq czwruią g uwnc..-go WL ·..,.., ·


dzir:li widok ekm.n11.1 :na cztery mmisj sz. prosE@kąty:
' 1d i(J.pl 1k :t'J 1Pfze Si le· (n1cJu Ml "'IE I"r;,r< ()

ra Gł u„n:;'l•i'ldo E r nu:
UO
took{kra11..1):
d E•.f'i! PO d h •
r• l(Nr.;J
ra p 14'.! do E~, 31).iPO ~,gttt •
r,1r: •E a" He-;gti• I 2.
ta
ran~ Y
SOP Y • O:
PO . • O.
ra .X
- •16:J .E rj m„ 11e1g t I 2,
__.,.,.,..,do ·Ek r t)I'; ld / 2.

;ue , zap3mL , :k limit w półrzędne-j ~ a.fa ka.tdcga z. ;vidok6w clcranu wana ~O{
o►o do 1,0. Wy[l i}m to stąd. że bu or gł-;l}j :;,.osEa.l 2aonnal1ZO, an. do wartości ,_o ber
,vąl~du 00 odtegtość. j11ką u m,i imy d.lla da k;r.eg,o planu. Z os.L~oslupa wi~tnja Di
kaźdcgo. _ i1.loku i;kranu można ~d.:finio , własny 7-@k rt.~ st't.b1, ale w tym li
ust111wiam_ k dy z men
na pełen Jl$kK~- Po skonfiguro'II amu ""Ldoków ckmnu apl
rozpoczyna. rend rowanie·
.1>1c! ~likac 1Przf!t~.rtalc Reooe JO
t
Pónmcwaf jc-1 to apl ikncja dzialajqca w o'k nie. ufyl ~o,•rnik mole 2.111 icnić nxzmiar
na nowe proporcje. Pomts:r.y ·od po-.,.·oduje pobr-.u11it: prostok ąla 1e-.nla 11a11 w
r..r.ystanir; go do t1t-w,or.1.cnr11 nmcicrzy rzutu 2 '"''I c1,,,'lll1 proporejam~. '11\f'OCffl)' •
uwag n 10, l !k~• poi v.•1dzeaiil został "'}mony w rada nach. Jest to bard.7__.o""
pmiicważj~lel~ •~ pomyl im , i "'r_:.rraziffly go w ,opm3cll, 1n.1CJc r,: rzulu będzie li"MWf:
ni,;pn,e~ i.dziane ,1;ynikL:
,ECT I

li~ C tQi·naL
.,, ,er P! J 4
Pro 1)
c! p op),
.. .
_ rzi1Cll1;· e030~:-Se i1 1s o COO.OlS_P.RDJtC'· [ N.
- 0301 I :flORT8 l ownyW1 (JOł;(~raAU:
'fltil"lcH1M' 1e000->Get l ~ " ( 1 '.M1dok k.rorJ.J):

asx..c: dwie- m11cie17.,e oow:oMw -~orzystują zegar s.y.stcm.owy do wygenerowania de,..


~,olne~o obrołlll w~kól 0$1 Z. ie Jest ~ o watnc jaki obrót wykonamy. a aen sposób
Jal naJpros1seyn1 Sf?OSObem wygenerowama pewn~J wano..(ci. Pierwsuj mac:ieny Ufy-
~:amy ,do _wykon~aa prostego obrot-u. J?niga
mac1t:rz pow-Oduje obrót w przeciwnym
k~wnlru~ J!st wyk~tywaną w tym WLdo~u ekranu. któey pokaztije efekt orbitowania.
Druga mac1~.r2 obrom wpro,,,·,ądza korekti; p1c:IW$~ 0 obroru, tworząc efekt orbi,owania
bez obracruH11 figury;
DJO' n 11..~ al ,onlC c: 1erzObratul. c loa )Ge 1c:tCoo n 1 1000 (f , .
Ol01 r1 ,Ro dt l{ c1e o u2. •Cflo~t)Ge T1 Coon t) / llMIO.Of)~
M«cicr~~- prze uni.;ci il i skailowaoia ~ dQ·ć proue. Mae:icrz przesunięciia powoduje
przesunięcie układu współr~dnych o trzy jednostki w do&tntm kic:runku X. n1nomil15t
macierz 5 lowania skaluje '1 ·ruto.~ ·t Y do polowy ich wartości:
............ ~t r rJ Sld lOO(&Mac1eriPrlesun1ec ·d. 3 o. o o. o o),
03D:\Ha n Scal,119(& cleriS. ~1 ,na. l O. o 5 • l 01),

Poni1ej z prezentowano p1crw~ i najprostszy widok ekranu. Pobzuje on efekt w:ialM.ia


macierzy prosl~go ubroiu. \\'idok ekraJ1u U!>"tawiono w le,11,•ym g.6m m rogu, us,a iono
lraDSformację \ \ 'Ul.tu oraz \t,•ykonano renderowanie bufora w ierachołkó'II :
1'11..łri d?en1 c-OJD->Se ,1, e-.l)Or , 1do•.Ek rariuo,.
-Mac eriSw1ata • Mac1er:1l>"o 1~
-" rzad.::en,eroD· Se Tr,ans onn(O''OTS O, r r.ac er?S a a).
- rzaazeritP.OJO-,Ora...... , ~i "(03DPT P0: 1 TtiST. O. UC7.S.:. t.:·ErłlO „ O'" }.
- - -
A to już bardziej z:fożone przek l)l.akenie. Pon iższy kod stosuJc macier-t skalowania, pO
czym obrót J prhc.:sunięcic. Tworzy to efekt orbity opi 'aJly w ·L · 'mej. Z" róćm _jedn
uwag , w jaki ·posób v.rspół zynnik skłllowania skal uje wartości ,,1 pólrL~dnych Y ~-
równo okrę;~. Jak orbity. Orbila jes.1 d ip1yczn11. poniewni 'i.'-' pókz 1111lk k11lowama
wpływ„ a ~-ru1ośc1 prl :surnęc. Z\\1'ÓĆl11y uwagę. ~i: 1 sp6k2ynnik sblo\l.~3 ~ w~~a
na rozmiar kąta obrotu. a jcd · nic na prz uni\'Cie. Pami •lftJ m t:iv.c. ~ olej nosc mnożen.1a
je.si odwrotna do kolej nośc i stosowania prb..icsmfcefi:
dctlerl;e[)J!)s>$C." , 1 100•. kr;snuSOP} .
e zSil'l1a a • r 1a „Haci ro„ 1l . c:11:rzS i!ll .n1a .
ed.~en1e03D --s IS LO. Cl~'"Z...~'1i1ta):
~ OPT POP, TL O L!CZE.ł.._ !ER7.
- :,a·11en eoJO D ,.
- )·

Oto kulej nł:. stosunkcm„o pro: pr.1d.:s.zt łccn ic. Tc.-.u: najpterw następuje pr~~~nięcie
le
obiektu, a później Je o obrót. JeSJ.eze rsz 1.wróćmy uwag· nu kolcJno Ć m□ożenLa.
t1r1atl1.emeo~ =-Sl:!tYI ...~rte 1do f.• a1 f1)0).
-Hdc1erl~ ,ata - ~cierzQbrotul· c1erzP zesun e,:J~.
: rt:~dlemeoJO -·SetT dnstorm(03DTS_ LO. _l"w!c,er!~; ~ ~:ERl
_ r2,w1.ef11~ 'l' :.Q•·~11Pr1m1t1 e(OlDPT_POlN 1ST. O, L -

. . . . . .~ I"k . - -ek zt.8iłcenie. biekt jest najpiic:n~·


iP01r11te• .7.amu:szczono nłl•brudzr,t:J skomp I owan P~ --- _. b··.'l.,ct · ·t -'---~ny
:., ~ • ~ :kl orbity N11stra,nn: o 11ii'A Jes- v LH ru.a
obr-.de.any, a potem p -,;. u wany, co tworzy ,utc_ · drJI korektę obrotu
w · · dll'I 1-11iej l'lll)Cu!rzy obfOIU. 00 wpro
Przt'Cilwnym ~1crun~ za pon'IOC, ·.--o- . • wzdłuż O i . Zwrótmy uwagę, te
fi~')' , 11 komec macien ·kalowonm ściska tigUF
. :tł~ ,u~
p I w,ni

7.l ta · 1 uphkacf 3D poi.1; ·nny po -


0 WląD.lj~ • wodni~ . niu da tekstur or-o tanów ren
J~~ 00 baMZO \\-:wte. $1.('Ztgólru
.....wi,,~n, ,nl d okna apli - cji.
, n., ~unku 9.9 ......,...:.---0 !1,1

Zalecane ćwiczenia
Przykłada\\ pfikacja zaprei-tntoW3Ra w I rm rowziuł • do~tarcza .solidn ·.:~
do a rumieni e da6 ró.tn1 h 1ransform cji. Za\ ~Te jedna n\ozn nob1t
Pooitcj zapropono '31\0 il ćwiczcti, ó i: możemy '"'Ypróbov, ać:
l. SIB~ i my lr.lfl fonbn "J' ,.doku 2nmi ~1 tra formacji świata.\\' przyp _ ru
ostycb brotów wokół i Z \\ in i my ury k ć ni mal ~en sam efi .' . • ,
~ przyp· u 11.lit wicni trn nsfonn cji śu. i11ta. pQd wani nkiem. ż u • wił 11\)
• unsform ej~ "i111 n rn. ti1.:r~ p 2c ·;n ł ~ i u,, •
i wcgo.
- 2. Etsperymcn~rm. __i ~ómymi wartośei~i ~la FOV dla macia-ey perspektywy.
SIi

Zastoli-OWilDU? mJUCJ zych wartości powmno powodować llZ)'skanic- cteklUi


pc)"''i;ks.zc:ma. ~'1ę-'b.l:c "'attości powmn S.J)C)Wodowac UZpkanui: pomnieJSZcffl111.
ate2)• uwa~ae n zbyt du'-~ lub zbr' m11le w11rt&.e1. Zbyt małe w:11~ 1mos"
s.J'O'" ocło~ac- ~yt- d~ po,w1ęks7,en1~; ~llrto. i w1~~ mit l Ostopm powoduj
odw ru o&1. Ki dy J~ ~ - h1n1ty, " ...uto r"Cl)mttnowa z odkryciem
di 1ct6', ich roz..,;zffZem Di1f,k1 1cmu łnrw1ej 1.apa,n1~tam bti.~ł'• które póżnicj
moicmy napod:.u \'il n zy,c;h :pmgrarn11ch.

s. y]!)r~bujm · wie I • ró~nych t f~rm ji ~.12 rót.nych kolejności opemc:j~.


Im lepwJ x.apg~:imy stę z. efck1om1. tym mmt!j pmwdopod.obn~ ~nmc się
popclm~nie bctędu
4. l)odujm„ ob~ługę kl \' ll'Cury, 7.1,v1~ zając wru-u,~ w o b11bre PT~ury oos~ i
· mlll'likatów jako odpow edź na komllnikaL _ .. , a.r.lępnie ""')'korzystajmy
t~ ,-,,,-,11noś w nasxych obrotach I prze onii.;"Cmc:n.

5. as:L uj rn ·truk Lun; J "1::t[I at;,.-5 ac, do 7..alZąd.r.•,;mi


. prze s.zt.ałcc:niami.
Prłli=jrzyjmr dokumcntacj DK I pr".lt'Lw •rzmy m11cu:rne w celu zasLMOw,ani
fimkcj i Ob$1ngr s•o~ u.

ri.,toxem w. prJbow. wJcle u.rnbin11cJi Wiiżne j,;gt aby kflritz.:: c 1ekru.r~ ~g-0 rozdziruu,
dobrze TrOZ\Ullti.:c,jak ró.aa~ lnin~fo:nnacjt: wpływają na ostahxm. '''Y"i · nn łkanie.

zagadnienia związane z wydl ajnością


i ma .lb r w iclu problcmó\\ W\·duJ no~tcw,:ych, o k1órych nsl ty parnięrnc w CLI.Sat
·onstruowama tran fom1acj1. O ~'\VIŚClc u~u1"irtmc Lran form CJI ru w. lic,lllme m cic-
rl}' ,viąż i~ z pc,•.mym kosncm, ale ·L.,s.ń len je I mimrna.lny. O •ólmc.: grup,o\vam Jicst
zaw c dobrym pum). ti:m '\ 1..: manwm} sa,: jedmd,; 7bytmo kzyjztcm ~ konJ11ia funkcJ•
TB s ,,.., \ rz~Cl) "1~lo\i.;i "yw ~.;;ini • funkcji Set Tr arc; orn Jdit pr.1wdopodobnic-
tańs.u- mt 2ablok,J,vr10ii; wicri.,;ltotku\\ 1 pr1..:ks:1Lak.anie ich rrJ.c1. pror;C'S.()r gMwn)'.
\\t wjęk zośc1 pu~ pt1clk1.rn. n:.1Jkp11;J ,, ykor~ st_ wać pr:z 101- 11: funkcJ.:: pnekszt l~ti
i ośw1etlen1.ai {1 L) ur;.u 1m1c1~r.1.1.: do pnd.;s.zrnlcani:ri danych. \ ;:rshm,e 16 w~rto ci
nniennoprzi,:cmkow~ch do karty Je t znaczn ie\\_ •daJnicJ zi; niz [lTZi.: ·l:1ni • dku ty ri;c) 1

DOW)'Ch w1crl'c ho•ków.

Podsumowanie
Wykorzystani 1; tmm„form ej i J3Ji.: h'1 rdzo duzi.: mu:Hiwo ci, je~• ni i:z~~]e przyd tnc
i czasan, i my łące. Jak 1'\ kic: pe 1 rlDl)' kilku nilJ i\ aim~Ji h z pdn i .:n.:
• Do pnesuwaniil figur·na w1nualm;j ·c:c:i'1ie mo:1.n 'L,~kor,.c • Lil macir.:rzc iwi IA.
• d WIJJliH bufom
t 1'ę sa1ną figurę można w ... korz :;ta,ł; kalk
• ,. ...1 ..• ..,.
rolmiti; Yf~11: ....1K [I er . .
...
1n•ierzcholków k iM · raxv 1, .l roso\.i..'aniem ri mych pr2ek.s.rt rccn. wmta.
~

t Macierz w1d0Jru teruje poz ją i ne-nla ~I\ wirru 3lne.1 k 3111 ry.
Clflld ■ • ......,,_., NIII■•■ lit

• Macierz rzutu scauje obiektywem wirtualnej kamcly, ustawianiem IIQ1111a&:.


otV pola 111jd2,c:nia.

• Motc:my tworzyć~~ przdcszwceni.a dzi~ki ł11CzeAiu wielu l'llaci~.


♦ W ~ie ~Zfflil macierzy kole-jno$ć ma maczc.nie:.
• Do ZU'Z(dania d«,mplikowanymi prukształceniam1 rnoma Wyk~
._,
Rozdział 10.
Od wierzchołków do figur
Powiedzmy t<> sobie ot\ ·an;-,ie: posługiwanie si~ S3Jnymi wii:tz.cholkami me jest c-tcb.we.
OQp6ki ni! pOZDll~Y PQ~1ierz~h~1, IJ6jką,lów i figur. ta fJfllC3 nic bę&ic ;nlc:RWjĄ.CI.
Powoli dillŻl'lfflY s:ię do ~eJ chwili. W p o ~ i h :rotdziatadi probowalcm odpowiednio
przygoto,,·ać " '5-Z)"Stkie element)•. Omówiłem wiencłlolki jako po&taw.ę figur geomc-
u,rc:m}'tbi Opisałem prz.eksziałcenia, które po,;r.walaj na łatwe prezentowanie i oglądamie
figur. Teraz dysponujemy seystk.imi potrZebnym1 cłemrnlami. aby ~bu.Cil.)•ć. w jaki
sposób mozna wykorzysrać 'IAri~hołki do s\Wm7.mi~ czegoś banhir;J interes1.1ją.c:ego.
w t)'17' rozdziale nie ~iemy opiS)"'i ać linii ~mias.t niich k-0-nccntnajemy się na trój~
kąta.eh, Pomimo to ,; Z)'sdde zagadnu:nfa zapre:u:n1ow1U1e 'li tym roulzi„ale doryclĄ talde
Jii'lii. · ie po "-ri~am wiek czasu liniom~ ponte"•at. kiedy uozumiemy zasady dotyt~.c
trójkątów. wówc-z.as z I 1.wośc ią i stosujemy je dla Hn~i. jtt-e~i zajdzie ta.ka potrzeba.
,w 1ym r0"dzia I(: IIUdnośem może sprawić fakt. t.,: będ;r.im1y vnuszeni stosm pojęcia.. ~

których j~zc:r.c dokładnie ni om6,vil1śmy ~ jak np. o~ ielh:nic. Jeieli \ , pęlnt ni 11QD1~
mierny tych nem-ych poję . ni rna.rt\vmy i't, mJwrniem)' je \\' dat zych roidziałnch Kod
~entowany w 1ym rozdzfale majduje się na płycie · ·o, w katalogu Kod\Ro:dzial10.
w tym rozdziale omó,111my fl.l..Slępującc 2'J\gadnienfo:
• Zas.tosa" anie , ic:rzcholk w do t,"·orzenia powierzchni.
♦ Renderowanie powtcrzchni.
• Zas•osowan it: Iist łrojkątLJW,
ł Rcndcrowanit' z wykorzystaniem wachlarzy trójkątów.

t Z tosowant~ pm kó,.,,. trój kątó\1,·_


♦ Rende-rowa111,; inc.Jcksowan.ych prymitywów.

ł ładowanie i 11;;11der ,w3mC si alek 1. ph kó, .X.


♦ Problemy wydJJnc, ·ci dotyczące ro:rnych lcchmk rendermgu.

• ~ prowadzenie rendcro, ::inia siak k do ~pl1kacji.

Przekształcanie
wierzchołków w powierzchnie
• • • • ' ' 11-.,. ...,,.. Ofl'IÓ\\1ie111e „iencnoU,::Ó\\•.
W kilku O$tatnich rozdzm.lach po. w Iee-dem meco mteJ.-3. u~ . • , • ,
, , • Jedn-•· L... -ł„1e1 ,f.ożone obiekty zaJmuJą
pontewat rcpre7..cnt11Ją one pozycJe ,1,.• przestrz.em. Mi, I.N!,łw. :1
........ ~ ··•
........
najczęściej są
.. .
wiele pozyCJI w przes~m I
mwnęttme powterzchn1c. Te
w:z!:.
·lice 30 one reprw.cntowane
trme powiuzchnie są :tJkZwyczaj ,epre
'eh p<>wic:rzcbni mo,żna zaslosować zbiór
przez trójkąty. W P ~ ~rzc~ odpowiednią dokładnościSv Kiedy ln6\\ri uuraru
11

w celu aprobymacJ• powie ....A ormalnych tych pewiea~hni (weklofaGh ~


wicricbniach. m:cba wspmt1,u'-"" o n - --..,..
dlych do ,k&żdęj z ruch).
- · pfynnc',g:o eisni0'\,'3Dia, Dór1'L\lllDG pc,wiGnehnl są~
W p ~ ~~wml!a ehołJu.\, _gdzie wekmr 11offlla~D)' dla bMtg,o w~'."
towane przez oormaw r:::~ fel7~lnych dl!!. wszys(ldch trój kątów, które w~p/!ldzi~"""
jest wypad.k.ową we,._d:i w n OI - ~9\lla
• .. - •&1~ '7~ffl'--•~ntowano
Wlerz,cntn~IL ~...,.~..,....., to na. rys1:mlru I , -·
~'Ili
Ayaunek :UU. l'IQffl'lll.nl
o,-nr,ofn,ę ~

K-'Ń."'r:Cht1/Jtów
dla pow~er.u:hnr

w taod!lt<W\l.iylll modelu oś.-u.•ictlcniu tosowa~yrn ~• DirectX ;?o,,,,·m~rzchnie $ą ~


tlane według ,,.,•ie:rzcholków. Ozm1c1.a to, że obh~~ma d fa oś~•1cflcn 1a są. ~'}'koa~
dla każdego z wicrz:ch.olkćw. Ponie, a:, każd troJ kąt składa sn; z ~rzi:."Ch wierz bołi,óa
Ll.iląd2ente mu m interpolować wal:1&.k~ cienio\\'ania dla k:iżdcgo z trójkątów. PotąCl.tcie
'''Yf:Jdko\\yc,h nommlnych. które poJrn.1__ano na rysunku IO. l oraz interpolowane-10 c· ·
""Snia □a każdej powien:chni tworzy łagodne der,;owanie w~~km-zysty\\1Me w "ię~
operncjj n..'ildc:rowrmia zapre:,,.emo\vaniych w tej k ·ią..},cc.

Ponieważ chcemy d,o.dae tę dodatkową ~nfom1acj na teniat noranal111.ych do n~


wjerz_chołków. mus~my ll"OZSZCr..1:yć fonnat waer7.cho-lk6w. \Vykon ujem)' w po~ fA,~
nowne zdefinioWRl'lie nasi-ego fonnaru VF 7. zastosowaniem flag i JJDFVF_ Al. ~iq
opisatim1y w r-0~dzmafe . T informacja Wf"dZ z rnf0ffll;1qą o pozyą i oraz kolorze t\\~
minimalny fOtfl'lat remfferowaniil ośw1etlonych powier~cł11ti. Po ,:wcryfikO\'l.'aniu
wrerubolk6'v mogę ro?.,Oćząć oma,vianic sposobu rcndi.:-ro, an i a trójkątów.

Renden,,w a;n ie powierzchni


Przetwa:rz.anic wier.oclmlkow mote być kosz-~ownt:. ież li marny ich zbyt ,,iele, :r.atot
lrU~ost re~derowania po,wieirzchńi sprow dzn się do ~posobu re,pr ·z.~n,owaniai ~
powcenchlil I ia pomocą :mioru trójkątów \'I;' sposób j ak naj bardz i.f:j wydajny.

Okazuje sih fe nie jesl co :zbyt pros.te. Ptzykladow-o, jeidi twQrzym}f model walca, boli
tego walca muszą składa. · si, 7.:e zbioftl płaskich powie1?.Chlllm. Jeże-li za.stosujemy ?b,t
mało ty,cłt powierzcttmi. \V8Jec będzie 2byt kanciasty i będą widoczne kraw'idzi~- Jeżd
PW111•htl 10. • Oil wlwholMw do... UT

~ y z~ wi~le pb~i~hni. mote dojść do sytl\lKji, ~ będziCID)' prKtwvzali


wipj ~ nit •o Jest .widz~ ~13 ob. co ma ujttnny ~ na wydajr,oic. PfCIWSZ)'
~ ~ k ~c-zaJ m~1~ c :m pomoc..ą ~ u modeh,aj ~ . uwz~ni11kc
ogran1ezen10 proJck1~ ó ~ trochę cb~en~UJI\C, te mam zamiaru poświtcat zbyt
wiele c--~ na oma~~a.n~e l~O cl~cntu._Zaru1a.s1 u:: o. m11m 7'.amiar skoncc-1111.rowlć się
113 dRlgtm problem~. Kied)' Już ~•~cm)'■ Jók wygląda na 1pm, mu~imy zastanowić
się,jilk nmdcrować JĄ '"- ll3Jb:ardl:u:J op1)'mJ)lllly _po:sób.

z p0pr,&edmoh ~ałów wiemy, ie v.•t~..,..~i są ~howyv.·anc w buforze wLCr.lcllol·


kó1t • l iemy rown1ci. te- możemy v. kreśJ11ć ZilWArtośt buttra Wlłt?.tllołk6w. y.)'W(lłuj~
auiod~ r .,. r1 m ve. W~korays•ywaliśmy j · do W)ikreś,a11ia ibi.-Oru wii:tt.(:holkó,\I,,'•
ale tdtlZ przy5-7~cd'ł 111 _omówitni'C' tmjkątów. Mnżeffl)' rysować iny rodzaje prymily•
wów 1tójką1:nych: listę IIIÓJk.ątów, w:!cbf z 1rój'ką1ó ulillZ pasclt ttójkątóv.~. Sprobujmy
przeamłlizowa 'I. ,,
rmicmione typy oraz umÓ\'VL'Ć: Lety i ·wa-dy katdcgo, z nieb.

ReflderOWani• z wykorzy.słaniem list trójkątów


Lis•:i irójlq_ców j est najprostszym :pośnxl. :r,rym_itywów trójkątn)·cb. KaM)' lfój'ką• jest
,r,:pl"eh.'111towany ~ buforze\.,.,. crze:lmMków pr-.ttz. 7.btór tr~ h WLe-rLCbotków. Pi11:1V,.sze z;•
wiu-zcbolki r. prezcntuJą pt~n.\·szy rijikąl, nas.tępt'l(! Lr.cy· drug.a itd~ pos,ób '"')'l«Jrqs.tal\ia
zbi ru , ić'rzc'holków na. foitach 1.ruj:kątów pr..rud ta~'io□o na. rysunku I0.2.

AJIIIMIC10~2.
~•t.{~,,, Jiicrc:
2
~~~

1 3 6

Taką ope1atJę wykonUJl.my za pom,CK;,rLnru.LępllJąccgo wywołam.1 funkc;; Orw...l-1n , t 1ve:


- ,d,Jruld?.er: 1E-030 ·□..:1...Pr1 • o") ' I fq/, ~f Tn 2

Zv.'IÓĆmy m1,ag\: nil to. ;>-~ lic:rba prym1t~ w6w o ·rc~lunu. 2. JM)moc-ą trzccie~o p~mi:lru
, ,1skazlllj L" lic:zbię nary suwany h 1.-ój!kątÓ'-\ f:! ). ~L nii.: Ii1:zbę "')'lOil}'Sffll'l}'Ch Wtel:"2.C~ol~

Mw (ó,). Jest to n jpn,~lo;zy ~posóh repn:z~ntow:mra tr,ójk:\IÓ\I,\ al~ ru1 1') ~n -~ rn.2 w,dac:
~ jego najw i1rkszą wadę. V idt= r.J7}' LrCiJ kąty 1m1 cuu;leJ pow1er.rehm dud~ ' pó~ nc
'1i ifH7.clllolkij , .ale rui lis1aeh trÓJK'f\[ÓW w p,'ilnc w i~rli.:hol.ł.:i są_ !P0 wua_rz:m · wiele :~zy.

obnmny sobii.:. że n.:ndcrujcmy ··1.r.:.." c,an . Ab~ ldefi11tow~c ~71 '.1'1. _PCl~..::e~uJ~m~
~ledwie ołm~u punk ców . ~ I~ , :r.t:-"ciait:11 r!!ndcrow:my ., ,, kor.r. si . r,n.~m hst l:roJkąt6 1'
wymiąa 12 trójkąt.ów i 36 wicr2ehulków. Ozm1.c..-.a to. fe hsc~ ~róJką\6'v zim.15Xill PTZ\:
' prmtw:ananLil o _g '""i t:ll""l,d,ollków ,,rti:
do · ·eJ,· mz · tu k,on~ t-cmc · aw;:t m rynml'
· Jest • l,.ii 1. O.l
~i wa wyma(!;anych wic;r;.chołkóli 2'lt 1t,;k:-;_za •~ o 50 pr~t Lcpsz ~ ro~~·• 7. } ~
111
•P.,"SL wu:lokrotne
• · h • • "'1 - 11,ó•... ~ 1 w rz~'1:9Vli ,.,s,tosc1 mo;tem,
liW}'k rzysc n, ~ tych •afi1iyc Wlliiin«: im~ ""' \ ....., •
tak imb ić).
SIi

RNllerOWanl• z wykol'ZYataniem waclllllłff tr6I


"' k.ilkakrołDCIO wykorz}'Stoni11 tych samych " . ~
Jedn>"!' ze sposobóJ lrÓ •1cątów _ achlm: trójkąró,"" v. • kor-ey tuJe pierw~
so,van1e wach~ h t „'k IIV\7.QSratyi:::h. PQkazanQ to n rysunku J0.1.
jako wspórny WIC'J'7;,C Ow 413 ,..- •
21"""""_ _........_ _--.:
2

1 ..
.. 2 Ni·Q!-Nl•'-<11 ~
l!J'lr.u.hałlllw aniim,O

J~s• to piC!ń'M'SZ}' przykład '-' 'Ldokromi.;go 1,111ykorz)•st11ni:1 w1en-.d1otk6w Pon.iiuy


powoduje OOl'j' O"'-':tn ic dwó h Lrójk„lów:
na<1le·1 e ra n-Pr 1 1•:eEODr_ l ~• • O 2 .

Z wr •my uw11n;,ę m1 ro, 'it: r,suJ4_c d\\•;i. uójk L • w dal z m ci~su okrMl'amy d'i11
mi[')'l\ ' pomlmO (~g.o. :«." liczba "]"-Orry~Lan 1ch 'I;\ ić"rlChotl,.;ó'!i zmnitj~·ra . l ~
do czterech. Jedna.k mechnika 1.a. ·._.sł niezbyt uz •1c:cma. pon1cw3Ż momit j~ ~
j(dfJlie do obi~ktćw ok~t: en lub figur \\' ks4:'łkrc ,,achlarz3. h01:iat można
r,0•!itać ,, chlme lrÓjkąLów do 1\"'orz,.;nrn ksz1ahó\\ prosto~1nych z:l.Z\, aaj nit
to m-o:r.wi z nie najłatwicjs1.c . B.Jrdziej oguln„ in ruz\ll,ia1...mii.:mj" · t pa~k trójką.łów..

Renderowanie z wykorzysta iem pasków trójkątów


P ci łl'Ójkąl<>w sLa.nowią sposób w1dokrotrn:. o " kn171 sł) ,.1i; i.L11ta " 1r.:rachołxó~ popz
renderowanie długjch pa ków ,, i.;r,;k,"' cnqach. 1a.k Jak ro poknzano no ry sunhl l O.~.
R,yg.unek 10.4. 6
TłYljlrąn• "· par ru
fmJ lÓ1t.

7
1
3

Ze_ w~gJ~u n wielnkrotni.: ,, kony ·tanLe wier-Lchołkó"•". Jesl to lepszy sposób Q ~


~~•oru LroJkątÓ\\• niż li tn Lr '~k~10,1r·. Kod luząc~ do te~o celu ji.:sl ?Od bn d o ~
ego, ma Jednak i.1nody-tikowany typ pryrn i ly\\'U:
_iiiltJrz.sd,:I;" e030- Dr.t r1 1 H' (~_lll tAAGl(STI!lP. O. 2).

w pt:z.)'INWku pasie~ Dllfeży ~parni~. że kolejność Cl'OJką,16\li ma inact.cni.e. Ponio-


..,,-ai k.atdr oowy Wlerzcboo.-k Jest połąe-2ony z poprudnuni dwoma, trzeba s.ię upewnić•
.te kol~n~ ma sens.

w przypadku pasków trójkątÓW miileży ,akżc ~ i t u\1,·agę [l:a. ra1c1~ze wspotdzielenic


~,;crzc,hołków ma pewni= wad)'. Pr.cyklooowo na ry'Sl.lnku 10.5 pok~.zano ly;płim~ OSU)'
tóg, Jak po~a:r.ano n3 rysunku. ~ilida slłon~ ma ~nrnt normalną powttf'l.Chni. Pomimo to
~'.Spdihir)' w~erzi;:ho,łc'k mo"e po,.sulcrać t.>1~Jedęl'J: wckto:r ROf)nillny. ShMa_rt.ll it-0 problem.
p011 ie\\laź wyprulkffl \vel«ot_n~::alny me: twor.t.y ~•laściwej km"'-·,;dzi oo o~wi4'1lani11.
Ji.-d.nym Z(' -~ obew n~ mZ1t1i,•1ąi::mu: lego probh:mu 1es1 un nenie trójki 16w :ulegtllC'-
Jl'>Wil..llll)'t:h. trójkąt zdc:~n(;mw.any irt~ł.ll jest widoczny w net.eyw•slmci~ ;ił,: dos.wcz.a
spp,sol!m dokorumfo pnejścia między \'I ier7..c;bołkami po'Pffi"-z "~gładzenie- nonn111Lnyob
w :,,obliiU rogu. .: . a praylcład na rysunku 1O.S dwi4,: .. trony mgu nmj<il różni: rumnaJnc
powierzclimi. zatem zamiast d\M&:h srwn dz~e~ycb różom ,Yiemli.ołki. ws.tawili:m ~~ią,
wąską ś.ciank"' pomic;dzy nimi, Odyb:y ta k iat'! b)·ła \,iększe i 1'7,e('-7;;'\l,,ikie. w idl;')Cffli'J~
l)O""' 11lłb„ efekt związ.u1y 2 ~ha. mi, oorm:1lnyn11i. Ponieważ jedrl.31{ jtst bard'ro , ~ktt,
aie z baczymy tego efclcru. ~iaili bł nie pow~nne być widoczna. a powinntt jedynie
rutYć
li
mworacniu prrcj ~c ia pomiędzy cisnami.

1m&1nefe 1as.
,'i,x,M/.~
f'l1'ń'~lłl
~ ~.,h Jiro,.t.·, ~1
;rroj rami
:.Jq~li'o'{JIJ 'mi
jk'nrrli
,ci eb.J liil'cMd'I

w ~-1ń.riud'i ~
A• eJ Ił
~ IW'D:lC.'...,,

at:156~.
MO

B~f(,ry indek_so,, " są podobne do bufom,. wicra:ho!kó"" i są r~pr~zi.:-ntowan ~ in!K-


!>

fuJ rn rec 3Dln>1e-x8utfere. Urządb.."nic twor,ty bufor mddkso,,·y za pomoc '")'W"ołri:


runkcji CreateiflłJexBuf er;
H!tSULT ih~tJO!)ev,c~ C eateime~a.1 e Wi~,T Ol ··'.)se. " R
DJ0FO.~AT fo .a Indeksu. •
D30PO:X. Puli,Pa; lee·,
m•.rec 30fllde:~~ . fer9 11·,.-Suf.a h· ·-e,·is.o,,_,
Razttdlł so. •Oli........,_ ... ...,
tłlE~ T 101rectl00t 1c-ee ~ Siet tnd1 ~U o,rect3DJ nde"8uUer8
~forlooe saw. uł Przesl ~u):

To ~ ~ i e pobiera wslcmik ~ bufora


indckso\lti·c:go Offi2. przcsunitaie indeksu. Prze.
suni~rc- J~ dodlłw~ do '" s:eyslkich indeksów przed wł'akrn.'Yffl pobr,ińiem wicttchol·
ków. W ,,·s;k~:iośc• przypadków \\rru'tOŚĆ tego dru,giego paramelN y.-ynosi O. Po usta-
wieniu bufom 1ndłk..'i0Wc-go mołna pobiemt inc k ~•ane prymitywy 1.2 pomocą metody
or ~!ndexedPr1m1 1ve~
ESIAT G1N ~,,i teS~ ;Or411iiJ M'.I P 1 , 1· eCD30P'.iUMHhE VPE T,l).
UlNT eks~ . UTNT ~1CZ~1erich .
Ul' Enelt:" ~POCl. Ul ' L1 cz Pr 1 '.f.. ,i') .

To "-i.ywoł11nie po'-''oduje pobranie indcl(sowanych prymitywów na podslawie akruaLnie


usta"'i.on)·th. buforó""' i ?ekso~g,o oraz wier2clu,łkmv. c- nwiG ,p arametry t ndeksM1
oni% L1c 1erze okr~ ~letJą, poprawny ?..akJ-es dla iqde . ów w rym v.,m•olaruu, lndeksy
1

zoajduj~ce si· , <C'-'.rl'Nlln bufora indek.i::o-w.eg-0. ale poza tym zakresem. powoduj ą błąd
dzi"lania runkcji. '\1 :,.aktrności od wan:ośei tych d,1,·ócb pammeU'ó u~thcnie mote
fó,i.'mlid; optym:'Hzowa.ć pne:tw~rzanie ,;i.•ieruho-lków••de w większości ptzypadk,ó w
ruoiem)' ,Qfaeś 1ć peiem zakres Wlerzcht,lków.

Kmedy.• rMpocznę- omawi:m ie kodu dał czooego do tego romzi.alu. opiszi: szczegóło„vo
iui_plemcnra ·J • ale '\'\<'f ilm m faktem~ który nalefy ~rnięrać z tego wykładu jest to. ~
i'stni~e \; ii.:]~ sposobrnv r(odcrowania b'ój \tów i z:azv.'}'Czaj najbardziej opt--ytrta.lrl.e • nieh
wymagają mJ 11imnlnej liczby wiei"7.Cholkó\ . W więkS20:k:i J>r.lypadk6"' rcode11owa.nie
(bn;rch jako iridel1i0i.,·arwych li ~ trójkątów jest dobrym rozwiązaniem i ~ nie taki sposób
jest zap.isanych ,J.riefe modeli w plikach fonnaiu w DirectX. Sp-róbujm_ opisał spos b
p()Siępowania. z plik::1mi ~\'.

l.adowanie i re nderowanie plików .X


1

Jeże] itworzymy prostą figur4t za pomocą kodu, optym:.1 l a.c ust.a,,.ticn te danych je m . ~,..~ ,e.
ale w ,vię.kszoS(.;j przypadkó\,· modele [l1,,orzy SL't za 'pomoc p~kicm do modelowania
fi§Ur 3D ~ 1. piSt1ji; w pliku Tcrn7. kiedy juz znamy pt~w f retl:d,erowama figur► przyj-
rzyjmy si~. w j aki ~ijlO~(lb mo;.in!ól 00 1}1ac dane 1. p1ików .. r oraz pozn amy rót.nc ą>O$. b
rendem, 'lł1l ia figur

Format phku .X jest -10-su11 kowo rozbudo" an>·m form11tem do zapisyn1anitł i nJomm ~i 3D.
Zdolno~ć z pisy,,.·ania plikó,v w fom1acii.; X posiada c-oraz wi~k :t.a Uczba proumnów
do modelowania grafikc 30. chociilż ~ą r6,,•pie1 t:1kie, któri: ~akiej możh,. ·ości nie ·mają..
J~"ieH program do rnodelo" illl m gra f1ki D ni~ ma możli,v ś.ci 1..apim plików rommc1 „
.X lub je.zeli dysponujemy plikiem 3D " ' innym fom1acie~ t rnoaemy skocz.)·~.te z nanędz.i
do koowcrto,\ia111a f rn1atń\\ plików. za wart eh '\\' D '. nip. con 3d .c~e. \\1 poniższym
opisi zalożon.o. i.e dilne ~ zapis.ane w pliku . ,·. Kied)· j~ż m:im) pl·i~i _w f~rm~i~ •
możemy pono\ nu: s,knr1.y. w · ? pomocy bibl ioleki D DX • " kor-~ ,sine. kilka mrcrttj ~•
i fonkcj1 shdących do \\ ykt)n~, ·,mia dziahtri 2 sintknmi,

.ajpro ISeym sposoln:rn ockzytani11 sjillki z phlru „X jr.: 1 za losO\ :a.1ic 'funkcj; O~Xlo-
- sn romX. Poniżej zaprezenlownno prototyp rej furikcji. 4 w•
beh IO. I zostały op•·ane
jej l)a'rafl'Ltby:
..... PUW. . .
~ •11 • ~ . . , .
Ma
o,rJ.(JdAl~8hFroffiX
, _ . . 10.1- l'arr#MlrJ'fanufl DJ

LPO

T 030) ~ , u. !Hit O ()p';. e~ l , ,


L~[ .

ie,
I Es.H •iG,ó 1a , a).

Po odc- ~iu plik'U _\" uzy ujem~ obic:kl \i.' pc~rac1 s1a~ki ~ ntcrf tj s [O -~ z
w1dl!' póJ i metod, ktorr· daj~ uzytkowmko'l.', i duic mc•i.l nvo ei 1Jrzą_dYJ11Ua~ s.1~
t<1órt" -, t)ld1 funkcji umożl i,1; r.a_rą ll7.)'sfran i I!' hc;qx,ś.rt.'"<łm~t!-o dostępu do bur.oro "". •.
ebol Ó\li i indieksó, dla si tkt. Inne nmtna w •ko zys1ac v. !.'.'cłu opl) m11l1 CJI
Ki dy rOZl[>OC'Zni~my oman ianie me h81l1Z1no" VL;'f'tl!X sh.adcr, bcd:1icm1y d ·ompo A
ie~[)' ~ postaci smrJ.u w t:lu uzy " lia pier,11.'ófnych dan) ..:h Op1.m i~m, we o •
rych metodach interfe,su ( ~o ' h Kicd~ hędzil!m~ nlÓ\\ 1c o opl) m11lizacji. omó •
funkoJc.:· fu,: • do plym li2:1cji. • ~a rru,ic koncc11tn1J~my sit; n:ł najpl'ló. bZ}'dl ~
nieD1'8.Ch n:ndt:ringu obii:któw w posta I ratld po kh 7.abdow;.miu. za pom , fur.
DJO Loa shFr.
• 1 9$ 110.
I • N ldn:cSI■-- M łlJ}!

~ J P ~ dla ka!dtj ze lanek. PICIWIZ& Wlńl.e "'balni


.lllll'lrllCII typa ()DlO

uw•
~ indduoWi ta_blicy ,natenłlów dla P•erww~ 1any i-4. Z t e g o ~ mol I y
ka2dy :i tnatenałó~ za clemcrn dćfin1uj•y podzbiór ,1111• k1orc len IIUlerial
~ M W w1tkszo • ~l)·i;h k<ld6w konuJ ydi opcncJe nmdemwarua. siadó
w bdl.a 1 7Jl pomOC:i\ n~tud) r ił .óvb •
u

p,IJ'llmttr I r·., b I u odpo.,~ 111tlui mLL,c ·!'.Qwi ,., l.llb11C)- · 1.truil • PT.eyklado'IAi o. ~
lenie podzb1uru dl lf"I' utu O _po1i,-..1.~U.) n,.'lł)'" .... · m, w l;)slł:i,:h ~ian. które wyko--
rz) luJ pi~f\, . mutc-n ł \ tabl ,cy. \\'1 1,; '.i. \)1\\ obi.:· I e pr b1cm)' :t v.; dajnokią.
Jd h tatka m e 7. i . ~ . opl} mi.lhJ.("l\'\'3.m:.1. b-1.1fo1 111ry ILlklW nie mu , ~ J)O'SQftO'-A'UIY
~ cd,h.1 b),butów \I.: • 1m pr,Q1:µ3d~ u "" i... a.ni( m tod>' ra e powaduJc limo-
\\~ pr.ze.,,;rukr'l,\;ooi~ c:.dc~ t.~1for. ilUj' uc6', ,, celu oonalilt.ał:lfua ~1aridi "'Jkotzywj..\(:ych
"'''" n)' .u.rybul \ przyp3d u dtUyCh i11icr.; wykorry-stu~ eh n rótnyct, matmalóv.
fl\ł!I • 10 d prow dz11: do ,wy ooyv,·aJflia n ~cji " mlk1 i.a w dl.U.ć'j mb1;i:y 0:1)·-
i: n1rii',na \ LTI.'lbLC ląfej. Z te T odu. wyc".l j dobrym pomrsłm1 esl op\}'l'IU-
lllUCjti 1atki1 ;r:i pomoc.q ,.., bud " '~~·eh fon J• ptymafot.· cji ,u p :lrMkJ w ~
1y,, 11ic I i.l.nktJ r Or~,.. ~ ":t:.t: !'IW1at.!amo ą ti:go, J3ku: ~afan1 ta funkc:,a ,y,; _ onujc:
Oproc1 '". I,,; slliJUfl m , k.---n:dll)\\i . mciddC' rrncll!'IO\\'il Z3 pomocą strukt~ !
w d'g I dmi: 1~'łka am jiik ind~ ·so\\ane list [roj _tó...,;. ZB~dni1m1 y.,yd3Jnosc1.
~1('.I omó..,... !ł ·m d Iil u " 1I.! o~ r n "- i r.,rym;')'Vli ._., w takim
topniu doi " zą I P dil1'-' "'Yk fZ)Sla.ni intmej~u
dost p do plikóv.• · ltzaCJI

Problemy wydajności
~ r cym rozdimle spnmm 1~m o d u pr, bi :m:ich . ale nk
m.: t re z ni1.:b · omn rn:1 Je r pt r\'- z ~ n le
m""'°'a.lłiu J '. CJ i:j lu:7b) hółk v.. Je menie.
• 'ITI bl1cia.:n Jl fi le ~ru r ani li; h I_ •_
daJn•i:.
il: 1 • • k p k z,.'łlcm. n ·p zym <iJlCM.'lbc.::m rcnd,:ro'\\1U1l fi ur J
i,c imle s..:,\ kó\\ lub ::.u1_ h h L In SO\\'aJlC' hst) ruo,g b c
ni«o mnie-j "" dlljn He- p ,:,:tu~•" lt. 11i,n1 JC LI t:J z:e.

W'r

1111.: me mu!-i1
pr'l.t!m 'ilane _
~ Ut • 111aq,--4'
,...,.,........

Kod · low. , om ~
ych. ie 1...;l[\, m ro
I

e p0kazuJc
•od Z,llfJft'!Z

Za , • prosi kątną pł , luguJ


lee\ >• natonfr st · 1ł a l
zna.jd RaJba.rdzi j rui tU7 rendcruJ~n
md r w. '" nit" \ ys ·
·' · mg \\km ,!lJt
ł u X i n:, . )' je po. \\ A
bi ·1y, i.ati:m mo1. m , . 1ah , '3z., efekt...

lUJm}' pJ1 at lpl1 a 1 ,Gevm~tt h P


p zd now. klld za". ny ._ phk
' plUi:u im łem
od ir6dlo\\ ' n · duJe , · ua jlt) r~

enie tim Jt"


lu wno h" ie-n
R iW.10, ♦ 0dwlea. . . . de-
- • • ~ wykorz)'Slllją 1ę strukturę juo paramdr. Ze stmkNry III\DICldm)' pole ko)or.
JCiedy poshllujany się materiałami oraz oświedenirm, me m a ~ . aby
kolor w saruktiu1e opisującej fonna1 wierzchołka:
1111u.,,...
struct wJERZ(;:.klt.EK.FłGUR'ł'
ł
104 • Y. z.
Ioat. tl Ą . ru' . Ol,

'.
c:lau t : IH:acJ Geane r
I
~ 11c

Aby mot.na b~ ło ·korzystać i oświetlcmi. oraz przek 1:t11keń, musimy v.,ykonaci wiele
mdan konfiguracyjnych dotyc~ ych 5.an'lt."g,O urządzenia. Z tego [PO~·odu wyłco~ta­
m}' nową funkcej do wyzelO\,·.ania illnow urządzeni w cz.Mie odl'Wa~ia urządzenia.
Ten koo uzupc:łnia poplZ(dni ad, któ odtwanał bufo ip;.•ier.roholków:
od guruJUr za z,e,ne( ) •

Ponaz..i;ze dwie funkcje ładują i w,,kn: roj obiekt ~1a1 i. ie umie; zc7.0no ieh w mnych
funkcjach ob ługi figur, punir;,waż siatk jest hl.do" ani! do zru'".lądzanej pamięci i nic
wym g11 odmwa.:rz: nfai podczas od'twamui ia ządxenfa:
JSl a. kNJ:
43 eO:

Kolej[)~ ln} funkcje W) ofujcmy 7.3 każdym razem~ ki<.-dy ,worr.ym}r lub oe:hwru-zamy
urottf wie. _unkcje t~ ob ługują tworzenie bufo a wierzchołków oraz no ·c o bufora
mdeksó"'". a takti: wy'\vohiją funkcje N 'OrLqcx dane wi crzchołkó\,,.' :
U rzF1 , O.
l):pf 1 lJ8ufo erzchoi O ,
010 i n•szcir.,_ ~e ().

Poni!szc funkcje . pcmiaJą hufo.r wieiJ:{:hołków oraz bu en indeksów. P za m1cJO•


wania bufora indeksów \\actQŚc1run1 wypełniany jt.-st t_Lko hufor mdek.i; "'-'· \\r·crz.cholki dla
indi:k50\1iancgo prymitywu są ponownie wykorzy 4irnymi wano~iarni paska majkątów :
•010 [n CJUJ a _
, i ! OlCJ J rRl 1Prl hol~).
,ro1d 111CJuJP r:.:z ,erlc,
•o1d fn cJuJWacn arze l • , le ).

lliSlępna
funkcja inicjuj.,; oswictlcnit: Dir :-ctX wykl1r1y tnne ,\ pr.r.y ·ładzi . \ pi.;łn)l'II
kodzie rn\dłrn1. mi po tym ,,·it: 1.11 nas.t puje fo nkcja taruhu-do\\ a t.'.lkaj P t\'ii1rzan1u,
RenderuJ Itp.
od In CJtJOs~ie ie,1e ).

l'Omżej zn~Jdu.j ą się tli;ldar-acJe wsW-i1tków do bufora rn7. obiektów w postaci . iillki.
które ~dziemy n:nderm, ać. \ . k~17mk1 te -;~ 1wor7..one p .e.1. m ·tod unądz.cma. or.ll
funkcje biliJ iotdd OJOX:
lPOI CT301,[R 'BU f(RB 11i'9ufo 1c ze !Ol •
lPO(RfCJ:i:OINDf 8UFf[R8 - Su orJnde s .
LPO.Jo~ Słl _wS1a d.
ooc,:• E 1• 8 !ter il s. oi,l IJ.
lIRTAL~ -_-,ł"..Jt r1a 1s1a kl,
,abitfła 1a1 •

W pebJJ Jcodzi~ ;uódłowym rstnicją t.d;:.k dC'klam je maci~ no ftJfnl 1


zdefiniO:Jism w popacdnim rozd':ziale. Opisany tód d~f~1uJe- nową~~
dla ~ b tcg~ rozdzudu_T~ przyjrzyjmy si; i.awartośc~ plal"1.1 ~•P-~ ~i"G~
-iby dowicdzi~ im;, 'IV jcak1 ,sposób 7.aimpkmcntow no te nowe l)OJ~m~ ~
.~cce~r

Ponom.1li. aefimiuj,emy fi rmat wii:rahołWw w a:l~ ~vydimi11 wwij3 infonnacji 0


z. tą:o względu, ze "')'k~, ~je-my~~.· Pmwic ~ tkie-t~a, · \l,~"sfl.
mi."Ch:1nizmy bad~r ~-., L~f3Ją co ną,nweJ Jeden kólor, defin1cJm orm111tu. ;poc·
, obrębjć ~ - h me nanizmów defini uji:: sję wł ną obsługę o i tleni:i,, jedJuk 1"'
przyp~ciłm □ie ma powodu. ab de fin iow ć kolory wicn.chołkńw :
r liJfRl (Kflfił.!h (DJOf' r _ l f rot-n _ ,, J

Poait...su defin irje 1.dar,, J j c:ks~ rymen towanre z rótnym i ro~ziclc2ośe1am 1

i "~hlarey wykorzptywanymi efo wykre Janis, !ców, Mo1.r::rn. zmienić li


dl.i i obkm'O\V:JĆ' uz-ys ,311e efekty. Aby dowiedzi · ię. w j aki posób tiw.t,a
ków Wpf)i.,•a n.a I ~ kmw'idli. mMemy .sii;gną · do obj nień umiesxczoaych
a.ęści rC>'ldzillłu, gdzie omówiono w pdnianrc hufom w 1cr2chołkó,,•~
Liczs:._~re r 6
lC?.SA l RlJi 10
JC'la.\)J( .__,,._.,., ZA LJC.ZB.4 [(~Z j,t • .'!li • 2
ro o - -
.er- ,. ,_~.... ruc... u z ','J p• · ,• ' - 2
es P~
C t IS.C.E
-
- + .. CJłll ,.. ,.:.,·
. l rc,8'\_11! JE~lOO , Sf" E :
.. l cza.; - . ., L .. _
- -

J
Dl ~tJ1
{
Zrnsic:z-1
• • . . J8.. Oli . . . . . . . . . - - M1

Po ułWOl'Zffliu ~ i • u~wi~y 11my ~ • i IWOl'Zymy pl'Otle b:dałty po-


rneuyanr. 01lal~mtc łAdu,tem~ ~•atkę. JIOnic:wat ilłnicje 008 w pamięci z a ~ j .
z rqo powodu me ma po~b)o JCJ odtwarzania w przypadku Ulnt)'. urządzenia.
eol1 U,,pl,kaCJ ~ t r ·Pola1n,cJ n1~t~
{ 1f ·FJ.llED(U
03L'OłEATt_~~-
ret1Jn1

Ol'lt uttJJUrz.adzen1e().
t g e(>>
r SE.
ret~ ~t ei).
}

P-ooitszo ~ J11 lumfig;1.i1ruje 1.lf'lądz nie~ ius.tawfaj c dom;i'łlnc maeie:ra:: widoku oraz
nuna. W popr"Lt.-.dnich m~;alach macierz 117-.UI\J byta usta\ ian.il w fu~j i renderującej
Po to. oby n"'z ,t~d~ić. 7.mi_any kiz-tałtu okna. W tym ro:ubiale u tawiamy j1 tylko ra
w~~czarny 1ak:re ehmllruLCJ • danych I ang. ci,llirrg). pon~i,;aż rrójkąty lf),• paskach wyst1t·
pująn pr7: ·mian. \\rres1.eic: konfiguruj emy oś,; itth:nir::
•010 V1p1, acJ1Geo:/e r·;K'.Cnr,guruJUr~adz ,ee)
oJ:O n·•ldeflt• y(&r.; ;.,c:1erzWdou),
- -urz.adien erot>-::-Se T !lr,s ·o {DJDTS Yi
- - 1ert. 1 · u).

ECi ~rosto at na:


~tCl1f tRect{m_uc .._,.
030 tr1~ e Speć~ 1 ~fa· utu.
D30X_Pl / .
(1lout )(Fros atOkri rtg - Pr-osto ·atOkn le •) ·
(fl0c1u( iiros.tc~at0i: oot - Prost •a. >.
l O: , .00 00 •
-...tJr.z,Hlli? 1co-: ~>Sernmsl'o {OOOTS
-PROJĘCTI · r;1erl.! ,.utu).

rStrl"eCO 000C !L_ IE.).

[n CJ JOS ńlC' le, N).


}

Funkcja PcCd l'lorzerilu teraz nie tylko ponovvnic 1,vorx fi µry, ale ~ie zeruje stany
unądzenia. poprzez wy\\'ofanic funkcji onf,g ruJUrzdcuen1-.ii. \Vymka lo I d. it od•
lworz nie U r7~d:1cma n ir.: :r~c:tio·wuje ~ Ianów pop,racdnio utv-i·or.rom.:.ga ur.ządzeom:
900t. ~ ,, 6C::JlC-«.Ce r PnedOo r.,.'Q--::-et'l i~O
(
O:

80Ctl Kft.ph , acJ1 rzen O


{
.,Urz11 zen e() :
f LVOrtrtgure():
16 lilt J - ~le,ast! Cl:
).s1aua L.
}

1f ł _ rr-.a1yS1.aiti:1)
{
ael te · e.er1 i! lyS•at · •
~-~teri~1,S1i!t -

, ret urn T,

Pooikj. podobnie jak w popr..rednich rozdziałach, tworzymy bufor wie~h~


ł\\i1lr.ey;my 'FÓ\\'.Eiet bufor imkks6w dla na.szych indeb.ow-anych prymitywów_Przt.d''
p.--fuien,em bufom wjem:bolków ~ ' i inicjujemy m.aretial. kit&-y wyko~
dJ11 na.ttfćh figur; ·
~~ 1 i:at:J1~tr :Ut riF 19ure()
f
(F':tJLHlf _..\lrz:Mzerne030-:,.Cr~ .. e'rel' e !.I c-r(
L .CłBA_WJEIUOO. •· ~1ua O~iERZCI-C..E_FTG ').
~ E JTc '(. ll30f\'F IE4lC E -lGURY.
D30P(J(l_OH T.
in m FALSf,
o~,erżthol kHl
- ~11kacJ1Geoai!tr· t aiduj~1atke(}
( Lf'()JOXellfFER i.9uforHate

1f(f .All ~itłeśh


z1dze!'li
1Clba· t
r ur ~r.
Poniłuy tod powoduje przepjsanie tabLicy do lfiblic.y prosfyth ma1crial6w. Materiały ,ą
zapisane -,, ogólnym ~1.1 f'nrm ~ O)WfFE:R, ale dans zapj5m1e w tablicy majI\ pMIIIĆ tablicy
030~TEIUAL. PonifcJ do~Ot'LUJenty kom.vc1'Sji tablicy. aby nt0-ine 'było łatwiej ,ię nią_
posługiwał~
030~1ERl 1o er al ,Yd:J'd>; -
(D3D~TERI ... l„eu or e DJOl->Getlk.1 erPo1nt ro.
Prz;~dzi,~l'att'l)' pamił · cU tablicy materiałów, które wykorzystamy w czasie renderowuiia
bż(leg-0 pc,dzbroru si;:,łki ~

r12etw:H'"laJlil)' w pętli każdy 7. m.awrii:dów i kop~ujemy do os-0'bnej tablicy. s1.aw1am.y


takte b)l:or świutla olaczającego na kolor światła m21>mszającego. W wię°k.5ZQŚci reati-
styunycb przykładó,1a• kolor otoc:z,enia po,.,.·inic:n by~ taki s;aim. jak mm~ śwfatla rozpm-
s-1,iljąc~go~ air: c--1'..asami trzeba us,tawić inne 'ko~ory:
- O: L1c1 t .,. , _Litz~~te al . L1cllia ,..... l

1al;S1~ 'lJ • :Mater1~lyoldx(l1t8!a]


er itly5 a t) nt •
_ e· i:11/S .i -:Nat]

terOOOA- ·Rfl~ase(}.
o,·:itr •
->Lock te
>Unl t.
~urn T'.łJ.Jf
J
~ popnednkh roz.diiił~ach p mięmlrmy ,J tym. żeby v.11oinić bufo wiencnouro~-..·-
Te~ ·nrn1simy z.:robrc Io . amo dbt bufora ~ndeksów:
~o d ~ l ~acJ ~ t Zr Slt2119ur~()
{

erlcht':l , .• .e e-iiseO:
, 1erld10ik - Ult.
ł
1 , _,,.9u rorlndek w )
' fOf'l~.scr-.-~Relea~e().
ł or lńde so.. • • L:
}
11D ~-. ~ .......
. ,n n=-ndffowanie si110ci„ u Eawimy ITIACien p~~łltal____
~m~ oddałem• joj od ko!IICI')', klOra ZlłlijduJe ~ ,_
.
Zanun Y
p,:rrsua1cc1t ~•dl• w d'!:"':.a11c~ po ro. aby m6c mllaezyt wiele nltnyc1r
uklaclu. Ró..,.,~ obr.le ~ ; . , die j,'SI naj,.•IODcjSZe; m ~ ~ . ,
W tym przykładzie ~~ p - po to• 3 "T
!<)Wa,! Z n l ~ I warto„ l:IITll
i..• • ?.obaceyt ooickt 1- n>llnydh Pttnbów ~"!i
-,
'OlG t,. :~ r uj()
(
l]fl K le.
ron:o'A JRH
O..'lOTR '1. 1~ ;
~1Kłtr 1 a"i> trhRof H -
u 1,1r;eoo-, o 1 100 or. o o. n
o J.
r i:1r. Pr".łf.sun Kie, O O . - . Of. S Of),
r i td ~ przl!Sunlec e.
e0 i:1 sf'o (D30T5_r,; O, _Hac1erzS ·iH.d),

l'lmikJ l'<ln figUIUj my •V$%f:11kie ~ltm..-ary. kt?': _bl;dą nam P<>lnebnc do ~


aa,.1,cb figur. IV popraednich ~ h IISUl\ ,a!i · 1y "' zysllm raz w liinkcj; ~
Ternz 1111usirny powronoć: •~ operacJ~ ;?.;J. kaid m razem. pon,ewu obfek1 iatxj
bt1roir wie-r«łwlkó~ o inne zmic11m- dla swaioo. nie.zn nych n m ~łów. Z\\
uwagę na ro, :le bufor i11deksó,~ v.}kor«ystuje Włl1osć PR7ES_PAS! ja k o ~
dod:iwilll do "'"rtoki 1121dego inclcksu. · ie je-si Io typowe z-:i IQsowamic. alt -
prey ·ladzie W)'l<o1ZJ,· la_my ff w'1l'IO<ść. Tal , ięc ustawienie bufora indeltsó„ SlaJI~
bard,,.o PfOSłc:

_...iJrzd ,'l:'n11~ 't'rr• - r YF Mr RtCtO.t r JGtJ V) ,


rz, Strc-a,~,~ ce &1orW·e:--;,c . H:
s ll'CO" OIJ ERZC _ GW!..)): - .

_ rzddze,ne030_ SetrnchcfrS~ _..~ ori •ije~so. . l"--lLŁ:S_PASr. ).


_ r~«iit:'lnf'OJO-.>Se H.lter1a ic _ t~r1a1 Sł dl u) .

EUSJ. O. 2J,

AA ,
lłW: lal40. • Oli Wlaaat ..._ det•
walce zewnę1J"Zn)' jest zbu~any 2 indebowanej listy tlq~lłw. która zawiera inde~
zt,iORI W1cm:holk6w ~Wilon~ dla paska lrój~tów. Dane dla obQ w11llców ~ takie same.
11~ przed IUU')'~•em ZCrWDęlm'lcgo walca dodajmiy w~~ynnilt skatnwania do
uusfbmial)' św1a1.a, co wpływa 011 dane w taki spo,ób. ie zcwn~trzny wratce slaje i~
szc'5tY i nU$zy:
OJD'XH.ł r1&• 11lgf&$ alOlol n1~. 1.51 O 51. 1. Sf} :
~c 1enS.. ~ta• ·.,l d e _ ,f zs•,,,•la ~:
-lttJriatttem ee~
>Setf a»5, r,r, · □Jl.lTS_~lO. _ el"l'Slil1 au) .
- rza.clzen1,e00..'!ł- Dr łłl ńd ędPr-1 1 we(OJOPf...TII IIJQE tST _
{). UC;reĄ_wl~.Rł
(I, LJ C?BA_POwt 2):
}

Kod do reodcm\.~a siatkiijes-1 ~ pros.ty. Pi!ufV.•arz.ąmy w P911i wszf$1)tie matcri:llij'.


ustawiomy miłterud„ a n~ tęp:n ie "lfY~arn.:y podzhi:-6r z:wiąz ny z tym matmakm .
zwróćmy uw~ na to~ że dane wicr~~olków nie ~wierają in.forma _ Ji o kotorz.e.. Mo-
~ z łamwoscj ą_ zm~dyfikffl ać rendwrowruiir: pliku -X popuc~ zas.towwanic wł~llyeh
materiatów. PJ2)"klad~ .. :mmia,st ustawionia mareriani na podstawi · ·tablicy. moicmy
z.mie:rrić m1;11maJI 11a Jeden z tJ.tw('.!rLOIJ)yc,b dliH naszych ·własnych fig,u_r:
'IO IIJ ~ 1
{
for [
ł

p0111 iisza funkcja jc.~t w 7..a5-ildlzi~ taka sama jak , poprzednich rozdz_iil.ku:h, J ~ill_)ilk.b:,ten
.kod~dla większej jasności dzie:H operację rworzeniia ,vierzoholków na. ki~ sekg1 ~"'roĆmy
uwag-ę [la 10. ~ metody bu fora i ndck..,bw n1c p0anc,.'bują d~tJipll do w 1er2cho~ko"':
80Cl 1 acJ1~ r· ~)'Deln·JPufo ~ e~1.chclkc)
t
1 - (l H' Zł:, 1k )
r r.

JERZC , F[GlJR ,~ucholk.


l (rAJL[O(- ~&'or Ą 1e~zchol ~ - ~Loc (O,
UC28A r'"RZO(]. -·0-.-4 ~ s Heof(w rERZCł(.tEt_F !GJR)' l.
lB'fTf ;..-)S n~lerzcl'IO · •
0)),
r
Zl\1$7.rzF·g re () .
return F sr.

rn1cJL1Jt1s ee~ ,er7cholkl.


[n1cJu1 ar l!·Z .~ erzchcl },
rt Vffl f'U:
J
n .· d•·· w:11d1fa_ , umsttdnienie kodu"'-....,...
.Pon1tsza ftmfi:cja l"'it'ln)' wierzeh01_11o' w -~~
I') t1nL'II 10.7.
•Z
ApuMk 10.7.
l/łtlaJ.,.-aęlr!or=n
~ ·,tq161~

..

Pani~ funkcja najp1cm · u tawia c ·u tralny "'krz.chołek. a n lc;pnie wyWb


"~ i~rLJChoł ·6\\' zewnęLrn1 ~h. Ost tn i ie~hoł k !e L_renderowany sobno, aby~
~. 11i j ce z przybJi ei, nie spowodowa~ 117.)" k Dl mcp,clnt:gn o~u. ~ - -
l~j usta\ jamy jav.'llic. tak a.by ra"·~tlzic paso"'3Jy do sa~bic. Liczba wirn
j~ o dwa "'"''rększ:i oo lie2by pen\. 1cnchni. _pQillt!'Wa:i n ry. i..m anit: pierwszego ~
, _·me ltzt"Ch wit:r.Lchnlków. nstomi3~L ,k"" żd~!N nt1 1ępn ·go 'l lko jednego. 2
wierL.chołkiem zv.•iązan>,' Je-SC wektor mnmaloy zwrócon -. \\ gón;, ,v kic:n.lllku osi'\'· ·
Od ' i i!'CJl _
[
"ierzc.t,01 k[ PP. z.~ · ~ n e zcholk
Nł'C IOI • ( l.AJ } .. 1 -
e--icnolk(PRl (tf!RZĘ~_ t.
~f7 IOJ • [ .- r1.chol
.
for O fl'kl la 1,3 O. I . ks!r:ac 1,1rza < LICZB.i' .. E'Rl 2
i ł~ za••)
tlOts L iCd - (OOi!t)( ;ndeks achl ,. • ' I'_Pl /
loot }( [t 2)
n 1?"7.C PP.lfS • • .. ] . • O 5
E!ri:c ES_ .. .. • l] z O 5
~1er1ch l•[PRZES •
ł) : .. ł O•
Pr llat-•Odwt1..,.._._ . . . .

,Młłt'zchOlk(PRZES_WAOłl.AAtA LlCZBĄ Wl812QQ.K ~


wlł1frZ(h01 (PRZES_ ł-k.AAlA • llCZBA.WlWOQ.K-M.ana &n-u. - 1) ~ • O.Sf •
- ..:~ ) z- O Of.
~1e-~dlol (Pfłlł'.S- AA2" • LIC?BA_WfEfł.lQO.K_'NACłł.AAZĄ 1J :, • I Of •
.w tr" E"S AAZA • LICZBAJił lfJlZOQ. ~AA!A _ l) ńK •
~1erl fS HLAAZ,\ ~ LIC.ZBAJIIE! lOn.( HtAAZ.rt • ) ,iz - 0 B
serze s ~ 9
t CllłA WlE~lCHQl _ • QZA. ł) n· • l O:

Ponitst)' kod 1..~k . I~ .sposób


- dcmonstmje: · lwQncnia pllSkll t,ó-il( lÓw ""'
. ., ._,
• 1„a rysnn... ka
u 10•8 po •
:z.an~~!~?t ~ m \;Q ,; z wu:r-ahołk:uru n:,lleżącyrni na p.--~,an do góm~j I dolnej
('gS('l WiHC3.

P0r,r;- Gl'ZICMi.l 1

ó.b ._ ~ ·
Rpunek 1Q1.8. Uld,MJ paska 1,·ojkt1fow

Całkowita liczba wykof7} ;1:an)ch wi~rmhołkoo jtst równa podwojoncj liczm powierzcbn~
pJus ch-,.a Równame tu w ·mka tad„ 2dyż kaida pro&to~t.na powicu.dmia. ,\)'fflilł!.3 dwóch
trójkt(tów. Powód doda.n ia wartości d, ·a je~ taki ~un jak w przypadku w~chlara. Pfof\, zy
U'6jką,m wymagi:I t:r7..ech wit:r,~hn1ik6w, a k.V<ly nas,,ępny ,vymaga Jednego. "'t eklery no1!'-
matne dla kaid -j powierzchni ~ ✓-Wf com; ,, tym sa.rn m 'kierunku oo ,w:lrtory Z3SlO»
SO\Jiam.e do .ak fin i wama f)O/) ej i \"'l'li:rJ'.cholkó\,. Zast,o owanie wano ·~i inu.s i eos.in.us
h OfZ}' znormal1zo\VaJl} ~cli.tor nonnalny.

o (long lnllfr, sPas··a O


.a < lQM_ l(Rl
l1!Jef sPa s K
, tsPas a ·• 2
loa ~ • (float)•C~ksPas a)"' (2 Ot · 000... _Pl) I
('lol)•){ JCZBA_ fhZ • i..s,· .. 2'.

l [ S + I ~) ) •
z r • 1 a - tJ. • • o5 cos( a>.
ze ( S-PASKA • l al.z·
ze ( s)~· <A • 3 a .a "' 1J z • 0 sr * s1 n( a ).
,•• v,.....
Clfl'lll•RA .........,

erztOO [Ol - -! Jl •
l, lGhOl , {0] z - -L o;
1 O.
erzcJlO t "A • ,e-rzcnol · Jl "' _ Of:
A rlcnolk(l) z . erzcr.o1k(3l ~ •

~ tttJo\ ,,(23 -
,ericholk[~] ~ - l ij •
1eocnol (Ą} l • . . O •
er1c. 1 (2) -

ich:> klSl • • l Of :
7d,ol •(5] z - !.O:
[O P. l iO (!1 ' ..
(2 er z no {3} Y •
[~ ~r?<"lltl (51 ) • O Of.

O) .n... -
21 ] •
4l J - o o·.
O) ]
J ] 'i -
~) j n • - Of,
Ol l nz •
21 ) 07..
4] , ~2 • O O.

Poniż l.)'kod two :z bufor indeks ""' dk1 mock..,owanej li t)' trójkątów. ic,m3, ~1
rr.y 1anycli indeksów jest r6,, nai lic:tbic powicrlchni po1nno1onej pn~ .dYr
Jadające się fl3 pO\\ ·e-n ltni • orni. tr-.ry wi~rzcht: lk i kl, d-41j. t:-1; ię na Ił 1 ~ Z ~
WnJlie łist trój tów moze ~\'1 ksz)·ć lie--Lbę li ic..TZcho&Ó\,·. ale rue " 'Yk rq tuJell")' •
i ~rr:,thołków nit w pr,eypa_dku paska. Ponil!waż "ti:rachołki ~ ekm ntarni P~-
ny~i ~r"l't-z P?t . zwj~ _szenie liczby ind~I< ów ni _· ma :;,byt ujem.n ~o Y.1)1}'\''U·

2-aJmUJ pamn„-ć . -ale 'l.8JnlóWany ob!;za, JC:SI me1+i.·1dk1 p lf wnamu ~ ~_yffl_'.ucit
!'!:
ch<Mk.imi. Pon1~ai korcr.,taimy z danych oblic2;\llych dla p ~ ~. bl1 YA!nae U1' 5 ~
j t do JlfD&te. Dla innych mode1i indek nie muszą b ~ upo ~'\dkoWfille w.~~ -
sposób. Zwróćmy uwagę. ie rozpoczyna1ny ind ~, od zera,. po11.iew□: ,, 1,vC1,e1ifl-,r,'
11D łllllłJO.•Od---lta.._da... SU

~ i u met~ Set Jod Ce $ wykol'Zylt&li~y przesunięcie. Altnnatywnie magliby-


"-Y
aa„
dodać \\\lll't0$C PRZES_PA do każdego indeksu i ~
oł . fi k .. S
M . ." '. . .·w-.r. •-a.-
a; zero. 1~ parametr
przduni~ie _w WY\\'. anLU un CJI e lrn:ll~es. W tym miejscu chciałem zapret.cntować
t},>O""' posoo. choc:1a.t mok'~ to zrobić inaczej:
•,"'J, '-"°l a J
{ sno r
T hr - .:;o,_QC CO. $1ileo (V>órt) .. L C!l?A PllilE'Rl.Q,; L PA ... 2 'l
rn sy . ol. - -
T ,:,j d - o.
TroJ ~ UCZBA_PmftERL '[_Pi$• • 2.
TroJ a +--•)

]ńj ~j{(Troj a * , OJ~ rojfJ • PRZES AS Ą


I $J{(TrOJkat • 3) •I]• lroJ, at ~ PRZES-P . ~ 1.
i.!ndeks. tHroJ a J> • 2) .. Troj ~ 2:
1
loc O.
}

Pooi!ej I mCJUJem)' ·wtr:lleui lak, mh ~ m}' mogli zaobscl"tv,o,w ć -zacitnion • powierzth•


pie figmy. \'' ii: ej infOlilrt.acji m.1 lc;mal ~wit:tli:nia zawarto ~ rnkSlępnym ntzd113I · a
nui wy"lru'CZ}" \\ .Ja5n~cnic, że kod tworzy kierunkowi.= bi łe wiatło zwró(onc '"' d I.
Nas-1ępmc no\a,.'t! o~wic:1lenie ·e mustawiane i włąc1.ane. a koniec. po up ·"'lJielliu 1,;,
fe os~1,•il!Elenie JCSI wł c1<.m • in truuje11t un'.ą(:b..enie„ ciby wylrnr:zystato mewielk ·1ośt
światła ota 1.ając~go .

~ d ~ l1 kacJ ~ r i~·c uJOS , 1e· len1e()


[
s111~ len e
Ze_..,_ St!Sń 1 N. len 1 ).
os T Al.
·eo o 9 os e· 1e-n • 1 O,
o l-1 D O . l ilf, OO ).
~s 1_ R

e1 D30RS UG . TRUE )
e ooo -~ - l(N . omo on>>.

Podsu1mowanie
~ I l i • ~ ...........

.__...:_..c. sbader. Ale znowu uprz·edz.am fakty. Teraz. lak •.2„1..


•..-,,,,..
r:oecOłll■WUVW "llii■ -· J• ( ~
bujmy podswnOwać to. ct.CgO i~ nauczy asmy;
· ..AL,.,· --n1rowatiśmy się na ZBg.adniemach zwiąunydl l
1, ...
♦ W aeJ c""~ li,U•~ I ~•
od "rien:ebolkÓ\\' do figur. Kszt3h)'~któte fil oma"i,'m em.. .to ..~~ly. ale
10• .;o powiedzieliśmy na IC"mat b'ÓJk.!\tów. dotycey tówn1~ hnr,.

1
ormatne- wiemłtolków "'"JM)"'•SJ 001 pó · b o.·~ r~lfani pow~er.icflni
w wi ~ o.((:i plZ)'lladków wektor nom,aloy ~ •erzch~lka pcwtnitn być
'11,~wą ~ tki ti oonnaln~ po,,·1t.-r~.cbm 7..defin~ych z \\JQ'llftl11■
ce-go wii;milolka. \\f pw.ypadku ~ t sowam11 płyim ~o c~~ro~·wii.a., kolor
punktu figury J~I i tćqJOlm1 n;· na po<tsrawre koforow i cu~o I tgech włCI
· J?DIIII

• aj\, ·t-Jsqm zag3cfn·i:niem dOl)·czą~ym W}ld_ajności dla prostych filllr)


n1irlim:1H-1l ej.i lkzby pr-a:,twan.anyeh y,•1c:wA:tiołk w.
♦ z.istosownnic zdt-geacrowMyDh ttójkąrów mok oknx '"i oslotruą deską ......
le dfa pewnqti rodzaj II figur mogą_ 011 rowni~ż oka__zać sj4; pra-yda.me.
• Z toso , 11ie ind ksowat(. c;h prymi1ywów z z,, czaj g't!. amntuJc najłepstt
. _orzystanie wir.-rzebolkó'I-\'. łndeksow rac li ty trójk~•ł.iw tanowią najfepsq
1,..i mpromi~ pt>rn· ęd7.)r Yr •d.ajnośerą wygoi:Lt,
ł Jnti,rtejs.JOJO . ::.h or~ skojru-~ne 7 .nim funkcje do ur .i!.iłiją p tqo ~
do.stęp11 , m:irHpulowam.a danymi zapas.a.nyrnr i; · plik eh ...Y.
• To njc jesa ~• pi~rwszy, ani ostatni raz, kiedy to pmvn::m. :Ile naf , Z8.W57.t
sz_uka W{l'.l7:JI g.nl11Q1, , . n iJ Q_pt:mrjj wykOQy\\ nycl1 ✓. lakmn i:lem:cn~:mi jak bub
wra-Ldtoł1kow, m;.l,cna.ly om.z ,., tany 1117.ądzcni;:1.
Rozdział 11.
oświetlenie
z wykorzystaniem
funkcji wbudowanych
ronie~ w rej ksiątce ,,.iykorzystyv.':!ne SĄ rtu„-chanizmy hader. skonochlnljem)• się oo
pt aniu takich mechanizmóv. shadcr. któl\e gcł!nerujl\ dekty aśw1edeni11_ a1omiast pra-
Y.i e w ogófe nic ~d używane funkcje o~wieUeni11 oferowane pruz bibliot~~ DirectX
Graphic~. Warto jednak ()0$\Viq-<:ić tJ\c,u;bę czasu i za~nać się 2 o~w~c,teniem genero-
wanym przy 1.1i: ciu funkcJJ \'\'budowanych 1cj b1bl;0tck.i. elen, tego rozdziaw nic je:st
tak naprawd1e szczegółowa anol1za tych funkcji. te~~ pokamnie no icju zom pewnych
podstaw, które uh1tv.1 ią porównanie: z oswiellcnicm impkmentov,•:in>•m :1.a pamocą me-
chanwnów vene. słladcr oraz pi el sli\adcr, Mają w na uwadze. bar~o zybko prze-
f]tdz 1ernatyk~ oświetlenia w DiNclX. Dla doświadc:mn)·ch użytkowników DirectX
v. jększ.ośc matcn alu w tym rowiruc b\-dzie v.1ęc rodzajem powtótt'enia Dla C10,~ ·cjuszy
będzi 10 .,,.,, prL)Wa&cn ie do podstawow)'~h zagarlmen. Tr1.i,;,ba rparni"tnć. ~e do gi:ne~
wania ośwl d,aua m~cha.ni'l.m}' hadcr są bardziej prrydatne I oferują wi~s.zc rno:tJiw~ci.
0

Poni~zc zagadnienia zo. tały pr?..ed I wiom: tyl~o w celu ogólnego przeglądu.
♦ ~ ykorzyst:rn 1e struktury D30L I GH 8.
ł Twor1.entc w1.1dc~ ku:rnnko\J.,•ych przy utyci u DJDL _G+fT6.
ł TworL~ni~ ·,, iatcl punktowych przy ui::yciu D30 1~18.
• T\'-'Or.t.eni~ ~w,:-.icd r ·1lcktoro,.-. ych prty użycm 030:l I - e.
f Konfisur0\\13.nlC OŚ\', ~e•leJHa W urz.ąd.zen~u D D.
• Dodan ie funk j1 oswi ·tlenia do aplikacji_
• Efo ly oś.w 1~llama moddi o r6inych rozdziclc1.osc1ach.

Struktura D3DLIGHT8
W rozd2:i1de 4. przedstawitem struklorę D3Dł [GHTS, d i~ki kl! ·j D1 n:c~ defin•t ~~
ś iatla, W tym :.1myn rozdziale po twiędkm uoch-t; czasu ml omówicm: poso u:"' J
rJ..4..,. .......i.,.,..• J , • · h ,u.. · - t~.• ....-711\U kolor wier.lChol~ f1--ci me ,; · pomm11l1,.m.
•vr.!i_t •'IJ'Uf~J.: u~,\'ICt1Cmłł WJ)■ 7 .,, .ilJ::\ na •'-"',___..,,........,
~ IU • --------- ,..........
~-~

Tien fr:lgment ·odu tworzy śtr\ł.kturi; Nprex_t.•1m1Jątą ·wiatio. a na..c:;1~1m1c zeruje \\i
Jł:J \\rut i. ~ 1-zerowruili: "s.zys.tkich \\,.u10SC-i struktury 78 "\."'TU " ~ Yi:s'ey
zbędnych dM1ych, k1órc mogiyby nii;kOr"f5tnii= ,, pJ ruąć na oświcr l~hLt:. Pa $M"
S1N ,tury mo~w \\'Y))C'm•c ka1.dc.: p()li: w,asnym1 ,,, a~t.:ian11 \\ prL 'P dku 11· &)
cypów Ś\\.iatd (np. ~tabrenic.: inten ywnośc1 73 pomocą,\\ iatc! kicn1nkcra ) ~
\i,af10'bei mogą powstać Ą---rO-w"' l kodzi um1 c-7.0JWlll -.\· t,m ro7.dziilfo
w:.moki dla kilku różnych typó1i ·,v,atla ·z ~ · t,...C1du bi,"1.~;t~ pmi, •tór;:cmem f.llJl.d
z roldzr.:u u 4.• Jc --z 1ym ~ zem pncs ledżmy s1>osób. " Jdk .,ud~ typ ... "'\ iaLb W) :
lUJ JlOlo slru llH}' D3DLIGHT

św.atła kierunkowe

. s zeo ( . IGH 6)).


_OIP.ECH
OS'Wl-tl 1e 01 'use 9 - 0~1et ierne OHr s· ł> • a,
'.\VECi'DRJ((l O • - o . o o-,.

:~.
~:t~yp,ad~
M: r · tę
1
.s~iatfo J Lbi.ale i Śk'- 1t-c1 w dól. podo nit! jak ;.~1irdl sl necznt ~
be~~ 0 •n d głtni. , Iefy 7,au11 J.btć, liC n; wnlc:: scowi o ~ ~
p 7.YJ.i\ ·• ze .:-wratlo icrunk Wt: polo.>.on je L nieskot\ ":ł'ienle dal ko i ~•;cdl
113
111w.11111tu. • ........._z~.... fllnluillwlauda-...ah SIi

)catdy punki ,r=11rUni. Nic ~rdlono równic:t ~sywnoki oraz zasicgu światła., lal
wiC,C wszysdcae punkty .są _OŚWlCllone Z tak\ sam~ mten~'UU.IJlOŚCi• W
.. ,
małko N al1,..i:IS·ł•)'C:ZDII. l'•ecz ta-AIC:
.L ' ~ •• "'"
ruu1e1śe!1e .......... znL·...
ygenerowa.na ' scena
J·~s• ()(:~'ISC-IC'
- w • r - ...._ ·
,.. PfZY!ipH::Sza ob1 tc~nu11
,
111a1c:matycmc. .onteiµC:u~ roi'!dzia.lu ~· u'IJ.ens}'WD()łć światła dla dane wierzchołka
jest pe pl'(l(Shl ro1,prośzony.m kolorem w1atb. go

ś_.1 punktowe
świarlll kie~n~o~e mają okI~~Hony ki~mnc\;. ale nir: mają pol~mi Sw,alła punkw"'·e
.są ich P;Z-cć ~~1cm 5 mwem: rnaJ~ usta~~n~ roloż_clllie~ tecz , wiatlo roz1H7...ASU'Z~niia we s.,,
\' zy il1ri h ki~~kach. Dctychc:-.as :sw1ath.;t kiaunko\lic ~ •Io porównywane- do $\vi:1tł:.i
tonccznego: Sw1atlo pu~ ,owe ~Qzna ~orównilC~ do poohodnt lub Ha,y„ gdzir: 2rbdlo
~\via1ła ®v1c:,1.ł11 WSZ}1s uk1e ot ~za.,ąoe ob1ekry. Poaihzy ~ fkł'ad pokaocujic. j ak ~ 3
usta'i\ti S\""'tiUło punktowe:
z r)'(&OS'ń 1e leme. s1:z:ro W30CIQff8l).
os•1 e::. l !Nll l:, _ - DllX.l _l'Oi ' :
os 1e 1 1e □ use r • 05},, c 1~ 1e oir•use ~ os.1et el"I eo ~St: b. l.Of.
0S1 e il!tne Pos,t Gil • 030 \'ECTORJ(0 Ot. 1 D • łJ O ).
05 ,e 1et11e R~nge 5.0.
os 1etl,e,1 e. ~ er, t, ooo - o l)f.
09„1!tleme A teru a 1onl - l 01;

wiatlo j est n · tle l koloru bi~łega ! t'll:~ jest prołożone j i:::dn~.j cdno tk~ nad pocZ1lkitm
n'kJadu w!'.półtz'tdn:yc'h i wi,,cci we wszystkich kh:runkach_ Ola wgo :11 iatła o~ tony
jest maksymalny za i'rg, k1Óry unie.m.ożliwiia o~wie-1Jccn;.; widu obic!'.k1ów znajdujących
si P"J71ł tym zasi ·g i m. Po1..:t ry,n 2 i~gicm ś,, iado puok-1.ow~ h1bnLC (zmj1.'fli~ intt:n·
SY'' rJ ośe). Om.:iv.1any wcu niej wzór okrc · ]ając}' osh1tneruc ;nlensywnokt świalla to

R.}'5Ulltk l ł . I pn: :-oSUtwiłl. j:tk rórnt: parametry 06łahi,:n1;,:i k~tują krzywą ,ntt.'B.\· ~11~i
poza zas1~gi,c;rn .·,,,iJUD. Biorąc pod U\\l!!;t; r,bliczenia nmtc-rna1yc:2.1'1ć , nale-zy zaowaLyc.
że ·"•i~tlu punktowe jes, bardl it!'j ,.ko ztowm.:•· oblic:.r.t:niovim. kicd. doda si· ~mt1.T)'
At e- "'uat c i .su ·e 1tu 1cn2.

'-IIMIIM", • 'I)

Rn.a-. 11.1. f!FZ)' ludy rułab10,ria h·1ull,1


- - •11 • fłnpnayn-, Ni .,... . . . .

bardziej n:aJislyczne od świafeł kim,ilko~ .PUll•ii


~ świada. ~
LL~1....

->WIIUII. ~ iste formy Lecz wspomniany


"""'7Ql':.'::'."b~~IO\\'ych tródel światła in!m•~ośl! ~ daa)lli
pewn!""~ mld/a św!otla od..., ,..nJctu. Wlęl: Jeże!,"""!'~
=.,ia
.
!,ę&ie miało
(bl.k jak ro
Tak
przypad"."
miej..., w mec~IZlhóv,-..IIQer\~
1. •. , obli~ intensywność Ś\l'1 tła za pomocą równania oslabacuie.
: ~.':;.,nie
," : oblk.ooną
W)'lcor,.y,;tm! '"" ywno§ć
inlen przy Jcalln,J ...._,
0
llenia roą,roszoFJe-go i zwierc:iadllllk:g,o. Kątffll wykorzystyv,·_a:nyn, w tych Obi,~
· ~ ..-.
_;...1 kąt wcklora pomi;dey pol..aeniem wk=bolko o po/oJen,em świa11,. ~

~ - 1 1 . 2.
S19W .'rwiu1ła
H.:fJ'ełtorołW!gf)

te ma on to~I bmanie) orn2 Fa ri


. . . 111 U. • Nwbtl■nle z.,..,_., ••. ~

=L • wa,unłllAlabiania • WararnklZanlłan,a • K°""°6wktlnla


z,aiJrenie • . . .
l,O_ideli punkt ma~du~e s~~ w obsl.&rZe umbra,
0,0 jeteli punkt maJdUJe su~ na zewnątrz obszaru penumbra

jettli pwik1 znajduje się w \\!n:ątrz obszaru pc-,mmbra

Jl)'SUIICk 11. przedS1awia mnt~nsywność ś~ialla dla różnych wartości paramell'U fa .


NaldY zauważyć, ~ wys•~uJe ~ .obhczen (spadc;k "'Ydajn ś.ci), dla wartości parame-
uu rómej od I. 1mto t.e mne wano c1 lwon...1 lepszy efekt ·at1:i,,; artość l daje c ~
wystaJCzającc: rezultaty.

~ 'Od
~ ■ 4,.,R Jf I +a
llfMadl ••h -----..._"TS
•~
. b)'. widzimy jak wicie obliąei Jlll
le ~ r6WIIIDl8 1 ~ ć wialła rtflektorowego dla
hllJ:llC....: unim IOSllftlC ok)dłoM ~-~ J·~artość J~• ciągle '."Yko~""".'
nywan, .....,. 1· iu inlCflS>'W"'""" 1' '-I · • --., .... _ ...
,rim;cholka- Po ~b ~ warunków c,śwactłc:01 „
aas w bezan•• b•~Y

• „wietlenia w urządzeniu a..


Koafigurac,a 05 ·-.u
. tv n,dt.aje . wiatła. lećz. ab· ll\łYina było ach m.--e~-vńkie
D,of!i,'<'hi;pS omawrMC ic-0.30. rz.ąd~nia mają okre ton ma ·yn}alną l~i=-a,ę •
O.Jk'l)' us~Vi I
kimi mogą
d1- " "/
W " ~ , dan n, rno-nien'Ci~. Licibc: do5tępnyc,h źrodeł wt:ula db
6b·
~ui mo·too u:zyskać w naslWUJ ' J!H.tl •

: z~1te3D•°>'Ge
. '
L czS at •l • 1.}I.J s.
- . • ... a-Odi:I _wi1tlhi nic n.a rl!'źy p .zie lej \ ·~rto t W
Pod~ k~m111 • z~ _ _1.._.-1 ..,,,.,..112jll jak ueyw t do, oJotj lit-A..., ·
0111:m ·aniai mecłHllll mo"" •crte :,nm.1ff łl'Vfl. "· · • • • • -,
KrL'ffi' iródł ~·illtł.i ~dą j1.t1 t d tępne, m1 le u<tywowa OlPw1ctl~111e. u la.wiaj
powi~crni na.n urządlt!nia:
rza 2emeOJ0.:1-4=! ~~rS m30RS_L Cł!ii , • >•

Mama row1u("ź tak USIA\\ric unądzt.-nie. łby wykorL_ ty\),,alc, wan:ost gto1Qł11 ~
tłt,n.a ot a.aj ~ - - ta1i1,•iaj~ tę wartośe ńic ~-fyw.J.my adni:go z cloSl't])ra)'t-łl :r::
1'\ ,l~Cł.fi.:

~r.2 adzer. lu Se· nct~rst t~! -: - •~rE , , G>0010l010).

Prft'fowruti: jcs1 ustawienie ni,-.Sz ~ wartości dł11 11 utd owcZ3Jąc1;:go, gdyż symul
J"Ze'CZ)"I- ist)· ,ef~kt promir:-m ś1. ie-tł nych odbjjnjąi ych Ljię w całym otoczenmu i DS\I, i
eych po,.-,jer~łlrtie, do których u.cez tstc :h1,•iaU mogą mgd. nie dolnl-e.

ole1n1·rn krokiem je~ okn~:.lenie. ,óre aódło swjada nu-i być f ktycznic: wh1,c
1 t to pomocfic. gdy prągnicr:ny uqc nrr:któI)'Ch żr6d ~ 5,,·w1atł:1 l'y Jł.o do "'-Vll]!;lqjjJ
obr r.ów. N p :l)1fdad. j et,eli j tnie-je' ilk :;"-,·ia•d re flek toro" .. '"h, mom~ W)' . ~ •
~ nich~ dłll tórych r)" o~ ane w danym momeneu; obiek · s.ą p,oa z itsiem i \li • •
Je doprem w6, C7---3b. gdy wo 7--01\C h~q ohh:kty. ctórc są w za ię~.-u tych uódt-t
~om.aga ,o 11 ~rym:1li!o11 uiu wydajno:kt. Poni :cy kod pr>kilTUJe, jak włąc-l)i
:sl_one f~b ś,~ mtf Pu=-m eym parametrem Je-~L ie.koty fika tor H:1, t(]reg& "" ~,,,i
Jl Je powinna pntekmc."7,ać frc-xby dostwnych :hódcł w i.a.tła pomm~j s · nej 0 j t--drn. 1

_i/Jr d1e ltOJD-~LI ( e(O. TU),


0~· la tnim •L;• nłiffl . ,: fr'-n. · · ka.żdc:go l :rrócł .
. _,,.... taw1cnae
JCS _iDl,,1CZ-ne u ł kwi da. Po u 18"1
warto c, 1n1kt1.1ry G~ IG T8 mo n pr-~kazac ją u~dzr..!n~ u;
- z.al1lPn1eD...1t1 > · L .g rn. o:s 12 ~ e,.
Jety Z1111wafyć ie st k'""•
d~cni . • .;.
1 ~ I
.. ni •Ullll 0 Mt s p.ammclry dla danego "-1 dla :\'l.'latt& 1 1 ~ "'~
..-
1
--'o'i. ~•c_. _k 'f: maian d ~ony,n-,nych w •~j strulaur1.e. a prz-ykl d.je:reti zin1
,-. :enr WT.tllw J')Opr7.i"ll! zmianę Slntl..--ni
ilbv Pl'2t.lk . . •
.. - aza ,,i.:prow.1td.;rone .z.mmny d0 u~~nia.
• • - r"' '
ry. mu 1m ponnw1ne \,i oła.t ru111}teJ ~ i,
Raz.dZlał U. • Oiwletlenle l wykOłZyltanlem funkcłł wbwdowanych 183

--- Por. ko \czemu t_ ·h w tkich ~ków. bl7..ą~me ,,,wn:U11 y; LCrl.('hoO:.•. u~:z ~ 1a ąc­
u~t:r,, iónl: p,ar.nn try om1; r \\"'Danu.\ pr7.ed~.a, 1-t,llM: w n 1mcJ,•')'ffl rn:ld7.llllc \Iii r L•

dll-tc -1. Jddi ":1111.1 ~r..m z.n ab I •~uJc sp li;"l0\'11 · l ·l. 11bhcie:ni d k nywanc
prz.cz j.:'j ip~ . ·or GP ). W pr..1:00,,.,~n~ '"'Yfl·
tlku ohhCłl1.:ril d1,.1 r.>nu.jc pr i.:r:s r ..:.f' •

P'f"lY'kfadow,r~pr:ownm je.si b.a.~o pr, 5'~1 :smcktem kLóry . ,ut do ie • peryrn mto'",a-
nia z cfL-kl mi genarow::myn11 pr:1:ez ro-żn roh.aJt.i ~,\ iacfa. W plikacji :,.a1mp1uru;nlo-
'l.\'allC ws sfkie trzy om wi n11: rodzaje wi tła„ jl-dnak 1:t.!. irul:::1 n."'łh: ·tomwi? i punk-
IO"' ~ $Jl. tutuj najbard2i~j m1.e111.::i-uj ce. Ab. moin było za.demon LfO\\ c skutki
C)J'l.\·ii.:tlcnia. zoi;ta;e, czytany ~j~d~ nc~y plilc "I. siad{:\ geom,.;lJYCi n (ang. ml! hfllc.
który :iuiw1crn pi '"C rn1,n)'ch pod;,biorńw p1ateriilłó,.i.•. K:tldy podm1ór ro prosra ptas'.tczy•
zn i rotną liczbą ierzcholków.

Ry.sunt:'k 11 .4 pokaiujc: cfok& oswicllt:niR cztcri;ch podzbiorów,,~iilll~m pu.nklo" .. !ffl.

Rysllfl le U..4.
tQtla pliffft1o} 'ł!
fJho~lo)ąc< :ntk•
łłT)-alff'.
114

\t, am: 7.\\ •kłc: lin.ie i O gi pomagają pokazać oh zary umbra i pemir,di,a.
3.fj • ·• tłonł " ·lko wierzchołki zawrult! ,,.,. obszan:e pi'Pfu.mbro
l)'Clń1e zostaJą o ·Wie • - i:'.hld
·:ik w rzypadkll ~v.'lalł:l punkto,vcgo. a ~•a ,,,,c tego p~. ~ mo~a
!e nie Pwano tworzyć • 0S1:1ownych"' 5:\\ iatd retlckcoro\\ ych. Jczeh oświ
ni riel.ki~ ?;i3tk.i o ni!- iej rozdzidc.tości.
l..at,,\'(J motna ~uwut.) ·. ie na po~y',.szych rysunkach nJt!' pokazano podzbion.1 'VI
ów dra je nej ~iatki. J.: 1 to !'tiatka o bardlo niskji!j rozdziclt;r.CJsci. siadaj
~rcruhołki :połotolli! w cztc h narożni ·ach pła zc~zny. "ala I.! zez; .
\\' 1mU1osd,1r:żeh w~~ tk ie wit:r-J:choUci 7,najdują się- pc7a z ięg,~m ·~tb.. l • TJ
10 bJąd gdyt" 1at1 posób d.zi fa o wieli.anie wierzchof ·ow. \ 1 na..i;lępnycb ro
móv. ię technik\' o v.·ietlania pikseli, tórn poZ\\ ta uz ~k.ac lep ze reml ty w~
i.ale o 11 i kiej rozdzic czośt i.

Powytszy J)fograrnje tylko prostym prrykładc.m ltlll.;rfc;j uzy 0\1inika .N'l·.--


kl:Jv, rsey. Klawisz FI powoduje c)•klicme zmiany ro:,dzidc:✓.oś.ci sia ·",
zm· i rodzaJ o wietknia, Dl.a U:7.)Skania rómych drktói..11: polt."C"am równic
mrntowanic z inrJymi parametrami o,\\ietl~nia oraz p :1.cm1.:sz zam m i\1 tłA.
od po_kazuje wszystki~ pod tawowe clcmc-my. Możn.1 bi:z obawy je mod)'t'i er, ~ J
kry,. a~ SJJQ~o~y dzi~lania ~ó1.nych iród f ~,\ 1at~a. ,\by upro:-.ci · całko\, i it ~
?b~ująey s.ww.Ho m 7~w1er.i molliwosci obracan ,a graficzHvmi repre~n
~ ialła, al_e zmiana ienmkn wiatła \\i 1rukturzc 03 G O "p \\oduje rłmaid
~•erunku ~ła świ~lła. Ostattclnic można 7,.alad0'"-ać całku;m inn ~ modełł ·
~~,~. ~c ~pli ·a.cja renderuje tyPko jt."Oc-n pcxhbi,j \\ danvm MO -"
:l:!iCJc z~,e~tł kod progrnmu. tak b ' rcnd(!rin~ odbyt al się·w iMY .mo:sou,
JC WJ)ro'l-'tadri się llnt~ny \' .kodzi • należy go w _prełni zrozumi4,.-c, inn Plr1'\,~
motna UZ) k mylącr re-rultoty,
Poctobnte jak ~· po~dni_ch ~~~h. będz1cmy tworeyłi kl~ ~ kJ n:prc-
z,eriruj,tOC,j ut1~1~c apl~J~• Phlo.:i umL ~ są 011 dołi\(:~)m nomiku CO w ka ogu
1KodiR.tntl:rialll. hzyJrzyJrn}' ł nowemu p1i owi n~głó\ •kówcmu.Aplakacj~1\•,~1l #J~
l'ł.:I "',ap atJ h

cła ~1k - J1 e· l
ł
o.
310s e 10,

Ponł'1.S:ir ,ny flJllkcj~ ob.stu U twora'ftie. ~nd mwan1~ i ni~fo: buf. ra, iLTZCh.otk \
ktory j i:st koni~z:□, ~ w1:cu.ali2:Kji wi tel Świ-atl.u te g □ero\!,; e · k o 1..bLory
linii i funkcjonuj~ idcnr~ i j:1k lfmrory wierl~ho-11( w :;i: pop~dni~h mzd7.1ał6w,
ft! 1\1 1efll!( >:
lJ z l er'l1JC}.
- l l'I •• • !!ni C) •

Ko ne- f11nkrj1: pc-.,vnijJ ll ta" 'cniC' nrząch..-:t1ia (aby mog,to Ul ,.,,c cm, ied~nira) oraz
micjaJił..acjt; w >Z) stkicli źtódi.:I =
1
"' 1 11tła. f u'l1k ·j:a Kon 1gur J r1~d1en e j~ odd:r.u:~tt
f1.1nk.cją. ::t.órJ po7,, •ab Jl ust.1,, ,~me ur~t:ni '10 '-"")?.crowan;u. by z,nti:mć para-
_mc1ty oś" ic1tent ~ nnl t , wprowadzić zmiany " kcwbn~ fun ·ej i l n 1 c~ UJ O ,; e 1 , e:

,, 1> d on g:J JU"'?i!d..:en, i:: ) •


o,d l ,ej JO e ł~rne(

Pooils7..a funkcja I du e plik z s atką , r L. 1 programie~ ~ ~,lit, c ,a1k:11.awier..1 kil a.


p0dzbiorów u rótncJ m,d.r.,ek1.ost1 ·
m. Le1 s1~·• e .

• i.-1rprowsdz1ć ,v!a ną funkcjonalność, 11:.il '/)' pr7.e- fol'll pom:t°'lc s.Uind. rdowc: fonk-
tje-. W przypad u n~Z~J .aplik;;ł...:ji nalc7.y ~" rocu:: m\.lgl,! na fu t'l,.,c,i; r -'~. .' •.... 1•~1 dt;'.
Hby :,,orimto,. a • ii;. j 1.1ik obsłu ...~iw m; j e-st wcj~ cie ;r. kfawmłW)'. ~o~ .an1"--nti. podzh101y
modeli oraz rod7.aj i: w1ull!I.
l BOO.. Poz
1 Pr2 ).
1 E:ocl Prz ).
lrt . l
, r-':, 1
, lrtua s
Pl"'lcjcfD my tet:lZ do zmi~nnrych s, tki 2avi cz· ~ , c ~UJ • li it ._1 3 mkę i .d'lpiero poL ~
rcn«kTUji: ,, :t:}•h1kie j1.:j poozMófY dl ażdeJ ramki. ~. CC) ~hk:::ii;J• 7.R1 ~u l!'m • i., ~ s~te
1POdd>iomy. 1t:c:ł rcmJ~rnv.• n będzie tylko jedt=n ~ mch dl kcrikretm~J rmnki , Podzbiór
0~1ol1J}· p~z '(Wlk _ ezatJ odzb or jcsLtym, ·córy j -t I')' 0 1tV1iJ1y dlrulantJ r.mtkJ:

r: "'11.n a.
8~ :wtf,, 1y$1~t,.,.
~ I!
l
2
2

1 pnie nru '"' zdruaniov.ać i~r wie-raehofków wykor;yi:;t ,\ ,j'[Jly(;h do zoli


!,,Smfeh ś it1~ . Pllnkty sto tepfl!'Z<:nruJ d,, t\: ·rawędzic: to ·a. każ& :r.a.,.. .
~>' pmu;ty. \ r«~i I ·c, mem nsu zmicaniMia \: eh ""'arto.śC'l~ eh„ .k
wany będlic baI<Uii:j skomp1ikowru1_ tok ·. co :dL-'t ,~ . milga · zmiany k ,vm,n
dnalnego remkriug ~--it) . Można usta-ii ·ć Habę: punktow o.krę n1 w i,; ~u
obęgu o l:'ilCj lub 1'1J7. zcj 107.dzu:~'1 \ j s,-~ li :i.ba pun t6 i.1y· pov.'odlljc ~
8 \ o b.aidzjeJ gll dkich w ·d1.it1Ch. Mel d prób j ht •dQ•11 \li • 'el1l ~
która 1warzy o~. \ ' z.d%l -.. • b •ly rysowan okr ·g, m1,, , :n1j ;c dUŻJ\. i a.tę
ct\CHków. _\ spomniał.:11'1 \\ ,~dy. ie nie je5\ 10 odpowiedni po ob ryso"' nia ~"".,
Teraz robimy to popra1,_1.rnjt. J ;o:h pr--eyjdzic- nam ·it"dy: rysm o gi łub łun
i Illi . IIIDli ..: w tym roi-c;W c m ~ u pnyt.;t d. Do tego r~OK:i{,i'
\l,,·rócun Jt$Z4;:l.'C .P<)<kz· u. tawfonm i re11d1:ro1i nniu bufo a w1tn„holkó1i•, ;
GU
. r,

- K _sroi ··)
Rer•rWU. • 06wletlenlez..,....,..__.._........,.. :I.U

Jat w 1)udzo ~ s11'Uk~ ~hoWUJ\CB polot.ente • fomw wi,emhołk6w. Ponicwal


~-ane 5ą f)'l~o proste hn,e. n1e ma potrzeb)' ~ a wcklorów nonna1n h
oraJ! dodał ~ cb danych dot)lcząGych wiet'I.Chołków.
1
~
l(
~t

' ~~l ~. y . l ,
rozprosz.
J. . ~tle 00 'łr_i' lSI.W.S ERTĘX <

~k Z\\')'kJI! n Jeży u~Y,.l'lł _~. ery wszystkie- tic7.lli i i v. I(' iki po · ldnją po-pm.wm:
wartości ~ ~ 1 :. ~ 1• ~'O o,tym 'n'łpomr!i • Jde1i 2mienru ~ pvs.iadają bt~d.nł:
\\iJrtO:Wi. {iflik ~ będzai= proból r1~H1derowa-ć ~iei~mir:j ·y ~biór~ co ~1-)'Wlście
ni,1 jt$t pop ,n·nc:
J..!111 aCJ1~l!lletl ·•J\'1 l)CJl0sii11et10
(
'a
lJS1
te-r1 - o.
- ~ 1
.
- (I_
Cl t

Kod jest w · ad7ie podobny do l1.:go zamies2czon o w pOµrb.-11ł_nfob rw.dzi , h . Jedyną


mmiaj~t ,o. f4: cera_z J~~-uy pi;wni. ;re m~ttme j est popmwnat: initjo\ir.n,r: SMal.b
i modete Ut\ or~f'IC.
m. ~pl11 c!tJ~OS ń e".1 Pot'~rn,c l1n11.()
[
, cr/.llEO{Ut"' ros· i'.;, , n,e(m_ IC n) ' ln'i'(_~.
OCOC.-~[:l. L(_H „(ł ~(_'lcJIT(.(w.JCESS l .>)) l
re· •Jr ri f Sic..

1 ' ( 1 i 1CJuJlobra? a ea~-,~tl la(])


rt"'ur n FIJ.SE

r~ fTl La JSlt".k~().

:o G •:J,,plH:aeJ10s-""1e . l)flfir.:., JUrz dz ~()


{

Wcz.~nii::J otnecalem. :l" ~woli ~t~ siar.li srę ,.przemy .,, ' ' kodzie: ~ ie , zonym
w róiny h m7.dz1alach funł::cJe z hiblioecki D30X. \Vk1, nii,; C~Ii 7 po rai._pie~ ' 7~°:L'&ł
lliyta funkcja OOO~Md _r :tł .:./J L 'Q,,.r \ ,m kQnł..TCtn) n, p adku opl!ńJJtmy n:.1 m1K1r:rzy
,..,idoku, eh.ie iero" an w Jó~ kamcm umi~ ~zonu jcsL n1J góne ; z tyłu. O Jatmm
rp:atam&cm jc-t;I Iz.w. w~ktor pionu k1m'l~I)' (.-mg. up 'I-' tor któ_r)' ~ t)'ID 1)~rp.u.dk~L
itro ruty jt:st prD.!itD do óry. ·t1oże ~Ir Eo,,. •d~w ~ ' ocz_ 'Vł'1srr:~ le "' mektfi h
PrlYpędlmch ~d7..it! potrz ba uiycilł lm•ego w-dctoł pionu·
~tlL:f _
~,lJC;l, 1e,OOO->'Setlrar~ a


tr
• I / 6,
HPro
)(P
Sil~ t
1(!{)30-:,-Se~ r s
,.
Ponikj mrmeszc::1.on,o fi gmt.-'ftt k0<h•~ fÓ(}' pra\ d1.3 I i . J,ę'. _i mi eją ~ h źródeł Ś'I.
Vtl n zym pr,o;ykffl&ie nie jic l oni,t,"C7.nc oo :t)r ywamm.: •~J W3110. c:i. 8d}i. lłt_) .
tylko J ~L'°® źródltt Ś'\\•iatł LCC"i: w preyyrudku h, rdz1cJ zlożon,·ch Pl'Oglil'tJOlr.·
iaistnrcc pm:nch~ spra'lltrdZ(:ofa tej will1oki:
~ • l,
il/• dl~ eOJD---Ge - ,ic(l('i!,pS(~
l1Cl$. ~ ~) • .z1 ~ • t ~

~ 05t.RITiiclJ wyi.~ł>lania ·h ful\k ui. J -._ ze pl?A.-d \")l'\\.'<Man ie;m fun ej i iniej
~W1 ... lis.łro·1tm1an •ji:st oświcUr:nic: , paen, it: z_e {wiJld ru u."t wiana
j~°"
ji 'i! sK~iatb ol'.nd:aj cego:

_llitłrładle JD-> ·tRef ••43 .~ t


_ z~ 1.tł11eoJl}..>t ·1tEnabłem.
?.i!ldzer. t · - - ~-.,,~.-.s a e(()3 • ,. 1 T. I) ·0010 O: OL

f 1CJ J0$11' etlf:1'11E!'( l.


}

P~bn.11: Jlllk " pop,Udnim roxd&i 11:, "'C, ot""Lony model prz~chow n ·j w
P_annęc, ~lłł:'J pac-z program. Dzii; ·i l!!ffiU potlc:1"" 1.erm1ra.ni u ~ i i ~
Ję nw,,: JĆ J'---d>•mc o, lv.•Oftóny „ręt:znjt;0 bu w wkr«holk611 . U ~c,u c ~
a,p~łlowyi. n1· m~l: •
1e::. .Pr C,
Ml

Gcl)' aylko llffildunic zos~1c_~zernw_anc. n h:zy upewnić łt, CZ)' w zylłkie lml)'
~ i . a ~ popra"'~c u~nlCJQYtlane I dup1cro "''ÓWl?zw; poD()Wime ~on;yć bufor
wic:fZChołków wmz z danymi:
80:l- 1 k1! • 0S'lli~ I PoOdt Mr. u(l

1,.1rzao1.e
Q j
l
i a ;zakońc2'emeo c~łe~ I? L1<:cs.u mdc-ży pospr~tać C: •m '° ,odo fiu~ jak w kilku
pop~;ch ro:td:7.i 111 h.
acJi 1 1 rledln ~ei • )
01 ucz""oor
1 ( ..._ ak )
{

}
t (
{

E.

A wmz d!ri..:m:,· uzyw 1]1 kl.aw1sa FJ dLl k.Ji 7.Jl~(J f)rlL-choci7~~i11 mi dzy róxn)'ffli
m lami, '\'I.' pr1. 1,,ad "'-l SL. b6,7}· h m~L n. ~r. ~IA!m prey ma.ni.a Id \1,, i za fi I 01
by' kill ~rom \\ryś.w1e1l~ml!' ki.,1'111.mil:!tu 'Ili' l"-u, ~ c- n i.rL ~~• j~t tumj td ntyfi ror
podzbioru do m mcntu prze-kr ·,~n i i losci mu<l ·h ~-as.tęprni:
UStaY.~on znowu n a.rtoŚ-t! pclC7~tk,,',,li.ą:

lk t)
{
I ._-f2)
ł
IATil)

l
V.' poo.obny posob U:t} ._,. i) ~ -. kt1w 7..1 F1. Joorr \\' l~ pnyfN!dkU pnclttcZIJffl}' }'•
:liczrue mi\dT,)' do:-;ri.cpri}m 1 ;.rbdlarni ' w1:ill Pom~ -ryf kod po" ioic:n ró,wrt-i dzi rać,
je--J.:U do wc,r1y zost;J 1c J :id· ni:: ko1tJ nc 1il1-lo 23k &jąt. że \ -artość zrrnL"ilnCJ ~ _LIG
z trua _po;pmwnil!' u~w ,onn:
.E oo,.

.. e, 7,.aceOs n - enl · > ' ~- 1cz_s.w111 [L)


: 1e-uc(o()sw1 et <!1)1 ~ • O

'
Zantm za zmcmy konlynnow ć. "'atm: j e:iC., b • prL.e'k:taJ k 11umi~al ~~~ do
las , ~iawo...,ej. z~pcwnia 40 pI3wiJlow:t O 1u~ podslO\l o'l!,}'ch komW11k31Ów.
luz ka J.
}
c· \\ t'<l ł ''P r')e~
cSH}WLtiGED.
.:dl~n, · • r ei"OOO:C •
zt)&l1.! er 1 l a))J
r ur

teraz 0,a.Jdy ~ię upc~rnić, e1.y OS\ u:lknie j-.: t włączone, p(lllt eua, podczas~
finii r okr, gó\\1' j e t ono wył c,..ane. sla\...·iam. tutaj t01J.'fJ i ·ż ..1-k tualnc żródlo ś
gdy'- mogło byt zmii;nione pc,leceniem z kl3 iatury :Vfając na u wadze wzgJ~ o,J-
maJi ~~ mtfmloby zej umit..-ścić ,,. oranie melod... ~P.tl ~ht 'r\ ' p ,d'um
om1u1ikatów b,y 'wistło było u tawiane lyiko , ·tedy. gdy zajdzie taka potneba. a
,C() lratdą kJatk . Jednak w tycll pierw z-~h preykfacia h prz~dk łttdamy czytt:ln ·
l'lad wydaj.noł.ć. ltó1N11tei w pnypadku. kiedy cyk!ic:-zn ie zm1e , iacn jest dm,._·oloy ror◄Qe!l
oi,viC'tl~nia. nakży co kl.at ę ponownie ustawić źródło ':wintla:
,'01Cl .:Apll l4CJ1 e Rena~n.iJ()
{
_ rl4l~- 1e030 >Set~· rS atern.:, UGHHNG . t.).
_ ;f,Z,ild~er.,~- ->~ Ugł, co. _s a
7
0-[ _B leluCeOs tt le 1 1Pj),

Materiał ob: ła podzbiór. któll)' w tym pr-ey_paóku OZtlat.:7..a rozdli ]C)I; ć "-')'świt ..
modelu. ale-cy okrc 'frć rodU1. marteriału i w6 czas m1ryso,,·ać pojetiyntZ)' ~~
1

Teraz jut urząd7..enir.: iajmi się p 2r.lt\1,,·af"laniem danych. R uj model. wykorl}


pilr.lrTJetry ~wii:~i:nia ~ m_foorurcję o w,enchołkaeh (równit.- t o normalnej witri
k~) do.i;,blwa:ma ośW1eth~11u1 dla kaide_go z mcb. \\f ponmiane operacje rmtle~l)~
"ie ~ widoc:zqe: dra programjsly. bieł(ty cieoiowMc są dzięki \\•bud w_nym funk
p~ętowym:

:dtk~~!eO~~:b~ ~rial( _ rlijl S a 1{ B1ezacyl'()dzb J>.


w a---u d Jt'J ~e < _ 1ezacyPQdzb1or).
Na $1111 koniec ~wanc- !ią $1Llttc :ś.wiatht co korreay gc:ncw,OP,anie konfcmni:j ramli:
lł.!f(lervJlOO<dl •n , e 1 C},

, id ~ 1 1 acJ Os e't l J111tJu.)~ .et IE'n eCl


{
Zen:-.._.... 1 ~
TLO 1: >-:>e
TLO,.. 1 fus~
~.,,, <1tfo( I f
a.tł orATLD ] • Pos ' t 1 oo • ~X'łfClW--3{0 -Ot .
atfo IA 1,0 ].!t!nge „ 5O•
il Io JARO ] A\tl!ffiMt lcnO - o a~ .
aUo(SWIAllO .. ] . Ut?t'IU ,l l O•

Drug.im ,rodzajem '""'iild jcś1 proste śwfoUo Lef'Unkow~. OmóWjm,1 je ht'lilj tylko po co.,
:aby C,1Jy ~ byi komplcin)r, Poprzedni przyklooowy progmm byJ h:ps_zym mi~jśe:tm
n:1 . ,pcrymt.~~o- :mit: 24; • u Llltt.ł:m lticrunlu.!IW),'rn z rac.jj s1wog;onych tam mkrz,_,wio-
11yclw p<mri~r:-zchm. W pn.c:c1w1cnsl.'\,vi,c oo ni,,go., ""' tym pr-l}'kbrlnc stwo.r,r,y my pł ką
ptas1,ezy-m;. poniew submehw efekm z.rn1any inc.e11s~1"\V110.~ L ~whłlll1 zn cmie ~ -~j
jest d~ llla plm;ki~j pow icr.r.chm:

r;,-U:c:_S 1atlo[S'l.:.TLo_•.LlłU!, . ]_ s· le0'(wJli TB)).


o(SWJ-2. I O Kl J iy:;e • O. l(łfT_OJ~CTI łol.
o[SWJA.TlO-KI ) use r ~ldtlc[ E"TL ~ łJ -
o[ lHlO- I J uS•:,D - l -
_ o[Slił3J:.iLO).J .:1i'!CT~.JC- .o . 1 or, o >.
Ostatnim \\'Ygc:m::101ruillym rodziłji:m ~,,. i łł ~dx,ic ·"11,i.ado reflc:ktorowl!'. Aby zdr.d i•
a'1!iiw ftu1kcj0f'IO\l.'i:mie tego rod.,.~Jłl o~w•~tfc-nia. konic:e7na lĄ_,dz(e · i@ wi1k:s7.a
lic1.b3 p3Jtlnu:t.rów. Poni1,.~ • pr,{}·klad powinien pokll.tl.( . j · fl.:pamr m!t_rmm;,•,; )' j . m
po117.clJ.11y do uzyska.ru.'..I efok1u ;"•iacta e:flck1orowego, Umicsztt°'1l0 WIJIJ koh::Jo([ fuiike-Ję
z bib.I icoc..,ki „ i)~ ( w raixzvw istMci j C"sl 10 :nh lao). FUtlkcj:,1 30'1: d il praL"·'.kształc:t
"''IIJltO:śei K~pl'C"A'fltOWJlillC \~ topni.lł Jl 11 ich od,ow1ooni 'i '\ . radie.ntl~. lot,e olmz.a.ć
si OłUl pr:zyd:iłllil j~..cl i pr.i:fW}' ~i ·my do myślc:m11 \\t k 1cg.0113eh stoptn:
z~ · , c atl~t~~,~ RE lE T t]. ~,,.eo (DJOl.tiffTII ).
'i-rla lo[~lAH.O lłiFLU,11),ł(r"E. ype lllłl_SPO .
- tło[ f;.Tl·-· .. FLH,"TCIRIJRJ Oi ~• r
- s"'1t'lt lo[S~LHTLO iFLl 't „J 01 r ~s ~ -
-s..,.1atlo[~IA LO-RHL .:.1 01 use b l -~ .
5-ia 1o(~lATlO JlHLE ,TORO,.'E) Dlrec-ii'D!l •
- -03Dl~ ClO<ltO Of. l.0 , O O };
_ 1d LI oL cir..n.o lłff E TOR0'11 l ™1 ,on •
-OJDt'IE:CiC,Ul(I (J • - o (I D ) I I

- a' lo[ rATlO R_FL(~T ] r


-Oll));fr,Ra{Ut1n( (I CJ ) ,
■ OlOH di nt60 O) .
_ 1nlol~ lA O... FlE ] h1
- l Il :
- 10 0.

\ii e len aO
801 ~lt J10$w etł .. JntcJuJZ011raz0rwian
I ladzl!ł'łie030·>CrNte 'eirt ;,:Jw er( l
1 ,fF'AiLED( _ r S UC (
0300SAG .
E I

.
ci }))

(Fi IL(

t
Zn s2ez oorai~m eO~•,
re urn 'SE.
ł
P..ru:dstMvione wierszt kodu · 1ymi 11mymi funk j-11mi bufora wierzchołków, .
były użyWane w popr.iedn,ich romziałn h. Jedryną ró~ic.ąjest .SUttni wieJU u.w· • ·
funkcjt -~ 6 • , UD.Lej jest ""}'k«zysff\ an rutaJ do 1Li,1aii.,.1cm11 wszyslki~h ~ ··
bufom wi1:ra_1uh<Mkó'li na 2SS. Jest to s:zybki i pro~y ~pnsób na n danie\\!?\
wic.ncbołkom kotoru hi:l1c:go. Póinicj zmi~BD są &tie określają t: poło7,C'Dit~ I~
dotyQĄce koloru poo . tiłji\ bez xmian (255 ), tak wi c nic trzeba nigdy jll,,~je ~"
wartoscj koloru:
e t it'hH~rzchol k. lb F. UC™_i.lJ ERZOO. ... • s l ·-Of(:W f ';:"RZO. L· _ U Tl.)):

Pi~n u szd · wien.cholkó"'' repr·z(nt:uji: boki stotka ·wmatł a retkkt.omwcga,. ~


z rmi~ t1Stll\'-'iorty jest n wartość jedno~tko,vą. tak :1by łatwiej zmi(.nialo si~ '
miar d11nych za pomocą_ rruici i),rzy karowania~ s:tJTI,c wier,xhoUa możoo wykom
cło ryso\vania ob5ZMÓ\V mnbra i pem,mbro dowol n,ego w.nniar:u: •
,. 1E:-ntil0l {O .x • - Ot: •"~~ .. uhol~[Cl • • ;J .
erzchQJk[0] .7 • o o:
- [ - Of. i,, 1erzehol l ] J - IJ O •
e t lJ o.o.
[ • O• ,. łe ?Cl",o)k[2J • • .O•.
f J z - o or.
3J OO 7.Cholk(J] y • -l O :
1 l •
] 0O rltilOl (4] y • 0.0:
l k.[ 4] ! .
~
.. , >; OO rze:hol {5].y "' -1 o:
I {5) i •

Teraz 5il'W l'IfJil'LI okr111a • • r •


~elnie J . pron~il!nm Jedno lkow_ym. . t.aln i y,ij rzcholek usta,• ·
-~ Q
11
', by n eć pewno:ć z~ okrąg J~t obiektem 1.amkniL" m Zau""''W)'· żt~
nary wanaa olr....au b · • 11: • •
Ml'l.'SO .r.. ki•1.._:-- 'te poirze , ny J ~t 1)'liko Jeden zbi or wierzchol Ó'lr • jc,dn ·my m-
. .....,., ~a;.; łJ\iJ o gów ( o ~ 1 bro 1·
sfery) wd 1 • ,..i . • • mt · pe,rumhra rnz punk'h, mileżącc pow,-
, ~
·· a SZCJ ci'rl'e, pny_,r.eynry i temu d ładniej : •
lO!'lt L1CZTll ,
for {L lelr\- • Cl. L C I ~ 1.ICZ._
r

r t :.irr. 1lłL :
l
13.k Z4\l!. S2le ne.ld .y lf)OSp~:
1

,o1d :t.p 11 ..! .. J 16s !le U l , S2tzZobri1z n1eOsń a -~ • ·n ,J()


[
1" {• A torSllll~ el)
' - orS- 1-~Re e~~l},
:~S,J Ot~~ el • L.
n ~

0,30 ""ir1TR]~ Pr'-Z~i,:'lletle.


~00TRl i Ctro ,
['l1tl. fU X Sica r.11?.
0JD'>'Alli!3 F 7.e Sl. 6
~•cerre.

P:onił.sla funktj21 wy,gtąda jak


cypowa fun)i;c,11 rcnrlcrują,t.a wierz:cholki. Qśi.,lje:,łrnre 2051:1jc
"'~-e. [POni:C":\vai nie ma ono S-CMU "'' ko:nri: ś.cii: tyd1 lkilku pr~'"dt linii„ :a rr ci;_pnk
~\v1;:my jesct form~t F'.'F o-ro nódlo strumi-e□i~:
_ :.r--ud:zer · eD.30- ··! etiłl!!'"de• s <'I .PC ;!Jf.S • lfffl"I' .l. - l'll$€.J:
_ Urudzen el\30- -...5e '· er e- "Stinde"(030'"-r VI SU S •li. tł~,
-_rrMrl ze ·e030-~S!! Strća~r(e(O. fufOr' Q ~,, s zeo"C~lER O()l '_(SłlE. U).

Jeżeli 111~~·.af'lt jes sv.·1.:H1o rd1duoro<\i·e. nilłety :stworzyć rnarim rrnm•arj i, która p.rz~,.
mnie W:ieruh0Łk1 :s oika · ki runku poło~ niJJ źródło s,; iadA:
-~ ~zacE!Osw1et· .n1e - ~l~lLO ~Eflt
-
DJ.O~ ~r ·T ansluL'C unl ę,

1LlO ]AllO_RfFLE ).Po5 100 . x,


~.10 J.ARO lt FLt ,..'[' Po~ 10fl ) .
a 10 lATLO]tHLE i'lf P.0$1 t · o .Z.).

Kiedy stot.ek cStąg.n1~ jut. polożeoie wiat~,. n:tld..1:01.·ow~ md{'"fy o Lrt. ' · .,.i ~pos
ma on b}'C pr1~sk:Jlm..•a11- 'I.\' cllu 2;0tmizowłłl11ill ccch ·",iJ1.H n~tl!c1kmr0\ tSó- \V f)'ffl
Pr.eyp:tdku zakłada sit;. zĆ u,td.;. 10sJ1IDie zoDfll20Wiln)' z pozycji ~ \\.•illt!a ,..,~ dól
do pxząd;iu uldrtdu wsp6-lf'lędnycll. Pl"A)' tokim zal~enjo to ć ~r~ jes~_po ~
~'.IlBI dłua;ośei \tlN:która po10-~ie. który obli~ ię za poliJ!jDtą koleJ~. AutkicJi z b~'bllo-
•dd. DJDX, Maj obliCZO,Jlj\ wysokość Sł~-t ?li po-i nocą tJ:ygDnOmetn l momn ob1n::zyć
174
_......... ........... ..._.,~ ~
c,ladlit~óll$7JilU~.Po-...,. _
~ ~ jedlld,Dlld)' tWOfZYĆ macicn skalowania. która. ~
~ac,~o,ci _..
..,.-aru,ści bufola ~ •
k doodpow1cdllic;h ~ :=~~,.
n J hł•N'lt,.~r:łt&l
fll\,O_ rt("'TN>IL,.} f10$1 Of\}),
{_

no:,t , I 2.0 •;
n:4' a. O ~ to :1.

!'.-... : ..._,,....-.•my m r;,ierz Ś'l,l,'ISCI i ')'łUJt"ID~ o~f peiwmbra. Jc.d~


Na m r..vtuec ....... ~:, • . • k:tórn umotłni a poprow-u-c WlJ)'SO~ ·
• 1 fłJ bmk mscicf"l) N'>f3tJł. ·
~rucm JCit u. r -~ padania Śl'ir13tta będzie inny mz pli()Sto . rr,a:~,,.~

=rc~ktoro":ego-. JCM~ .2: mełod): .ftłJi.zu1ące mkią ope aaj~ . troch


ta J 1 ~ 1: tut2j OD. umym ru,wictleniu. Proc~ura. ~, m popraw.n
rymwiniła, z.o.stlłs ~zczc,gólo~-o Qm6wiC>łNl w rozdziale 40.. \. którym dek
~ ~iam}1s1ę w ególy m:1t~m:1ty.c'D1e:
( ~ l S •
• ifS ~n ~s, ~ cenhil .
~ TR P. ilJ, ZL
00oP TRIP. J . 2) ~

p TA'!t ~y k.ód pow,Oduje- fflll)'S0'1.ł3nie n p~zyin 1c koli~cj _P?dst.'\'ri , bS7.MU 9t-


m.tt'lłb.~ 1 ~- Koro ~je prusu.n· ew kierunku l)OłQżt:rua i:ródla ""I rh ftt'l
im·i:nu wy· ości. poz łaj n· pozi ,nje podstał '. Koło zdc:fin 1owane w fen:
imAiołkóvi• nie- jc,st "''YfÓ'Vli13flC do ptasxc )'V))' pods,awy, tak w1~c, aby 10 JXlP'n·
oaldy on}· mru:~n ro cji. ~~oj~ rQ\\l'Of'CX k.afowan~ do 5.tcrukoki
pe,tumbra. .1 koncu , wiamy maeiC'.'r"l · i 1\.-'ll ·nijt!ffly koło I fotna by ~
1

t.ć ~ · j j~st po pro tu twon,· · kil a różny b kół w - _ uforo:: \I. ier:tel oł Ó\ii·. •
oa___pl=tt,awx SJ~ \ etłu k!J~~mtncgo \\ «.eySW:ua k Osami;gO ł,;nla.. Joon lłn Z_,...,_.
dt ~ o zadu· sohle ayk trudu, ·, ~ , a.ty c7,M jooni:go koła. jest potrzi:
zn nia t'-zyt~tkit 2 prze sZta)~11i mi. b6re po~ .al.:lj wrdok rotni -.. k ~ • ,z ~
~ i , •· ó . W~~ pi'Ogmmic pm?.rdopodobnic utwl;\r✓.yrny w·~ •·
tó~ 1 ~ .- ):h ~ c e l i , Z\\"laST,ezs \',.' p~:ull,--u impkmentacJ• kodu. kt · cy obna
tru.rru~,e s.v.·J rła n;fl'tkt-omv.·ego:
J~ n· -s 1e.
Jl. L
'1n • Ql, \ OJ .: );
O..x.1 tl'1 Ota . ~
030 rn , S(Ałr,c;{ n1 ~
Sie
Szi!
C('n ł
1e.OJO-
\~. el.
srra l)
•Tr.ansh .. • ·
,. -"Tl
( Po~
# t Pos
.. l
t.11

~tli ł 1 l"l~it • S;ee łr.o-sc loz1a. o L9=-Sól t1


0 • d ).

fr, U:1 , (OOCIPT_LI S lP. IJ.. l1 .


r ,t1 1!'(0 T_ll 'E'STRU?. J, 2 . .

p~itsz}' kod powoduje nnrys.ov.1 flit! obs7.ruu umbra z wykor.t>"śtimL~m identycznej


~ -:
T

, •.,,,u-.,, r l
r )';_.. • O$t.S. O'- a,

$lt 1
lrHlZC

~u,0? _,.o nP r l
li _ ...STOl '
I
Kolejny fragmc-nc odu \~\·or-zy prosCil . fcrę< rcpti::tL;nt□ją...ą i Ur,, purtklo~-c:. p · ,::r..v5i2c:
koto jm pra do poto,crua i.rodła i.w1atbt. ~ ,ownm: o kRstt facia punk-
wcgo i eysowanr . tiępm,: "bracan~ j -~ ,c. 90 ~op-ni i n::nderow:ml" J~Lkolc.Jne 1rolo1
kwrc rwony p ·q_ sfc :
łeflll - Si. [At O_l?t! J
r· ~~~ar.sl~ A ec1_.
a IH1 O .
~ !A LO .
_ d ]6.-lO · ).

>.'Sca ,,~c\ ..
~fi
_ lo[
_ 10( ,

I e p ,,eo
C 0, tł Zt.! 5,l':. e,).
...:D t (
- ESi,1(P„ lc.l
- - O.tiCA.
- -

Podsunaow•n••
.. tku te„ rozdzr,n_łu, ruaj po raz pu:rv.· zy , 0slitru lln...,
J~t. stWicfd:tiJ1 my na. ~ . ., , n'"'....,,WWlmłłl ~ po~ wb do~-~~
~ •i.,•1ct1m111 .. · "' ... - t ·
fowO pd))rzdlRl'1. si'[ 41.
. li!
, , i;ksw~ć opcrJcJ• z o wrci cn,em ~ ł.11.:.:._
bibliotek.i D ~ Graplt• ~na~:« nmn ~ :sil der. Jednak poj ci m p ~ ~
, i z; 'I'"" rzy5'M1i:nl . . "' .··.- -.~
impkmClt'O~• ·.r: b1t . ~ •, do pomw113f11a ...~mre '">:gc l'«!'ił,'at:J}'cb
w t)'DI ro~łc p<>~llt'i)' · l(łl za pomoc 1imkeJi1 ktiórc są <::~~1 API Zanim
~łalb , ~ łllk'.ł SIYi mz:lłfó dobr.ce by b -~ :ii i„ ić 1rocbę emu n01 llłti-
~ m ) d~ k-Ofqn>•.eh r-0 ~ n:· otM zmianra parn.111l'1rÓw ~-ł m.ltkł J'-"tieri •
men10waruc u zmJ~/~)ł ·~zro.zumiatc-, \ .lrto sprobow zmienić \i. rtoki.~b)·
z pu11me~; :po~~~:rc . c . równic:z p:im14-:'tlc, że n ie ~rę ~ jatb 11\~
zronunicł 1 ~
t.ąda · oobrą w ~ o ł !Inru ""
· ,!I • a.:eki6~· o msluc• mzd'dełczośe1.
~.
l"'ln'lc
r-•1
~doo ·es1 ochwyn: subld ny C'.'fdrt rrółni y inteo ~'tł ':i 1atP w il>'P'. oś
nM j t}'c-h ł'f1 li. JcU:Ji IIZ)'sm-e ";7.UIt: ty n~ ~ c!"'. ~l.'-"&_0 ~ " •
~rvmm1ow . 7. iii •mi m da.1111 , b)' iortenrov.a •_i;. "J.RJ.;1 s ~ ~
.,,. f ~.,,.. -.lclu l"ir'Olll, i o pogOT57.~ni. J OSJ.:J Cli; nt(l'iA'Wl!~ Im Yi,1'i«J
rozur.1t . - - fflVU1.: r . • I · eh ·.._ ,_
ntl tym ctapi , l;}'r'n rutli\'tl!'j bę(.'łzj puj S.:1~ Zt! !Ół}' Ullp emCfl t CJ I me:"' an .r.i JN I,\,'

0c-zy,, · _ ii:. na ~a~ni~ rorr.dzfaJu ·iJb punktÓ'lli' do zapJmu,;:ta.n13·


• O ,·ictfanic bi ów pomocą fi.1J CJm wbudo~,.u.n_eh TiltJk' był p ·dame,
kei· . u l a ~ 'ii z mechanizin.unc . nader, b.,."'dz1i:my _ 1mptc-raL-nt0w
wrasne ir6dła ·'IA i:Jlla. .:Jem tt.-st.Q mzdzi.ałl jcSl u-p \, .adzi::n 1c l 1. pom~ie- się
rMnymi rodujruni żróde.l w,ru~ .
• \\'y~ri rowa11ii: świntel ku:ru O'K') h wymnga naJnini J ~ omplik.owan}'cb
obJii;zl!Ji, leci b obij~ im e c-ktłiw . ub1eln go r rcalis,y.c1.11tgo sł..ibni~CLii
mtens}"'o · ~ ·mtr.a w m iru-ę ,, xr u odlegtoi.;;i od tródb T-c-n rodz:IJ
o ·c1k'1ia .ijlril" dJ',a ~ w J'll'Z}T'Sd.\LI ~wit1tct \\- }'pt.-biiJJ4.C~ i:h J)C\\ ń praeSlJZffl.
11p. ~lf,8•• sioittem go lub Ruorc~n 11,jncgo.
ł u · tł;i punk'lO\\'c dają efekt labni ia 1rice-ns)'\\1Kl6Ci w mian; ,, '- ,s[U odftgJ
.a1e rc,zi:hocfzą si~ " ·i: \\ z,·st mc;h icrunk, eh. T..:ll rodzaj o~\, cl!'tlr;n ia moi.n
Z:JS w.a jako dy kretn1;; żrod.l.l •iatfB np. · \, iallu JX)Ch dni lub l&t h

ł vistla idłd:«.trowc: lv;,-017..q EtaJhard.7.ieJ N .. ~isi)'l"7.n l!'fct.;t„ rt.i,11ic~ intensywooki


"' z.alt:ŻJJ ki oo odk i, v. 'T11a ;1jąj~~k bardzrćJ ·krunpl I kov :inycll obłk·zdi
niz 1-r,ódł :wia.Lł3 ki n.inko-wi;~o
• ~ JHXI ~mu ·· d«;--zk o wybon.r.".' ~wwla, ,, ·b am µ.;,mi,clry zy.,wi t.,.....L,......
rcal1.sl)·a-!łllffl .a .,\\')'starczaJ i.;o dofnym'", a prrykf u " cy~tl,,,1c r01b...ajc
0
':1tHk'll I daJą 1:ft:kc t bni I in1e~ywnos:ci •w _7 - wn ~tl!m 11 ~ i
od zr~b lctt \]j prz;·p dlru n· i:których sem 4;.z,• '.!!~ lU„tc i nit: ,, arto ut)/"\\" ·
nódcl' S'-' 1.atii'.I ... os~mvn ·eh"' z pun Lll \\ rd2~r1 ja, obJi z~11.
ł Talezy ck P;rym~to'l.r · 7. zarnii;'.).zaol!lym w ty,n rnzdz.r l~ koo m. nnieD U
rodzaJe oś er.ł:ru..a w pammi:try tródet ~" kt1h1. Jui ,, krótcc: bc;d;r.ił;IP)'
impJc1t1~mował1 podobne er~k•y. " } ·o~•slUJ wk1 Il me-ch~uizm sh d~r.
Rozdział 12. •
wprowadzenie do tekstur
Do tej pory wszy. tkic twor-.mne J)r7AZ ~as obiekcy 3D skladruy ię z płaskie~ oświetl°"'
oych po" ·ie~chn~ zbudowanych :le zb_mm wie~hołków. B:mkowato jm ~z-czegółów,
które są eharaktt:I)'. t>ycme dl.L rze zywts1.ycb ob~kłów. Jednym~ sposobów 'l"la zwięk­
szr.nic szczcgc>łowo~c;:i je t tłodmie więkS2Jej liczby obiektóv.·. lecz. aakie ro:1:, ,ązanie
jest „kosztowne•• obliczwiiov.:o. Inn>: spo~ób co dodanie teks1ury, która j-=st po prostu
olJr.w.iem oało-'m~ym na powtc17..chru obiektu., a pr2ykład,jetdi obiekt ll'Ohiooy jest
z ullk:uu:go ma.wriruu~ można stworzyć fimtastycznc efekty. modelując każdą nić mate-
ńafu. J~nak o wh.de ro~s dniej~ym spo obcm jest dódaa,ic tek~tury. l1órn wygl da jak
ulk3DY roaterial. \ ykorzysl niic· pro~tych tekstur daje bardzo dobre n:zuttaty. które są
jeszae lepsze,.,. przypadku zasl.wlo, ania od"-"''zotowań nierówności i o·wic~ nfa poje-
dynczych piks.elL
w kolcjR)f&h mzdiiaf11ch będ7.icmy U7.'J"-ali tek.ęcur do wielu różnych zaMOS.O\\rwi, od pro-
swgo teksturowania do odwzom, ania o.\viellenia (::i.ng. lighl mappmg), od\\.~rowania nie„
r ó ~ (ilflg. inintp mDJipmg, Orn1' kouy~tanfa z labhc wyszuki"'3Jllll (ang. look-up table. )
\\'" celu ueali2owania bard:z:iej zło.żonych fun ·cj i. ~Iem rego rozdziaw jest prz ds.tawie-
nie podshliw twonem:ai i Llżywani- kks1ur. PrtyJrz •111y Sł • J:L • lWOt.f.)I się, pne,chowuJe
r modyfikuje •~kstury o ra7 ~ Jaki spo.sóh s1ę ich UŻ)"' ~ Ten rozdziat j e l ,'1-prowadi~-
niem do kolejnych rozd7iulów. gd71c zajm1cmy ~i't bud1.icj z:i.awcu1 owanymi techm-
kamj. lecz najpierw podstaw :
♦ Pirzechowywamc leks111r w pami'rct.
♦ Wymiary tekstury.
,t Struktura Espo, oby u2~ \\ W1ia m1pm p rilllg. m,p map~ .
ł Tworzenie lr.:kS-tur.
• Nakfadanir.: tek Utr na w 1 i:r1i;.hołk1.

♦ Jnfonno,vanic urząti_; a:nia t.1 L~tn icniu lr.:kslury.


1

t 'Wpływ wyko :cystama 1ck'itur nil v. daJrtO~-


ł P-rmgl d zaawansowanych tt.·d m ik i tcksturo",1an ia,

Tekstury od środka
Za.nim pnejdziemy do K!k.stur j ako takich, z.asli;bim)' siv.' nicklbn: po~~ •.ia, które! cy~
tekSt\Jro'"'·aoia. Aby ,,1 _pełna Lroz:umiil.~ proces 1,-.· r.t.ema tekstur n kz) do" 1ed1.1~... s,ę.
178

\'lir.u z po~:IWR'lli~ 1ę ~a\ u.i wc:rs_jj ~ir ~~ .~L~C \~- z tkim X!!nib ~\a
rzysly\\ .1rua poww-nchn1 do prz~nosRma dan)li;h bruzu wpro:;1, n ,i :kfan W
·c-1pl'7.) dJ.:.o1,1, .mw:m1c k.~i •· k r.& Ć' x zalet r u grafiki Qpisaaego v. Ili
JedJ P?\\1r:rzdm ie pozostufy pod;; WO\~ m _m1cjscen1 prr~chov.. fa dan)~ 1
z q róimc-.. ,. ..:e .!Hl one tera zw. Jtc \\ b1C'k tł'.' td.: ntr;. ktory oo.rdzirj U'lll lllflr\L··
ce ji potoku . fiJ.ij, \V przypadku k.-bltl! pojedyrH;~ dcmen obm2.u n~l34ł
~~ sl!'fumi (ang. tex J•., lri

PamN; b}'bfCffl(}l, a, fub ~,koJ. \\ k~~j prlA!'t-ł,10\\ . '\\ anc pm,, Jćfl4:hrue. ~J'i'-1.Ulla...
f} o •:tfA.:~ o o ' · oneJ -~~rokoścJ _1 ~kos.cJ. \V r7.e ,z; \ 1 •uści j to j 1
~ufor_ b:tJto\,·. ~ . ~ m po~7U _nu:nit l Jl!Slł llyślcni , :i.:e Jtczba bajtów prA\r
~c r~vrna !> ro~ i;;1 pomn~zon :., p 17.CZ W?, ~OkC!ś.ć oraz ItcLh baj t.ow na pikstl
n.c- J.... r po ·. zu~. ,.c nc.ckomecnue 1cs• 10 prawdą, ·

H)'ISIIJ1eł< l.2.1.
[}a1l,t obrcrr,
---a_... clw6Jld
w ~ kart gmficmym i implementacji OIIUI .

przy,.:;: ;;,et
~~oej pot~~ dwójki. Oznacz.a to. te tekstury mw:z.a ~ l a t y ~ do warl06ci
128 128 i tak dalej. ie omae1.a ,o wc:al~. ~ mU$Ą DA wynuu ap, hel, 16x16,
jak 12 ~ 16 są ró·wnid poprawnt. J~• wiele taki kwadratowe. Wymiary takie:
najWV'JlU:Jti'Z)'lTI po\1'0dem Jc:sm dul.a łatwość i SZ)'btość . ego stanu ~ • lecz~
czeń na wat1ok1ach ~dących pott;gą dwójki. w ~.;·..~ Jh:tką ~ I C dokonuje obli-
. - b·,.;. . - ,.. -2 --.,,c \lf-rff•",..h lllllll"Hotu --.r.
re ęgrruucze1ua
mo~ ;~ zmcsmnc. Jednak w na'bl•tsm· --....,.- ""':""'l•.. .,..._.tanego
będą ob$1ugiM 1 •clc~t11ry. których li01Jmiary są po(~gą dwl;~~lłok, karty &flfte7.ne
koro roz:ma1t ,llłDy o WZflliaroc..11 mcksru,, wano parni~ 1e . .
1 pocok grafiki. Tak wi c należ:'.,' two~ --~~ ~tę~za tekstura.. lym
'Llt i~\i dmtYi!h Z1Ji5i1
......,... J.u.. naJmmrJ~ tcl-sfilry.

,oztomY powierzahni i rnipmapy


w, ię-1:sz ci ap~ik ~ji 2D opem~je wykonywsne rra zawr-..~~..·l
_.J- • 1,._• Will.V.-,,_.
l"WII
~y.,
.,_ • ...._ .,.,
1enre1u.d u:,'•~
- -
tnń'l.1•
maJ~ •- B •-~ o cz •Sll,o pov.•1c17.c1m1e: ldoda-~ się z pr-i0&t}·c'h pask6\1i~ które był ko 1~
w n...,,t.ne m1c:Jsca ekran.u. Tek Lury w grafice: 30 mogą ""·ć Z3.$1:0!'i0\\"""' ..i ... ......
. I . ł rw"oJ ,lo - , . ..,
...,.A.U
'!ille uu '-'Yl",;M~W„ 1\.11,1,ijłfe
c1;ig c .2!'.1'~Dl().l ł
2
r:--• -'ena~ '
0 sLosun~u ~ ~am_~C)•. Jc,.::li obiekt się oddala~ naldy o
" •kre -1te na t; -r.anat:: 7.a pom~ą tara 7. mn~i:Js.2:t.'J i losc-~ p1k.i,eh. Je~U obiek1 pokryty !1
Ldcslu. _mac:1. to, 7~ rnu l onil być zmniejsza.na w momencie oddalania ~i obie~
rtądzcme Je~t \ \ sarutLe 'Yko_nał tak~ opcmcję. a.le (l7'.na<2 · ro ,~'W317,,am~ iibtury.
~ mo~ prowacl1i~ do _f?Owstru1aa o~w "' •~ .daj~•c:h maJo ,eamii:. Równid 2 punktu
w1dxem~ ~ab7'"'tc 1. ~~Lctwarntmc dui~J hczby diinych (c~kJ 1iksniry) tylko pod-
.z.as zrw.an. grupy tek eh JL: ~ mało nplat lne.
Oba problemy moŻI1 roZ'wiąxn ·• sLost1jąc tz,.i.•. rnipnu.1p,v. Hpmapy repr-enmłtJiictt !k.il ·a
w~rsji 1 ,o „ amt.""g_o obrazu. każdy ,,.. róźnej skał;, a przykład, je:teli j itnU?Jc ltk! rum
o rozmianicłl 256:-: 256, to można stworz.yć jej mipmap o rozmiara h (X) 1l ;ic ~ 28 do 1x I.
Obj.: c pokrył, teksru :,m1jdujący si~ bardzo bii ko kamel)\ a zatem oort:loco d~. mo-
ze byc pokryty lek turą o rozmiar'dch _56:,; ... 56. Ten sam obit j mote być pokryty naJ"'
mni ;J 1,ą I'. tekscur ( I · I ~. ,, rnonle'ncic ·icdy jest bardzo dakko kamery„ a zatem jt$t bardzo
mały Zaz"')'i...,.aJ Lo urządzcnit: podejmuje dcc. zję. kmorą wcrs.ję 1dtstlllj' ~,4:on:.ysmc.

Unądzcnii: podc235 twor;:4:nia tekstury może autcnwaryc-zrut u.rLi\l.·orzy,ć ły Yii'ilcblarz


m11Pmap. (:irafik mo;.i:c; rówmcż podczas projtktu\\ran1a tekstury okre~lić różne poziomy
mipmap. R •c7n..: Lwoncmc podrt.ędnych po;,jom_ów daj c t1w·órey moiHwość ro~~:w-i ~10.
obrdl'lU1 w r.;e,I u uzyskania lcps.l~j jakośd pr.c mn.icj,s2 j li .r.bi tek ·di. ie ma reguły.
która m wHab . 1.i: po7.mmy ll'Ut!.14 mu;· uiką samą 7.awanośe. MoŻlla nil przykład u~·r,.
~ 1biór m~p. które zmic-n rają kolor i:rakcie zmnieJs.:ani rna-py. Ry Wie 1J ,2 obra:
ZLIJe kiUca poziomó"v tck~Lur po md.ają yi...h rniprn q;iy. \\f ,órnyrn vticrsru m łe ob~zk.1
zmniejszonymi IHlpiaim najwmęks1.ej z tekstur. ~ dolnytn "~~· zu $iltll obrazki są
mniej 1.i:, t4."i;':t tck~r „o tał rmr.ciągni~t dla po!epsierna cZ)1,.;ln~ci.
Tworzenie tekstur
.za,nm ~rworr.ymy pitfiA'Stit t:e turt. \\'arto zori1:ntow11 · sił;. !.a.kic ognmiCZUJia
13dat \\'}'k,o ~ Mę; t.traądzcnil:. T. ie: iJlforn'I CJC' u.z.yskt.lJ~ się popn.,u ~
zn. l\ ~ j~ funkcji G , 1ct:-taps. Jak ~ l e _ truklu"1 .JCOJS8 za:"'i1:rtt ~ ·
rnse;ę o c;-m. oo spn:ęi obsluguJe. a czego r11e. W pr.r.ypadku tw-0ra_-n1 pro~)tch
113JWa.t.ll~:s~ymi poi lll'1i do spmwdlenj są :ixTe ure:..i ~ t- i " ~-re i,4r ; • ,
re za\liie ~j io onn_aeje om s.ym loych mzm~ h wks,ury. Obecnie y~
o hlgu.r,ą r~ tury o r-(IZJnlillU<:h 2048)(204 i wj~ksz,c~ le-<: wici.; ·tarszydl. kan:
cza się do IC'ntur Vt iclkoścj 256>1'256 i pmwdopodohmi: mmcj:- 2.j•~h. !nru:- polt
OODC\P6 również rn okaz.ać ię prz.ydacnc. Pole l @.< urł;ICaps J "" t :ibtolffll
-ff-
I~-- ap. CZ-)' ~dz~"DI.;' ogranicz L • tylko do wy'~ 1eLLani kw:tdratQtA• ·tb
czy o hlguJe- rnipm py i \, ·~le inn~h 1nfonnac; r,

\V Du.; tX .O prosw tl!'kstury reprc7cntow, ~ są p ze.z 1nterfcj Hl1 ee 3l)le~


ln1~rf.;js tel1 dlue-d,tczy po kl :sic fJ r _: 308a: eie1 i re8. k1.:,ta jL':'\.I Id b;wJa~
s eh tekstur~ j · r4' wrnc-2 dla tych bM'dz1 ej kornplikowW1y(;h, np. milp su. · run-ui
- :si:':w
(illl - CłlH mops) o • 'te słllT I~j\ miw-OW'y'(h Can . l.'Oluntt• f1.:xtw·...sJ. ~ tym 1twlllll
będą omewia11t Vi)'ł ~je pr te ti:k.stury. łn irod.z.ijc h:btur ~clą podstawą do
~ółu l:?J d ·IL"iJI w d lszych rozd7.1ala.c-h Pro.grom t\ll.•or.ry obrckt wy. ,. .
hiJ· rni:Lodę D1 et'"JOder,r1rP: .,..reateTc-:,: re:

™ •
(O , S · '· se, Uj ', T
n1~. T ro~ •
r.o .osc.
' .
m"-~T a
Wa.noki
. . S.m o c:i~c Q a7.· :,•'S · o>f,~c o ~wJą
• 1.... ·
wymagane wymiruv tek~1.1HJ' (nolct
~JI\J~ótać Zas cl ' pot,ęgi lic-zby dw ). P rarnr.:ar Poz, okn! i I; ~i,,., -..~.,..m1 t111n)th p.--
;irom w m1pm 111o Jeż I1 111 ""'t ., ••• ~
• F· 11 on wartosć O, uriąd~ic twor..{)' poziom t!l:ksrul}". 7$r:'
™IJ od ?Odali ;-c-h wvm. a ó (Sie Cl o c ·1 1 t ). n11 WYll'iarze l l korir;l'.a}.C'-
• 1 r w
llanW .aa. .• Wpria,, rlltnle a.,.._ 1811

,.,.incv zut~n e pozwala_stworzyć tcts.wę. ktllta ~ J C S I do kiś~ okrc-


uonych ixJów. np. ~erow~•• do ~ i lc:k&eUJ')'. Jest to potęmc ~ i będzie
~ w kilku kolcjnyc~ rowialad1„ Jetcli t w ~ jest tckłtwa,. kt6fa będzi.c
na)o~ na obiekt naldy tJStawmć ten parametr na warto.st o

,ararocv Fot"m!t ml.L~ ~ być clcm.mtęm typu wyhtzitntOM',:n.n 03t} ~ "-ó ,


"k:sd w cki t7.Yl(J d
. r.e,"'• • IU I) n:prc-iea-
rujt: fMRllll pit Il. e P ·- i:a 'J lej ks,~ k ~s•~t\ 21 32-b~Lowyeh tekstur
,,_ faana•~rn 030 _ASQGSBS.,~h,ba k 'i paykl:idzie podiu\o ine.e~, P,ow c-m j t'St ko-
p.e-i,."!111~ do:stg,u 00 ,; tki t:n~e~h ka.na.10\'li• ~ k ~ i a z nw:ebanizmGW
pll(Cl !"i~~dcr. Po~ tym ~1»:-n ~ brty gtn~c~e z ł~twrl9)CJą ,o&l,ug;uj· 32-mit~i: t.:lwwy
z nil:'.,vaelką unią ":yd;'tJnośc1 . R.zc~zyw1śc11: w l\rtt:których fr.l}'l113d i;b Jl..btto\\11: tek-
~ · ~ te-ps~. ,o~,c-~ Sf1"1lłf łllożc- byt ZORlymaliUJwan) do w,. OOY\'1111 i~ ~IK',j,
;;2-1»c-ovi,}'dl. J~h J ~tcbś i)OW°;1CWL..- tw~li'le są I ~ilCWlo'-e tek~~\ ,vi~b~ póJ! i
nwilTI. h Yl,1 t)'Ch rozdzial~c::h pDWl'IUl::l równu:-! m::1ti:łc c\ós-owarui:.

P:ir..unt:U PtJl i j~~ pm:dmriotcm tye~ sa,myd_l ograoiez..::ii, ł((órc b-)·łiy 0,i--nacwannl! w :p~..
p;ldk'u t,uforów , Li:lZ.Cbołków. ~ .w1,;~ ooici p1'6ypad~ó, ,e~ry tWorLi0ru: są v.f)'ko-
m -taniem p~ętru Pul USl3WJ011t,'gi) na 030~_. -. :o~ chOciax w niektóryd1 ro ~
dŹiwl eh d.emonsllm ant: ~ "6,vnid Cele: ury z. ~rmym i wan.o§ iami te ,0 p:1:F.m1Clru.

JdeE, funkcje m•,onąca lcksru,ę mkońc;:ey s[ ptnn ·1nie~ zost.ani~ pop awnit:- utwon:ony
obiekt ~~ury. Za pomoeą kilku pól kliuy m ,·ee 30Te;;1tu es mo7nn dowiedziet ~'i
rzc:goi wi~ na te11'1ili two :ti ntj tekstu .. . Piernts.:1.ą rze „ której warto :11i: ,cło,\ · edzi.«
j~sc mfocmn-cj I.'. i fo mak nap.rawd~ llLv.·orzono puzionum . V.' ,1 1.a.rczy "'Y'"·ołat Li.mkcj(
GetLe11elCount:
.O:..ree~JOT~ ..~. Gf li.:·.1 elCOł..:1 tO.

funkcja Z'! raca poziomu\ powiei.t.thn i za,vartych w obH:kcic tek~Ur',' Kic-dr już
iło.śc
\\riadomn. ile poziomów jest d~1w:-pnych. ,~-ołl~.; si.; fumkejc; Getle' -el Oesc. 1b)r '1~$k.
mł1foooa: je ó kuzdym z nicl,.

ESllT JD1rec .xi"e ,.,!.lr 11 Gett e•,e OE-se.ml H PóLHn, D.'!OSU~FAf:E OCS-t ---...o, s>:

tru ·tura w.OS\JRFii'\CE DESt zawiera ;nrom, -ejc o '"ai.dym ~ po-1jonH'.J1,v, ;i.. oma odcxyra
mrmfary ~ d go z rn~n~czyli mfommrj~. k16ra mi pmapa aiaJduj(: ~ ńa klórym pozimni:i:.
Mci~;;s róv.mk~ ,odc:r,y1ać aktywn;.i_ po,:i. Li.;rzchnu;. ''")'wołując ,1nk.cję Ge~Sur dcel~" , ~
SI.ft. .o·ret':..W :.,,LJ e:9 Ge SJ ··!act1l v~ {Ul ?◊2.let:.
IO r'['Ct~ .. ,· .aceS. • ...,..p~•~r.tc, rrli!:}.


\ rrn1J1ac.1e: L.
ottzynmJi:m, -sr-;aznL„
1
,. d
,, u saITll,,!J po",·le1"ł.C~•Lm·- p,-..,
"" ~·
,'..,da.ni: dru, obr.dZu możns
,
t ~ sk0pi wtiĆ n~ powi-cr.t.chni~. \\'ysui.rcz. \1.'yw·otać Clln'kcjł L ·Rec~ nov.tieg:o ob1ekm
ttprezentująt.'lćgo powitr1..ch11 ię :

1 □· e(tlO ,.. f eta lo~ ~l\ec.~(DJDlOC! EO_RECT


CO:o REt f',-osto~a .
O ag i.
- .1...b' wi ·rŁClmi lu.b do al go jtj ob-
P.rrogram ll!loże odwołać się do bran~go IKJIU 10 m po;
iw~ •. „ rn RECT
lfllktur~ 0
' r .i; NU L F 1rlkt:ja Z\"w aca
szaro, gd · r... Prost o at z""3!wmicm wooo-s..,. • u • . , M , 'l\.'flll zmodyft.ko,, ć
:zmvie~jącą ~sł , dJ powit:rzchni \ t(ffl/l z źądu mi l;nlMll!. OZJ
,il ZJ> LU'...... -
.~ • DJO~Creat tł l e w pr ty sposób wc-~1uje_ h:k~urę z
p •łPkll,
r-l ._ cJ.a ;itom ·1:lSt U . t Te uref r i:- 1 i~r dt1J i: v.·1 -ks&L Dl~
1roto,..., ain ~ b u ·.1111~ truk•~
Cu r rz d.I n,.e.
si;;. um
rne.

funkcja I ooo tępni .dlróv.110 pau.imcłf)' fu11ł,,c:J 1 [rP<1 ~ie tL• · • jri.k: , kil a
til1ivte-n1e s;;,..: o · ·i 1 \\ ·so o ,;i I k ury 1m wan.osc 030 . [ r fJ . T pmwi u
Ol 00 le U h\-dii"• mi, f:t rozmiaJ)• obmzl;:.a ff1>cU0Wt"cgo. Param ·t:r;• mtro,\;mQ .
w 1.uri t.po: b będzie filtrcmnmy obrouk król)' zm1cn,a m711113r, op. pod
wyw ra go do wielb,. ci tek~1ury Jub podczas butłowillU:l m1p1nap. Ji:xcli 1

jl':Sil k_lu i ka1oru, I~ ·olor 1.~11 bt;dz,~ pr.a;zroczy~ " ' .1.ał 1dowa11 ·j tC'kstunii:!. i e - - ~
) I~ '.iE._! Op0:1.wula od 7.)'ltłĆ inforrniilcj o phku · rud ł4'1w~ m n."YCit?.
odpo~ i«tnicj struk lJI)'. 1110' u ,~wić wybnultł P-1 lt:~- Pon i ·wa,,. J-Cdrni · pr~DT.1.'1l.
\\ or.cy ty,._, nc 32-bit{lwe lek tury. p.Rfilm~lr 14,: 1 p<'\\ imen być usrawióni)' Dl
lOŚC l.

F~n.kcje b,blioteła JOx 1w rx„ e,1: h: SIUI)' l'tlcg odr:_z;1 • kilk:1n ~ii: ró•1.Jl. h o
P!t 1.1,•. N~je-zy .e pąmi~c. ze iloU: pofl1i ci zajłt L~j pr:r.t.:~ tcks1urr: 1.atcl:)• ad
PJ •~ t t11ry. a nic od wi lkQści l'li iw .towe~o. 1 a pnykl dl jclt!'li j3ko
~:O~i1111 • lndow~n)' pf ik Jf E'G, s.s111 ieje du pr ~· dopod..,bień~m o. 'l. t ura
~m waia .!fi eznie \\ i-.: ej pruni~-i 11 iż ś311fi prik JPtG.
\ . półr~n td::~ur od\1r2ori.>,\.,_uj dany wi~uchote · w odpo~ u:dnie po1 l.eni1: na •~k-
~ - N1c-.1. lc:żru~ oo :ilc-roko~1 1 '"'> uko:;ci s.1tw.:j i ks"llf1i', \l'. łrz,;dnr.: polozetf n
tek turze n11c i:c- -, • m,~d.Z}• O O a 1.O 1 . ą ?ll'\'i 7.aJ oznacl.JJI. h,e \ mi u 1 23t~m
jeżdi chci:m n:uy~i.m a.t p •okąt \V)'!i n:,lajl((.1 · eu] r~ks,\tr~. muslmy u l.\:!"- 1i: Jego
wicachoUd za pomocą w J)OłP d.n' ·h l~ rury (O.O, O.O • (I.O, O.O). lO,O. 1.0). r1.O. ł .O)
gdxw pitf\.\ ~7.~ Y. TJ'"łrlt;dnc okr~~,jj lt:\.l. ~· górny róg lt:k tł.li}'. 3 O. I.ami• ~J, :d:llZUJ.J 113
pra"' ' doin róg. \\t lej sytua j i · ru.łt h:1 ~Ul)• na t.ia-J11.1c 7 kiy od ~ych wu:rLcłto1 ·ów.
ai oie od \-\ rmiar · v.· t!!ksLUT)'. " a. przykt d Jt:1:eli ceksl\Jrn. ma ',1, 1li'fll)' L•. 8x I•. , al...: w1 r1:-
chołki pr o ·ą,~ ą 1:ik rr-,zmLL" 2cz-0n~• .r.~ bcjmu1ą · I) ,;•·ran (L02.4·-:l6 ) LO ,~ksmm
j rozcirtgarut. aby pokryc cały pro. tokut. ~1ó\nąc ogólni • •~ksiuf)' ą rozcią_.~.am: 1 IIUL'lf-
polowane pcmi~""Cl'l.) współni;dn„ mi t~k lur · na ln.:c,.;b wu:rztb llach U(IJkąLlł.
1

W pólrz~nl" ti:k~lury n re s,t ogrł mc:1-en ylko d('I ,, :.u lOiiC• O.O lub I .O \\•a.noś.c; r lTILL"J-
~ niz I "skuuJą c,k ~śł ni! IX',o:t.cn i.i_ 11:1 tl!'k ·turxc Ry:-.uncl,., I ..... ~ pei "JJ:1,1J~, ~3k moi.na
przi.~ na.łc1c tC'blU ~ 7.3 p('lctU"k.:ą rótny1.·h
..... łtl1uci.4:1 \ r ')!ffl pf?) kładzie .ami:mup -lj,I • rylko
"" pólri.ędm: ld-:c;lury, pozm,rnlc- d.111c puł'.'41:,iaj-4 '':.!le.

~łc 12.3.
C.,,llł•lłi pn......,,.....,_,_..

l cyi.ko pJt.l$ c prz~ kJ: cJy. któr~ obrazują z. ~ho\\':lnie. •.~ \.\ ~oł~~yct. t
t«7. z_.aprc-zctnowan poj~I są p wd1.ił\l.'e" ri•~·mc-:ż w mn '~J •~tu1cyJnych -l'7Vlil"')J.• .1.
111
_

Jettfj 1.111ivol7.' my m „ ttój 1 1 ri łożymy na ,u~go l • sturę, h't JC-St ona w.re
'l,,MJMa..a. r 11hy mo u po caf· powit'm:łmię 1rójkąta. \'/ 11~tępnym rozd ·al,
i..

.łnimy, j · u~ f ' i j ( ' przi:ksz1.aJca 1e tur w momc ·rC' roLctą,g::m ia.

'li\'lttn_ JUl. pk me: wuj ·r~ "" pótr1:<;dni: k · tury. drnA icdznt)' si j3k um, ··
\I, fu~ic wt~ofk. rz· Z>C'.nic- opcru e IWl m11k ymahuc ~mlU rM:n eh [('.·,.....-...,.
tcłl ' m 2c tn by· dodatkowo CJ!?-alll 2.0IIC m()Jliw ·1anti e-slonc o ~~ . ~
\l..iofl powt.ei fo n l FVf definiuje: w1 -r.ix:hvłr.! · Jako posiadający Lbi r v.- ~
te ·stul) r ;f- ' . jest W} o~~ iln prl' l. JOOfl•\ lt .. turę, Ojy- - T[ pmz
i tak daleJ:
1ne CDJOf1,1F_ Z f 03UF' ,'f'_Olf E I n.'.: - ,f

z
Ft.DAT u
••zw u.• w......._... ....._

s nJC
t

J.

Tekstury i urządzeni ••
Dirm.X um iliwio ttr"lądzcniu us-tm: ie-nic do 05miu tckst\lf jednoczi::nie. da t-;·cli
h~.ksł\r.lr j !?St n:pt'w:7~ro,,, :i.na
pt"'Zez zw fi . ,e rury (ang. 10.nrr~ s-lagc). m'lfl u&v.·Lć
wiele rómycn purom :urn i stanów u&:ie-j fQx)·. oo, będzie: pokazane \I,' l'(Jh:·jnym nwłizial'e.
Ab, unąr:17.er~i mo •ro \/p" orzy 1at tek tu~. należ:)' j, przypi c odpo,., •~dnieJ razie za
poraoc,ą funkcJi Se Teir· ure:

.(SJ. T !D1r ,J ·~ . 1c;:t8 ,, F~1~1.


lOirect~seT ·~ ..i ).

Dla dóu· tegu rozdz1alu p:::irrarndt 1..:ksmry j c:sL 7.aws.1.:e -n ~każnLkiem do ~riti:rf.::jsu
JOlre<: 1 e ureP. ( hociaż w k<1lcJnych rozdz13J~ł ~ l:ldni:, J CS-1 podobrui m~nież
w prz)padkt.11 inn. eh rot.:m1.jc1,,ł tc-ksLur. P:lrillt'lłl?tr Fnt1 pr.cyJmujr.! \.łiartośei1 :i 7.akre:nJJ od. O
do 47_ Te- · ;ru~ usiJ11 · i.a 1ę "~ł~ą, -mić dl~ \'t:ykorzy.srywJ.nych az. Wszy tkirn pozostaa
łym razom dumy ~ln i.; prryp1~ujc si1i: ,, a.rtoś.ć : L LL. Jr;id~ •~kscurJ nie 1,ł;dne j'tlŻ v..'ii;«-j
wy ·oO'}"sty,.\ an , na le-ży ust.J.\ ic 1cks.LLl.f dl tej :17.)t n:.1 "\)i mo.sć NULL. Doo „ pmkl.
jcs1 u~wni!!Il; i-;. czy \\ Sl)'stk,c faz~ tek~n.rry· us• " 'i me ~ na. :·uu pr.1.cd zakończ "'·
nil"m ptog,~ mu, po mewa1 mk j~ Se Te.,; ,--e ~,. . LfikS7JI hcmik odwoli:ui do te'k~'llli'y
w m rni:□ctc JCJ u.'il3Wicn t1 , zmnitj sz.a len lit.~lik. gdy 1.e · tl.1nl. jl.-st usm ·iana ponov.;nic
iim w:H1oki-a. Jl"i~11 li zru · tldwoh111 me zosmn1 zmniejS.ZOO}'. b. nit: z-0 Janą Z\liOI•
nieme. Poniż iy prt:_ kt (1 Li,:monS.trUJC spo: ·ób. \V Juki n k:1. 10 obi :
. _• e s. urU).

- ft o
li
_ r2a zent·l>30- •S
/llrotn-1X1e

Problemy związane z wydajnością


Zagadnienia za,awansowane
. h ro1'.rlt . h będ ·t:.IU) robi li '/' ~ WUIDI n.upraw,1 . min CM; , :\\ ~ l"lCCł' .
h~i lbym "1' i11: ' naprzód. .ak \: t li ·.a tr.;J 1ato~ , kh".l': Z _rogu
jr,114.! w. ,vm rozdzlał4! Om611 · oi~ irch zagarlnir.: Jt.':1-1 dtJ. ~pli'.Jr, ~-
~ \\ koli:j;nych rozd1i ~11c:-h.

laknuo i kolory
\\rzuJemr:ie o d.:1ati \ an it' mr~z~ kofor· mi w1cr1..,;hołk ~"'' :i ·k rur m1 oJnÓ11i
~ stę:pnym J(lzd1.1n I ·• JL-rltlluk oddz1„ ływanie o na \\'pł)•w 1m .,_ ' . ·odu
d:1.u~u l)olł)y Jnym 1rybcnt odd.t1a~ywani p 1111 dLy k lor:111~1 w1 tlchołh..ÓW ~ ~
ltl'i\~1onyd1 r~m1e. 1 oblio.011ych w t,-a.kdi.: o. \\ I!!'li n1,i3 " ii:r.tch-nl ów j t
'-0.;1.a l ub mn\'mJ )ow m tofi::111.: l,..olorów k:tdi 1. fo;i:\ 1)n . ,.: ·nl,n n'1 1C"~c
od
\1! za_kn: iC' □.o dn 1'.o, to \V)'JllX•>W. ·oror dw\i;go pik~,.~ ptlll ljJ~ po m
koloru ~e s tJ .G ·oJor-c n ,,, it'r.zC-hol .i ,; r poprndnilh ro1.d7.1 ali!' 7.\\' uc1li.' m I w,
to, J~ na p0't\ii:~hni t:ritjk w. 1mtrpolo:w;ine było o ·wkckni • z k,tldi:go wi~
~,r;-,c,ov. o p1 la na tkrruu I>)'~~rpldkow:t p• n.al maLyi:zm:gv punktu 'łli'J
1
111c-rpo 'ił !!Mj w,mo I oloru wre :lCht;H • o.nu , .lfti. • 1 kolm u 1~ł,.,sclt1 ma,rdu·
wm.'j le tury o 111ls:.rpolo, an_ · h w:,,pńlrz -dn~ 'h. Kit.: dy it:nim\ 11Ci pó!Ni rll
4

fJQ ~od_:ti_ 1. ~b 7.llm ja ~ w ~iem n)'. n JolQna ce-k ura. Ji; -~ rńwnic:1 odpo~ ·
„ tcf"n~a . 1 •o domy.'\ .. ,.;, thow, mit.... 111 ' n st •4m •m rozdrltll z dl\11
Jak e 7ITT1i:D .Ć. .
__,,---
-erz tekstury
omawt11li!SfflY Już .ag· dn inne._ j ~ \l,)'k4)1'Z} .I) rtl3Clt:il trensti rmai.:ji . wiata do
l'nnon. d_,,1nych Cl poloh:mu ':1i:rz.c,b_ollclm„ ::ik,~ same ~ ~MUjc: s.ię w przypadku.
\\ ·~dn~h tdo Lury ~ . teJ :t: . , w,tor-q!l~amy bardm ~ pr,..c:k&,z1'.a1ci:n.a., które
n,ai ,VJ>l, ilłl ~oicme ~rn:hol~ó,.,• W ~ol(Jnych rotddllłach dowiemy si.ę~ j· można
\li/ "4,)l'Z)'·t.a • m„1 lC~ lL'l IW')' d~ .. :}(lrn ~,eb . h fektow LB.kich jak r, , tekstu-
....," .mic A rzutowani, n~ lJ.ng. !"'tJJ _,n~ 1t'Xlflrmg . om?" od'!,l,"ZOrfl'r\\111J11,; eiem (ang. /radow
r,rappri .). W p17~CI\HtruitwLC do mny_~~ ~od.,.JIJó'"' prze m.lceń, aby ua.kt)'\1-1'.lić pru-
kszrara:ni na t,ek~h•m 1:1, 011h:fy wczi:snu!J ,.po111li rm™''il' .. 0 \ •m urządzenie

Wielokf'Ołn• takStllrowanie - multitakstu,owanie


Do') che-za.i; kupiuliś1 l)' i 011 ust,~ ii.mi u poj1:'d)·ncuJ tckst\.lry. 1stnie;e jedna a1. fa2
le rur. dz, k1 C emu motn 1.~SlDSC,l\\ 3C WU!lc Lt:kstur 00 li.ego ~mi:gó ob1c!."1U
1 . pod_ W -
n.mklern. i...c: w11;r1,chołkt posiadaJą "'i'rrc j 1\-lłpótrlędnych tek tur I pop :\filii. y.•1uto~c
-re· ają; · il~ć tt!kstur w form.1c1..: F\f . ile "'"'cl!'17,chołki są pop wnie \li.}~cncrowanc.
rnożna usta,, tć , ii;L.!c:J faz 1c:-ksniry i umideu: ~•ii:lr ltk tur n.1 pojcd)'ll m ubitkcic:.
klllt:jnyrn m;,i:dLialr prryjr.lymy li,_:. j to nohi o .a.jak 1,mieni ~ posób w7..aJcmnc rJ
oddzicdyv;·an1a kilku t~ ~tur.

program
POOU!\\'ll w widu rn1d11;1bch om:em umc są tekstury 1 ;rn I, 7.am; 1 ['l,m1 ~Jr,;c•a.. prLY:
uadm, , prn~ram z.ami -s1c 7ony ,\ 1ym fC"IZ07l:tk J("C.l sio:mn !,..owo pros\)'. R ~une= I-·-
pokazuj i: v.·y~ląd ~k anu 1,0 ut II Iłom 1.:-ni LI programu

Rywnek12.5-
[ b d:J.Oianra
pif) lg.D

~ ·"
- ~'OP't.lką-1';}'
o,t prr,sr,,mr
turd'JU
. 1 tC'go $11DCgo c:zworokąta. kudy ~ .
Apłibcja r)'!uJc _c-rJd'/ esz::~nc •ekstury. Zwni • twoa:yc ~ z•,
Nnl lub pos~da,ący rótnc unysrujc macie-n tekshlr do skałowanią IYda
~ • tekstury. ~ o : dane krz.::hołkil tawicmją wspó~ 0 - . _
~re~-- 11 prz:yt~ ~•
~ o.o do 1.0. Podcw iwon~~ia mM:ierzy s1ca1t......_~
ściach nu~:l'JtCf'C . ~-ki nowych współ~nych miCYczą St mi~ o.o a -io~
która ~b1uJe Q ~~ar1 me,od:1 "' pr.zypitdku wielokriJmcgo k tz}'!itwlia z tych ~~
2
dałeJ Jes1 ro W')'~ ~ - l - --7\li
obic-k1ów. lecz powodujt:. te kcxl'jcst ma1o c.:zytc n •
Jekli ~od wydaJC: L kom.w ni~zrazumiń:ły. mOZflfi bezpo~~ni~ ~i~ć ~~

=!n~ , w danych doay-e-~ y(ll wienchoHta, 20~cn10-w c s 1ę. ~11k1 'llife~t Pl'"l)llQsi
11 81 "pn i~ "~'oo,i ć 7. powrotc-m d~ m~cn:ny k Iowanm. 11c1cm ~ - . :
~--t::
. _,0 hem n pokazanie z:..-~~""""~m:i \Y1elu ró,nych w_~~ny~. w~
~--dnycb są za2'\V)'C'1Jllj m~~zmi<.'flnC.
:muni mi::Jo w fłlc;2DL4: cel d'emOWl uC)'JR •
łc IO 7.3ffll 'Z1H\ILC ~ · ~ E ~~

w 8! mym rĄ-dzić _poJ.:aziirao,jak moma ,,~ · bardzo pm~•


lt!_k tu do ~l . .
nw dtlŻ)dt ob$zarów. Yh1Óf w ksztarci - ~ _llO~lllC)' ló tck.5'ura O,l'IWmllara h ~cd,,.,itl..:
Pro to.kąt w te,, m g6mym irugu pokazuJc. Jak moa•~ s,knlO\\i3Ć b.tKbro nuq
by ,, ~f.niab dut.ą pn( ó. ? c-0ką1 w prawyt~ g{imym. rogu ~k _ ~uje ię
u.-kstu~. recz ',l, ~m~ ,&tury lJ ~ , tono w_lal~ ~ ób. ab . pow,elda st ona ·
~ \\.' obu wymi:uicll. UZy"1 11jąc te ·:stury o n 1c\.i,•1d k 1,ch ro1..011~aeh. OtF,t.)iJnaflO
~1v.mi , Efekl ten jc=SI n jban.kiej pn:ydatny pr1..;· gt"llCf1 wanm obrtl7.ÓW ath_
bny z cie:gid lub podobnych., po" c-ar.mjących się \a,,'lnfil \\' •

W druttim rzędzie pokil2:ano zas•oww.IJ1ic mjpm::tp. Le" dnln~ pro tekąt Je5_l ~~
r~k5ł.Ur.t wczytaną x pliku.. \\r momencie prze k lo,,·an1.i w-sp irĄ-■.d'nych przez~: '
ce-hiwy. prMtok l wypdrn ny JC pcm: uu7.ającą .!ii~ ecks.1urą, Po.111ic-wa.l kaidy poj~1lei,
obr3u je sii; mniejszy, UfZlW\.'llf w. kony tuje rru-,jcjY.c mipmapy o \ ' 1 ) ' ~
1o

doccłow~j ~ rury . Pt2e-jkk pomiędzy m:rnyani poziomami 1111pmap Jt;SI nieza-11\\ 1

{i o 10 w)a~ic chodzi),. by leprcJ zadernonstmwać co się w.1cje. pro tokąt w 1 pm:


dolnym roęu pokryły je r barom prostą t1.:ks.Lu 1"11: tworzoną w kcxl;ri·c. Kai:d- pa,iom tq
tr!Gtmy ma kolor zakmy od jcJ rnzm111ru. M ipm_apy naj w1~k i.ego poziomu (256
pokoforo\lo'8Jle są na biaro - RGB(1SS. e..:6. 25iJ. Pc,7.mm o ro:mnnra ·h I... )(12' ~
sz.ary - ( 118. 28. 128). Im nii:szy poziom. tym ,..Li:mn1 "1s:,a mipmapa ~ ~·
padku pros,ok:ita w prawym dol n m rogu wyrażnic ..,.,i<la , ki t:d j v. .. kony ·ryv. il0t
różne po2iom . Tok wję<: k~ida zm1am1 luloru gart!'g; ph1'.'\IC1kaa=-1i powoduje .mn
pozionm dl ~aż-4:j z !ł:kstur w dru~im r1.:c;dz 1c R~ -..unl!k 12.6 U\\1idar;:zm oma a:
zmia11 poxiomó-1 ,. ·

P Z.)'J17Yjmy j~ U}r..i,z fmgmcmowi k du . Pli · nagłów ·owy Aplik(n.Jt1Te tury.~,lt!!


podobny do łych. klÓr"' ju.2 byiy t\\orlClllc :
• nc~ ~ -1\'lllkdCJa h
class 1 kacJ fe, , s ur Pl a1 c •Jipl 1 acJ Hos a
(
bhc

Poniższa runkc-ia l'\.c~l


fyvir- ~ .1- -~,l'l_J''"ana ...nr!
W'ln.'L'n.lL. .... ,.
,

r - /-..31S 1, orzcm1a własnych tcksmr. Jest no. W) o-
U...,.~ 'Y!ko raz. pcmrcw::tż tek~ Lury twonone w rmm i ·c1 zarzqdzanej przez prograitl
,~zizn,e potn:ifi od Li;,.·onyćJ. • a-■,o . ..
'"" m czaue. J1;:L1.:1·1 /.aJuz1e
. • tak potncba.
Ttflam
~

ilt'Ol ttJ !!llqtH},


Urz.adzen1e().
t,e-().
• r~{).

KN,,l1kac 1Tet~tur():
, rt ał - D , 2c.j1Te stur(),

~ua l ~ fol~1n ej r.1uf •


tua BO'Jt. rz~2 1~zez i em() ;
.•1 1Ja I 800L P:'ztoOd ;.,or ze , (1 ,
rtua · 80l.. PoOGt..or z~, 1 u{ ).
1rti;a ł 01d Rend@ UJ().

Propm1 ,.,.,.ykOl7.)1;,ujc: różne kolory pnc~zystnści Wt. aby łatwo można było dostnec
tek~. Jest to pjenv ;zy program. '" któirym prze:sta:nianJ jest funkcja PrzedRenden ~n, .,
dzięlci czemu mo:,Jiwe jest okrcś.lc:n~ koloru uż.ywa_m:go w aa.sie czyszczenia ekranu
jeszcze prztl.i n.•ilde-rowamcm:
a ,)ld Prl&'f?.f:llM ,ameci().
' irt
L "R(Cl3Qi ERTU... E"E _.,, 1.Jfon: r:» iCholk.

Kod umiesztLoJ~)' poniźcj pok37UJC ,,. sż;)·stldc t17.)' teksrury. Pierw za j t ut, orzona
llłłl powti.11wi~ ubrnzlrn \'\·c1.y1am.!go z pliku. Pozo tale dwie powstają poprzr;z wywohmie
podstawowych funkcj i t-...vor,.ąc. eh lek, rury. a n st1pnie ich za art.ość j~111 wypełniana
w kodzie:
_PDJRECi30 · !8 -(· sturaObraz.
LPOIREC JO f:8 -'li ~ks ur;) ,~~-

POIRECTJO - Tekst I aSpra~t:

03D
030
DJO
-
UO ~ 11 • lłr • •w• ae:11,ur ft

łmplcmenr.at:j1 nowe., Id
_._;;.u N .
jett UUll'lr pros&L •JPIC:IW IWonony Jest PfOśt},
~
ąców który ;csi podst,.,,._ do zbudowanfa PfOIIOlc••6w. Potem na ~ allit,~
ą •.:hiwy
Zooaczm)'. jak wygJL\da plik Apliła,;joTttblW')•.cpp: ~
1~:1 ~J 1 -.c...,r . IKY .-

Fonrt:at FVF i s.trulcturu wiem:h«>łków zawlffllj~ ttmz odpowtedn1~ dao


zbioru Vt-511eSb~yd1 :!D r tury, Pon1eWd w pro~ie nie nk J~ :; dla~
m a ~ ~ l i l i a UIJfl 'ff-ektorów r,o~ln}ICh dla wicw.diołkó itp J ~~
00 „r.rukrury roożn.1 doc:b,: panam~t:r ok.Tc lajll'CY kofor i us&awi-e kolor b~S
diolł:ÓM' ~'(:Jfi to &1~rwować ~ koloru wier&holków na W)·@l,i\(I O ~ ' -
pr;lłryty h k rununi RCJriZl.ljt" ·ię to. dodaJ~c; do f F Ol'ii stnJkrury . r•v,R'Cł:,.t":
k łom DnStr:,pmi~ 1,.1s1awiiłj _c lkoklf)• J}04kzas twoll"'LC:nin bufom wfor~{'!}-tof~~
1 ' 1Efłl TEK ( •F. Yl. I F_ EAU •

.................rr~.s
fl~t . y.. •
ł0,1 u, •
).
J . z,.,,

I I rlC 1 Te s rJ

· PoZc11 JCJ ... anuO


f
il (f •: roc ri,ro
• D300f ,r PE l
:>;:' T[ r..-r.UA.'i.AP
- SSf ,LI))) -
r~ .urn SL

O flłlntil Lek rur.1 ,., , .


.
w~tsJ11 tk ·· p,,.or1:onaJc I z pl,· k■■
\\ '
t}'m pl"7:'L dk
u, CJI twor,.ącyd1 i.cksn„rv (z b"bl"
'Hl • '
k . : ·•.;r'Pa u ,vykorzysty\, an11j
°'" 9
r-go f>r7.i;t" ill7.ani~ Podr~dne·po . IOtd.; L DJ D ""), P tlLewJ.i: 11ic po,raba
LC>:11ny mrpmap tworzone , autom (}cza e
lłQald.-ta.._ .WW.Wa•••
1
CfAfl(Ot 030XCOl!dteTC' ,ituref.rcJIJf: 11 e,( _w.Jrlłclzffltto:t)
1a\\l1gnt t:ap•_ •
t~raOOr z n
.

n :dóent: e: er.:rW1 u) •
- ..;Jr-.ur:ltfn,~30 flS orc:r:t OOOJS- 'li ~
.
EC .i
l Ln..:r,rAYL. gc:iros o at ~ l.
030 r 8r.i Ili.I c. 1(h't. lł.z\i lu
Q't.l LH{
030X Pl / •t - '
c - )( Pro:s.t r1 - Pros.taka na . le- ) 1
( H bQ t - Pr-os o at n:11 1;.0pl .
l. V
~ 'rz~ ttnlell , TS_PROJ[C 1 •

a02.em v -~Sf R rs~ COODRS



-
rz~i~n1 Ę{)3:!}~ ~Set t:\Oder5t~ e(030RSpll
-
~ aasr,g>nyrn roz<b:i1:1h.:: komeernrujt:my si,; iw-yl~ na ob f:a:ey •~k5'my i rut wyko.
rzy-s'taniu tych ~ow. Ponitcj wywoływana jest fual..- tja ;:tr.7.ci.W317$.j ea m~d~J"Z ltdtlSr-
fęrm:Jrj i ł\.½s•urry. W Il-yin konktetn;im pt"Z}'J)ildku urzą~n; pmtv.·m-za ma-ci~r,... tak :'.lb-y
u.1w~ndt! d~\'llwymiaro, c współ~~c Mdcstuey:
lddlen1e0:!Jj ,54! TeAt ure~ ageState( •
D30 S;,_TE ETFJINSF -L;Ji~ ..
030 • f'_(DJITT2L

A oto kokj n tajemniczy stan fazy rdt~1:ury.


.. Pon1w..o f1u1.kc:j o~la, jak u ~ i e ms
pt'Zc:tv,uirz ł: mipnlilP~ , Pojt.,"t: i~ fih.m~ ~ia ornóv.•icmo ,v kofajnym IID'__dzia.h::
>';)('_ 1ertu reS':.i!l](!'Sto.iŁl"(I). OlOT~ I dlH • 93:ITHF _FtlH i.

BOX. {kl 1~acJ1-ckstur:. PrLI.NlOGl.:~'O"'Ze 1 O


{
tn1S7C?F·<1ur ,:,[).
r t um TRi E,

Hml. ~I t .. ·Te,;·st.1:1 „ PoOót .:rl{1(1l O


{
Of, " CiLlr'U d1eme( ) .
re J!" m 1g r ( •

SOOl l().p I 1kac:J 1-e~.s• :..1 ·,:; Pri;e-tll 1S7.c,er"l1 O


[
Znfs.lczfit; ~re( J,

Pom21.!j nilstęllffl pr,yd.11ll1a fimkcJ1:1~ która informuje u17.ąd~cnir:~ 'c n uwana t~'kl lura
nie jl.!'st juz ui.yw na~
r.: ~ Z..:. l 1,e030-- Se e tur t ( 0, I ł,
~ l i • IUfiDLOI.., ;alłliMi. . .

. robJ to fimkeja Rt-1 e~$e. W■tne j ~ aby~


usuwanie acbaar JC&I prołł-e. li 11,:qdzeaie wc:illf: utyw~ danej tcka11ary~
____._ć ~ję Set Tellture. Jet,c . w.c.-....za, pamięć- n1c zostanit ~
.. ~ "'!':
wv- , .a... a.......... J't USIIDIC, VW"'"" .;_,- ~
funbji tle1eas~ me ..,.., - - '-t.
j CSI Jcorzy5VIC~
f ( e s *r-!lldz)
-wf ~tur.aSDf' idi:-->Releas U .

ll TIU:

ry -u~ zFi ret


r( !

, (fr-Il { _ rzac1z:,er. l'0301..1.3Uł~,,... ~$1\IR ,.

V.
.. erz.cno1 )))
F' SE .

i
t (l Lt'O & 0114, rzc110l -">LQO'. (O. 4 s · zeo ' " I ER2 L_ l.
' ~ - (9V L +iir)& e zcool •
OJH

2 s.zcz 19 tf ),
~ um FM.SE:
} 1 , - OL LCholk(O] ;; • l O( .
lk[O] z • U
1 tł! )I ! O: u:tio' (l] , • i.Ot
(lJ., -
1 - .. 1 O ze h: 21 _y - • l O. ,
[?.. , ;t -
1. • 1.0 ze lk[lJ . • -: 0
[3 , 'l. - 1

W ,ym rozdziale; posól, two~ lltm wjcr-zchoUców nie rdżoi się zasildni~e> od 1 .
pn(! tawiono w innycll rozd;r.ialach. Z jedyną różmcą, i.r.! 1,noj współrzędne "'10
c!Mlkow usta.wiilne w.artośc:ią I .O. pome\\·ąi będ sk low.u,e macic;rz te- •. J
łowa_nie za pomoc-t macierzy lek tul)' ok s:i~ .tbyt s:komp,1ikollli ane1 moma
'' (urn· ·ew kumc:,nt,ar-ru wierue zal ·emją,oc mecie.-1: td<SILCI)' i zmie11.11! '-'ISnófl~
k~rt'ffllio w kQftit·. Kiedy IJ\,lą j llŻ 1.NL11e rezu [t111y u_i;1~ :,i ieni~• rótm cb 'Ul .
wspófrzędn}lch !ck.-;hlry'. poD()\\'l1ic Witawi iir j t! n \\·:utoś I.O i odbl kov.ruje ~
tebh.lry.
~ (OJ u - o.o . , r-zcno ~[Ol ~ • o o:
1k{l .li - o• erztł lk{ . o.or.
r:chOlk{.2] u - O l)f no k(2} tt • J o
r . · • 1 Of hOł [3] v • J Of
;JC:...n'3,At hOI >IA,J • •

~iCM'~ nb~~d llic~ i e - ~ p ~ s.ię pomi.ędzy r6tnym1 źródłami CZ)' mecba-


ruzm:lffll ,s !ilł,lll~r, n~...~ \Q"łll~lt,; JC raz: 1 .lGpom11iet o nieb Jdcli uri::+-,: r

l'O"'un,e.111nt~~ 1a I tak ~ c ponownie- "'.)'\ltob.oa! ..-uc będzie ze..


Se
(W
Se

J
...a11' ~11 li:.J .s :.iry : Zri, szczF l;ur' C)
f .(
{
1 i?r-Mhol k-~llel ase( >.
1!!f'ZCholk • L.

lt?Jnkrok.i.:m Jest n dpisanie- funk ~~ Prz erioe .-,an • aby można było LIZ)'i:.
tałicgo, kdoru da, k16tj•'l'lte kJłiici ię z bi3?o t mi c ~ i . b~• ef~kt nadpisani b~•I
"'idoczny, " ivnątrz funke-j i Prz , t!ndE: nalety wywo'lat funk.c,ię- ~ l SC :
, 1d • 1 K&J 1T r.5 r •
[
- U"'z-a~~~ 1t030·>C1ear O. :JU.,, 030Clf · i t
- O.:~-~- GS( • O. ?"5). ! Of. Ol:
ia zemeOJO -&c-;1ft$.oeae.).

W p•crv, zej kolcjnos..:i l \\ on-ona j~t zmi~n□l m eii.:rzy t~ ury ' tępni ·. zanim na-
l)'50\\ • wstamt pi r,, S7.)' J)l'\1i:tokąt a leż)• u,sta~ it E• .zn,;~rmąj o ci rL pu~f„
~ni tof-liamosi;;jov.cgo.
C s· ~r;',
t n :.ac-1e-..... - _}.r•
_ a 1e030 -~1Tr~r.s•0 o.
P-ocuŹCl LI.! ·srum s.z.:H:-hO"- tI1cy u.i;La\\ i. n j L"Sl j ·o bi~ząi . \1 y tcksruro ma wpłyv. 'lllł
wseyslki4! t.ekstu.ruw3J I J)ł •\"1L■r.lt·hnii.;. do mom ntu. gd • 70:StaJli U$Ulv. iona no\ ·a lt,;ksrum:
Ej(,s':: 1.1r aSPr 1.,.

Pierw • pr stok~ 1 pr.1.l!ds[j}'i\; l:ł


rek rur~ JOlJlllllM ' x:!, ·~rtc= ie J Sł ro~(.[ IU~La.
tak ab~, mogła wyp •łmć mt.icxmie w•'i . zą P'O"' i Jnchnię. Opera ' ma przebiega a1dzo
~z;·blrn, gdyż te ·. tum Jt. c bardzo m 13, li obi..--cn · karl D ~ ,i • d ~ne- w p~ku . .
PKISI eh p~rl,I CJI Jak ro1. · i~a.n1ł! te-kstur J:.11k 'i.nd • mn.ł Eekstur~ ffl-0':tnJ. 'i.\,. 'Pc-!n~
hardw du~ Q 1.ary, ;;c-~eli ,.;i. ,pc..4iukm~ mt rl\U!ii :r.aw, szelllg61 iW • t lllJ po ehy
\li}'kGn) ·ttć d k go :eiu duiych rc~tur
c.,6111•11«'1~-
__...

W20rtlfIJI :

1 r.zednicb rozdz1ala.d1. !oSO\lti)' ~ IJI nt;eyTif'I '°"'wiil


nll$3 • • ll 16,ll, ~ - Od~"YV-illli · z~g.n
C! łc-~"'llnik ~ • e · 'c oooin 7i wę,-1.B zaJats,
· a v.. . 1k dodaje Bię \ l I mnozy. by ~
1 -.. t~ COi_r, j; (J I ooo 0 1 - 1 Ol ~ tO Of.

Dzi('ki M~\'1''1f1U v..spótc • 11ikowi skalow ill 'I motn:J l\ Ol"Z)1_J; °!8CL'tn te
~r rv spos6
0
.~tttcfni:i \\ póirĄ-dr1 ti::k lwy. Po ~'lpt,tnnll IU I~ z ńln j,i.11m1,._;__
L('j ma i r"y mo 003CZ}•i:. .. i le oom IC U~Wt)neni-: m die cy L.lilU.l!IUCl
r r. 1 Jn ~t.1wio110 w poni 1~-;cy,m kod7i . maci rz fo,\\'all i sph\\'ra_ tt
po , lrza .si · v. 1~ ul'7..:ldD:ar.e -w 'K(lrzy~tllj\! oor.:iz mnir:J.szc ntipmspy. ft.kl ten .JCSt
dzrcj v. ,doc.my. g ~ , . or.ey ta •• spe j, 31!1j,: debr, ni( m1p~~:
1 ::Te, si·;. h:, · ~a1. '-1).
sł :t!(O(!!rs„ E .o I

T urn n 1,·on:oft1• Jt"St llil pod!-lil\ c 4. b1'37k.'I \ ciyt,n~s.o z pli li. , i:r•0\"1"1 Q;1I1 r,-
pojedyDC7A: po:r.iomy mipmap·
e00D Il /Ji.],
ans 1 2 -O • {I 1 ) •
eOOO ~er~"""' -:9ł
eOOO 1P. O ?).

~r1ii™Yffl prz}'fdlld71e ~ 017_ Ullla J e I le · Lum 1~ spętJ81trde dobr. Li ·


pam1. W frzędrlc ~ 1 ·k.'itury sa jdcn'}'c7ni: jak ~,.. przypoctl,: u t „ r11ry
J3 • mObt:1 :r.a bsL"'JVIOli\ł -. odcrc-n1 L" ~za.ro.<,,c;i ln)jt"n i'"tj-ł, si " obu p .

ra lm .
~ O" 2 T
, a,.
Ul

rol 30 M'.:Ei
030-IX t:0_REC

l(okJftY fi:'ałmCDł ~~ tw~rzy ri1alą li?~tllr~ (lx.2)~ k.tóta ~ j ~ w'd/f do ~ • .


aie;Y- wytrorzys1an1e . 2. bttów w .Pl'?.JINdku ~ o-bi~cj bebtllry j~!Sł p~dą Jednak
" ' p6mieJPYClh rozdzuilillt?h Jl-bitowe tck$tury btdą v.ymagua~ - ·
1 \f°.i'II LEDC _ •Jr"Ztldlen1e03D-:<~ ' ~,. U. .(t. i . O, O.

H)
return :At.Sr.

f L.S r4'Stwl'li.d:z->Ge::.$ur CE~ ~-1.! (O,. "


?(wl~Z~ -~00• R<.'C { f,l;lrO~ OL.111'tP.CO, ~

Usw":"~iliic ~zo:ru P!Q\'!lil~UI. ię ~o \vpis~Jli w miejke p ien szyi;h ~j~6v.• ( ~ piksr:1)


w,a11osr:1 2 · (k~tor bW}'J m~-~uwsce _ot>Jnyclw ~ h baj,6\1!.• wartQ i odpowiadająoej
czerni N:!sltpmiz ustawl&:n)-f .1,.1=·.st drugi rąd. · u-~vqlędnimiicrn routo.l\\'l:l powiill:r.ii:'hnt
\\, w,iększood prayp d!k ~ dfu lt.11:D łyp~ pro3t)1 Ch teks~UJ. ro~r.aw będzie 'V:Y"'™I :
C(8fTE )Proś a P::;ti pS·ts. 0.;1' • ~}:
€ t{R rr )~rosto ~ Rob r:ie~t~ ~~ -o ~o. '}.
- e (CS [ •)Prosa atP.oo.~.ts ~ P~o~· o, tlt~.P· c~. 0)00, 4),
- e· uev r )Prosto a:.Ri>tl pa· ts .. ~ro~ o•.at ;!otJ . Prtc~ • '. 0x f. ~>,
,Po ns1aw1enio W'7'.Q:ru można Jlhl. oob]ok v..ac pro!!l~l\t. co p..,wóduj,c mktuahzowanic
i:limyćh powicrzchn i. ;:JStępnie mQ :11 juz Z\ olai{ sarną po,Ni~a.chnte.. l ernz zajrni rey
się z pov..Tołt:m samą cd, ·1ur-4.:

l l'Cl'UlJl:O ··lin' GC• P.ec.t( ) .


1e .T::~ Ro - ·~ · eas.·( l.

Ponilt.:j cwornona J t le ~s•ura o rozmiarach 1dcnt)lczn~ h ja'k tck:iłtJir.3 c ~ z pliku


czyli 256 2 6), r7Ąd7i.::nic- auromlłtycznit tYtror.t..; i.nmicju.ilj i:e i· poziomy. poc-ząw­
ttl:J od rMJni~ru 12:&x I 2S. a ko~tCZ}'\li-'S-2}' oo rozm1a17.ie- • I. \V 'tym [Pt"Ł pildku ji; Z4:Zi:
raz ~ąji:s, u ~YCie 32 bjtów:
1 (~...6. ~56. O. O.
[130:f ~ ttH .'ffi'
OJOPOOl t,'~O'
" ·, i Il ra ''lJild;łil J) ~
ualł at11iSJb
_ . ... ...o ,...,
;Gttl~~JDt.$-Ct z
fpllllPł
Wdtt -l.

• ' l. O).

or. (

' 'wd 'I • ' l;


pt ).

sami.111 koocv ~ . odb o wan P tok.ą ,v tym przyp.ad bm jesl


ni, ó " ZVI fru.lto srę w p~dniffl p-r&>·klft:dz•~~

-w paw OC•. Póz )•

J
Pod~ p~l3 r-l>C ,\l\5tcga prognurn.1 moic s1i; ldaf7,.rc. zr.:. ni ·1órc !Jf)fa3tje ~~
i. , on i in:łc-z~j (!lp. zmiln fi rm cu te u- ~ w r~ ~111nic c-7.tem..-il UU\~-'""
pro r kąt Yi w buforu w,c :tcłiołków 1filfliasr j edne o. di:m tcg, pr7}•~ro fKW,~ 1

gQfflu ll}'fo · ~fliC" p :i.ydt t_e "hn. ·• kró~ wyk rrystujc ~,~ Jl(.'<i r:as teKSl\ll:Q\111~
l chęea do 'Spet}'li r wam 'Z IISta'- 1 •mdllli ri)l')lych pa:amelr · ,., . 3by pouea~:
½.i ·ną i!'&ę l'l lC'mn mapo1i ill11a •~ • tr. Mot.na n Wt.:l 't\f<Kl~ do pu-p.rud
dtit łów , i tosov.,·.e ~ te ~turo,., 31'1i do ~\~niej s1worłot1y ·h pr st~ch . z tó1,1, P
rn1.: ryo:n} eh.

Podsumowanie
· · dii1t.n1a. J. ti 1rc iłem ,., rym rozd , i,;, \ 17 zi, \'i t~i ni~ \ ~crp,uj ~
OlllÓli
' v. icłu JJrĄ·padk li m iałem djoeyć omó,i, ii;nie pt:\\ n; rh ~kmentow do
~e~ rowuitów. 1' i_c podcjscie .P-)~ołtto oo on~tro\\: n,~ s, na pods !.\
?OJ . .J pozm.t. 'H!!'n1e h h.udz1cJ Zlla\\'3fl.'-i0\\'anyc·h ll,i1. póin1cJ. \\' k Iku prl)·.,.,_'ll]iUU"
DJó i:a'1!' JlOJ cui '-' )'Q1 gało~ lllpełn1e oddrJclnqo r07~ i..tlu. Po prucz, n·u
IQJdriełu powinniśmy ~~-

-~l~
czrn
j~a 1ebtura i j~ si~ )q wykon;ystujc. Cały o6t1ii
~ ,111:swr ~taruJc: ~tę dOptcro _po p~ec~tu tWtępncBO NllWltL,llr.
'f/{)we'aS bę-cki_~ J~~ ~ -C:Z-fill
nawet
W ~dt.iialooh ,d~zących za3Wi!fl5.0W3Dych
atdmik.. NI TIIZIC pi?.dłc-dim)· l{id1·ncnra. ktQrc w1u10 za;pami~ ć z. tego roz.dzia.111~
• '°",ic-n~h.nfa jest obid..'1tm1~kt6cy p.rz«bOMł\Jjt obrnzki bilin pyf damc tcb.c1i
A,,

w $p0Sób łatwo @!'it~pny d~ wząduni


ł Tcł:Stum ~li:l~dla się z jc-dmc:::1 lub ,-ii ięks-z'U Ii~b;• powic-t7~hni~Powic~hma _r:st
czymś , ~ o ucb"rytu do danyel,~1«:i 111r:t.q_dunric \I, :spó3dz:i~ 11 z. iek t u.r.;
po,k-W □~dania danyeh oo 00,1 kt
♦ Miprnapy ~..,, nioj 11u;-chanh•.rn umo;M~wi'łlj y l WDr.lt.'DLC: 1,:k;w r o wiiefo
rozdz_ielczo iaeh.
ł Tcksrui'Y nakłildan~ są il obii:kt)' popnez dod.łlnie y.•spóhzędnycb ce'kslury
dó ffinna.111.1 \ i b°'T.i!!Cbołl--o, .
♦ \Vspóim!l'IRt; tek tlili}' wmękSJX od I .O powoduj '-e tek$tuH j L"S~ pm 1d.rn11
tc:h ba u faza tekStury ..;k-0~fig1Jro, ;) J!:St inacz-ej •
., · icv. · ·iwie wykorzystywane tekstury ~ . J dużo ?.830bóv.r i zrnmcj$Z!Jj~
\\f}-dajlnrn ·. Im mnicjcS.1,;a te 1/\tira, 'l )'nl kp1q.
+ by uni kl'l.ą# n~i:potro;bni:: o pn lączam1 mi~zy 1.c~$luram1. naltly grupować
l!)b~tty po:sisd J ~ leabaury.
Rozdział 13.
stany faz tekstur
l \ ' popr~l ~zdl.1alc 001ówiti my ~łka podsrawo1tV - }'-(lh za~dntaJ dot)•czącyc:-b Le~.
3 ~ u$IDWLMl faz r.c rur. W k~e ~aląz~o st, kitka 1ajefflń.i~eh v..ywo1ań funkej i
se Te tureStageSta • \V tym ro7.dz1ale b\'IC1z1emy kontynuow ć omay.•ian1c- podstawo-
\\. •eh za~mc:r\ do1yczą ~ ~)'korzy tania l_eks-tw". Om.ówim}• sposób Zillttąctta.ml! tek•
stllJ"O\J.'MH:m poprzez. :u la'!i uimc stanu katdeJ ~ fQiZ teks.tury. tan l'mżdej fam dćliniuje
spa• ·~ w jaki unądn'łlic ,.obchodzi !Hę"" z W)'braną tekmlrą oraz 5J'OSÓI).,. ·~ 1i::k5nva
może ·omunilco" ć ię z innymi fazami tekstur lub w niektórych pt"l..ypadkar.:b z danymi
opisu "'icnchołkó . ie)e k.-;iąż koneenlruji: się 111@ t\i.•ot'Zf'niu rótnonxlnyeh efektów
uzyskiw.anyi..h d.zirki działaniom ,, konyw:a.nym z widum:i fal.im1i 1eks_tury w celu od-
d1ja~ ani rm fączenic tekstur an . t t lllf',f blend.mg) oraz odwzoro„ anfa t~tur ·ang.
re..lttlre mapping). Pooitważ ta ksaątka konc.entru.j.; się n m.t.""ehalllizmac:h sb:id, r, w \)Im
rozdzi11~e \'io' n1niej!\zym s-tC'lpniu skoncentrujc:lll1 i · m1i asp k1a,eb I tv;nia cst.aaów faz
ttkstur, a w wi mym na sposobit:-,, jaki urząd7_cme p,rzelW'drla ·c!!ksturę prt,00, pt'1..eksia-
niem k&id~go z tek di do pr.1.,c1it1,,•arr..mia pra:i: mcch()nim1 pi cl luukr. Z.ami t przeo-
sta,,,vi;:mia zczl;.śgoło",ej listy W$Z)"Stkieh stant)\v fuz tcltstm.._ opis-zę '.k~_ u stanów w n-
ttcll'itil! jego zasadn ic zcgo zastOSO\'\.'ania. · ając to na uwadze. w niniejs.-zym rozdziale!
opisano nłkSt4rpuJące 1.agadnienia;
• iawiame- slmlÓw faz-• tekstury.
♦ ącze.n ie ~Jpcracj L na tek turach z działan iami n~ kolom h.
t Z-3ra1.-dzame och, zorowan icm popr.1.cz. stan donycZĄce współra "dnych lCk tur}".

♦ Zarządza nic fj ltro,..,·nmcm td.:!i\Ur oraz ru·oncniem mipmap.


• interakcje 1. ni ech ani zm~ mi sh ch:r.

DzJ~anle ·e1u z opisanych w t,·m rozdz1a e stanow raz 1<31eżY od tego, czy wybrane
1;1
wządz@nie Je obsh.rguJe. .zeli tworzymy apłlkaeję, która ma uafić do S.Z{?{okw:Jgo gro~
uiytkowrukó I chcem)' b)-ć catikowicie pewni, ze urządzenia ~tkewwn ków OM uguJ
nasz ustaw, oja. edy powinniśmy sprawclz 6 mOLII ,ośc u 2-ąCS~lłn•a 1 a p,om~..ą
fun~Ji Ge P c Cęl Ofi i opracować .plan zas ępc,zy· 11a wypadek. @d)ily u ądien n
obsltiglwafo ustawień. Jezell w c asie próbowan•a ustaWień z tt?go ~uillału. oka~
słę że k óreś 2. nrch ni dzrsta, moze słę zdarzyć, że naste u cuen e ole obsh.lgoJe
tego us a enla,
.IIIO ~-•Lil
...,............
-4

• _..u fazy tekstury


ustaw••
I 8 ..
różD"dt
"
faz.
.
Jak dowic,diicliłro)' Się w
Klllda fil1JI. '
~ • m rozckialc. tck"'tur; mo-ma ustDwić na~
':r..ku."f},zuje ~ii; s.t.ancm domyślnym. W wi9c~
. ..... rw1nrz.edn im roz&htlc
_.. . .-nn-tt1ttowdl'l}''Tll '"' ,.. .... t' •
wykorzy!łlywatił-..~
• · h --"'7 le.._
ków w ł;..,.,z1c --r • a k poc:ksperymenluJem)' 2, usta,, 1aruem mnyc sta"6w '-.:..:,
i,
domyś111C, W 'r"' .ro . ·ą funkcji SetTe t res d S ~te: "'
IC luty U.StaWIII lf zn pOO\OC
e6 Sil T ureStage-S a e( .D dZa,
· fSłl_ 101 ect~., c OOOlE [51.ra!ST TETYPE l~-p.
~ 1t.OSC}.

. _ c:tr określa r: ,-ę, ,lctór.t u 1-a~v•a~ r~ Drugi ~ar.1.rne_•r je_\ jc:dn)~ l


Piet" zy par.unó
'- .... .t. .... ,o mÓ\lft'· w del Z.C:J c~c1. ctatm pammeb' Jes_t "'IUt~ia
tan " rll7Y. ,nu,...
,funffl,\ł T , • ,J,ł I . "'
•7 y--- • - T ·aanu okrr r.u: :1..akr~ ,.,,·artosc, Y a ego parama:lru..
branq?O USlBWICinlll. .fP .s

Jak pro:kom1llimy sier ~· cr.1s:1e omawianra lil1 ciel"lY p~k ~•c~~. tek t\lf or.u .
. , ..... 31,7-v cdwur"lil ;•,,11tzo.srajc w mocy do eh, d 1-. ki~d on: z, stanie \ISta'łi •
usuwie-n, :uan ,._.,, •J .... - •• ,,.,_t,.,,.... .
n inną wru:1 sć. K i® us• \' jenie je l wme Oil .,c:r~ tycia urz.ąu-,n.ia.

w pon· yeti ro-zdziała h wymi,,:niono 1r\·sxystk.a · ~ PY _t-anó~ według kmegorij_T


gdric to możfo1;-r pogffipowal~m r.any po ·i łka. ~ ~J~t:J l~g~y sposób. Z · ~
n.i~m niektórych przyp · w tiak np. odwzoruw3fll ~t.•1uwno~1 - ~ ~ lnu1qJ ·
" trJ:)maffl}' i~ do datseych roz.dziiafów~ gcbcic 7.agadmen,ui Ile rostaną op1sruw ~

łączenie tekstur i multiteksturowanie


Zagadnienia lączi:nia ac-ks Lur zorui ty szcze,g<1łowu op,.:ane \\ mnycb puhlik ~
datkowo :,...astosouanic nem·_ eh mech nir.mów pj:<cl hadcr wyparł 'li ię~
łąC?A}ma tekstur. Z tych po'tl.·odóYI', \' nimej zyin roLtl.11al~ lylkt.l bito \ro op,i ~
1

nre.nj J.ą,;.zenj cekscur. Je1.eli sko1,figuruj my wir.;!~ faz tekstur, a :,hiór wie.17.Cl~tG'
po i:;ida w~ j njż jcden z i6r"\\-'!'l-pótr„..ęd1iych tcbcury. figur.t \\ ykorL)'Stlljc ki I a „
Taki S-'laJl o~J ię Lt.mtincm mt~llitck.,·turm-H1111d. l)(,;unk u IJ. I p,okazaDo dw31 pn:Q>
k:t'Y V.')'k~jąa: po jednej ~k~wzc ornzjc en p o:.<;l kąt wyk.or.,ystując) \Ylt:l ~

A}'l Ull'ek 13.-1.


l'ro-Jltl <tł),
~r.,•liun
M ·14! 1 ·k łf_lf'
1)p)' staJ.'IU fi.?. ICb1ur wyko~uc ,.... procesie ~ i a ~ W ' opila!M) w 1,...4 •-11.
~alacb. MMeju,1-

_,-ss. . cOLOROP i DI DTSS__ALPHAOP


Słall 000l55_tOUJROP ~ "11 s~sób rmienaniA kolorów w ~.e 1~,:-wruu tćbtm. Sian
_ PHACP usmav, •~ Opcmc.Ję ~li'l.ywtlną i!lla bnatóv. alfa lc-'kstur, W ~z.asie usta•
wiioia I)'~ CfllÓW s'tmlÓw, nali:ży_ pamię, 6~ te U~'tlJle w ~i mll! ria'iehcć do typll
Vt1"1ic:~ruowcgo 030TE - NH:któ ~ 2; tych Mmośe1 W)'fl'licniooo w tabeli I •I.

ntllłl U~ w~-• l)ptl l)JDTE.'il'UREOP


w~
~
fflHi
REDP'
opl,

L Pt e ~ :llgurneac 0trdla wynik bre•j i~ . ()pcr,tcjłl 11ir ~ c- s,i-;


z "' k(lllyv.,ani.<:m u dnych ob1iettn.
~'\Jl ~..SE ECT.:f;Gl Vl)·m btit:2:ąi:cj f:u;y ob · la a,g,n11tCJ'lt drul!.i..
io,ro>_lniJIA.ll_,M,lt Wyn1 Jc.$t oblt&z.Jl!IY IPOJ)J'ZCZ p.11MOR1i"c dwódl rgltffl1?i'ltó1w ~ ~dJUa.
Jot to opcmtj.:1 .:1 mny. łna dl.:. f. ey O.
OC(IU,_,.,u........T(ZX l)w,a argumi:ttl: l'ul pi?A!Z ~it:bit: Jl'li'! ~ne. ll U~) 'k n "'1'71nk JUL mnu~ ~ l .
W etdćc:1t wynik j~ ozj:li:Sll_iaay.
:J.ATE~~ Th\·a aq:u-ment}' są pr.z1::z siebje: mnm:-011,tt • .a uzyslrn11y wymk J~ rn~'1'.!,' pncz .
"\ll 'ynik Jł!SI jci;~ze rordricJ roz_i io11y,
Wan~ W} 11i1m l1Z} .ujit Sll.f po_prl.e'l. d,o.;I nie: do s;i-t:bic dwóch :Jli~,6\'!o'.
tgumcn,y ~ ,dg il.!bic tlod.)wllll(', 1,1,,y111k l I .linl!'li.tj;s.zAD)' Co~.
W c(i:k.,,;11: uzyslmj-cmy V.} rui: ,. ~,esu od -0.5 O,S,
"li To dzi.llarui: Jt.:;: 1 l4 :enC~•cznc- z poµr,tędl\im, i tą rom1t;t, lę ~11 • ~ p(llimiOMnY
:pruz d~Y.I
~_SlBi"AACT DAi i 318Umt.."f'IC jest odej 1l1<W,,..ID)' od piitN :izr&O,
rum:,_A009WIH Iloczyn dYi,-ócb ari,:.umr:-lllOV..' J ~ odc:jmOY-~l}f od 1d1~Fil}'.

t.stnieje ~ iete innych opu•-.:icji , ·w 111beli zsp.ri.!Zi:nun .JJ\O jccLyai próbkę tego. co mma
osilł_gnąć. i . którzy cł\c~ pó~kspcrym~n,owa ~ ~nny1ni opernej@.mm. mnog~ !il~~
1. przyłd,ad wcj ą,lik.Jcji do~t~■pnej w . DK - 'Jt,,łFCJ'ex. 1/Ar opc Cjłtdt preyJrouJe s,,. że
ustawiorm je(j~o tub wi~ccj a_rgi.1mentÓ'\v.

DIDISS,.,,.COLORAIRG1, D3DTSS_COLORAIIG2, 1

DIDISS~LPNAARG11 D3DTSS__AIJPNAARG2
-
OOPTA,..

coou_

Operaqe t,ójargumento!• ~ _
(DaDTSS_COLORARGO i D3DTSS_ALPHAARG0')
cycll Cekstm „ lr ~31gttmt:n tov.•e. J~eli ut-.r.ącłzetue ~
":ykon}'\1t □i~ 11 ·cb op: cJi. mo2na ust· wjć pc..~.,._i;:,: tan • tiby były_ ~'}'~
jako " ~ 1rzi:cir:go pa~t:tru. ArgwneJ'lly te są 1gnoro" ar, dl oper-ACJ1, tórc ~
~.Il tylko dw artun1mty,

1D 30ISS__RESULTARG

IJĄm ."lfilt opw-acj d,11l lil'7.ąduniil jes umt,;Szc1eure wymku kaidego z arsum~1t-
,;xe11i.1 w brei r:ym rc1es1~ L ek huy (D30 4.... l.., ,., · ', T)_ Jcld i Jedn · urzą~enie z.a.,.
T

rej lr l}'ll!lczaso\\')\ można UJme.scrć \.l.)'lli.b: .._._, rei ~trLc 1ym ~tsowym ()JOT~_ . Tcs

ł)'mCZil$01.1i reji!Str można na.'itg)mc \\ ~'Sla-Ć juko pa.ramc IT 'jściCffl. dla i.Dn} li.
Jedn k O~\\-a ww1os- koloru pn~syhm.a pnc·;t rok j ~s pohi ~rana . D3J A_
z tt:m o.i:;tat11111 akcfWJ)a f,iUj mu. i mptsj"\'-a · 1nfom,.a J do D T'1_C E •

Spqwdz.anie możliwości urządzenia


łl'lfonn,acje o mOih\\ o~(;iJteh WY„ d1.
1ua w 7Ar ·.sr „ operJcjj na k·k u są pmcbot)-
\\ nc w _polu -e. reoptaps stmkrury GJl;..A S.B. Kazcla moiln\'O: i~piS311a j($t
sta I CJOT GoCA.Ps- l,\9era""Jd. I ga mo.tli,,.. dla L l~- ADO lO DJOTE'
Cl -
Aby prnwdzjć mo>J_i\l.OŚ(j ur--C4<1Hni . mo.r.m.1 \\_ kun, · ope~ej~ • , pomi(dzr pokll
słfu ury op, u rno1hwoś I a wyb.ran~ f1agq~
et>~, • zł l' ure(JpCaps i OJDlfxO _ilWS EO.
.,.._zerowania n ~•noici
<••• bump mapp1ng)
Tem:uyo~ odwz-,0r wań ~nic-r,()\l,·nok1 poświęcono osobn . _
uwagę. ż.i: czteey- stany faz. tekstur definiuj- rn:ac::icrz 2 ; ~zdaZ:,ał · Zwróemy JC~ak
ni.ach .wiąz-an~h z odw~owanic-m nierówno-ki T ,c.. "ykorzysaywaną w obhc-ie•
n-l' T'ł''S PE MATo·· O301"5S MPE y~ .. TIO ' De stany fa-z.10 OODT4iS_B PE ł'lJITOO,
omz 3D SS B PEN 'HA„ Kat.,h, ,
1,1.)1.:i _

.· ,o o
.•. -
„ ,.,,....
:s1:in6, można USf-8.WLC na ano~ lypu F OJI.T' Dom\,,
-1
lna war10 z tych- .. .,
kttdego ze tanów
\V}'DO~I , ·

tn,•a ~r.an ~i,Jywają na l~iRSJ1cj~ mapy nlC'l"Ó'wno~, Te SIS:Dy 10 000 ™


tary ~r.aww "'?lę_dlB lu?un~~ji mapy nieró-wności ornz . s N°7. u FSET ~~
ll!ilaWI pra-esun1ęc1e JummancJm . Każd!I'' z tych tanów nalety ll!ii:w.•ić oił ·
FL •T. Wartościądomyślną dl obujt.a.sl 0,0. na w3 ft ~-pu ~

pasób oddzialywan ia rotnycl1 wan oś.ci fi mapę nic;r(lwn'Oki opjuno w rozcb:ia!le 31.

stany dotyczące wspólrz9dnych tekstury


Kilka ~nów fax do~zy _sposobu pn 1waJZmi@ ~ urządzenie "" pób-n;dnycn 1tbtw)•.
Każ<! z t re~ tt1nów, . •~ posób wplyv.•y na W~\,-dne, niektóre:, w preypadl7ll
\ _·korzys•łtrna ~ cban 1;r.mow i.•r.:rtex shutec są l @FIOJO am;. Ponit.cj znajduje się opi
każdego ze stanów.

D3DTSS_TEXTCOORD NDEX
1

Ten sbn in fonnujc fazę o t}'TIL, którą wspólrzi:clną I


ks1ury 11aJdy "'' )'kOllZ}'Slat. Dcim}~ Ili\
,~a:r1ośdą dla kaickj fazy je t indeks 1tj fazy. )1,!zt:li nic '\\')'korzys,ujcm„ me hnni,;mu
verte„ shadcll'. możemy wykorzysue men t-.an aby pmnform.o'"'~ urządzenie. ie nakt)•
\\ ·orzys1 'ilrSpólr/~ nc t kstul)' z innej faz ·. Jeżeli w. kot'4ystuJi;my mec.bw,ixm \~crk'X
hade'r. \1i,~t-d_ ten st:.tn h ·dzie zignor<>" 'any. ~ ws~r.cdne tekstury ~-dą przckaz3oe
do m._■chamzm u i.•crtex sh;:id~r ,..,. kolejno~i ich dcldarowooia ·~ wośc tego UiSe "r:ienj
można pe-A czyć 2 fTllgam1 '"_mit-niemymi w tabeli l "' .J. fla •i t4: pn, daj t~ do ge~ •
rM ania ,,, ~rz~'tln eh tekstur dla środowiskowej mapy lek tury. Jev.:li \\ ko ~ ruJe-
RIY joo ną z tych 111.,g. wan o ·ć mdi..-k u ,,·sp łn1tdnej rcf<samy nie detemunuje ~zyw t·
cycb \ spółrz4rdnych ,ck 1ury. :i raczej spa ób 1..a,11·ijoni tek "'nu;• na podst.a" •e aclre-su
Sl.aJm v,rybram:j l'az) .

D3DTSS_ADDRESSU, 1D3DTSS_ADDRE$SV
i D3DTSS_ADDRESSW
,,.1 poprzedmch
· r 1:dz1- lach dowu.:di1.::b.
- - · m sir.:, ~ d""m'l!
· • ze u „ 'n
1 m l .,,.,,...
'"".,....,m 11"11'1$lf'pow
.,- -.: _
nia

• • 1
--•·-. - A " O do 1 O b Ło l\l'fu/l nem-.:
ze li spolr-Ą-dnym I t ·'.kslm- wykrac~J c n:u po:,:,_11. ZUN'\,: uu u. . • • . ..r- ·· . ,
~k Lury. o dZ;i łantl.! okrciJa si~ tt:nuinem Zlln°ijanie (an • ~wpprng).. ale m~ Jr.-st tf.'> J~dyn,
2łM

-
!JJJfSS TO f Ci\J
-
o:mrss_rcr.PASS

Tllłell 13.4. 1',J-h) DJt:tnm.JRE.-IDDRESS

Dźi~iC! r.iorny&c. Dl~ ~ ycb wi~-ch od 1,0 •d::sl~ ~ - -


p o ~ .. i Y" , Pri;ykjndowo wspólr.!ędM I.Spowoduje pera
l~półlom ~ " iłr~ S pei\ odujc- ptęei lnł: 110\ 11\~
~~~owu:no to pi.em · ,}'m prostok-ąc:ie: 11ai tySIIIJLl\ru I 11 2.
T~ tryb pl2}j!IOlłliłi.1 ~ popm=dni, z.~ mv.aai'Gą. H '[ }•m razem '1'1i
h1sm. C . ie- itc:lt,;ł!uf)'. n3Slvnic ji!:il OTha ukmcia1\it. i:wfttjąoo. rn!li~w.
jdeli ru tf:□ -.yb ustli'il. · ooo wspoozędfU!i u. ,o tl'.ks.tu~ jest odbij:ma
plOJlOV,l(:j ~ ~ dym ffl1'Mn► bNty ji=-.,st 1,owr.ru-Lani!I. D.lmłanir: to :z.a~ml'lir.?.
"' drugim pro-siok~re JV1 ~-Ynl'l1 I "li .l .
D30P
-kżcli iłow.olm w - i . ~ t~ rury wyl,..roeey po711 l.ak:rq, od 0,0 rlo IA
11jc l:\~e n~o-~ 4'gólc. Zmni~E ~~□ ~\•::,zyslkie pi C!I~ W) wx ~
v.• koJ□l"le olmi.mo\l..mi:t. T.akj(: mi.t.lnie pok.i;z..1no na r,tt)J<loo,j ~~
~lllłąt na ~-wku ł .2.

ICfl lll)·b J)O'l,l,fOOUj~, że współrzędfli: po7..n zakresu od llrQ do 1.0


na \!,'r"-.1_rtruci O.O lb.ądi J ,□. DoLy<:7.)' to rć 1,\IJLiei 111ti::tpułm,"1.311 i;b v. p6m
~ !\u}' "' oh~bi-r: •,viidolqta. P :t:yJdedowo, Jd;:li wspi~nędm: t ~ ·
o,s;i pjo11owtJ w proslola cie m11ją w.a~; 1od! ►<> do l, S. td~s:.tun ~ v,-.:u
W 1:1.iiył:I)• Sl)OSi6b do l"IUOIJk.·fUl.l. ln edy mb.'!rpolowa1 il. WSJlÓ11'7ę:ciru -~
"''.art:oU I.O. Od -.::: t> mon1c:11 tu li), tutm l~Ju 1n11:1 tc-kscli jest pD\\'l"
P o ~ Io IW P~JklB.dgi,: C'~'urtl:'.00 pros:wką1.a l'lil rymnl-.."\J l J ... .
f ('ri tryb pov.łO(fuj;ę 'W)'h.ti anie- ~USU"L31'lego odbici;i. te'.kS"rury \Wdiu,g
O.O ~CJ: ~~ie- wurtQki · ~7.glfdnej ~ d n t J tt: .stwy. ,.Vm~liP
Ldtsllll)I m_nieJ~U tQt;I 0,.0 . , lniktoWBflt: ,111,t j.ak jcfi odpo"·icd11ik:i \v 11·"'Ql'li.l\l'..,..
D9DJSS_.BORDERCOLOR

03DfS__IEXTURE11łANSFORMFLAGS
J pru,ko1'J~liśm_ !ł~t; w i:»i: tn1rn ro7.dzi k·. ~n stan fnl)· ijnfoffl'11i1je ur.,..ąd7-1.-.;n1c O sposoblc
prz,;tv.'aJ2BaJ.3 współ,7; dnych 1.eksttłJ)' 7. rnacu..u.ą tckstul)'. \ ~ tcs,o Slmilu fOZ)' 1113lcżv
us na w1.Vtośc n k1.ą ą do i;pu_" ·h
t\VJ · ni.ovn.~o O'.nTE. ~.NSi • . \\'~w
k: opisw \ l3bch l l 5.

Tabela 13, 5. lf'arrlt. ·c, l)'JNI' fJJDTE,\T(J'RETIUN '1-"0R.łlPLiJ GS

R1p Ocils
pr:utw. r: M Z3 pomocą ma.ciem. ,ia :y
\\ \póln ,I.n(' Ci. ,cu~• ~ p ..r,erwal7.anc J=! ,~ '1,1,,-:spółrzędn.f: ·~"" 'tllla.KJ\ ·c P~•L..hldowa
1 - _ew 2 pr.11.•~w.li"la. , -.,pMi2ę-dne -lU. 'fl',op 1'1'11 , , ~, umm™ mies.l.t:,t.\
Sł~ w ukr~11: od l du .

i"'f}ROJECTEO ~ s.pólrti;drie !,.l prttrwar,..me- l • Jl'L'.i: L("ksC\lrn :r.ruto\, n Te ęut'lj nu \ :me ZOi;
rtlÓ'l\ ·oni: b.trdztc JlCUgnlraVi o w n.t....1ęp iJ:ń rozdz1, 1c

Sprawdzanie możliwości urządzenia


lnf"orma·cj~ moai\,t1::-.c;.i „h urJ:4d1.enh w z ·re-s,c: mrybów „ drc:~"·aoi· .
pn;echov.1-'\'l':iae w potu e ·• u e :..r:1.ssCap,;: :si'll\l ::tu'ł O -~ PSS K~ m liwo 7.A-
piS3na j~ t w p<.i~l,JCJ ·!JP ~- Rl ~s_u·,t rl ł1 n'l(flŻhWOS.CI dla om . SS_
' .. ssc.:. ~ E _ • -· .•\ b) pmwdzić 1110:iJh o ut .,~fl 11. H'IOŻl.1111 " •k
ra:cj~ "' p0rni.ł,.'id:t• p.,,k m strukluI) opr:-.ll mof 1n1i. QS.Ci .3, "' •bnln fl "' :
• .,l
.,,..T
N
I ESSC:JJS_Ct I •
03!) r F_FlA lt

G I -- a,z to ~ gośt od mac:,w:t)'Zllttlł


Can ffl r; ci1 Geuss; ·~st au orom u odt<ryć 0ra7 ucies lkiiem ,,c 1.1 o d4'ń nau ~ .
udnęł "- łJad m fJIJ i>#lęt»n)dl m gnetvuna.-. , sta~ , matematyce o ~ ~ lu ln~h. ·
ri,e Pfato nad gr 1 ą ómi>ui.ra.-..ą (tmn w 1355 r.), Pi; etoaa rltrm'lłnnla t ki ur nois ~
fm,, . pon wa wyko.rzystuJ ~ ~, o S.UJctCą ~ r61nych wa ośc ne osta eczn-
T o 1e Ga s-5,3 St) wytec Mt' r J tb,Qdzin&Ch. Gra ko ko put rowa jes ą z nicn.

DłDTSS_MAGFILJER
"t II b)'b frJiro1,1 ni.a lillZ\dza spot~~ odv.'Zt,r wru11~ t -~h n~ W1 ks-7.L! o
p3dku oni~l11ości J)O\ i ·i-en1 mi;· urz d7. nic" y ·o~y:!>tuje t~n U)1b fil
-------------------!"!!'!~~~•.!ll!!t!,1!!111'!,!la&!,_!ł!!ll!-~~....:•!R!!,
1
~

DllffSS. . MIPFILfER
Podobnie j pop~dni.o tryb lih,o"_ni, , mu tea obc:śl sposób , 'fii,cjSZilni-a tdcstur
ftGd= , lllCKl"PiillllliJ m1pmap.. SlaW1tmc lej ~ \li"~ Dmt F ,E"!,""""
o .......,
~--mrowu.nie mipmsp. -

NDTSS_MIPMAPLODBIAS
Tm s.1 taiey " ' ~sadzie nic "'Pir n fi ltmw;iini , · acomi a :c)'duje o tym. któ
mip:11pę Y,-ykorzysmujemy. Wpro'W3dz nie dotfa111ie o p~ 11n1~t"liil (ang. bim) powo-
duje. k ur.lądzenie 1J.ykorzys,uje mipmap,• W), ugo poziomu nit w ~ 1korzys . 'iUI@
i~v,· z.aj. Wp owad z ·n·i: ujent~~go, pr.a.-s□ni~fa powoduj,:, e urądzenic ~or..!;}'-
r
stuje mipmapy nitlizcgo poziomu , zykła:tlm,o. uslaVi icnu;: dod utiego p~e.slJlli .. ia 1.o
zm~ unądzcm-c do w yko~st.am~i miphLaJ'. w„ t..s.zcgo poziomu. OQ Qznacz.a. v,:-yko„
~'Slarntc mnu:Jsz~j mipm~~• 1 (lJ7.esJłan1 • mnił!js::zej iloscm da.ny b~ 3 to y;pływn □ 'UJ-'. - -
szeni~ k~7.lcm J:a1.::ośc i, J4;: I to w no e iyp11 r L ale p,oni.;::i.vał. mctodil
\\')'dłiJności
se Tex ureSi-,geS ~ t? pn1:m.:ra ,v rtn .c typu ~. w. r:1ośc 1i; nald:.y poddać 'k~nY.rusji
d t)'pll

DIDTSS_MAXMIPLEVEL
17M stan fazy 1JS ,a.-,.-,.·ia rnaks)TI14lny po;nom mi[Pm2lp do ,i , Dom. 1~ \\W"tOti.Ć
-orz)· ·ron"
\\f)'DOs1 zer-o. co 021uie1.a, .ż~ unqdzeniie ma do!ilt'.P do v. 7.) ~ich po· 1omÓVi" mrpmap.
1

D3DTSS_MAXANISOTROPY 1

lrn l1ln identyfikuje:: miak ynt tny :pn2.iom a_11~zolropli do zasm~wlUli w . p~•,rpadku1
ki f wląc-.umo lillrowanic łlllimtropo"'C. M~~11łną. w ~ dla tego usr.&1-'Ylfm1fli IIIOŻIH!!
StanY faz teksłtlr, a mechanizmy sliadet
· 1 lur •~t obc-(.fl i ~i,n)th pc,o,;~dn tv- i!ffl
f ·zm;• p ~I ~h d!! 1 r, l?OCmt ·
. h--Diem tćks~ur ~dxii: ig 0,
ycll 1; my m h: iitmre
11?1 od " · m •n ,
ć. me-W m3Ją . C . eon. \.\-1':i;"V,
i\' ·hadi:r lub 11 i~ d "e

\V p~'-11 v. Je
. łl~dcr. sta~ O"" TSS
\\i'~O()trzc.411C' te- Ul}' ...,.[,,,.,... ~..,Mi: d • mc,,;hil11izmu :"'......-
• - ',d)l '

Kod
Ponu:\\ wi ,i.pe tó ,\ 1 tu po~wii.:ccmo "'t le jeJSta ~ · ....,._,..,,
l.J. .icłt. w l)On· np • sir: n;:1 a ·pe ·wch fil ow. Lil :!!Z 'lli
rĄ-d.ny ~ur. Cr,ytd · . · s~ G tnU„'f"t:.SO\\ n I n.i ...•!" dntl.:ni:irn t
metody 1tt-ev~ ' S ~ ll1 d, apli·. j1 i\U·C C ln~1jJu
fi tD po7.W f:1 11' '1-"~r'u'-mentowa tł · . wido IW •n'k1m
wan fldu wy or'lJ go do ich ,, gi: l."fO'I.\ llnia. K1t.·-d, r~:c
ffl«hM1zmów pi ~, ·~ 'SL~ npj~ bę-d,-j , ·.J nwl! o SOCl,SOIKJ
r. Tymaascm b rdl'i j imi. e J ·si LrO u~, iua1 s6
,1i póf~dn _"Cl 't pt..1fl1 ny ti; o )dują o p,os -.t,.ic te
h:tllt.7.Dl w h.. d~r.

ry unkt J raz.:i11 płtk, J\!' \\. d11at uu. Pro ra l "~ "' it!'Lł
1'.00\li I Wa ru w róm)·ch 1ryb.a.,;h Jd ~ wani I fi hr~w. ia.
R PlalJa.•~-._.,

\ 11W11r11:nciie: uracbarniilnia pll'o · ramll oll8~puje p wdzeoie m~iwo. ci un:ą_dzeni~


i \\ wi~dtnie infurma.cji na tema, trybo , kt~h llr,ząd7.ll!nic ni~ ó ługuje.. Po urua
tiamieniu progrdf'l'I\I wciśnięcie kfawism FI powoduje prnel~e pomięch}· romynu
11}1'anti :idr'CS'OW nia. i ·m\-cie "' wi F2 p()Wodujc pr7.etącc7.anic polni roinymi
11)!b.1mi fil~•311111. cc1u uproszczeni.a prog.mmu nie dodaJem kodu s~ego oo po-
m1nkci nicobslug~ anyt.-h ~ . \\' c-.l.lł$it: przeł· cz.ani pomiędzy try i. ut7.ądzaHr?
po pro5łłl1 ignoruje nioobslugiwari1: 11yby. Zalecam pockspery111e11to'l.\-ani.c z romymi try-
bami po co1 eby p11:dton::1c się, j działaj , Moźn lak.te zau.w eye. ~ w d !szym ciiWI
11!f",·.affl)' szacłlov..niey. alt= nit.! jes.t to juz reks rura o \\<)miarach 2 x.2. Wynik.a eo d, że
~ets1ura. 2)(_ nie porwała all nłtrowan1e czegokQhric::k. Dod;:,tkio""'·o dutfaJem. czerv.1 n~
linię umic;s.zezoną po:r.a środkiem, po ru~ ilb)' można byto łanvicj u1uważ.)·ć r6ini~ po-
międZ)' c~ksrur. 1.a\\'lj n=t, a odhici~m Lustrzanym.

No'll: 1d to liJ. 1 c1:J t3 _yTe•:s: 1 • Wprowadzitem kilka poprawek w pliku nagłów-


~:ym. Kod t t~ _ op1san ponrt.ej j ~ ~i po~kraeany. Pehty kod. źrod.lo\li'Y znajd,lJc-
sję n [Płyc ie n (K.odJlouh•al1J)
·~p1, , ~::Ja r.·

-class •;;Jl acJ1S ,3 ,1.,·Tel s· :.1~ płt.>" ie Ki•~l 1'-3„J1riJ~t11


ł
pub" ,c
P-0niasza funk<:ja S.l)nłWLU.a mo:>.łiw c1 urlądz1::ni 1,,~wicd11 oscrze2cnfo. jei(-11 w. brony
u;·b nc~ je t dos1 pny. kdy pozn.:mty mo.>Jh MCi nane~o W"l dz~m , motem LIS1.mąć
t~ fun ·tję:

,o d Spra zT _.• byO .

M imy ponownit= zmooy tiko oć kolor cl :


,•1 ~l ,o1 P2

~ ni ze d",3 ?'1.a 7..arządz dą bk:i.ąc)'mi cryt,emi. ó_ c i 1~ ą ~nkrem ~tow l; t~


Jak dane typu 1ong. aJ . rpodcwn,\'lllll! konlii\,·i;rsji na odpowu:dm typ d P}'Ch " mon1cnc1e
'Pl7.e Zf"'aniin do met dl' e tureStageS a1e:
C&IIIMll•R->..-• .,.cuw■ I

LFOCA!C „ TO

J.
Jcruprr.yjn.yjmy sit .z;awa_ności pliku .AplixacjaSlmlJ•1: 1t1r.~pp·
5 U

f ormni \\ricncholta jest laki sam Jak wykorzysry,., n \ti f)OprJ".ednbn ~ -


• Dlar,F_ EPl TE r ( ł a 'F TE l J

,.
1 k xwv ·ft d r~e Jest 7.311'1JCJo".a zmi n . ~ ry tł przyp dku iniCJuJm\>· U\
\l'arto. I . co powinno ozn cz.·tć pop ~·ae try }" dla wit1c zości tjrpó, pr.cęru •
t
C;JfS n.; 1 ~ .- • n. ·tJ S.a11j - , st-u O
{

P~it.szy kod powCJduJe Zitladuw ie 2: pliku wz ru z· hO\ nie\ . Z) ~ rz«IS·


""'' · Zil\ · ~ pfrku, motu otwcrzy pJ I k w d :1:e grufic~ym. Ola łc •
b~wam trybu rw nego wp \\,adzono c2crwon lini po· = odkic:m li~
ob erv. Q" ać rómorod11c de t , mo.żE:rn z;unicni tę lek turę n wbsn::t:
cfAlllOL030).~~teT x urerr~11e1•_"'-Jfzadz~ 1e030,
. \\ \,e, Cbecktr ~-
111Tet«u.raSz~hoRIMC'"11))) •

,
\.HC&n_
.O_ O. O),
OO . .O).
Ci(f(3~ Of.~ OF)).
„ rzadZe c0-'.30->SetTransfo to.JOTS ~,Ew, _ ter2~100 ul:

CT P. ·
QtCl ,e „yt. &P atm:nd) .
OOO · t 'łeFa'll.H( c e""zllzutu.
l"GD>. Pl I ~.
\ ·10110 CPreis - •.-, 9:11. ~ P-ros.t a nłl 1ft • i
: .. .j,j.t H Prost bou.oo ~ ,? rost o llt"!: .o L
lOłl O ).
-"Urz~i:łzen et.łZ - --se- ra '5 to. _P1l:IJJ; CTIO!~.
c:1 er-,t,z.utJ) .

.,. rzi1d2e::n1eOW • -Se ~eri.1~•·St ate D~ C .t ·r. 03illl.M.L • J.

~~.,, z,Hlzt 1effi,}•:1SHR~rrJ."_...-5 a eLOO::,p;s.)EGHl [ tG. FAI..SE) .-


}

=( i'.AHl ·at - --~s.:!lge- • · I(.[


OWOl i::at - ;:i;,ł!'f'M11'" .. ~• . FI)

Poniżej zwię~my muuer trybu ;_ułre owill'tia o l d rpuszc1,11Lnym zaJrnesie, a n ~~pnie


w
W)tk_oreys.tuj em)r ltn lfYb dt1 uSra'.\vicnia 1.aro,wo , allO· ~i trybu u, jak i • Aby poc-'ks.~·
i)!montov.rat ~ zmi&I'lrunl tylko jednego ~~ "-\')'stnliCZir urnicśtić w k~t:-11tarln ru:u ni:
z poltoc__ii. Z,vroćmy
1
LJ.\\.' ag~ na m, :1.e warto e jest podda anr;1 kooii.,rUSJ na typ " hr:ze..
mMlli·y D30T 11:EADORESS:
81ezac • r~~oń~n1a 5)
_ ezacy s~~~n1ł - 1:

_ t Llł111e0'1 $etl~..:tur~'5 ~Sta eco. DlDTSS_


-
(l)j{)TĘ ~E ESS} ei1~1ac:,-1irr-· ""'f5 .
'i'illr z.ad,en1 e030.;:r,SttTe~ur Sta e-SU etO. '.I.Il SS_ 1 ssv •
- (OJOTi::t~S~ J _1uezat.Y r~re$~n a)·
1 f , ~ , ~C:~2'111t$s.ge - • E'Jf)(INł4 !.&
f f , ..-,:1 łlt e:aqfrytlF4 lt:n,J -:. Sł
_u-·ezJc,Tr:,1E11 r.u • ! ;

PonJUZY koci us11awia 11Yb fi [tnJ dla ~~ićh 1rzeefll Opc-~c~i. W ni~~
bch. ~ 11yby mogą byc po~i'e dJa _J ~:c~ Of>ffllCJi I nLCpopq..,_ ~
Aby poebpczy1J1.:01ó\l·n.ć 2 rómynu kombi 111ąeJam1 trybów~ rnotna d ~ ila lllilJit
sujil(Y po$iCZe,84'ln~_operag ~..do rn~yd} ,kombinacjj . ,tar"·~ey. w wię~ ~
ro dx, .Dń.M 08,Ófn~ roze.zoanu= \ ~ 1.a:la mu fJ)'bów. NJt:'ktbR C&7.en'!plarzc ~
(]bshlpj,t pewnych try~ ~. W takt m prqrp~dku,_ ab~ obcjmef ~al~i~
\\' pnakl)·tc. ~· dahzym .Cl~II mO!IŁJJ lll'UChOllllĆ {I.J)lJikilGJr; dJa ll:~dz-enia REf:61,
""'Ili
- 54! e· t1re.s~.~UlelO. DltffSS_ I FJL ER.
,l,;!{1Zeme0'3&-
(COOTE EFJL 'Pf) _81ezi1C::y r l l;
_ Urzt!dzen1eoc.8- Set e;.-turtiS ageS a NO. DTSS_ J c1 TDI.
{DJl.łT0:11.l~Efll E PE) _e1e~ C.yT ybf1 i tru):
rzJdzen1.eO.:: ->SetTPA St S e(O, D3DT~S ~JGF-~L R
tDJDJE 'TllfflL1'ERfW>E JUez~r.)' rjbf ł J; •

or111g--uruJU~1ddz 11e(>.
:.tr~~ Ut ~zr gurt().

~ ~ph ~d'J 1'511-11,1) e s.t.t.:f'• ·Pr1eo.zr.1slczcn,~c


ln1sz,;; F1!.1J.irl!'(l,

_ r'"l~Olen i (i()J!). ~ i'LI! ure(O. /, L}.


1 r _ 11 s turd!Sl&c m C'a)
-,.•Je•11t łSlacnołljr. 1 ->.~el ~ seo:
e urn ...
gu o
IERlOłl.E

z szczf1gyre( ).
r 1,:1i" f " $[,

-1.0 ze [O t - O o:
• l
] o
l
.1 - •! - l'.Chol '{2] y • 0.(11.
lc[2) z• •
~ełl01k[3] . • • - O O.
r-z [l].z .. -
;re } • • - •• •r"zcnol { Jy - i O,
erz [4] l • -
Lct ] ~ • 1. erze11o1 ~(5] y • O:
e-r.l [5] i. • -

7.311plikacja mworzy @iur, ie-r7.ehollcó\l.• w ~ Y s.posób. Z\l.·room. tPNilg M to.


żt maczej oit aplilracj • któnt tworzyli my ostatnim razeiin. w tym przyU cizie- nie '-1,; ,.
korqstujem_ rrutcierzy te stury do zmiany współrzędnych cekru11')1. Je.tA:1ij tryb 3dr,~sl;)-
woois ·est w,1awiony nu zawij flJlic 111b odbicie łusAn.an . lekSlw--Jjest p a , ~ 20 mzy
" , innym prLrpadku dziali! odpowiedmo do uybu adresowania:
1 J u--. 0. Ak I.C I01 k.l ] ·-- .O.O.
U• }0 0•. 3 ' LC::01 [_).\' • •10 (I.
] u • "O O", ,ł,;1et"~CnQ1~(21 ' .. 1~ 01:
[3] u • O O". U:!r? 10l k.(..:,] ' - 10 (I :
C [-~) u - lC o·. ·e 1 c.nol k( 4) 'J - ·10 o.
ie .(Sł . .. lO o. 10lkl~l • -10 or.

oc..C ).

·,. r1 r2e ,c® >Sf: ::so· 1-c:c erze k.


- ~ Utó"(łl!E~ZOOl,E •'. T!:. s
a.zEfi •eOJn-;. We-rte.6hdder FIU 1

'()1 ~ 1k-,c,JlS a•yT KS Lil ·Zr 1S1C7. 9 r C)


(
1 0rW1er1cbo1 ~;)
[
eric :>fł.•'e~5e(/.
1erzc - N L:
1
ll'i am 1, my mogli zm.odyfikow1.1 kolor
Z11ów pr.Le.Sła.n111m:y mi:todę Prze Refl(terCl n 1!L.".,
11

C2.yS,zcu.~ i ebantt
C..- 11 • A¼JL...., Jll Ilira•. . .

;}d x,o, ,cJ,Stalł)'TfU Ulf ,rzedRt,lderot,iiaft1 )

( udlen eOJO->CłHrfO M.tl LEAA_T~ l OJOO.!.AR_ fEq


,.. 030COLOR. AG&Ul. Q. 2.5S • 1. Of. O) :

dl.enteOJO-~ I itScMe( J,
·-
Ponittj majdujt ·'i Ł\\ _ 9n t«I .rmderowania btJ~~ł'd wimchwków. l)'tl, Ptlw.... w
m,(k-roj,cffly c;ztcl)' p«)'fflit)'W)' - dW3 dla „podłoga oraz dwa dta ,$a:utf..; · -.. ~
vc,1<1 • 11 c,CJlS Jn)IT .r J()
(
o. s t,ll"JS.Z~C ~).
"'•( _ fA (!iffilP. 11. o; )~

o ~ zt.
r Ladle,1 eOO!I„ >Ge

. ojpiern, spmwdlrun: rryt,.y dresowmri:1. i swć 2 ty . h trybów IJOWl.llBQ_


Iettli tryb obmmoWi111Ja ji:Q OOłttpfl,. • dom t.nym koJore1n obra_rnmv:uii jest ~olor
i ~T~SS(,1\PS ~R,
~!i~ge@o . rl?~ .ot,
·. · ·, ):

,. f t I c Te ~Ca.as & DU AOORESSC.4PS C A."'i? •


" r1 b dr 0 " 3n1;,: -
~teony. - ' - )•
·~ ~._,....,r.• ssCa : ROR})
. ·r ,~ r ~,~-~~
es.t _. • .. ,
~!( zł le s 30PT~

,Sil!;~ • r ~ r,
:.~
a• - "l~t~
!) .. , ,c1·
ni~ JtS !})'.•.

1 {!(Hc-2 ie,.-. a
'SSd~BQ~(
b ,s." - : e
;;;,s .)
- ' ~-

1 .. ,, ~l Tt fi f Jn
t '"(I~ o
'5 Sqge5:)
.. -

1 (
u:n
u .• ...,........ 2:1.1

1 ( !tlt:Jzl ft!· 'U ti:! aps. s. oai ! JOJHt)J


~~ _ ~ . l r:,b UH.r~
nł~ Jes

rG1i11Ss1 IC))
~ rÓtii t.. SS.a
. - .
ł

v.r zalL~°"i od mn,u 5P~ ru. wiele SJ)OŚr-ód '"Ym~n.ionycb trybów f11ltrow11nia mol(' ni~
b>ł ~fp~yt~- Podobnie~zakltldntny, ~ jr:teli ~ One dastw:mc d~ operacji powięks:ca~
tu3, ro , · ro" m~ d~ępni: dfa ws~kich opcmi:J11, ,.ie m ~ to b>•ć dobtt zsJ~i~. al1
fl,Ulkc,tę 1..: lmk:on (11111 up~~rn:J. Tilk czy mac:u:j, fi1h'owani punkmwc OTWl (Wo~
powinno b,~ dos•ęprie. Z u ~ w.~.,j aki ~-pfyw mlłj te: lYtPf filll'f,1wani aa dan
opi:w re-~s.::h. Po~talr=_fihry dz1111_3J podobme do filtru 1;niow~go. w tym knsie. ie:
1

t,i~iaj · or1c- (zar.;1eraJ "'ill10Śc1 1ehdi. Ró~foa IG:_ey w pcmomie eienmta oru.
\\ rym. ile ~sgól , pomffl!jc.

\ ietu trzy1cłników mole b ć troZC2ru'OWanycn, t.c , prz)1kladzi1: p(Jminątem opis opcracjt


j .r.ćlti~ h~kstur. Jtm " ~iiele powl)[ió • dl~czego tak zrobi-1t:m,. choeiv.by fakt. ;i~ :JJ1ijka,..
tj M CT,ex jt.-st bardzo cfobrym prL.ykłJ.dern. Moim zami:lrffll w tym pł'Z}'kJ dzie b;'łiJ
obj śnienie ielu us13,,••c:ń. ~)r srwof'X)~c ltontek !I. 1.i,:yk z tarni aplik.acji M · ex~
il ta ·:że tmne ~, ~•osuwani.a moch:miZl!1llÓw pix,d :!;hadc,. Mech niiDP}' s'hadi;r dosm-
CT..u.j DOW~go Spu@ObU IJ.'YK ,n ru•~nr:.l QJ)Cra f I czeni teksrur. :3 poniewi.\2 pr.zęl o1,5hł­
guj 1LCy ml'JChani zrny ~ka.de,- ~teJe ię pows:n-chn~ • cn leresująre opcnwje łączmitl będą
mia1y r:oiej:iOC ""''c\vnąli.l rnt~han i :ttnów łtader W następnym rozdzmBk znajduj~ $i
iv.,~ięiłiy opi ui.ta"'·iania U")1bt)"- ł~m:1. le pó1.11iej "'•!izrSitkie operacje: łącz~:) będ
przeprowac:Lzan~ za pom(l(ą mcchani:r.mów sfołde,.
Co watniej ·ze~ moim ami:m;m było opis=u1it: p,ozost,. ły(-b a!ip..1=1ów ,anÓ\v ~stu,,
l)Qllle'~"il! ien uin, 1 j,i.':S! s tosun:,;:o\VO r,.adko o;ins:y1i-, any. Ru~ itffl pow.init~ d n
obrnz lego. w jaki spo-.Jłb m1k"'.f.y ~..:,ikorzys ''i'ira.ć pw:~re stan)· tckstut oraz w ~ sposób
teksmwy są OOWZOT()W)"W:lnl!'. p-rÓDUJmr poo!iWl lOII lC n~jwm1iejs~ pun ~ty:
• Ws.zystkie stID'I}' faz 1.ek rur maJą swuje odp-O\ ·icdniki , s1ruJct-uri,e· o-p isuj.Lccj
mO-tHwości ui""adl-ema .-\tir mit"c ealkow11ą pć\\'tl " ć co do ,ego. cz dane:
ustawi niej~, dost"fpne. n~l ż pr11wdzit motliw~i.
ł ~•ur pom1i:dz„ tanamm buzuJr; n3 ope:n1cji ł..
u eze,nit fe r;n;21 om d!i h
czasami lrtech) rugume-ntach.
• SlW1y indeksu w ~!rzędnych Le-k rury decyduj o~" cey w~~ d n : 1e'ksUir
s wylcorzystyi. n,e \'\"' t21nre ni.:pract\,l.'O'fZO:nYlfn. czy '"-'Yffl~~II obhcu:r1
V-)'konywanycb pae:z sprĄ"l.,
• Try 'I/ dn$o~ 1mi a t~ks1ur dcc- ·cl,Jj:., <> 1)0$obie P~ rw~i . ~ p(,łnę~~
zn j duJ cvc1, ~ir; po;r. :,llkrcsi;m od O.O do I.,O. IUFOP 1'1fll eJ~ 1:1 ~ ~cm~
1 1

IO zawijam 1ę Iub pGWUII aic I~ Ll!lr,'. ieklÓll'e ~ c Pf'll1t•lu l'IIS O S WgJ.JJ


wsz.ystkich lrybów.
• u.11wictlia~~•l&llbll'docy,luff <>l)'fl\,
mall)'" ,~wpływa~ n a ~ r«l<.ttur. ~ t n i e 1'2U~
•iłłi~
rrkłtur opisano "'c.t.f:ID!J ~ J. - ... ..._

• U&!Xł~.ieiiil .fUtJO..,•.allia td:stur dcc.ydvj11 o s~ill! filtrow01111 ~~


mu.an, NZmi tebtul')' pod'e.ms IWorz.t"JHa ad.~w.n.n111. Mote ł" • ,
te nid:tlłre f>PY ~ ni11 będą obtfusiw!IĆ wii:lu ~ llirtrowan!
~
+ W~rt sJIO,fród Plł,IIOW te Stw' J~C mgnomwanyd1 w ~ ie 'tlfY.•'"11°2'wihi-■•••
mttfwtimlów "·~11.:x słlldN Ofti! p1~cil shad1er.
t ~ i t ' s~nJ faz tcsrrtur ~ { wabie st. do morm::ntu, jcdy
wyffMWBnl?'. Jl!'.kli '-lslaWi.my OP,C'mcj,: ł z,cnra,. OJX"-mej;1 t dot, ~
~~• o Ilt jaW11jc n,e oktdlun~ .icj@SI i'nnc-~'"j. Jak ~c~~~
mimmalimwae J ~ 2UlWl ~ grupowm,je g ~j j (t1J..m1, ~e- Eo 1t11
Rozdział 14 .
restowanie gl9bi
--
i przezroczyst osc
W ~ ro.z~t11Je lr:j i ki..ifl ~i)łiKJ • ' • na opi&ic e:z;yn1:10 j po1n0bnyicb
!kl v. kt(~h:ni3 mw.uttQ cci mi ~w. Om3Wia.1i m;i ~ kOft tllł11rO"'il1ti wi.(:r.!elloł­
ków b icb pw.eks:~ k.lai i ' "~~l::rni 0~_1; 11 · dtl1li tekstur. Os1«1.ni k1w1•i:~ia.,
- ft ~fict omówi-6 jc:i;t ro~ro ctzic,jc 'SP!; z ~□ymi bc;gpośttdmio pmi."'d ieh wym Lcmi:t;
v.• ooforze ram- .

. Oi1Di111ia cey te mr&4e~r~jll. Operacje: pnc-kszt,akd1 oniówionc w ~ ! T i i h


[l)Zdzj'31 b de() duJll o ~)'ID, kiedy , , jdi spos:4b da.nc (Jip1SL1J'1.Qt li ,,ę · pe"l.ck.~7.laJ .:im::
1U pl f,C~ iH ~,cru.n ic;-. Opc.Taćj~ do,r~ li:o!Ołl), c,~ "1a:tl~Ria t'llll l'H&bdu1m ' •t: tw"'
tkeydują. o kołoi'?.C obi.-ś1~o pilc$.(ia_ Po prat:ceytamiu □irui:j:szegl1 ~1:1,i hl bęt:ml'fflY
~ra: zn sob; opis , ~ ! ~i wbudowtm~·ch ł"i.tm:J j• p01'Qk11. iP,ariii.cj Vw)"mti:□N ~!',~•.
"m mLlSi brc póiłd.li'I>' każdy z pi~eli, f)im ttał1 mł i!''J...71m:
I

♦ T~ f'l ic- gi ·bi oril7 bufor Z.


• Bulb \'Il - ahr:cmfy-wa dla bufom Z.

♦ Pr~iJni~ u: Z.
• Zcrcw,-aruc bufom glljbi.
+ est pn~rOC1,} :-;losc1 pik eli.
+ TwaraJ11i: pn;c,:l[{l,CZ~'stych ,r:kstur.
ł f i:sl . m1-łu a~rs dl :,;1hs:1.~go I.IZ)' 31113 pJ"J".C7-l'DCZY 'L foi ·
ł lmy-pikscłi - probli:111)• \ ,•d::11J11r:i ei.

Tastewanie głębi
RpllMk 14.1.
s«-~oraz
O!tipokrui/o W
,e1 :alł rto!t lw(a.ra
~ r

Wartości w bufo~ sl'fbJ ni sq :apis} \.\ an jako literalne w:1.110. ei odltgtośa


s.erw 1ora.. \\.'artości g~~bi \1. .ahaj się od O.O <lo i .o. Pik5-ele. k1ón: trafi ~ d1~~-
pi rwm, pfan. m:11.ą ~, ru1ośc gai:bi równ: O.O. muomr i pa d e zn;i,Jdując( it W,!1,1~ 1
l'JJ :pfanie daf zyrn. maj.ą w:uios,;: I .O. z,,. !l'ółmy u\.,·,a~ę. -;,ł.; doldJdnosł t u.
ogr-J.D1c~1ą Uc:lhą hi1c'm w buforzr.: głt:bi. Jl!'klr 11t.~7 plan da)S-7)' i bli~"Z)' i.na
@;1 dilłe ·n od i brc, n 01emy mic pmhktn 7. dokk1dno'.',.C1;t h ..'$~1J t ·, Pn)
-btt(I\\ · bu or ~fębi c-'1a.r.a t:: _ 7\ ~.: !i 1~ zalcdwri; 25(, 10.rn ·1m wanoś i31ni ł ·
nas1 bbZ$7Y I dals.l}' pl:m łt oddralone od ~14!bic o 25'1 O ) J ~nost k. to m~ ~
pmblLm}' 7 pon:m.•n)'\J. .amem pibdi :1:n jduJ, ~}•eh si-.: \'- od cgł0$CI od !iid.1° ·
l OOO jed11ost,ek 1.,: w7,gl4r-du n~ .zb}'1 ni ką roLd7 iclc10M: . Oc.r. rw j ie- j • to
s.ccna.riu 1.. le \L'iL-.\\ ia ąc pl11ny bJi f)' i tł l Po/ lub renderują ob1ekty 711Jrd~ ·
burdzo blili o s.1 bic. na tefy pami\;W • o I)' h 1J,g.mnu:z1.:tu-:1. 11.

W mu - · "_ ·.kr.. : 'l~ia kołe-jnyd, paksdi n. r rr.im,., urząi.łiT ;nic- ~tuje w _głębi
piksellłl ~ wartosci· 7.T1 Jdująi;ą sit: tu. Jm~ \\ buJ◄ tr.tt.: głęh1 k cli piŁ~el I'
te{J l p0ł1I

·łni1: • buł' r i;~·\ bi j I U kmual.nian • 110\\ '"\
!ł wartości ~, Ir .arto.śe \lt, buflYlt 1:1
r w }CS" ianueraiana lu mie. Nl z ,, urh,śc 1ą kot ru no\i;c,co pi l!f . \! spomnlłlł)
J~ Jednym z fon cji P4'r'Óv. nań 1. a,1. ionych w lilhę,: Ii 14. 1

\\' prl!,·pooku • •~tow.an~ ! :łb,, ,~ rtl)Ś(! i odmi;sienia j ·1 bie.i'.ąca w,a rt~ dla 'Ul
ip,ksda v. bufo zi.: 1 łł«br FunkcJ · t 1uji\1 ą mo.in:1 u 1 ,., ie. okreśJ:ij c tnM ~
r~ndi:nngu:

• 030CM
..---
~~ Ił
~
~----:::Yi,-:f)'D,:,;:k:le:::m:-:~==ll :C:-:n:e:g.1:l)"A:::;ny=-.---""""""!'--------------- -- - - - -
"'')'11 k ~t-_,11!_ ~'Wił:,', mdl DOINUI wnni>st Jl!'a l'ffl IC u 00 ~ odm6i~Ul
\\ 'Jl k ,c I\I JIO~'l)'Vw1l)', Jr:tdL llfl'.\ "' no-U- e$'1 r6wn:i ,..,~ości odruoaenu

W 1k cemJ poz}fyW'1,)', jck JlO'!}(a \\ lum 1fQJ,1, !Nt'lfft1'11a"i cdn11Nmia.


\\')ii .L!Sll.l po t)'WDl t~II l'XMI,' 'V,' jffl.t Wj(: QCj \I,'

;ll'l1 · ,cstu pcreyit)ł\1!Jl • j .leli nc:.nvn. ~ JeR rc6liwi ad w.:i.11,~• OOfiJblenu.


• \\ •tot\! ~v."11,)',~i 00"' ~j ·~~ IQ\!

()ot'll'_ ną fwn · ją poró~ 1 :ll~i111, -. ESS~. Butor lror.cnów 11,.1;11;~ l,)ll~


• • _
!e,_KtÓJ}~ ~'aft.OSC gł~, .....~, Rlllll~~ ~JtłuJ ~ bu~· bsctv- tor.a) lub rowoo
~ b r ~J- \\ ~ .PO · e_Sit. 1~iJl'OVii'.8fłi?. pc.mi,:i.i.-aż są wooi.ęte p~ obi~kty
majdują_i;.c się- prłi d:oal ~ne domy hn:, ch,x-i ł; ,.... Ili· t6Q'Cb t1,,~hrukud1
nn-m. JC$l t
wic!op:rl~ieBOW')"eh mogą b)~c: wykorzy~l)"lł.~nc i1 ie: funkcje poró\lti ft_

BuforW
J b)'C [TI(tŻC z.:lU'tl{alyl j i:'I~), \;I; "ł.
it ru, ke' ę: t~ lU i;l~bi llo fWikcjc ,
' I jb. rtlłl_,.11~j
popdam}'fll rndzaji:ał bllfot.t gł~ .;t bufor 7... ak bufo ~-n JM iS-OOffll 'i.li~- ~ w.2glę,du
nit ~pt,sÓ obbczt'lci· v.•an~i \' buforze Z. warto. ~i tie- :s.ą rnz~~ane: niL"fÓ".vnoon.11:rnie.
~ to, że i '. obL<: ·1; mejdUJ CC srię bł~ 5ą ~ W J l l C puprawrw , t pl"".ey-
obiL'łLów pęt,ożf'ln~rch da.lc:J mogą 'i-Y)l'Sl.ępow~ problemy riektó~~ !'07.\\"1r\Zll,ą ,e
pr 'M m•• w,-ikw-L i:;1,~ c hufor \~'-

OI<M' W m01,e bi.,i bard.la prfydatn oo te$tCM1aniB gtvbi, nw.ze tala być
boó5em proolemfr • w ~ ,lii"_p-:on~nia · 6,;~h typó"iN m 1)(11', Io s.ze~
nc:go ( CtJOe ~111} onu ..,.,....,.l"'\I, ętelt.16-H_ Pomimo O f / ~ bufor 'Z~ bardnej
wersaln:,m rozv..- Qł31"1 dla b.Jfo:a &J.eł}ł.

B fofOVi,.ańit: 'IJ,,' . j ?~li pr~• umi.nl~i...-i:a Jego ~osov.·a.nie. ·koay::ilYJC ornpon~nL


W, ~ dodi.lil i my Jo współrLr,;;dnyd, j~dn.orod□) eh- \V bufo c \\' wili-1ośc-i ą u1o,t on

w spo 6b b;mlri _._j lin·O\\ •. ~o możi: pomoc „r v. ~limioo\li n;u ~wnych s..zci.~c y h
w lflyoh f,: tów, iii!!' ""'" ft"t.lS. _ffl ł:L •u wys:1'1ipł,1ją ogr.'.ltf c:1.cn1 ~dziclc::zcset u a~
gkbi. O xfatkowo buforoi,,·._11i · v.· mote.: h~ć □ieiompal biLM , ,ii k:tórylill N)dz.aJa:rnr
nlJ!)OW:mi3 środo't~ t koVi ego, [)fa la( llo~ 8n1U. ~nosci. \\ tej i;\2.:C 1111: ~~y W!o'~
!m}~y,,i.a butoroiwJma V,l. pam1~C;ijrn~r. i J~;,.c-h nil ~anl; ln..l ~) 1 CJ'ti'., w_któ~J
lkifo l ~ i ( ri,e:\, r:1~/lłiJ~Y, mot.c nl)' wl~zyć b I fQr ,v
ttt ipomocą nas•~uJ c-go
1,1. olun,. me~OO}' i:; •tRPoc r'.::i!.a. "''
L o.'.WZB USE ).
-
zerowanie bufoni g1,bi
\ . ~nfoh \\')'Vtroł- nm. h ll'itCod r Ciea JJS.I_ wib. my W3~0biĆ zerowani bllfDfł
11 r'o. o
.ronic\liai J cime.cza a ~" iększą głębt . ~ ro_ r g.~b~ motna ;r;,1p· · do,,.
pikselr:m najdującyrn ,.~ ~ potu Wldz~nia. J~żd1 ZJ1ik1chs ~l"Z~:ryn n~· kl
dzfał;im., 0 j:u:: c- a:im dt0d1-i. możeffl)' ust wti: ' rtość z _rowlł1;113 na rnni
Przyklu.dowo, j '-t.'\11 usmwim c wartoM: rui O.O. ted test g.J~b1 dlm \1i ~~
nych ptks ·li O P'Ol •~e ię i ni,: bf.,dą rendc-rm ne t.adnc rnowr: piksel~ \\' '11\1·--..""-'
przypadł-ów Yi-atro ć •~ nafcfy mtawiic n I ,O.

Przezroczystość
~tl:ijąt", żł=' l~l glę-b1 dla nm\'i.: o p11,;;~1. d.81 \ 'll ik po,)11.yYti-n•• mołJ'l3 ._,~ 1u.,.,.11:
bufor or rut,,.t. \ pop17.edJ11ch J :r.did. łach w zystkn: w1do · ty oraz t('ksttLI')'~
·owicie nicpll4:UOU}" tł!', 31~ d.7.1~ ·i k::m ,łowi lfa mlYLl iwcJl!~I rctl&ro\ a.Jl. ńłll,Olł'or·
p r z ~ t ·dl fub, pólpr.t~zroc7.)~h. Kiedy kor.r... stam · 7 3 •brtowej palciy
o UlUI it: b11i)w :kl da :się a:i kan~I Iri)~ co umoiJiwi_n. 7dcfi njowanie 2$6 'J\óri.n}
7.ion,ó\\• przezmc:,ys.to 'ci. ~ 'artośc alfa ru'"' nc1. o.u 07fł:.lCL" C ikowitą p ~
aatomi~ t ~ar1oł.ć- I .O odpowt. da obiekll)JT] cal ·<N1c11.:: 1,il.'.'pr.l~zroc • tym \llano· ·
nogą b lt C_l.(Śc;1ą oloru 1r,iencholkó,ll lub koloru kk!itury. DndR.tkow ~ j ·
smy w osl'.8111im r,o,.a2iale:. w r1 ci ~Jfa mog pod1od:t.1ć 7. Ol acji lfa d
k lir• mo•, być funkcjąl,;-oloru \ ic-ncholku i k,lku r znyth tek tur.

mwianu; 'WilrtO. - 1n„ dl. " it."r7.Choi ów JC,q fU Sh:-. W ~•st. fCZ}' ustawie k:3n3t
_Yhrancg.o koforu nil ądan1:4 warto ć. tawiam I!' w:.:irto \;i aU-a dta tek fi.IT)' i.TiON' •
Jlct.-co b..1rdzkj kfoj1011 i~ c.

Wartoś6 alfa w p ikacl1 formatu 32-bitowego


ii:króre fomt,1ny pljkó"·•jak 1np. I s.a ( Igo) un1011i" iBją :z pi nie~~
zaJi,: . to od r"r■
IVlft-ra. • •
-!Affio. 1 1.BJlJl:iU p zez edytor- grctfi · m •, ,v I kim pr;,_ 11_1u<1111AV

1 UJą tcksl:ur z pt..tprn'l!I, nic u t.ft\ ionym n łt!m Ifi;L Jc~I i ~d or


- - alfa wy,-.....wany
"- ~ programu Di,r ectX lexture Tool
1

Jddi Il' ~ edytor ~ lll □i,: ohsl:ugujt.!! ~ rnm1ów b~t-0~ ')'eh, moicmr SKO?'Z)'.SU
~ na~d~1 obroblia t~f(.')łl.Jr .1'V(~~ i:go w k~d SOK - D i ~ T. (Ul"t' Tom. N'illz~
wt ~ po ..,,-rahl n· \\ac-zytnruic łut1111Ap,y. ,vczywt11.: a_n.nłLJ .aJfa ; . [Pls;lJ'lic pliku fitiś, in ry
~ z ła~-o ią m tadow z.a pomoc. ffflik ji lbi'blioti:kii D3DX. t)m «lu nalcxy
,,n1Jd11.1m'l· program i '"'')ibń ~ pDlt:ormioe Op,.,rn · mi=nu Ffłt•. OLwi-crnmy plik lici;zny,
~ dzie shd:)'Ć j ko ~z~ t ~tW}' 0p1:rując: olor. ~p,iic • menu FJte 'Pi!'ybic-
rom;· pałr: ~Jllt Opi•,r ,>m ,D „u,,1~
Clwmtd (] lhl ~ ,,,r~ i Ol\\. it~f'll},' phk gmfie;ucy.
c ja . p ~ ..,, 1 bie poczL mów "':t _ 1 teso no"',:g(, ph u sh1ży jak,o l:ana1 ]fa
dfa rlasz'Cj ł~ •. PrQgmm ~ SO\VUj kolory w " . . i~a :j bim1api~. tak a;by itwa-
n)' · 1e;p~zicnt.a,;ji: 1..- bi•o~ j t~'ks1u • . ~dnr DJreerJ( l't! rr,r 1ool pokaumo m'i
f}'SJJnku l4 .... ,
- -- - -
~•r.N.2, X 0..11d)l inill„r _f:-!. - ~ .. ~

f 111I.r..,tn
l2· . ~~~ ,r ~~
,:i.; 'q
~,r r-ain~ rao.r

Po u.tVi Q1U:ni1,1 pH • m ~a r.aladuw, · OO\ ce ~ U.~ \ Ol'yrn .k..anał- Il'! Lf:i, poslu11-
i'J.RC' i~ funkcju.rm dosL~-pnyn'n \\ ł'iLbho-1 c-c DlDX.
..
W1a1Czanie przeaocąstośei
......... ~~c ~ nll!izycl1 •ek 1ur.LC-łi lub ,viefilo'hnu,,......i..
Kredy Jul ust.w,un ' ~"'"'""'"'"-' --~....._
1 .,., • ~~cości
. fun11.i..' \11 uf7_,.qdzimru: --.i
wł•Z)'(' .J~ r - - ...., ........, -
_idJr zem · •Sctlł :rde ate(~_Al. E'. ~ l·

Po wl~'DIU funkcJi pr~ Z({)( ·_t(J 'ti lll3IC~}' us.ta,vi_· tryby~ Lenia dl SiiolOĄJ~
"'"'go i dck."'CJow~go. ryby ł1 ·zen 1.a d • ·duJll o tYMd .. • J~. t ~ ~ "_ ~ k?!or,,. _
I

kol ni irodiO\'lo'~'"!W tno\~ ego prks.cla) oraz kolt'lru docc_l?~:i:go (prk~1e bi~I
JXlP'' kuniej :i'lC' ~ tn,wi,.rnia tryból 1,.'łpre.z-e-11,0\ a.no P nLXC"J •
~ n~eOOO :>~ L"11Clc ate( s_SRC:Bt!:. • D)D:llt ...W...ALP!,;.,.
• ~ l„c1zet'l1e03D---..Aie't ~rState(03Cf!SS_otSTP.tE • 030 ( ,D_I '5Jłl"-ALP. •

kst to najpopul iej<S_~ ustinnc:nic, ponj~w-.Ji.. pmvoduj~ Ujjl wit.-rui: pro t_ tf.
f ' ~ ~osci. Dta pf7.}'fdadu w~rann_i . obL ~ I re n:ndcn:j~my bru:mi: ~ 7.1
~ rro~ 1 '1lfa 0.1 . co oZJW.C-.l.3 wys"ki topren prlt' zys1osc1. pos6b obhC1.en
df.t takiej sytv cji ~ J e poniż.bzy wzór.
W = 0:.9 • D O.I • 2

\\r \.vi~ Z}'fflstopniu na kolor \\:')'Dtkowy 1i1.1Jfyy,,,a. koror docc Im.fi_. • porut!\' nOYt)'
j t w "' 1m ~topniu pr~~'Sl)'. W dokumi:n1acji op1~,o v. ii:le i.Dn:, tr, ·
lj\C'.zenill Tryb, li: mogą_ by · przyda1m,.: w opcrncJach r.;nderingu w1 lopm · Ci
, prostych przyp, dkat'h pncnoczi ·ro ci W)'~taftL}' ?.btos.o" an ie tryb6w opi ,
,11 n.inie; rrn podro~ziali:.

Podcz .,. \ ' ( lliil ohr,ekl \V pr1..czroe;ey-s1yi:h n Je.z) J}"Jm l~Lat. ;/;I! wno flU
~·stosć. j k t t0<w:inie gJ bi majit wpływ n wynik. \'ir)'obrażm~ sob~ . że .. ~
~('Z okno. Ji!'h!1i najpiern~rendi:rujl.!mf wn"t :t.c:. :1 pule-Ml ukno, , s.r:ys~o l:ięwie p,:i,
tlądk'lJ. 1~.t:di 11~~pien ~ d~rujemy okno. a potem wn\"trl'-C', wynik te"SCu gl~-bi w.r..;ttn
ni p(m icdzic: si" i wn~ · nie: będzfo r..:t1di:-rowan ·, Bi;i.17.tt=~. p·Hrzoc pr~l'"', o D
k l ~ 11ic nie .m 1~, kifka spo_ol,ó\,· mzw1 w:ni tego problem • ałe- myl~· · ~~­
una~mc. :tV.T. C-:łj m a i; ml kolc:Jno.' rendCHl\\ a n1ai <ibick1ó~.

Test alfa
Rmdd„14. • TNlawłlnlti lltbl ł ~

ee,ov.ildllte_słuł.y ,~ alfi Jdd1 l.e)t ~l,'11 • t włączon.y. pn.cd ~ i e m kolorów


00
Sfl71łC porovmuJ~ ~ ;1111~c_alf! kr~~ę ~ P1 ta wmokią,_odl1i~ieni.a J~ich int arra
dla pitst11 nte ~ si~. P1• I magr1omv. ">' 1 prz~ me W)'konuje dlii -go pibcla
tadOJ h dodatkO"\\')reb oblta.ca
BCt1LCjC dod tkow ko rz. . "">' Oli ~1 Eitt.tu ;)l Jici ou W\! , ~E my duszk, 20
( ng. 1,1 sprlr., l l1Jb timbo:ir~y ' n1 w ~!( n r'ft~• 1 lt u~ ie uaktualni bu-fur
~ l\.'I JK"15ta'INIC k!:i-~ u mi:lok 1_ • ~~ włit.t~y ~~L Ui . ~for gir; , nłi: będzie
'1Uuuiln,~. Jdcłb "- t~ ~ zn[lJduJ . SJ't "-VI erat Inc piksele-. DzL<k• tr:mv ~
>.kuJcm
pe\''M ~ b: buli'i r • ~.l!n · w1ę-ra praw1.1:Howc- \\.nrt~ci. T • rc-kt :1.ade-m m.,crow::m0
\li prl-)'kbdo\\'}'l[l lrod.zl -

\\'~,:ttłi: ce:_tl.1 lfoi ~bejm~ 117.}' CZ)'[l~•- . 1 IC!!y li ·ty,.t..rn-ć. ie~~- k ~li.ć run~
poró\,......,....,...TI,,:1 ,lgodmi: 1, op~rn i. 1..~l I I • l }. :i ~~pn· c ustnVIĆ' WilI1 · ' fai ie-ai
Pooi . kod powoduje ·k figwm.i..ooie lłCS{u ·11 l :iug.norowrmi~ ·~zys:tlóch pi.b,cli,
dJI kit~ h w:m(r.ii: ;i.i ~ si O:
1 ..:~ a e~
Se „t~, .
•Se t.at~{

Do1i1'01ny p1~el o wMJMCi alf róv. ac-j :zrro Jcs• rt t)'C'hrniA1s, i~~ooą. .ll'l)' rzc-czywi•
~i w pr06JYch p.f'"l.}ipad ..ich , ogóle- mi: •P
ba w t,1 7..a:. funkcJl f -zęl'!fa.

PN)blemy wydajności
_a1_d • x op1 nyc-b Cr:..1dów cz.asu. Jic:1-d 1"'Y ·onu;cm · pros.te opt:r.1 jt: 1 me pO
'a,V)'l1'1i !l':!
trzd n~jc:lll}· r tu gł :.bł. \\-'f I r; PO)' go. JQ.,:l i r1k koCZ)•s.la.m)' z. ·fe' ·tu p 1. --n, •
n' ~łąt::atjrny 11:l'CJ; ni::. k~IIJ ,Ll fa. h.o:ż.di f)i my tylkCI 11ka ame ·,o-.. przczrocz.y. tyt.: .
v, I c-zm)' pra:zrocZ} ~t0$.Ć dfo 1) h ob1tkt Ó\"t., a le ~ 1· -✓. n,)' dla w-s.zy~rl ich po~ch.

l.. dn., icJ lJOril lt.'St ul f- 1nQic: b~·t 113!\7.}'TI:1 s pr,.ryrn1c:rzi:i'K! n 1 \j ykon::- wami: L• •u alł3
~ macm.i 1'1 nic-j ..,ko~:-fl4'1\.\ 11..::·· ni,: lą 7~mc ;,, l :makm .,lfa, lałem ;m "''1~j pik!i-eLi
l"ZJC1my ~ ~) "nlku tt"'~1u. 1ym lep,1,:j . 0.Czyv" j(,.;i,.i.;, je-7.c:h n n,y pewne~ ·, n:. y, 1 i · 1~ t11
d'3i s-zystkfcl1 Qbic:k1ów ~-d1ie poz~ ~•w11y. b"'t!)•.t. me m·•n }' ~d□ p:h obJl!'k~óv. prz~
w.ystyclJ, pan'lię t:ijmy. Jby wył4czyĆ' t...-!:11-

~ pł}'\1t na wyd...1Jn~ ~1..-s1ó· \" o p s.u1 h w t}'m rozd i. le. 2'11:t'" -c-zuj ,.,, "'S.tarcz.
1:.11rrinu;,w- sii; 7-4irm 1'rn NI. ~1d ·iem 1\ mtęt:1j 1 ·• .>~ ~ to pro::,l . oprCi cjc-, .ll · one W)'•
konyv. ru: dl v. 7:)'slk ich pik"\Ch, a w pnypJiJ u skomplikr.H.\ ny t ~en ci.. ~ m, kil ·
mz;y la j ~ p1 La. r \1wct c-zi:li prncuy:;ny ,,, ronl7.i.: zoict 640 4tś0, I icm'.I "" c-j L
~ si kilku m1liooo•o.1i . \V pr,0-p:trl.bch. kied_ t :st)· , .. S.1 nam poollJ(.7 Ju:LJr.11 ■n~ Jt·.
Jeże-li nit? n rn potn.cbne. p.:11n1,;tJJm •. :iby JC- "''Ylą zy ,

Kod
Qll6d m• ~ ~ r .

R,tuMk 14.3,
•Ptwdn · 'U'kmlm
(r~Jq. (l]/,J
m,-a „f),·lr. ..

~' fl1ru !4.4 pokm.ńn ap]tlaąę w dzaiiłuniu "-' kn · ., :znajdujij się ~
dwooh p~leb\tó"'-'• r'1i0 ~i,;:ąt o,-zmiczo□y ~Lykie4 &1t:k {Tyl) 7.roJdlJ~~,.,.lci:::ti!!t,..,,
odfe~rok-1 od IXl (:1'!,\•:m:wa nitŻ prost~ ozT1aczooy c1yk11:tą From Pnód ~

R,Y.alll'IIIIJc 14.4. ,....,~...,,._ . ,.


,lp{Lł4cja
,{Jlj;f-/fiJjąttu 1'1!'3"')
Audd• ::IA.. • Tałc,wllllle _,... I~ 221

l)Oltly lewy ~płilt'Z preut11u·mdcla_tesru ~eui1i spojrzymy na g6my lewy cg•


,cmptarL ~m,y mll\\>alyć. tt ~edm prostDk;\t JHt p~ifl)t , ty: łąe7}' 511, ~ dtm,
ale ptzYSbtlilL ryln,)' prosło z. \\1• ~ka to ~Ląd, f.e or gł~ J vs w,
~ dla prud„
nąo prw,t ąt:a, ponumo tego.. żi: p b ~-c ~ l prMłoką_ta. ptlru pm:-naei)'Ste.
w prz)-pidlru lt\11 ~~ do~cg ei;1.f.-mplarza. M.J'i 1 1 w,.,,,
.Ll fa„ ey ~ m pewn • ie
~~scit ~i.ks:elc ni_ę ;· \\)Ikr~ tam:. LI z.item nic powoduj U!Stawimi ~Mtoś.ei
w t,uforz~ :.l~ln- W c~•c ryso 111 ,y1n,c o pro~cokai.,. t 1 ,gł ~ pełni:llj WSZ)' {kie
piksc-Je odp(l,;1d:ad ·qcc pt":· .~zystym pik~l!;,m pro~•okąm pl.'2lc-doie-__go. W P:U.Z)'lll
~-padku Ol:lfSlilny cie~ nie Jf..--st doskom.11-y. 1.11 ryaunku 14.5 pok~ pcw.•i.ęmm•~
esztmpl:irm pokaz.an w 1e'!-, m ,In_ ,n ,1,1.

l ff'a -~ sp:!nion · dla wsz ~- ich pi · Ji opróc.i: 'I.)' • t re: c,a,lto w1cii: pl:'7.czro-
~-Z powod.u łiltro amm mi,::które pik~k b)'"fy półp1Zi:u ~:t~. Pik~I.: u~ pclni.~·
' :1ilfl i bla ·ow )' ty1n proscok;i• . [JU'\'CK(u a ~77.11 łrie m r kl:tdnosc1. ~ •· ki m
paypadku. \\ celu unikni~i f.10'\'slrlwBni.a ni dv I dllosc1. moiemy d~o.,,Qwać \lo.it\O. ·
odn. icnia dl c t I U' cm u 1„1\\ u:nm liLLru

'ran}' kod. Pomc-wai. pli ll.'L J6\, ·ow} J , l 11rd.1.o podobny do pck~-g<.1 v. po-
przcrlnim rozdrial . uczy nuJ~ z ,~~o nma" 1:1.ma (,;l,n<;tal J se on Ot; w·s ii: dos.t~ ry
'el( D ). Jl'lłłyn}'ln . ,., ;11n=- fak.ti:m. na łil,ÓI}' n.dll!'L)' ·,'łJ. rcM.: ie uwt1;g j t to. ze postu•
,UJCT11()' s" d~inm.'l obu: t.am i •1,;l,..:mJr. Przcana.h.-1,1Jmy p l1k ~plr l'J T. ~\t)•.t:pf ZM3JdLJJ
4

f w L~gu KotltR,J_t.f1ftJl/4 na płycie- D :


tr;clu - 11 arj~T~~ n

Pooobni~ j \\ pop 7 ·dnich r~ zdi.mi, eh. apli k.;i·-ji ". kor0 lUJr: prost}' foifmaL w11:r.l•
ch.(IIJrow z joon:\ lc~sturą:
JE [ ·'S :\ ro ,F 1' 7
[,'

loat y. z.
1 t u, v.
l.
X.od k Ostru il I d S4ru t~..i 4 pcrosłQje niemu.I fl • 7Jn · i;n ·ony:
Te~ {)
AAol llt:łCJt . ~ll~~J.1l6t

f zniµctf19',,lrf(1.
~ AAol1 a,:J Te:. ~ Pola ,.. ej
( 1 C~ILE Ut ~~ •~1 rtteł
P3QC E,AT[_.. cn.r..o~llllHo
F. SE.

jtt,1 O:

• f 'lit eU)
FAfSE:

.Jtd)mą i.stołllł :1JIWlml w nasz,:,j i!PSOOKji ~~ m~ d~rooh ~btm. ~


\\'Gllii:
f.Młujemy ~ pliku ,dd.t. Pr.-."UZ3. illlb:fl! b1bltoeicki wykorzystuJi: para~ _n.._.
• • , tDł Cre lffe ur~F z:,MIZl!f'He03D.
,\ a\,rron.t.dcls· .
:iW~~Pt-i'Edni.a l))

Tylrlq •~ ru~ ł dlljt:ID)' pomQC'-ll ro~Ct"lOitej fu11:keJ i D30 , f ll□ł:c:j W)11.w1w>. _


,..,, ·ęt~zośGci pammctey ,tornysln.c. poza par-1nnewem k~c koiloru. ~ r ~ ~
bidy pik:sct j ~ ~ aa pdną pr.Ge~-,o, f „FFFfF Ozn&C"a ffaim&(I\'\ ro
od o„ ru blałtgo).
r ł~ I LED-fOODXCreate-Te- 1Jr t<r dl •
\' • r
• _.MAa.,SBa.
D3llf'OJ! EO. l»JX OEFt'JJL ...
OJ[li o f. I Is f~ j 1

~~t ~.:KQn 1 UruJ~r dttr. e<•


,jJdef,tltJ &-J'~c er:~~,~ a).
.. r aOH."'11~->~ rłn~ ol'T"rOJ:tlTS_ JEW. _Mr,r-erz ac.a)~
ter Pros. -Ok,H l'h1 ;
Gi!tC11 er. P« C ... t. fi ros cocat(ll Rc1 J.
030»łditn!IP rSDe( 1•, ~o ,LHt"' .c1e, z:lbu u
OOll -Pl I .1 . -
( r 20łl )( 0 rostc t ·na r „ 1. - Pt0stc.. !'::Cltna le I
( I Orl'tQ:5to~a , r.a oo - Pro~to~dt ~r. ttif!,.
l O. OD.I)}:
Jrzad..i:ememo~ Se Tr1nsro t0.3PTS_PAOJECTroo.
Poaf
. •
1: .Zi'
.
kod po·wodu•P
:,~
USłillNICDIC'
· W!-'nfSu\łl~~b
.~!
Wti.nlrkL.., ~,._,,n, 111
' ,;i,
lł " ezasi - tni . . •. -,' ''" U 'ili • .,. ,,,l!łl,,l'IJ N' ..
[IJ BJ,ił: n i IAI

....
d a.r"'owc .. ~rut1 urządl,('1Jltt ~,l.;.Lffi)' tryb ~czerti ~ ttlh ~
o,by 7.ffi:.I \ fflo.sć .,.,._. . . ~

1
vwJteiltrim dlill t'cSIU :a.If'tii lłSla,, ' ooo 110i ~ 'lfll!J ...-
217

1
W 05lnlaLd'1 kiHru v. i~ h uiG m nil:' P~g,óln-c:go. Po JL w sprav.rd7Jllll'I_ • <: • . u:
ubt1.!J~l mstitiy zwolnionc-.
I · k4 J ~ if!5," Oilili • Pr' 7 'I :5.:Clell 0

C •

t
fiit)n.ibzy od oowoduJ • u1worle1n111: bufora v..•ir.'Tl(; otk,0\1; d . 1.ice mi,e du.że o, amr
ii d'L',ra pros~ fy. z kc6ryth ka.2dy _lcl' ~ ~ ~ cnettc-h tplll'lkffi\ • Aioglibytmy
ys:Lywać j '.dcn p i.'lokąt , ,i,;;o,kicj mudyfikoW!I . lrnms:formu,1ł 'i,,ii;L1 • 3łe w ty1n
1-'rŁ!~!IJ(U ba.Jidziej ~pra ri. - it"r ;ru,. flli~ \ ę«',l pmu~i i ;(AIIJC!i ~ M ·oszcic· abli-
l"lffli~ ż."11ą7;mym c:1. ·sry111 w-.~a\J. iariii!·rn '!>t~i mae,i~I'?.}' iwbta:
J esc :cl rzt, U'~Cł

r2'.a,Ut :03D•:-Ct i:a ~ t;,n if,

s _TEKS 'I'),
Y.
,H S.~t.

,;il • )U
re-tur11 SE.
_,.,.n,., ....., ....... ,.-
1er l'!cłl -~ fO.C &:T* S.1-Ho ł
- J ....,. ..........
OlH

.ar.

1ay prttł'fliult us~OiiO til'k., h majtło"Yj,'


•ę" i ryłu, wzdłut i z iDRz 11 ~
1 w lp-t!I. \\l§;JXl~rl~ ct'k.slw)• dJ MJU prost k4,t "W . mkit . lflt.

• J • l.S:
- U: 51. • 15 •

, - - . .5.
- •choi , [1 1 • -O 5..-:
-
C
e C.0 f.
" • ! Of ,
• LO:

- o.-O :;
1d'.c11~csJ . - o.o~.
l c· .
.zcl\ol ( l O.. ,

· .ln ~lCłf I r-e( J

l '
Ruddat JA. • T•lde.ila ....._. 1 ....,.,..J~

'01,:, 11 •C'j Mt n1 )

.. f;?'~1 ">{ -

• Ol

f ~ J Rie t 1 ;'łki któll!'J :t.aclłodzii rac~ste dzfatillłic:


es "" .R~ ruj

Pani od ~wod~i: 11:l CfO'IVilllt l,:.v. • ) ó t ! łftni:,.-•.r_u pros.to t;_t ~lru


,..i.-ł. ~ owarm: lJb•J L ~·tączooe. i.ll_t I ta\\ n·c- a1fa- Viryi~~oo (j t~, 11ł) m ~i
~ z~ ~ Cl • bvf4)ra Z. • ltb}' iny prudni ~ ""' i ·, mimo~ . ze
1.1i _. w:s plk!S li wc;~,;h \\I jego . kfad Jest pr,i;Cu~~ WynHm t J . że wn•
ddujcrn1 bp pol,..:ntty "' ca _ok-i t ~ _ _ 1.m wypdnI3 ~ g.tę:bi. 1~~
n,,e ~~ c ,c-kstu J~ łącZODil tfćm Ponle'i . rptbdr: są cnkov. ii;i~ prze.
l.t()d.) ~te.. Ho · :$t "" pctni , idOC7ilie. :ile min11.> to nowe pt~,: ~fiają do buf. gł br

1•• '.
' f . (l.i:)0,
1erz );
O:
P. il, 2L
l.
l);J
s ·~]P . ~. 2J.

1 ~t:bi i r~ndr:ruJr.::m~• g ' ~ł pra"")' ,cgumplan aką s.um u 14.-i


T .....,"~t przyshmi prosto ąl pr.t.edm. ponii W:tt j ·Eon wsny w druga~J km.i:,•
n ~ , Pon. "\\IBL , gti;bi j~I \,) ł., ...r~■ nd~ov, k j • o '. c.ją ł}1]1.1, ...osaa1ru
plb;el
. ~~ . tym p-r~i&t}'lll pl"7.)1)udl'1,1., ab l,IZ} k rnm·ac: wyntk1, t'1 oglib ray PQ
tu r<:młcrowat pro:scu ·.ąty w odwr(Jm<:J ul ·J□ L al. w pa dku lw-d:t i;J · .-u...
pbkcl ft)'OO figur nwgfob~· lo nii.: 'h)' · I {Wt .

l.
O 1H L
rz'iw1 1tł) .

• O. 11 .

' • 2.
Pflł"p;tilku 1nb:~ $~r'l~pbrzo (I 'N,,")' duLll)• na rysunku ~14~4) n'tO!emy bsc;m ov.
poł i.ony ,e-f~lct dzi<1~JJ1i.1 k:stu głębi ruz •~stu J_, .. Tie • 11 a Jt=S1 1 t; .n ,
P.-.i!:it~c ob ry pr~ m..::~o ~ok nie ry. a" ńc. ~d)~ my ..7-BJ
bufi gł bi po n:-nckt w11nm 'Prudnie:t}C p:r,astok ta. u ) 'IL'Stl))l pOl1 1 ~ ;ru
do bufo o1ó1Ó\\ . T •lłi:o ..,............... :1 niir•pr.l.e7.ruc~i:: 211 ~ w bl.łfor~ 11- g bi. \
Cl"'6••· ~
esl łęt,i ~zy 511 nicpowodZCT1k!m d~ "'D:n&.:.....
wanP l)'ltaqO p~ok~t.a • :,. llttl'nr.zro,c:zysl)' ~ C'c'SCm
~ . gdilC ,pacdru prosto~ f.11,wtdłov. 1: ~jq.tłil1L'ffl 1A•lż:Unłn)·~h f i ~ ~
obml'Ó"" Erctcil w~. ~Y~~ dziabOi ~'SbJJr:n'!)' '6wtlic-ż r»CQO Iii._-~
~ v. ddu.1t!~ D:tłr$ . licf.Cń qt(ttn. dla pm:zroczysty~h
pan.i""'"a i ur'Zi\dnfllC ru~ w)'Mll1UJ4:
~ob.U pr,r.tdł,1egc>,
•...&<.
Dzi"i•'
•K"fflll .uwł,
~
· dla 1/t,~
iu w
.
l:'laSl;)'ffl p~rbic IEf"b)~
plKPOC •
pnyt,:i~ :
t 1,;ai_w w
C ~ ile
\\ ww;.,
J eśl to \Ul•YI ~ r(lł1i''l~!C
_..._.
·Ul.il UYt
c s,ę :t l'n
·-li ,.
..
- • in
~• S
.... , ,._,
~
i ~
JCS1!®c p .,.., ...,.,,,.....,~
:-,• ,

lfll jm w .1..:J tbic ~ Jo'"'""'- ·


~ i~ ~~- W ~.7 ■ 11
~ 1J1itjd11j;"tt, eh Ił 2! '}'hl w pLCr,A,"~g, nles
• L

).

. ' o. 2} .

■ ~I 2, •
O:slntn.i mplan j~_>1lle de , rruj c- dzia._bnir: Ł cuni:1
sposób, w ~• s ~c ffi I I zen th:rn a. 3n
kładrii: oolrczam)' ) rt "'"'"''""., ~ctodę b,sml&S,J Ile-z ' \'
\li z poqdancg,a . nu: " u il. .
do I.J5f!aV.U.~iai ""'~łltX"1111UCt}W tcl3rur}, d la I.ITZąWJl!fl
1
·
11: mom ~ ko111~1 modrfi
htb wmo i w btlfm2c Jl!'n! bot Ili. ust.'l'\Vl11.:n· 1: '1Aad1
i.1,,ydajr:ic- nit „ bł ow" ie t ·1wy lub ibufora "' it:rJ:C . y
i-edftich rJm:iych.
awil!"lliiu "'' pófcZ)'llmka t1;; u,;· modyfi ·ujc;!my opc;r-,M;J, alf8 dl p,mi.
fl11j•. ~tępni4: us am J ł a~ pólc:xynnd( ti:kstury 4ffll
~tcczny c-~ t jc:s.1 ~ 4k': "''est}'.
\V \\ ięluzoścc h: · •le m zrch d\ ·
i;Jl.kowi ni~~lfl~k (2 .S lu · c..al ~w cie prze:uQC . ,te (O) Pom MU
1~ .
z i111Łqom mudyfilw · ,,, s l"Z)"llnik ,~ury. ÓI) dodnj1.·n1 du v,-artok1 al&. war: .
d p, ~ li en.I ·o,,,,i-t;"c ci" Jlll7.<:m>C'Z) y tnilJlC do 1 .S i po~uj ·· ·
pn:e-1~~. ~ . Wm1Q ·i dla pi la p~ltOC'Z},:;ty ~ zwii;J; 1m11:. eo ,·Ot:lu
l, m111cJ prze ~ ~ie. \\r ~r~ ii: prcllni pros1ok' t n p~ •~11iiu~ bł J11· t.: i 1,;e·1mu~,

Puzosr.ul JfiZC'1 ksl Ifu~POJJj \;l/'.JŻ II a, "hśru w.an:oM: rxtinl.'"S1cni3


t Jny pr~to~ będnr.: \I. jdoc7JI)' IP~~ La i sam o czasu JaJ... l'llr.:\li id
p~~"1J lir;.° mn ~!ote o rod . Dl, (.Wł.CZ JIW. m ~ n y od\l,,TOCi" kclc-Jn .
'LI..Jm3 _ i_tóv;. 1 f czy ti.: ~lfu, "'a rt7Ulwde r,owmni. m. U7.)' ka c ·t .....,,....._,,_
~zent dwóch · 10 · tów, \\ m•llfy 1·
I zcdni I ca.·.. t 1.aji: ·i; ·ej
~· t .

or "' 7Jl •u> 1 00 • >• ~J


• Se a CD ~ ..,•.·-E

-~ lor,
Io . l • },
t~
li!

;zJ.
z:wifl1 ~limy iyln, plOS"Et)ł( il lłc~tawimy WSp{,~
Mi'}'kr1 ·
-a~ o. Spo,. •od\JjLt 10 "')'J e m~(!! ti:s.1.q alla który • ąrnaik ~ -UJY z powrlfllem rm
~311,: \ cnu;~ :lllffllctcw:mi11 dv.-och piC11'1.\· ~b JGtt
Ił."',.,,..
:!1mJaf6wJ_. Jest t dzillbiti.e
~gzę._.~any koai:jllię) ram1,;•~
J
..ur a.z -~ at

!:l ni -:-&elf •;.i • ) {I. 0. QJJ ■


,eroo:::.>LYa f e ST1tiP, •. <'~;

pedsumowanie
Jest ce;~ mi rozdzi I pos 1~oon. POd~,o.WtOm, Opisali my pm i ~-i · lkmly się.
j 11weiy two~. pr.a.1.:szmk„ t i °'""'tL~1 "ier.&ietilolki, o fidać IC"b-tury. Zf!ffl·1:nin.t
· l"'l.Choiki m piksck I llR · ni~.., ~~towa_c pikseli:-, :1hy zd$e)',~ • f. ttón": z c( h ~- 'i\1·
• iłlO d<rnni11,:. PQshh~ Sił.; ~"l-!l,'11 metatorn i po\l, Jml, że po~\lrrmm ceytdn•km :Z 1
I
"'·i i _póZ\vt>lę oo wyc:1a~Ie wf..'ISri~ i;;:b w a ~• (lub ro · n:mt."f0\li7aru(: w19.Slly~b
'i\mfo XÓ\ }.

ak: więc. PQC~WS7.}' od 11as ··pnej c~•. będzicm)..- ~bf wd 3!} i uji.:mn~
~ sb derów. 2:anim si\; t:lm m{ljd;,jcmy. !kom I uujmy 11 ~ ~ d)'e:j~ po1,,'tir.'-Jlflfa
* 1

wcó□ych ~głl.dn1 , 1:

• Te.!I gfębL j s, d 01::, lait: ą~ZtlllJ . dzi ,- czemw ~ys u,~m_ ptl'l!M~ •
't>t
~ obiekt rria · ~adHiJ ącc s1i; na s_icb:Jc bł;dlą re-ndt \1,v • 1.)Qprnwme.

f 2:m.1 o.r1ośt bufor~ gł~i j,e l full j plnm1 b]i łCfO i del~~o. Ci . • rzu~
(linu bitu g~1ybokośc1 53mc n0 bu fora 'W !Z)'p3dku zbyt 1111.s&;,;e:J roz421el~•
fbr f\"'b i n 02~ d~i11la · nią)ru~•idlow.ri.

......
~u: angic lbm ,:wryci• , '!4"DIM ·1'" to ~.d "'' cooofu M-. z.:,la oo lolM'lbE, ,J) Oli, a._1.: '"''fi
~i't)p. rł'.km.
~••llcrlllu•__, ...... 4W
..
. all maf)'WII, teclanikę buforowania głębi ż ~
ł =:"-':~i dębi, W ni~klÓl)'<h pl2YPOOk eh "1ok Io bye~~~~I
"" inn.>~11 .aictOl'7.)= me.
• "' ...---.dud,.. gdy . ~rosow~c bufom ~tębi prow-adzi do blędn)'Ch ~ -
~ . .., r-::
~.,"..c ws...l..J-c·nmn 1k ptU$11Ma c;m Z.
O'IOnt.J J.l.Sfmow..u. yv -v ··
- --...
,f \\ r C1lll511: Kfó~,-unr{L bllf-0 gli;:bi u-z,eb,31 prun1 ęl':IĆ, ~ ll'tOŚCt v, bt.1fon,,: .
. . od o,A d"" 1 o ntc u na.tomt::t.lil 1'"1.C 'Wl!i"l)"OU Wiln·i-: . . .
9
\ !J'ł ~iC: .v ""' • • - - •u
oplSUfllC::)'Tlli od[~gło,Śt.

ł ·t est.ie~ (lffltłem 111fa J)O".t\llilł.a na rendemłi łW1ict?bieU6wb. o IÓbl)'Chłłnl......


iPr"le..~ • r i \'V !r-P' u lc~zyoh .kan gra ł yc JeSI llO banuo-~
Opc'.ra<:J:L
ł nr..l(dzic Dilw·l.1 7'i llfIT 7D:"I pny ~e si; do f!NOrl:enr li?ksluJ t.3.1'-1~
mfonnn :_re 0 , ptTZ z)'stosoL
ł Rozszcn , funkcja twor.i 11 i;'.l tt:kem1r 'l wmtn w biblio~~ DJDX ~
j usmwieni Yi arto_ci kh.ieta ·o• dta ~• an 1a proi::rych cfetlow
prz,c~'10M:i.
ł Opc , ~ ·11 ł 7: 1 z k n I m alf j 1 n~ l) f" ubJ ie:a„mo\vo k liłowna.,
:te w,;uto n:Y.l"h1iyć J~j v.·y~ąC'~'.lfllt' w przypadk eh, i L!'<iy wiwny• .t.c nie
li , 'orz , ty'wń.Jlll .
• Test Jfm d ~ Sf!O~bu OOT'.l11Ci1ł1iil pi r ~li. kt,en! nicwadoc7;De, w p117VTkAL.

bstcU1cj złoźonyeh scen Jego ZWłM1Jw.mic tn ie '"'płynąc na zwi~ ~en·


~ dajnokL ł ~Ml . '- .k.1.n..11..-m • mjcsl opem iił w kon \\'al\ą cilui ~ ~ ~ l f r ,
pik.i:;cJr, k1óryd1 li zba WDi i . a· kil.ku mmJ1oraón dla p,ujcd.YJl..,b!j .ramki.
r t ałf urno fi~ j c:;{e nc 00r1u i.1111c pik~ Ii nii..:w jdoc~nYt-11. a •rm
,P01:Vt' b na zmmi:Js7~me cza_,;u puLrr bncgu dQ wy Om!niu oblitltm.

• Zasmsiemi1111c frftr:6w dm te-ksutr. może JXm,oduwnt po'li\:sl wanje ni('(IClOOcaCl:JO!ki


,, prh)']'Jd ru n •konywan ia I -1u alfa. r-1nii..:j„ j i.:dna.k p0 by :mrizeri"
t} • probfl!l--nc-m Można dosco ·ow.ać w~rto ć od 1i · ic-n 13 Jub 1ryb fi IRJ~
\~' nn.jgors2ym ~1,ad · u móżfl.J. \\ ·l~r: 1.yć h.½-t alfa
#
część IV
1techanizmy shader
Rozdział 15.
Atecbanizmy vertex shader
pój~. na ry_s~nck. 5ku.I \Vc~ltł~ sc-~ematu potoku pf?"-etwa1'7anie , ,erzcholków od--
b) ,.,a s1,: w cz et poto zawusm.JąceJ whuclowane funkc,.r,: przet,:;'""L'-Q'
• • • ". ". • ',I
..,,.,tcftłc.en· ·• O.>wlet
,......· · tenta

łub w ta;emmczo nu, ..~ne-J CZę,!iC1 vert ."ihad(!,·. liĄt ostatnich lkilku ro d · .1 h • 1
•• · 1... , • h- . . z z1a't11c wie e
n11uczy Its~Y_ ,, ~ P~~~~•~-cmac • ~ ,.,,_,-u~th:ruu. To dzic:1la napr.t\ dę dobrze. D~go
\Vi~ - ••i.nu --n_1am bieg_ 1 op1SUJ"c l-wadr-.icmk po pra,..,,~j. kir.:dy kwadracik po le,, ·e j lak dobr7.e
spclnm S\r.'OJC zadame?

'a \\')'stawie , IGO.RAP H •99 od~y_Ja ~•ę dy~kusJa pahclowa na temat przyszfo · i przęru
graficznego. I re1.cn rcrzy o~aw,_ah kcerunk.1 rnz,-.·a;u pi:-~ ·tu i od.po,,·iadaU n pytania
sluchac~· dotycz;t~e fur~kCJl, ~tore b lyby przyd<łlnt:. Jednym z l'lajbanlziej in1emują­
cych. Jedn0<:tcsnie mtJCZłrŚCU.!J powtarLanych fyczcn b 1ło umożlhvienie pmgramisc;~
większej kontroli nad tym. co d:1.icJe sir; Wt:\\'Tlątrz k:uty. 7._ czcniom tyn1 IO\var1.;·s.zvto
zgodne mwu~rdlenii.:-~że w.,;dłtJ~ niektórych trendów odchodzi się od trad)lcyjnego ,odej-
·cia do rcndr,;,ringu i o ~,,.rietJc11ia" kierunku t ·chnik mni ":.I fottlr~atist}'CZil}fCh. a bardziej
styłb-tycznych, takich Jak np. r~ndering po. t.ąci kres ~ówko'9\') )1 ang. canoo11 rendenng
0

oraz nowy\.'. h fonn o · \\'iedi:nia. \\ ) c1ągni.;to ,,·spóln \ mo 1,,il, te: możliwości sprL4thl
są wy ·tarcz-,1qcc do wykonywama funk..:ji rendcrin ńl tegt1 cypu. Jeż ·li tył ·o programi ta
zdol:i dolrlt."Ć do wnętrza k.1r1y 1 UJ'.} ska dtl!>.ti.;p do sprz:ęro na nic-co niższym pozimruc.
1

a pocz· tku 200 I roku firma nVidia -.,. yprodukowała układ gef!'orcc3. który był pierw-
szym układ~m z.a.r,cwmaHCym doslt;p na tukim po.zimnu: z.a pośn"Cinict\~.rem OirecLX JO
lub odpowiednich m1~Li.;rzc~i OpcnGI... Vil lem1inologii DirectX taki d~•tcP odbywał~ iQ
za po red 11ict\l,'Cm mei; h:-m1zmbw \'Cr:tex s:hadcr. f 1rma \ hero ·oft Aci ·1c współpracow ła
kilkoma innymi proou~1..·nlami l "r.:hnolo ii, ~by wypo a. c st~ro\.\'llik, kan niczaw~c-
1

raJą,cy h whudowanvch me ·lrnni:zm6w :.hader w dobre emulatory pr gramo\,. {chocm


c:rnulacja progI11mm :aji.:., l hardżo dobra, lO jr,: dnak opisują ?.agadni:nia "-' l):11 ~:1.dt1• le.
miałem na m)~~r shadi.:ry spuę1e.-,.vc, \\' więks:10~1 pr.typadkow or-•~iłflC flOJli: • w~~\ ~
nym „topniu dotyclą aozw1ąza11 programo,v eh. co. prtęhJW~ch). Wrcszc•~ pr~~~n,isc1
'l:y kaU wcęks7ą ontr,.lę nad pr7et,\ar, niem wit:r7 ~hotk '" · owe mn7hwo et moźna
wykorL}~ta · do za1mpl mt:nlo" anma w zeł k1e~o rod7.aj u r;;fcktm s~cJalnych ~~z nm h
t~hnik renderingu. \\ po70 u.di:j c~~~i ksią)k1 poka1em_ doskonl!łc tcchmk1. ~m roz-
dział koncentruj..: . 1ę na pod. law Il.
ł Dlaczego koa. slamy z mcehan i7m · ,, ,,ertex ._ hnde r'!
♦ Dane ,vejśc:m,v,.; ~ '''YJ, io,Nc m,-chamzmów v..:rtex hader.

• htstrukcje verte.- shadcrn.


♦ lnlentkcje urządzenie - shader.
♦ Ascmblacji i twoncn rc sbaderów.
ł Wykorzy tanie hadc=ró"'-

• iszc~emc ~ad-e-r w.
• Proste prz~k~ ztuloeniu " mcchanmruich ·c:r1 .sh.ider.
• riC'.rw za aplikacja z \\ korzysr:mii:m m«haniz ,u vertl'.'x bad r .

Co to jest vertex shader•


Kjc:dy.ś, z;:mim b.,, łn możliwe spaętów p~zwc:in i wier.1..chotk6,\ i DŚ\\·i.ztlimia, ~
funkcj~ pne ztałcani wie12 holków b •ły 11 ·o~-\\ ane przez IM"~. o:r głó '111)'. 3 ll'Z}•
skan~ \11yniki p 2ekazyrwrull! były do karty gm cmeJ w edu ms1.t--ry.1.ac;1 oraz v. } -an·
dalszych ~racji"' Pof ku. Kit.-dy \\ k.u1acJi gr. - znych pojaw·ty ii;. w "O,raJlt
pr7..eksnał«ń i o.świc:rfenia, Z3dama przeN.·arr.ani wier-1;chafkó" pa~mno do ka-"}
p-.l.fk.zncj, 2walni U•lc proc~sor gł· wny do , ykonywan I jnnyeh Z3drui. W l'llDII h ~
cz ' i pGtoku. która zim·icra funkcjt! "b dowa.nt:>. w jerze hoł · są przet!i\ a.n.ani: 7.a .......~---
programów rezydu~cych \Ir prz'i je gr-.atk·Y.n) m. Przet\\'arza s1~ je 7,.a po~ m 1~ .
!'t.l)f'Vęf wykof7,}'SIU.J~ lruld:m:łowe ruwnani.a do obhczani3 oswjctleniu wrerzcboł ,
Mechanizm • vcn~x s.h der sbtnowi 3llcm:itywę dła I:} h pto • mó,, raydcmlrlycb. ~
talC@ją programi ir,;- 'po.sobu bezpośredniego zarządzanja rym, v. jaki posób sp~
przet, ara :.r.hiór wie zcnoi ,.,..• Jcidi programista 7de-cytfuJe s.11; n.a z.astoso,-.,anre !Dt-
ch.:mizmów ,•eJti.:x h3du. to .ey ~k p,4..'-łtlą kL)nlrolę nad .:-po obcm pr.1.~ksziak.a11Ja, os c,
lłilnr oraz modyflkowan 13 wit:J'7.Cho1kÓ\ .

Słowo .,,J\:ld~r ' tdo łO\\'Ylte m1:chan1zm 1.:icniująr.:yJ m :t.i,; byc mc..:n myr~x.. Mec~·
1

\'ertex shad~r powinny yc r.ac;tcj n~z ·want: ,.prnct""i.:or-.Jmj \\ icrzcho!kow·1. \V 1ennmo-


iugii picnGL mt..~hani;:my t~ s 11.:u:n.\ nc progn1mm11i p irk.!'17takauia w,ench • ·
(ang. ~·me · prugron~) Shąckry 10 królk1e pwg.ram). k[(jri.= pobr~r-aJą wi :Lt:hoł i 1 ~TI(
5t.ifc jako dam: \Vcj~iO\.\'t. W) kunują uhłn.:zenia i 2.,Hac. H prze twonone "' r~nt
aJti.y pamiętać. zr.: nu„-chani::tJ11y sh <kr 11rzc1,1.arzają kazd)' z \\ 1erz; holkó'"" 011!1lllcln1
ie J toiejt: v. nkh pojęt.!ie tr{,k.1t ·w, CZ)' t ''- innych prymit '\\o,,

PamfitlBJmy. że najnow~~ gt!nt'rncj c proi.;t: ' o,ów ~raficzi 1ych ;,.awicr-.t1.p\ wi~j trnll)'•
storó~ nit wi ~·.zo ·ć proce orów głównych. Mcch.:mizn) 'ltt!r1c bad1;r p,o1.walaj P.fO'
grami tom na\\ korzyst::inic caf~so h;~o k.r7tmu. \1,' spoinniakm W 74:--~Ui~J, i ~' ~ 'l •
:tośr:i moich progrdmów prawi~ ni~d nii.: bfokuj~ buforów wi ~nchołkóu . kiedy od
~ lł.:u ~,)'Pdoionc tl. ymi. Czt5eiowo jffi to spowodclWJll ·tym.te n,l'łCrerzt prX _
ten o_ i!RJJ •lak du:i mo riwo i, h,; takLc rym, ie me hani7.Tl1} vert~. h de r po 1
nro liwośc1 wykonyw i niem I ,,·s.ey· t rch operacji n \\·i1.:r1.chołkarh. Pra.1W~1
danych O W1cm:hoflrocl'a RU karc re gratkm -j pom1Jp, zw 11rk.o.;ze.niu \11 d.'IJOO r z d\\
po odów · P~ me~· ~ dimi rtuje: koni lin ~ prz s 1t.mfa danych z pro ·ro gJÓ\,mgo
: k~rty _grutr~ ~cJ! po dr\J •ie pm,1 duje kol"l)'S{Y'\':in ie do te •a z.adJDii pr<)(tsól'3.
""Y~~b~ie:J 1
-~n tego nad11je. , kfffd g raficzny jest p~ ja~me ~ ~• so\\•an~ .
dC> ·ko ., ~-mcJ• na Wt.10o , b Jak pmkonamy 1 ' dałsii ~ cz .-: •• Jest ~n zdo1?'~
~ nyv.,an1 złoton,rch oblic~q 'li\' pojedynczym c lu prnc.e.sm11. \\l w•~ "-~ ~ -
1
---Hrftw
" : . ~--
oznacza
.
ro. te karta o-uu-..,'"'
-'=r........ .
Jest zna.c .
CIJUU'uw'. J>?ffl•~o lego. le c 7..ęstolliwość ze . m1c szybua w PITJCtWI.IZIIIW.
niż czę.stotbwośt proctsora głównego. 8ill8 układów graficlnych mote byc :

Na rysunku 15. l przedstawiono poj~io\\


zwi(żłe
.r-.
omówi~ j ego \\'~ i e ko1,,,l'VVI,.., 'Y
t yl)'!S~k mcchanazmu \!cncx s.hader
....,u,, .. n • a nast~pni~ us .!I •
. .
aJIMCl'W
czę:ll4.1 . Z<»:gu,o....,. if len opis w dalszej

ii)i81'1k15._~
,rtjkia, "'J.~era
i,tc}KJniUlfJ4 \'łfrtr.x
,"lradtr

PrzltW8l'Dllil wewnątrz meełlanitmu sbad r


Medlanilmy s~der o eru_1ą ·e1<sze mozJi-.,.Ośe1, po,,iewa, Y'rSZyStkie oane zasila piog;ramowatną
jed'nMtike ALU OeClriostk~ arytmet)-czn~o~1czną~ . zam ast ęcrować 1adhJ s t ~ ~oku. Jed-
110$Ul.a ma mozł!l-..Ość bardzo Sl)'b~ega 1 't'ij'Óajnego wykony.ya ,a o~taeJi wytme~h na
waoo. Jednostka ALU daJe za~1aJ lt1p-szc wyniki Pl'letwr1rtan1a wektorów nil procesor BJówny.

Rejestry danych o wierzchołkach

Meichanmn vcr\f:x shader Jest ~m.1du1mim,y mz dla kaidego "' i~"ilcholka i j go podstawm"ą
dao , ·r,;j:Ś LO\\ą Jest w1er1~hołr..'k . Formaty,. •ierzchołków omowi bardziej . zególowo,
kiedy dojdzi ·my Jo momi:nru twor✓.c1lta mcchanizmó•111i• sh:nkr~al na rmc .1~ajm)'.
że dane o wierlcholkach ni(.· maią s.ciś lc o ·n:ś.lon 'gn l)'JIU, PonLc,,•ai mamy ~ ~kO"\\'tlą
kon1rolł; nad SpOSobcm pr.1etv. ar.1.11,ia "1er7.chotków. moźemy zorg,a111ZO\\ dane o ·it.:ri-
chołkac:h W dcnvnlny spi., ... óh. Pr1yktadowo, jc-.żcH pr7t:-~yłamy wierzch łki prlttZ pot •
funkcji whudowan,•t.:fl \\ celu 1d1 o~" iclh!nia. normt1ln.ą wierzchołka oraz j ego kolor
musim umi ddć ~ odp,-.wii.:tlmch c1ęścisch danych opisu ,...,i rzcholkt'iw. Gd ,by ·my
tego nie zmbm, spr1ęr prli::tworly~by tbm: w zł ·j koh:jnoM.:i ; ll.Z)'Skal1b ·~m) nie 1ą•
dan ,, yniki. \\ przypadku mc,ehnnizmó~ • cr1e. "hadcr d=inc u wi.:rzcholkacłt moi n\
pr.a:::.ylać w do, ołnym formaci~. o ile tylko p 111i~r nl}' o tym, w J ki sposób b tuz: ć
1

le dane M;\ nątr.r. mcchamznm s-hader. \\'ykon}""~mc- Lakich. ztucrek jedym d~a 1.aba\ ,
nie je t dobrym pmnystcm, l)Onic, aż nas.z kod sraj.i.; ii: nii;czy_w_lny. ale ~ niektó~·ch
k.-chnikach , ykorzy ·mjcm t •n ~posnb. a.by , ykor7.)'S.tać le cl c1 >1?lS\1 w u.:r~holkó\ \
które w innym przypadku nic byłyby V-')'korzy~tnm;. ~ y prz,et\\/~rz.m__ w•~- ch~1ek
mo~ · być okre.~1ony p17.ei 16 wi;k1orów wcj cio, eh op1san eh przez 4 hczb zrm.en~
nopr,;eeinkowc .
Rejeab'Y stalYcli .
. ,·erte.\ ·hade:r posiadaj~ d stęp do zbmru lalych, do których w
fechmtim h· de~ mają ttwaly dostęp z ~ra\\P·c:m od Y.)'tlł. .. aJpoJ:>u,larnitj~Z)~
me ~~•zmY-c~ iltalych j.:s• u wwi~nie ma 1t'r.Lv prze~!il1..i.lc n lub mnych d;io)'(h~
SO\tJamem _I) • . holków. Pamięt.ajmy. że m"hamzmy ve.rte :i.had , są uruc1.~~,-
c.,.•JG1tt:h wrełu " ,erze_ . dl 1,,. . ...~r . ''114Ul~
~ J - e wu:ncliolka. Je:żdi operncju J~l p o ~n a ~l.'g,O w1~holka, llzv.
dJa _k:lżd gO L., \ •n i pl'".l ka a j cJ ,,,y1uk JWCO stal . Pn:ykładowo t.am 1·
aaJ warto wy,..0001,; J... . . . • . ł k-.1-· • . Pl?'t-
. ,.·11.........111cjerZ"' 1 1ch pózmeJszego ąc.ze na w :U\I.Lr mcchar11zmu 1......L
k3Z}'\\'alll3 r..hfl.U [■IW ~I '
1·.,,-.; r a7 i nn..ekaza'Ć \.\''r'nlk
M a~yma
L . ' 1· b
na ICZ a dnstennvc.h
·~
motna po IllL:Z)"C. m..... al'. IH ł - ,, .. "El' •
tllll,,
--,
• l'VljU Verte.xShade --co st t rukt\H)' '30CltPSS.
1ecs1 zapisana " J",...

Rejestr adresowy
ReJe.Str admowy je. t pecjafn., .m r ~esr~m ,po7~,·ałaj~ ·_m. na_i~dekso~~ie st3ł) .
Prz, ·łsdowo mc:,i'~my u„ 1aw1ć kllkai stał): ~· a n.,u,t pnrt.: .r..a~•-ac ind ks \\ ruc~l.DeJ
• ~.,. dnnvch opisu wr~f'lChoł ów. \\' maari; pr.1-1.:t,, arz~ma kolcJnyc h ,, iCJ'?.(h •
zi;'"" 1 ., d ,.. .
,,i • k .
u {3\1.'fflffl.Y r-cjestr 3dresowy na "'1lrtOS.Ć odpo\.'-'Jeuniego IR Cl'\..'iU I ~ l.ljt"ffl) ~1IO)Ć
ze w obliczenmch ~dzie \'i ·ko.rr.y ·tana wla ciwa ,talc1. RejcsLr adr~ ·owy mól't b)ć .
~ z em, k1ór daje wielkie możli\i.'o ·c1. ał1.: j~-st ro pr'l\..,dopod bnie tac~ · ~ · •
u
rtóra n uoard~ '"''Prow-~ w błftd. Z pdn m obJasn1cniem tcJCSl.rU adreso, ego ~-stn'i -
mwn i~ do ·z ~u. kicd f będę omawiał tc.-chn1 \ po :uującą w korzystanie~ ie-
.so\lft:go ,,. praktyce.

Rej estry ·tymczasowe


Mcchardzmy . ha.tł ·r posii dają szereg reJc:<,,tr<'~w. któri: m<lźna wykor,y ·tac do prn-cho-
\\;fV.'ania danych w c.1asic złożonych obliczeń. Przykładm.,u ,,. kilku u, trukcjad! ·
cza.my ilOC.l}'D słffii:JmJ. nast\'.pnic mn Ż)111 W)n1k prlc;: wektor i dodajcm) go do i ~
wektora. ~ · c1-45 c tej op,.:racji ,, . kol7) tuj~my rcJc..-sti, t) mc,~'łsowi; do paecbo"W "IĄ ....1lll
~i,;dnich wartości. R: 1.. ·try te nic: pu.10.stają u~taw1om.- na lr.\'ałc dl inn)Ch 11.-gzem
mc-chan1z.mów v.ertex 11 der.

'Wynik działania mechanizmów vertex shader


~'yoj~em dz1ala1fr m ·ha.n11..mu verte. sha.d..:r J ·s pr7c1, •orzony wjerz.,;hok ·. fnJC
niż wc1 . 10_, e dane; opisu\\ 1erzchołków. W) mk ma ś.c1 'ft: okrdlony typ. Pm ·'300'"0·
~_nc: 0P 1 5UJąrc por.ycję mus~.ą być przedsta, iont.: w pr~ck. dnkon~ h w s ~
Jednor,~"Yt? cknu,u, w prze twnym wypadku mcze-go na dcranic nr , z ba: Z}m)'• 1 ~-
nym WfJątktcm od tej genl.!1'alnr.:J z3Sady je t wykofZ) staHic mc...-chanir.mu 'i.:l!te;\
wewn~t~ n chanl7.mu pi el h der. W tak.im przyp dku me, ·h ninn vc~ hadcr ffl(l!t
~tawiac ol~r wynikowy, który nie ma nic w 'Jl4.lłną:.o z oslale<.:mi ~ rend JO\\allyffl
-~m, :natomiast SUUJo""" daną w-ejściową dła rn..:chaflizmu pi el shuder. który\\ • ~'S~
J • ~ dalS1.ego pnet'-Vil'"l oią. Vl . ytllaciach kicd\.1 ni· wvkonv tuicm · n edtaDI~ ,
ptxc, shadef w · 1.. · ..a.. • • .., ' J J · -., .., l'tf
v. k - yru,,,i 11UJalania ffil.ichaniZJnu ertt:X hadcr mają mrtat t ry ,no. .:_
ry :On}'s.t:any pn.el kolein~ • · ·· ·· ''' o(V;
v,, ta~li IS.L · .., e •Mtpy potoku. Pu; r żnycb rodz JO' wym \J z,.;
Te~ kiedy omó,wHi!--my wejście; m wyt~ie h .
• .J,_. • -' -- J. mec amżmhw Vc.:,Ttex slti;"'_..1 • .
s1~ zagaun1enmm w,nycząeym t\ orzoia kodu •h . <!Aller. PfZ)'JrzyJmy
swkcji i pojęć nic bęclz~e dla qas w ~~'" · mec_ ::mi:zmów vcrtt-x shader. Wic'le tn.-
• . lt' ... a,.•1 zro2t1m1aJ.•ch do...Ak' . . . .
w p.....,1,n,...,,
ł- ... , -
•• ale ""' ,llflm2
--
z.-vm
•.2
ro:z..1--
~utI ®piszemy _ ...., ,....Y•· f"U' 1 me ~tosUJi:?my 1,c,h
• . poi!sga"'

Kod mechani1z111ów shader


:Sha.dery 1.Q J«ótkje pro_gramy a pisane w jęeyku bamzo przypomimtjącym j4tZYk asemblera.
P~Y. te są kompdowan~ prze~ pr~cesor głóWl'l.y_ i przekazywane do karty trraficznej
do Vi, ł ...1 c1wego
• •
wyko
b" ,~y:m11ma.
• ObJęto ć s.hadt:rów rue motr.: lt'rnrzekroc"IVć
• • .,,
12 i ns
· ,~-LN,.''
• 'lffl...:JI,
~IJ \.\,' } uaJ~ Sl'c o ~_ęlo. c1ą dość ografliczoną, ale w więksoości pl"1.)lpadków "~•a..rcZII.
1

~ępne 1nslrukcJc zestawmno ,,, t.1hel 15.l. Wykonanie katdej insirukcj.~ zajniuje jtderi
cykl - nawel " 1 prLypadku. bilt&icj złołonych operacji~ ja.k np. iloczyn .skalamv lub obii.-
czenia odle~ło~ .... i. "

Każda z p0kazanycł, ,i.·y;,cj instrukcji wykonuje. ię p dczas jednego cylclu. Ozmacza to.
że szybko ć działania ant.-chani.zmó,..,, sharl~r jest wprost pr1.1porcjonafoa do liczby z:isto•
sowanycb inslrukcji. T iłJ i1 gtlz•c to możł iwe starajmy sir.a; minimahz.owat c~ liczbę. Sieie-
góln i~ uiytc.."Cz.ne mo~ą oka~, się ta:kic mrutN cje jak mad.

Dla lllr...."Chanjzrnóv. ven~x shader 1stmcją 1akże zdefini,;>wooe :makra. Ma ·ra ,~ konają
,Popularne zadan3a w posLac1 zbioru instrukcji podstawowych. Do wykoof\:i..'3Jlia ]:'.M)Jlll•
lamych zadań mogą si przydać makra mnożenia ma.ei(..1'7)'. zęsEo są one optymalizo-
wane programowo, w przypadku progrnniO\l'e:so przetwarzania. ~had.erów. ln.ne mnm
mogą być nm i~j przyd'atnc. pon it:·waż kcme:cntrują się na zadanmch z:wię1c zone}_ doklad-
Dości której z.wykJe nie polratf:mj~my. Wad l makr ji.!St to. 1e mog· on.e przeslomc neczy:
Wistą liczbę ms'trukcj ~ wchodz ·cą w sklacl mechanizrrn.1 shadcr. Przykł11t1o_wo. makro ll\4_AA
wykorzystuje czterv in~h1.lkeje. Je.żeli zdecydujemy .stę na wykort: st~me mal:..r. parmitę­
tajrny o tym~ ze nal~ży zwracać baczn uwagę na hc~bę insttukc:ji oraz~ makr.i Z't\'~kle
wykon-ystują więci,;j niż jedną in trukcj~ podstawową. Do tępne m9krn 7..esiawumo
w labeli IS , •
.....-Fonnat Opił
Przesyła waność zJcdne,g~ ~jcstru do drugietJ,O, hlslrukc:ja t.i FZ)'dajc~
:;s~~~ • do przekazywania wartości. jak np. W$~.ędnc ~ksł\&ry ~ tr*i ~
do mirszani.a (:ang. ~1,·i;:łiłtg), Ta ostalnta opc-13CJll 7. tanie opl.Słna,.,., ~
~i.
w ~ j c ma •ym Iną wartość ka,;dego 2: kompo11rn1ó-w i Pt"T.Ckalujc
.JX }"tl ·•
~Js.;; eo. jt d'o wcllitom \li)'fllkóW •
JSCl~l
\\')'ml.kuj,: munmainą \\':u10.ŚC. katdi=go k.omponel\lM\• i P ~ j t
111
Ją do i~cktom 'IJ. ymik.ów.

,.Ustnw dłll większych lub rłiwa,ch" - T unstmukcj ~taw~ \\'annści


sge •·..,.mponG"ntów w wc:ktorzc- wyników n:i \ .artość I .O JCl.c.l I kompol'ltnL J
,..., . V/ . ~'
je wi\-kszy rub l'óW~ komp,oneatow1 e ~c el . mnym Pl"Z)~u "" ·
w wektor.te wyni.k6~ J~1 u t: ,v1!llll::1 na O.O.

sł ~ . ,.U,ta.w~jet~h mniejsze··. T:i in uukcj3 jes.t ~Gbn do inSU1.1_kcji c;.ge_



'"'jSC @O, prnwdt.3-, cey komponent)' ...eJS eO mnie; Z'I!' od' komJX)l\(11l'Ó\\.• .st,!l.
11 Jsc1el
add .,.1n1k , Oofrc-za sumi: eh óch wd,1.orów dl lkazdcg.o ~ ompoac.'łlt w d,t;ótb '111,,....u.:inv,,
J5CJe0. ,vt-jścfowycb.
JSC e
~ b n, , Obi icza ró..tn-cę di.\'ÓCb W\.-ktorów ~J!it 1 e4) ,_Jsc1 e.) na poZłomie
11 JS~le0, kQn1poncnt6w. lnstruk ia s_i..b ~. rl_. r2 mo ru:'3logic~i: dzi:danie dei tji
JSC e 1 :-!O!j ro. .-· . r2. ego,,
anie: reJe:sU\I J op«'dt"Ją mC:.1,\\·1ąl3Jlą 2: i3dn1m ~
obliacitm\11,'fm, aft czasem jeJ 7.aSll.)S(),,-anic mote być wygodniej5zc do ,;,bi
ObłiCl.3 iroc.::yn dwócb we :torfu . Jak parni~t.'lm). wc ;torów nie momJ
1

mnoeyc be-,{pofo.--dni o. ren iloczyn JC~L I fgcqni;m na poz.1om1l!' ·0111po11em ,._


Pr.Lyłd.a,dmV(I inl \ ,'t:- ise 1eO :,, ""11•.'~J s €' L •
rep ObJfo:1.3 odwrumo.~ katch:go z komponcntÓ\\ wcl,,;,ora. rastrukCJę ti; mom2
wyk orzysla ,,. c,du wykoll\4n 1 dzfoh:ni. poprzl!'1. obliczt:nie od" rotn0 1.
:i następnie ,, ykomm re mnftżc--ni ueysbn gt, \\,' niku.

Cl y 1 , kst to bardzo pr..t)•datnJ jnstrukcja. poml!~ ai \\_'kcmUJI!' dwil!' opcrac-Je


J~c eo. w jt.-dnym cykfu. - [no'.) <lwa pii.:N·s.7c \\"C' ·tOI)' w~j~iO\\t, a na.st4cp111cdocb c
eJsc,et tło ostatnjc..-go wektor.i w "jściow i.: o.
" $Cez
dp3 Dl w, ' . Oblk.ta iloczyn ~ ka tamy d" bch \\ ~kroro,, , " • 0 11)' · tuj.w tyrko 1{7)' pierv. w:.
eJSt1e0. komponcm .
~JSCłel

dp4 lri)'Ol • Ob1k7..a ilocxyo ·karamy dwóch "ck1or6w. \' · ko :r.~· tuJi\C " szystl:.ie ~1)
J~ eO. kompem nty.
eJseje
($(1 rsq 1k. Oblie-1 odwrotnoś pi1;rni stk lcwadrntowi1:go wJJ1f'IS:Ci ~-kalęmcj.
ri JSC1 0 · yłmnysty\1i a.ny j • t komp nent , wclctorn W('J c im, go. o ik me jest
on poddany operuj i mieszanie ang, •1,-i==li11g). \Vyni · jes,11apis)""-" n '
\\ e ws.zy ll:.rch komponentach wełctora -.i ynlkowcgn.
«st Wyn •
jStleD.
Obi it"m v.·ek1cu odłegłości n pod.i.ta.wie: d\ -OiCh "' drtorow w~J c1owych.
11 JSCU!ll Wi:ktor l,,,eJSCl eOm postać . A. d d. d d~ A). na,orniasLw ~sc,el m p(I.
. ~-. t/,d. A, mld ln$truk,cj ui mote by _nic..--co m ••I e cUatąw pn)irz),11D)
sti; JCJ W' dał z.ej C.t\'"Ści. lt1tdy bc;.-dzi~my obs -rw wać j "'j &i hulit' w P ·I)«
e~ n
~ JS.CleO

logp n1 .
Jsc1eO

faa,elł 15,3. ,\lałem dMlł{f»ff! dla m hanirm6K• L r-le:t /wtfc.,.

-M11W Format
-3x2
Opis
L(Jn • Wył;ormje mn0łt11ie vc tom we·śc·
~ mwcg_o pr.re.1. ml il""~ 3:i.:
l-«aClf i.O
n113 'rljt")l k . cirO. W)•kor1 uje rru1otenie w.e-l..1:ci -1. _ •
wq~~Lowcgo rprzie7 m ;er7. 3x3.
Kdc1erzO
:4 ~m . •~h to11ł. W;,kanuje: mno~1~ir: wck10n1 weikiGWL'11n
.,,
"- •m ,,
· ._;,~ li"' ....z ma 1 -,x4 .
Mac1erzO
~ c 1 • ~~~to·O. W~komiic
~ fllDO-ii!'mc ·w·t„wm
1~-
wtJŚCfO\\"CS,O

pr.lC lt'IIL ie,rz 4 l .
Hd~terzO
l yrnk. t orO. W,-konuJc mno:z.emc Wi!ktom Wj:j iowcgQ pr1_..ez l'r'lil.t11.~,1; 4 4.
c,erzO
~Kp ftJn • ~JSC e O dpowiednik insuuk~ji expp da.Ją.cy wyn;k o zwi~.011tj dokL-idaoki.
log „J ,, , ""1Stle Odpowit.•d111k mstrukcji 1og.;, ooj~y, ;nik u l'IJ. iłtksZ-Olli:j dokł~i.
frr frc ,.y 1 ·. Ir: JSC l e Ohl1c-:rB C:t:\'-sć ulam ·ową komJ'l(lm"lltów mu)'-

Mieszanie i zapisywa,nie masek


Jak wspomniakrn , t.""te:-.n11.;j. w kodzie me:chamz.m1.·~"''' vcr1c::.: shad ·r moma 'i''l'konyw
kilka operacji riit:nb<:-1q:7..3jący~h procewra g,etkzn~go. Jedną tak~d, op,i:"f;)cj; ji:st neg.acj~
Dane wejściowe instrukcji można negować, \\')'korzy tuj~ znak mimJ ·. Inną perar.:j
tego typu Jest muts:amie (ang. swc=h11g). któr-e pozwala oa zmian~ 'koh::jnośc; ompcr
11;1~ntów ,.,.-~ktora W-4:J se iowcgo oraz dupli ko,, anie kmnpom.'i'ltÓV!.'. Przykładowo. :s~tt.: ą
1..apisane jako wektor czb.m.:ch wartośd. Przypuśćmy. że t:worz}rm. shllder. k•ó~• wyko-
nuje mno ,'Di„ tych wan~i pr~z ko~i;j ne polęgi 1icz.by l,O ( I. IO~ 100 , 1OOO). '101cm.
zapisac "-'S7Y tk ie czmery wartos i w j edn m wcktorzt:, , na tępn ii.:. dzięki_ o era Ji m;e-
szan ia1 wykony. tywat: je ·pojrt.:d>TICZO. W ponizszym kodzil! hedera preyJęCo. że ·włą c
us.ta.\'to•uono n~ wartości ( I l O~ l 00. t O00)i:
rul r. ro. cl y nent1 ro Sij rrnozooe prze~ 10
r.ul r . ro. cl YJ"ll. p, e s1.e ponen 'i Sil .olOłle' P ;.ez
a os o n~ da$~ J10zone prze OD
Implementacja sh adera 1

Pn.ed utwom.'llr~rn shad rn nmsim)' st · OF)CWTllĆ. c-.r.y nast. sprzęt jl.!.~ w stanie go absh,r;h·
Do 111worz~ni11 shmkra poco:<1;bn Jt= t jego dd.Jara a oraz la,d Poclobn ie: j dekil~µ
fu11kcJr, de ·lamcja shad TLJ d Jinmj~ fonm11 par~m1drc,w ,, ~jściow 'C h. Pa stwol'Mt...J
dckJ.ar.lcj i naJdy go ~ ornpiJown • .a na konie pi,infonm.h•,:ąi.; ur;-.ad.zc,nii:.:. ab. u :orz)
.sh dt."'1". powoduje to l\lh~·oTzen i~ \1,r ka:i.-nika (Ućh \\ ,. llł • do sl~td f'1, który tmoim pmb~
do funki.;jr Sc ertexShade•. próbuj1n: zn:cgófcw.o przeanllliluw. ć kazd z ,mie-
niony h etilf'Ó\1.'.

Shadery a urządzenie

11jpjc.:1w nale,:,.y sp 1vc;l:1 i • ·J ,, ~rsJ :(ha.d~Tow ohsh.rL!.lJje spnd. T~ biąikę pisano zD ·


lok.niem. 1.c SJ)n'it Qbsługuje co najmniej wi.:n.ję 1. l . ozl.!my ło. prawdzie, 1;,,1woh!Rtdo-
brre nam 2n!lr1. funkcję C'.ie De.iiceCdps. ti.pnil! ~pnw,d.1;tmy pok erte oer!ers 00
stmkliury 031JO'tPS8;
. ..~tOe ,' ceCęips{OOOAEL'J' !fR
D:WOC1 T PE-, . t.i. • l •
l C iJ E'rtt def"<!'$l00••030','S,..'ESl'4<1 .l))

Jeitdi o~i; ~ limy urz dzt."11 ie H. otrzymamy u, oiJ iwo 1 • pr.1~·1u , Jeżeli n:nSl sprz ·t 11
obsługll c
ro 3 ha · ;.. • ....T •
mec nt mvw ~..::>. sha-der, możemy m.wor.zyc urLądzenu:. ,,. kor1.)'StUJ
p gramowe p~1w917"'ta i I! w ier-.r.c'.hołków.
_.

Utworzeni• deldaracjl
l)ekJlll'ltjm służy_ w msadzie. ~ ~mym a:ło'!1 co format fVF Wć ~R.{rucj~ pny-
klldach. ~n~UJC ~da. ~Ju_1m1 ~ I lb3 do 'Cź}'n.icmia on.z~~ teh .mibć.
DelJ;mi;J.a Jcsl mbhci} Wari~ , ut'!NoqłlJlliĄ za pomocą_ strli nmkr. w :s.u.rm~ Lun1eje
~~\\' itć makr, eh: sko□c~rt'lnlJt sa~ .Przede ~Lkirn na lrze<tb.

P~"KC makro dcfini'UC 111n.1mic:ń. który ~zie d~arczal dan~h. W,.; wn:ystki fi po.
pmdrlicb ~b~ kron: ~l;o~wly poł(ik. ~j~ wbudo-..,•anych. za.i:.lO!sow-.11iśmy
zmy vcrtex !ilt det, mogą JM}b,l!mć daru: z ~il"lu ruumiau.
strullllll!ft O. Jednak mcdml'I
Dzitki ,emu m~0_ :taprsy-wać wicl'e danych \ w,e~u h1111nitni3i;IJ i ,~i:..--z)i F, kii:Jy
sytua.e-ja ~ c ·i; zm •i:niać. U5.mwm~nfo tÓD\)•ch :tródtl $b'uJaii:ni ni,c j ope-ra.tją Lał:
kositO\vnąjak zmima :t.awanośc.i lburforow. iOpiij~ Nooi: mnkro ma na,~tępu_j c:-..ąponaf~
.·so_s B c1 ~t ..
Mak!ioynlillńą1 it.tźb,: d'ostępl!lycb S'l:rumieni mma miilrlć \\ł'CVt11, trz sL1'Ukrwy 03.tlCAPS8,

Drugie mteR:sująi;e DIIS tmakro definiuje reje-sery v.·cl ci-ti,..,.-e dl 'kM!dcgo r. dt!:Mkn.tó w
wieacbolJ.:a R;jt: ny w .są "8alogiczri~ do makrockfo1icji fammtu FV - opi.syv. .myc-0
kiJb ro~d.zi,al6w wcze ·t'ljej. Postał makrajtsl nast4;pując :
. ,SO_REG4ReJestr, Typ}

ewnąuz kodu sfo1dtn1 rejestry d~~miujemy.Jako \li~DŚCi ... o do vlS. Do t pn ~ra-


metty rejQ.-"tro'iM oro2 ich odpow,edmkm w kodz1(: m~haruz:m6\\1 vcnex shaiłcr 7.4,; ~ 1000
w tibdi I .4.

hlam.tt/ re~

I.W', .at.
(llf.'St€_81..EN 1 [CES
QD~_
,fal _PSllE
~•SOC_DJ FFlJS( „s
{Sfl_5ffC1.: ,
000','SOE_TI:ar.romo
4l3m'SC(_n:c~
i.00'1~_ :te
CG: -TO:COORDJ vl

-iE:(( l

- TE:ro:no.D5
~...ltX~.06
~_1[[ 1
C-661Y•........,.,__,

Dla kuctep z rej~ wierzchołków nllcfy ustawić odpowiedni typ. ~


zc,rawiooo w•bd• i :S.S. '1),:

1)1, ap. ---......


Domyft_n:y fol11'łll l)lpÓW we-Jet~ -----...
DJDlłSDf
- HOA T3
D.lD\'SDT...FL~T2
J~ 10 ró'wmc-t wct.•or 4D, alt cfflllLnl !kornpooc-.lltJC~ USIAwio,iy n a ~
Wekr« IID, llllnjc dwa,cleme-n11 wi:o.ne n., Willltoś.c:i 0,0 0• 1..(J,
SJ.
1

Weł:E« pRyjmuj,e nasłfpujł(:· post:JC (Wi! r osi:. 0. O: O. 0.1 . Ol.


C~ffl>b.ljtowy foii'fiM!l koloru D3D.

Osir.runie rookro okrcśf.a, koni~ dd,laracji. M:a ono następujfteąpos.tat:

lcmz. kiedy zdefiniowaliśmy makra, spróbujmy nadlć am se-ns, amllin_w; kiJq ~ ·-


wistycn deklitr:u:ji:
De a~acJdRoidl1~ 9[J -

DJO'~'SD SJR[ ,\ r-O ) •


0:0\'Sll_RfGCOJ .~Clt_POSrrrn. OJO SOJ_fl~TJL
OOC'iSO ił( {030 S& OJFiC E. 0:W'tSDT 030C o.:n.
030 ISO= ,DC ) ... -

Gdybyśmy pę~rugi, atmsię mccha.rni:r.rm.001 ,ą;rtex sh dt:r już w rozdiutłe 9. IPOJ)f"LeCW1


ddda cja b)'~aby dddaracją oopDwi.a.d'ając„ wierzchoJkom o pi;, ~fyrn OJ'.J"i~e: k-oło
Pon iŹS2a deklani.cja odprn r1u:lrua.b,• nut{llmi11Sc Rrierzt:hołkom. klór-c '-''::V\orryst)iv; •·
w rozd2iale 12.~
,!)e lc1"iC)d!łOZd.2J~l L:2i. •

0,1\:1' 5D S, , ::- .:."!'ro) .


i;JV'rSO)EGfDlJ', SOf_POSJTr 1, . tl · •. •so FL "TJ)
0.JDL'!>D.,)!fGC '] 'Siif_ Hroo?.o , DW'ISOT-Fl a.;r2 ).
0-~',"SO_EMl( l -
~-

a kon it"C przyj r..r,yjmy siir deklara.t.ji z wielorn stn1mic:n~anu:


' l ~rdCJ~~1~1eS t r enl [ •

tl~~so STP.EA~, O)
llJmS.O)BicDJO'!SOC_POSI fON , Dli)•,so- FL 1) .
' •'SO_P.EG fO""~Snf_OI AISE. 030' OT 00.oeot.OR>.
[l:itJ•SD_S,T I (1) , -
~,ll!'SO_REG(OO SOE_1EiCOORO. OOO~DT rL r2J,
· -~o- E''iO( ,I -
J:
~blacja1shadera
1

Po u~niu -..I
®kJaracji
.• ·
nadszedł czar._~ :.tb • doL-... L1 . •· ... , . .J
"'Vt"l'o\; tt.:1ł::ffl11,ąCJI S,lfrucra.
ft.Q~ ,,.~
Z)'TIRO C ta
pGfeg.o., l'H!.• flmceytruuu
r. . kodl:I• ~embkra
• z. plkku . lnb ...,.,
,.i:-,.,..., · k ·1
uu1w" • s OIIJtlfll ov.;.uma~ go do wyko,- ·
orwJ1ic.neJ
.
,o-rmy

bm:eimeJ.
• ~. ••
.
':!I
aJprostszym
. _.
:snos.obem
..-
na '''"'1.1'1._ - - , •
.,. _. rwil:JDJt:· llii:J CZ'," nnosm JC5,1.
\lii')-ll.-orzystame b1bJLOteki D:SDX. Dw1it:. potrzebne fun'kt:J'c to OJO "isSedl\~",...r.n
OODXAss@rnb 1eShat1erF r le: .::.:ioaut: r ona

1eShade • 5-n'l}(lłra. UI 1n- oduSh!dera


•l Ft:R ale. .
R. • ,_,._.,,.,,.....l 1 ri d,ll)'Słlader.
rt „fi ) .

HRrSULl 000'.l'l-..s s l e-Slla • TR ~1'a.zNaDl 1 kuSIB ra .


.
R
LPOOOX'WFFf.R .,11,;l•........ rr:.•5'1 er.
LPOOO: F[R ,

Jak v idlimy. t O\\i1c funkcje są do s teblc ~u-w•_ę podobm:. J~yn:t rot.nic:, pol~ , ,ma tyrA.
~ pieNo':iZa funk.cJ::s pobu.,r..1 kod s.h dcm Jako parami;Lr, ejśc~o~')'.. nntomiit."1 druga wczy•
ruje koo shadc.rn z phllu.1 . Dla" yJ..unic:niil op1s,-ę funkcj~ OlDXA~sem e5hdtltr. Jej ps.ra-
rnetl")' zesrawiono ,,, uibcli l S.6.

Ulwarzanie .shadera
JeteH wykorimnie fwtki;ji DJOXAsserb eS,hader :2-.akoiicry s;ę sukci.;sem„ para.me-li w.,SkOffl•
pll<r,i•anyShader bę---dzj.,; 1..awreni.ć wdtai:nik do skompilowanego kodu sh d'--ra· ~lal11iią
czynnok:1ą j i!St pm kaz.'!me skompilow;;inego shild~'<'.ł do urJlld~'!m . ~ ut1,,,on,,n,i uth\\~:
który meŻlt1~ przekazać dn funkcji Se \lertexSMder. W;konuJ~ się 1n 2 fłQlfllOCą funkcji
Creat~~erte~Shader:
E'Stlli Dlr« JOOe· 1ce-8 Cre-:iteVerteA.5-łlłlder
r
T 1" ~ode,.
o a. ?as. os Hanie).
T 511

der

..e1ea,

11
---
Fu: kcjll 1n poh;.,,, "'a ·.,&,ik do deklaracji sh3de..,, ~r-.u: wsliafuik dO s"'1h,IIJJo~;
bxJ1.1 duidern i ri.vo~y uchwyt sharlC:"ra. Aby un oreyt $hader Prul.W'an.;any p r ~
RI.Qma wykorzy$1tt ~ I r Zdstos .-,i}n,e,

W,kor-zystanie .ałlade,a

Tr:ru. kiedy d} sponujt'ffly ~cb\\.ytem do slmadi;..TI, mo1'.emy go utyć do ustawitmi


1

cllrutizmu ~crtex shtlder, jeżeli T.ajtllie taka polnl:ba. \V 1ym ~lu wy, o!ujelll)I
S@ "" e.sri.ioo ·, ale za1t,iast fMIIIIIU l'VF wykonystujemJ· uchwyt do shadera. ~
jak format l'VF iniom.owal •Jlrąl o spci obie pr,-.,1,vauania wierzchołków IJl2tZ ~
funlo::ji wbudcwan ·eh, Clk uch11,)'1 do shadern in formuje
Pr.ietw~ć wleracłto!ki we\\~ą•rz :ihac:krn.
spnęt.
w j aki Spo<ól, JUld)

,viękno&:; Pl"-O'PS,dkó" fcfy r.a~ 115tawić rude shad~ra. lałe !<! naJefy USII.-
W ~ff
~ "Y\VOlani~mi fuolccji renderingu, klńry,:h shłlder nu, dó!yczyć. Wllrulśei ll"ffll!;
, ' "'Oey", dop,il6 nic >Ostaaą jawnie 2roodytiko1•ai,~, p ,niewat shodcr nie 1111l.k id:
modyf,lrowat. Stale mech~ni nu ~<:,t.,x shadcr usta"•• się, wywołuj e m,,'IOd . ~ ',e •
eXShader-CcnstJo;

-ESU. r ro1 r'et t JOO,Mcee .Set ,e, >Slrade c..,"l an ( •• 3RD R~;es tr.
00'1'S vo1d "'.00 neSt il l.>t .
L ClbiłSta bt:n J .

~ są
l'ar-omtD" Re-J~S t okrdfo lale, ~tóre nal~y u 1aw1f, notom i I bufor zawie,a wblci0<

~ !,ę
dali·.
13 ~JJilll,lt.lJmy, sralc wektomn,; kiadaj cymi si~ z zterecl, wattoki typ~ ' ·
1
są Prn·kładowe.
~ - 0, , paramu1r
00 1 Cl~Std ye definiuje lic ,vektorów. Jet.di lic,!,;a ,mi,,ch j<!I
O 1 SIJII•
,. ' . ~s.ti.1, ·eh, loolojne
w,~l'lJa 2· :., wektory. · - J
w-lawian.: 11 kolein w CitJl,l wt:1•
c • C • c I cJ. lliJ~C2}' zast.o.sować n stępujące w wohtnic:
~r·
- r, tlze en:io.,5e krte..s...i . r<ons t1n ro. , a , e, llane. 4) •
Niaaenie sllad,e ra
Po w konysbniu hadern (7UwycuJ prry kolicu propnu) n:Llc-zy g-0 ustm\Ć:
fStlL w, -ce 3DfJe.\ 1cea -oe e en1?...sha1.te• _ • SMoe-ra l.

y..woranic ,te~ metod>• powoduje usunięde sh.ader.a. ;i:woloienie 2B3,0m\-.i • lk1óre shadc1
""''YkorzystuJe I f>OZ\li/ala na ;pr.zejscic do następnych c.eynnuś-ci.

Zastosowanie shade1
1

rów
do figur tworzo:nych za pomocą obliczeń
\\t nicklórych przyklad~ch rwt,r..:yliMn:.-· bufory wLerzchołków dl~ figur i '"~i11liśrny
je wiell'zcholk.1m i o określonym formac;c t FVF). Wi ~rzcnollci ti.: m0-ina wykorzytnał
z mechanizmem \t.:rte:r-.. !ihader. Jeżeli forrnl.'łt FVF odpowiaoa formato,,·i opisantmu
w dcklaracj i ~ hadc-ra. \iVysla.n: ,_y usttwić verte shadt.'f i re-ndcrowa~ hufor ,ui!rachdlkóv-•
~ wykorzyst.arn~m metody I.JranP -n t· i.ie lub Draw ooe· erl nm1tl1le.

Zastosowlanie shaderów do siatek


fouli siatka nie-jest 1. p1 .ma \\' ormac,e, którc,g spodziewa s.,i sh~er. to zanim ~dzie
on mógł praetw3rzać siutk~, Dii:dzie łr~błl ;zmodyfikować fom1:i.1 w1e:rzcholka z \\ ,ko-
~ staniem mt.:tod C1o· eMesh:
Prosty shader
Ro~ąkm ().(00~ jani~ h dtró\.V od najn~lC ► poziomu~ opisu J:IOS7.c:.ieeóme .
&trukc~. ISl pnie omówrfcm nujv. _ po· 1om ti.vonl!n111 sh detó~·, Clpisuj , .j 0
~sób ii: JC l\\'O zy. T i;t"UZ spróbu~cmy połączyć t dwa 1c_rne11t)· 1 opow1tm 0
m , h h11d eh. Pr~.a]izujet.ny .l<illkr. piodsaawoio.~·ch opcmcp . .które • l\fje- · -
k.U!dy h;:id!!r. D.zr~ki temu LIZ)' ~y pt,mbv. do tworz nia baircbiej :zl~nyd:i n..
11ów w d:ils2}1:j c7Ac ei.

P3mr.~ ie kic..-dy pu.shigjwalismy !\l'i wbudowanym poaokiem poJe Jism . ' 1h


il}'.
l:rm. oo potok oferował. Pluks.1.1.'łh.""C!nia o..~w, tlenie - ,1..s~o. ro było ~ t,,,
d ~~- Teraz m~imy sami się o w~o 1; tn)szCly •• Rc~znic..'Ol)' od pn. ·

1P rzaksztalcenia w prosQm shadene


~ roidziaJc 9. opi~li~my. w ja ·1 po ób pn:eks1.ta:kcnia odwzorn\1.1.lj cbl'l lD n
nic .2D. Ur7.ą1.h:cr11e wy or.zyst~\i, alo n1 e1cr✓.c rzutu , widoku 1 .wiat w II in--
~7.t.'lkcllra dan) 11 o wictzdlOłkach 'li J L-onuroone " f)Ółl"'.L~d.J1c c-kr~o1- c. T~rąz muiim}
to zrobJć ·amj_ a.wi~n1 nolez pomno7>·t: m ·icrz~:
1"1 • • Cłl!!t" .. .H C e
,ei
Chocrat m cu: z 7aWlt.:Głl \VS7.). tkie dJ111; o pra'k.':i'J:takcniu, 10 me Jt.:Sl fJl13 J ~ g ~
do 7.:JS10SOWAnia. Za. cmlc lepjcj i„'łSl~, owa ma.cri; z ll"Wl:,iponow,11111 (zobac1 rozdzi •
Jes.uz raz ~yclłodn Hillfl 1. pomocą b1bJintcka D. DX:

~.nci,m; transponowana jt.-st gotQ\Y".i do przclc:uania do ih, d~m Jnko 1.b" , stafyd1. UJtl·
WU}ffl)' kde >d Odo C3 jako Wit:r.iZC ll'li.!Ctt!l'Z)':

Po 11· ta~ icmru s:t~fych shadcr mote Je wykor.zys1ać w celu pr;;4!tw~nia witM7,dlołkOV.·
Te-.-a_z m • n .P ;,,e.an__ruizo\VcH.llic kodu ,•'-.'.Ttex ~h, dera. K y z kompon"'ntów ~~' •
Cllniy h WJcrzchufkó""· możQ znałexć. obliciąjąe Uo zyn "łmł11my p ey Ji v.n •o.ieho1
oraz k.ai-d ·go z 11 iersey m cierzy trans,pono anej. \\' rozdl1 Je 3. do,11•rt■dz"eJi. my
1 O O
.V O 1 O
O 0- I
[
lO 20 ~

i;IJ ( , O O, 10.
~1 • C'O. 1, O 2c:1) Oll'o•!r ~"'r=O
c:2 • (O o. 1 :M'.I) CfJotr •c1
c:3 • (O Cl, a, , • oPolz ·..cJ•c::!
oP w •~ • -c3

Kod sh:adern pokazano poni2ej;


·,s. l l
~ oPos • •,fl. co
~ oPos y. ~o.'
d oPos z. o. c2
dr.A, oP'Os • vO, cJ

Uńawianie innych danych ,opi u wierzchołków


1
W kofejnych r'01'dxiufach będzu::my w intert.-sując~ , posi,b pl"Zet\, zal- kolury oraz wsp61•
12ędne tck~•ur. ·a raz11.: po pros.Lu przekazujemy te mform:n:jC'. Rob,m)' to 2 pomo
instru ~i l!)J ;

• oOO. ·15

Ten wi~rsz po",.•odujl'. prz ·k:!:1..arue kolnm wu::rxchołk3 poprz 1 shadcr bel modyfikacji.
Pom~mo t 80 'ie nie" modyfikujemy dlłnych, \\ d l rym ciągu r usirny npiowac dao_i;
z rejestru ,vcjśe;.iQ\',,'L'go do ,~jes.tru V'I ynikow~o PL!łn hJdcr omów;m podc.l an11h•
lO\ anfa przykł~dc)weJ ap l ikacj1. NHJpicrw jednak om wi z11gadn1t~1a zw iąlJlile 'I. ~'Y-
dajnokmą,

Problemy wydajności
Pamiętamy, :i.e vt:rt-C shader Jest uruch mm.n ra1. dla każdego w1t!F2ch ,ka. Z u:go po-
wodu jakakolwiek op ~racJll dolyczą; wieiu " ' ·rldml Ó" puwmna by " komin . raz.1
a jeJ wynik powinien być pri:ebzany Jako stnła \\r' przykt, dz.1 · prosL,:go s'had m mogl •· my
250 Cą-U IV • Mech~,- ałlachtr

f'Z) tUJi:;111

r,;.,."(lr-.Gą d hodcra, pan ·rn •. u :ił.d, inst k ~ z. ~m · je c


gm.n 7.fi - go. l:itwo ~. iw e im batdzi~j ~ omp.'ikowuny
zajml!1 j uru 1 · b mozć:my po7:haw1c h:.1de_r •0 i:
ló 00 \' 14:I ę·dzon 1·,;h cy kJ i podczas dz1a łi.l.llta apli t •
er Z31\\: t~ Y. , ·ro ów.

Kod
Koo doł ny do t...-go roał7.r łu jest prosty i konccntruji; si"' prze wsi:) Dl
\\ "eruu pm'tesa vr:ne, ba:dcra, Pmwócimy do aplikm.::ji z rozdzi lu 9., ,n
r.re.k zw ·nia ~dą odb} ~ ały !i:i~ "~½ nąt 'L shad f"J. Powinoo 10 n m
ml "' córyth ~~icmy1 J>lltr.teoo\, ać do Impknk:mo\\ a.n la praw l\l, h ~
w o!cjnycłl rozdżj t eh. ~ rysunku I -_4 pokazano mu1 kranu dzjafaJ e-ej h
pli ~a ~ozd.z.iału 9. pok~'WiJł _(:zt lj' ró~m; widoki t.·m~u. n tomiast J} •.
~~ r„ m ro7..tU1.1le- W) korz)'SIUJC Cylko Jl!dcn 7. nich Z punkcu wrct-:c-n,a bn ra 'li ·
,e anu te idcn ycm

Ay_s:ur,ck 1.s.4,
lJ.ordrxJ p,rwa
trp//Jacja
ior.:y,ngqro
shado

Z' • my od pl.ilm n.uglćwkow go - Apli 't.u.')aPrr~t;•I ·rter Ja


ilCJ 1Pros e-r eKSha1~r pu 11c l 1 acJ 1 s a
put!hc·
lt,lrpł 1tKJ 1 frost,y't e~rt).
v1rtwal ~l(Ap i ik~cj P.~ '='~r (!~~
~ !1 r {) ~

pierwua :z ponmzych funkeji jesr j edr)'~ nową funk .


wana za k1żd)'ffl :rau:m , :lticdy Ur.!-Ądztnic jest I c:3" "' apLikaqi. Jest ona wywol)'...
duplikaty z rozdziału 9.: wormne lub odtwarzane. PóZOMale lo
tfU:SUL T Ul 2.SNóe C •
B(ltt_ W)pel111J~.ri 1Ł"rl(ht,1 O:
U Suki 1e ze 1 [ ~:
~·o1d lnl$Ztl&i1ari 1l?~zct'lól k.CJ:

1rt_ 1 BQDl Pol 1m CJC!Wi1n VO:


,,- ttual 800l ił zedlnn ttzen, :
v1 , ti,a l BOOc. Pned0dtlfl1Jr~~mer t);
v1rt 800L PcO::I rie,411u():
r.- , r clił d RenderuJC):

LP0Jlt[CT30 t RTDlBUFF R! _t!Su 1erffl'IOI •

nJji 'TIU _Jrł.J c1erzSwia a:


OOOXM'TRIX m_ c,erz~1do u.
DJD)'.M!l.TRI X rn_ c1erlRzut :

Uchwyt do shattera z:adcklarowru,y poniżej idi=ntyfil"Uj~ s,bader w ci.wsie jegł!l twt1rnnw..


lllSlaWtarua omz. niszczeniy::

Ponjiiej xnajtflllje . ię kaci irn;pleme:ntacj i nowej kl~y. kst 1A:I ol«o zmotlyul«ńvrut wmj(ł
llrodu 2 m~ału 9.~ dl.a.tL~n omó,viii tylko uowe elementy. (2ylel□ik6"\ ktÓJ"ty n1(! ~11
opjsu kodu 2 rowia.tu 9„1.11ch~t m~aby to zrobili:
nclvoe ·.t,,ph arJ,if'rost,"ler e.i:~hadi:r "

W dalszym ci~-u twc)FŁ)'fhY fOtmiH FVf. pomimo tego, 1J: 11ir; p-r~emy go do funk(ji
Set'ierte . de-r. Fom,:at FVF jest w d:i.lszym t i @ ,V)'kaf'1YS-l}'Wmlj' w i.e tw~el'l;a
bufom wrer1...ehołków~

-
~fme D:m! F' FHOS Mi rnZCH C0'? ~1/F ), Vl
- OJOFl.'F _Dl FFUS.. >

s f\JC PROS ' ~IERl(!-,Jl['

'
ne l CZBA_,. tER7CH) O: 20

, 1ka J1Pros yVer e~- ~ner:. l1 ~cJ1Pros y/erte SńJder{

-~ to 1e KOOlk - 1JLL:
aa

-ant u()

EYTYPł:_REf: . zł l,

1 t (b, . r. e;&icMfer\'ers1011 - 03[)1fS 'IERS TON {1. ))


l
~f ffAU ED(Ut~rzP OS, t • J Rl e( CIC fl)'t . 0300.t 'r( .. HAL.
~TE'_tii!RDl<AAE':_~'ERTflPP.OcrSSJ tJG) >)
return F'A St~

1 · (FAt EOl rzProstd/tfJh„o me( _oo t. DJOOf D'PE Hi'I


030CRE"ATE_SOr'"Tii'AAE \lffHEXPP.OCE.SSj l
retur F)'1L5.E. -
l
_ r"L.ddZf 1e0!:l->$P-t IY.l'erStilte„CD~S lIGttT[ , . fAf,.SO .
03llh'id n !de tł YC _~r:-1erz doku); -
P.ECT Prost n N,
G!tCl 1ei ~e<: ( _1,JC ~t. &Prostc~atffi:na J
D3DtM:tt r1 ll'Pi?rs-;,ect •eFo•,l H! _~c1e.riltt'.~tLI .
OJOX Pr / ..,
( ioa )(Pr~ti,;' at0t.lli3 r1gh!. •
ro.:.toka t na ief ) /
(float)(P·osto a na.oott
l. Of. 100. O ) : Prostorat ·na.t<lfJ).

Tworzymy sJ1ader, JeteJi en o ra ~ . . . . .


aplik.a.ej~. \V run, . • pe t'Ja nte powced.zae r~, nu; będzie o~u konlymum'r\
~- •.rm lfIJonumcJe wykoocmic funk ., ~ . .
uraku obsługi shader6w, Jen:-r ~ . . . tJ~ mo.c; • me powiesi; si~ jedynie .:z p!l\ 11d
• . s1i star:ue, możn,11 utwo 7.yć Uratdzenie REF:
1 ( FA~lEO(ttt r.QriSnao1;1r(])} .
r-@turn f l,l.Sf:

e-t1.,;rn Ut r.:&J on,, erZdloJ O.


M111r; 4

Po odtwononiu urządzenia tworzymy shader pooownie~


1 . (FAlLEOCUt rzSJ1aderO))
ret rn F SE.

etun'I Ut iMJr ar'ł41 erze 01 ( >.

e z,IIQ' o
tUC28A WlEIIZ
S"'lleOf( -
OOOOS.ł!GE
030F.~F_P Ctl.
~_Dti:.JJL .
-"' ~1~rLct-iol )))
re rr1 FALS{~

@ :.u:ho1 ,
s,1tt,J <Fr.OST <_ IERZOO.ttn:
pel n JR.:J o er7r.hol O.

W ro~fole 9. w ~ym m1eJs:,cu ustawiahśm crte~ shad r. poniewa.ż m1etkŚmy wtedy do


czynienia z formatem FVF. Teraz v-~orzy rujemy rnediu.m:tJTI)f ,rertex soodc1~ dlatego
IJStl\ iam)' \'enex shadi.:r po Ul\'1/'orzeniu · hc9dem:

'lOld I pl1kacJ tPr'05t ftrte ~Shcl!ler. ,zn· szc .Ru o 1en;Chol O


{
, " ( _,.BurCJr er .~c„ 1'.)
t
~au orllie zcrv0l" ~~Re faseC).
m-nBu·or~1e zcno · • l:

\'tł d ~1 le. cJ11Prost:,- 1■'er e:.Sn.ade • ·Jteooerv3()


(
OJDXJtJi TR l K.ac,~··zOn otul:
O.JlXf".ATR l c1erz0brotu2.
O'.. Xr-'A1R[ M;Jc1erz rzesun ec1~.
D~ lR c1er S .al „an1a .
rot ~ ( 1o )Ge Tlck.C<kln <. I 1000.Q ) :
030•~~ r1xRotat1onZ( ac1erz0b , •• -ffloat)Getl c~cou LC) I ~.Df}.
ooox ~t 1®ta toriZC . c1er OtJ o 2,
.t.1erlSwidta "' :iac,er.z ·1do u ,.
- _Ma~ er ~;utw:

Po pr.zeshntiu macierzy do ha.dera moicmy roZJ)(K'ląć ri;;ndcrowanic~


- .Z~ilłzeme-030->'Dr,r,,Pr1 u •,e(OJOPT_PO ~ '.Tu s---. rJ. _J(łllĄ_WJEPJOO. };

return ROE.

1.. (! _lliłuttJ 1er.{Cłloh.)


re ur FALSE,

PfiOSTY_MlERlQO. K ~~1erzcMolk:

·or~ fildloJk~~oc rn.


liftfRZllł1i ).
7
LrC eA_!,'IIERZOO.KO. ::i1leof(P!tQST't'
li't'TE ~ll\~lerzd1ol k:. -
f OJH
łllW1 er .7:CPml lc u
"' 1 r zcho1 (tfi
1 erlCM llc{I

· 1 ·l l........
- ·«s] .kolor - Oit ff
r •

-::-Un l «x:k C) :

riN rn

hRE T ' H aCJ 1PrO$


ł

P~e\\"li: nasz - h1;1d L!r je . taki prosty utworzymy o , k . 3 . . . .


w Lł:~za n11 koncu katd :J lin ii .• pne n cz J
odz,e. ni \I, pliku. Znilkl końca
om.; u 1Il ascmble !-ihn.d rai Shad „ obt· .
,'Ioczyn •·„aI m- wek łom w,e:J. ciowe .
•o oraz Wd. . · er ICZil
i um«.- ~ cza wyniki w kompon ntaeh rejrr: mu ""Ym:~ w~crs~ lnńcicf7.}'. lrilnspcm~,~
miony kolor rozp1!'s.zaj c do koloru wynikow~o. J ~ 1~ na/ ' ~ •11.}C ~h: ~~mlć­
11

~ ztafoone ,,·,e.rzcholki :r. d<łłnvmi o kolm.r./'r "ho.tłt:nJ 1pro tszy shader mQ~. c
• .:1 zapn:zenlowa.n~ w dal ,h
ro.zdziałaeh Zl!łłlcro i i: b:udz1ej skomplikowan :
• a .,. • -·

• n:> c
cons clla~ 0 rost ·S ~der[] -
~vs i \n-
- ' oPos :.:. •O, cO \n·
oPos y. ' O, Cl \ 1•
• ,., • oPos 2. ·18 . c2' \:r·
"c'?4 oPos ~ vO. c2 \ •
~ , 000. 5 \ ••

Poniż j znsjdujc ~ii; dekfara :.1a haocn1.. O re."la ona t.,:. "1crachotki.,, , orL vwant
przez hadr.:r powimiy z:lw1i.:rać wek lur pozycji oraz koloru. \ i,,;rnh(IH:.i będą pob1trane
ze trumienia numer O. Jc.r,eli " ·st~•ą ni ·1godnoś.ci pornii;&)· dekJ rn ją shadi.:ra a or-
lJlłłtem Yii ie u-holków. s:h:idc-r ~-,ędzfC ł' orz. ·I nieprawidłowe d~nc lub nJStąp~ · o w1u,a..
1

żaden 2 ty h cenanu. ~y 111e J ł 'J)('lź:·- dan :


le dfr!Cj L •
{
D30 Si• CO).
031J1.rsD-REG<030 __POSHI •• -:- SOT fl! 3)
OJO'l'SO-REG(OOO ~_D[f USE. OOO SOT)JOCOLOOL
OJ01tsrCE D< >

r ~Bu er :Bu ro,"SłJ.ad1=1ril,


t · Bł.I er ł edys.h..-lder 41 •

ajpicrv.1 dokQnu'em}r as4:n,blacji ł1 dera. ,rykorzy tują,: bufor ma.kov„'Y ~a\\'te ~llC)'
kod :shadera. W tej ap1·km::j i kontro] ~ęrl ' w jest mmim lna, le w ~ • v ·• ·eh za.st~
sowaniach by mcńe trtt.-ba by było sprawdzać zawarto ~ bufora bt xiów. sd)•b}~ ~mbłm:Jlł
. . r(
->'iet ().
St-ade ~. On)
...-.n,r-n E_F.:Oll ~

Ostatnim ei pem j ~ X1t olnk-nk t,uforów ► kt~rc wyk_o . t}"\\'alismy w c ie Prot


~ ora.-oia_ Po mworaem u ha dera bufory • taJą SL nI epo zcbnc:
Ol'Sf: rd-:>ł.e e~set)~
\! ońCtJ ·am crtc Jil3dcr. T aplikacja je... t prosta, zatem m02t:my u uwić,.
u.i;tm
shadcr "" cym rnięj · u i 7.3JJOOlnjc; · o nim. Vt' inn}'i.:h pJi ja.eh. które i. rzystt.ij \\ •
niz jock"D sna&..,.-, być mote ~chr~_t17x :t bardzie~ n racać ~wagę n •n► ÓJ}' z SnaQtffni:·
jest lf"11 i w którym momenc1 ta aktyw oić "'y~h;puJe:.

Podsumowanie
W lym rozd21 fe zall-dwic .dolknęh~my„ poosta ,. dorycz.ą ych h dcró\\•. J , root)'
Wiltn . że .nar żafo ob}aśrtił poj~-c1a taki~, jak im,rrukcj - t::1.y rodzajt: rej~. IJÓ\\ ..
j _ t ioritntow ć Siii w f'll!C?:-Y"' j tych możl'iwr1:sci.1 h ·haderów. dopó i nie pnca? '~
2\IJemy technik w kolejnych roLdziaPa h. Jt=żeli ,,::-i.1 jeszcr.i.: nic wjc:my, j kje mot•
Jiwq 'ci sh.•d'erów. nie priujmujn) si~ .• famy na to du.t cZJ:su 1 a razi~ za)Nłmi ~Ji}
kilka ważnych rn formacji;
• h.a , "r/ pobierają d m: z r.;je~trów \r.'t:JŚ 10 ,i. ych i r~pi. 11ją do reJ trów
-w _mikowych. Po drodze mogą ·or.cysta .l'C tały-.:b oraz r'CJ esuów ., ~z:iso,Vt. dl
w c łu ,rykon, , rui ia n.(!(;zy'\\ rs1 h oblk-Zi.;D.
• Rejes.tr d1eśowy ( (1ress) może tuży<: JB ·o ind~k do reje. tró,i.• 13~)' h.
ł Liczba jnstrukcji, jakie mo c zawi ro had r. j I n 3n iczom1 do 1... .
• .Podstaw<J11 e tn trukc-je \\'lkmz-y·tyw ne \.li' ~had ·r-Ach sini d4 wy on) '~~
pr - ~h ~ racji ~ ekto~ h. ln lrlJkcje ,i. -;, <:go rz du możemy onf"-X,
gr\JpUJąc m tn1 1 pod I \\10,vi:.
• Maiera dostępne w m e c ~b \'crtcx shada,~,
wytonyst)'Wanycl] właściWó~i, 1111t: stosu· ·e
aby nit- przekroczyć liczby dogwolonych ~ :~2>'
~llslcr616wdo~
t.achować oarotnołć.
ł Mieszanie, ncgac,3 Ot"ai! Z'Qpisyw.•anic ll'tUdc 'fa hie_twy-Jd .
s~one .,dl,lflnO"Wlf" - rnje wj ~ię z k.O!ilł~n, -Lr . C' PDŻ}'ttt:tne operacje.
l'l:.zemowyrn.
'i/V

• Wydajność Zllkż;• CJd lic:n,y insa.rulccji, Im mnitj i8$1ru~cji. rym w ~ 'W)'dajllOŚC.


• przed unvOt'lcnicm 01?.ądzenia Wlłrto spmww.it . cey -sprzęt ob •
,kali wządzenie llil:' obsługuje haderrów -.4cz.:i.11 .SIM9•"'"' • s1uguJe s~dc'!'·
W!C'.tzebolków. to powm1110 obstuywać Je poq ~3 PTGgramow,c;~ prictv.arzanra.
. . . , . yvu r· -"t ...:>Wil!'go PJUl\lóm"l.aJll

w 1.en:cho-tków.

• Odu.ara,j~ sh-ad~m luzy do 2deflnJow~ic11 fomllitu wajsc,rm.•ego ibadtrm,


(pódotinego do fono ru f). f omia• w,encl'lolków mu.ioi ti,~,t lgO<lny
z d łdar.1cj hadt."tlll. irl.ae~j Sfo!der nie będzit dz.i j t ·
t looc.zej :!'Iii poto _ fohkcj i ~h~duwanyeh. verte,;. $I!! dery mo_@ą prutwair■lJł dane
pochodzące z ~·•e~ u s1rum1en1. Po;r.w la to na !ąc7.~nie i d'op,asowywilnit: mmyd,
IJiUmieini z:11"1,,•it:rdJlłC)'ch iró:me elt:"men1.y wit~eholków.
♦ SMrlcr;' 1r2e1Y.i rmaj pcerw ~c:mblować, a n st~pn;e rworz> w urlt4_d!7,.en iu,
• Rend~n)ww,ic prymilywó, za pomocą mcch.ttnizmów V("rt~~ ~h et~ ad1J •~ Sll
lllk. SflITIO j11k ,,.. poprzednid1 roz&iamch. przy zaltMeniu, te formm \J, ierLChol.ków
.ti:~'il 2 od'.n_ z deklaracją, \V„ korzys.tarfrc siatek m_o,że w..•rmagać modyfikacji
fomiatu i~ncholków.
♦ · ajpros18zy sposób wykonywania przez shadtr pr.z:elic~ pn Slr.reni obiektu
lfU:I pr~wM!ń Jn11~ry po ,~~ na \,.'ykorzy~r.tmiu transponowMej maci~ ,
przel{sztnlceit Prosty ~od pn:ek zfałccn zaprezt.~IQ\'ii'ilD w mym roz:dzL111łe Jest
~wtarzany "'tele .razy w fQ/-Cziałach kolej11)·ch.
+ Powtór;,ę ~o jeszcze raz. b . ro wa✓.n r; - wydajnośł zal~y od liczb}' in LruJu::ji.
Im mniej in.1rub,;ji. tym większa \:i,ydajnc)ść.
.
Rozdział 16.
.
1tecban1zmy p1xel shader
-

Mech~}' p~el ~lladfJr są_ an.alogi~ ~ mec:haoizm6' veru;;i,;. sbader. z lą rótni~


u 0~-rują na pikset:icll z_ammasm na ~ru~rzchoł,kach. Po p~k.sztalccniach wi~noUrow
n11Siw,uje it.l~ts.-yucJ)a._tróJ kątó~ ~~ P~le. któ17 ~ u,~,.·ane do,bufora _zapas.o,wego.
1
w poprn-dnitcb rozdzua.łach pm.., 1edz~d1śm.y„ w Jak• sposób opera.cJe na w1.crzcholkach,
koforach i teks1urach"' pływają nu kolory uzyskiwane n~ ekrnnle. W~ rQ~dzialc pt7.e0-
stawię pojęci.a związań~ z mechaomnBD'lli pix~h sha.der. Pojęcia \i: nabtorą b~iej lfdle
ni::go k zla-łlu \ rozdziala(:h omawiających okr ś~one teclmikm. Ten rozd:zial służy oato-
miastjako wstęp do m:istępujących pojęć zwiąi~nycb z mechanizmami pixel mader
• Rót.ne welrsje .mechani zmó, pb<el hadcr.
♦ Dane ,vcj r.;ie;)we i wyjściowe mechat1 i~rnów pixel shader.
ł Wamnkow•c odczyty,,.•anie tekstur.
♦ lnstrukaje dostępne w mechan11J1')1;1Ch p~xcl sbad4.T i łąe1ieoie instrukcji w pary.
♦ Modyfikatory w mc~haaizrna.cb pixcl sbade:r.
♦ Ograr,ic::ren~a i ost17.eżenia związane z mechanizmami pix(:I sbader.
ł Sprawdzanjc obsl ug:1 mechanizmów pixel shader.
·t A~emhiacja i tworzenie mechamzmów pixel shader.

♦ Pros1a ::iplikacja wykorLystująea n1rechani zm pixcl shader.

Co to je,s t pixel shader?


W l)()pr.łJed1tich m-Ldzialach dm ictlzśeli. my s ię. e różni.; opem.ej c· z kolorami mają wpl~"-'
oo łączenie kolorów 1ekstuey i y.,•icrzcholków w czasie ra.'\'t~ryzacj i tt6j ątów, Ope~JC
1

na kolorach dla fazy tekstury dają programiście niezwykJ kmurolę mad proce e~ l~czema,
ale nie oferują zbyt w~elkich możliwości. M..:chanizmy p1x l shru.ier~ podobnu! Jak me-
chanizmy ve:rtex shader. poZ\va łają na o wiele doldarl niej sz~ k:ontrol~ nad posob~tn
pn_etwaimmia danych prlii,;z urządzicnic. w preypadku mechnn1zmó, p.ncel shader dane,
0 których mowa, to pi ksr;lr.:. Shader d2iała. z każdym pikselem„ któf)~Je~ ~nde~any
na ekranie. Zwróćmy uwag~.. ze nie je l to każdy pi I ~kranu. a rac?eJ kaidy P1_ksel
wehodizą,cy w skład p:irymrrywu rendęrowanego na ekmni Na rysunku 16.1 pra1;:dstarwmno
RyHnek2.&~1.
.\tił!js~~ ~yl1ani..~
patl sJ,,atkr
wpDtoku
~kJVłaftle Kdi:NY
(~tur liińel\il~

I ~"°

Raat<Jryz.aqe

inne· ~jr%eillic na dol~ etapy ~nderowooia ~kaz.anc Il~ ry:sun~u S, ]. fak widzimy,
shader IDll wp~· nil ko~orow~mt: daoi;go prym1ty,.,.'U, iłh: . pr2et\\ ~ ~)' pne:z sha..j
pibel~UTilim trafi .na ekmn. :nad3l musj być PQddany h!!>tOWI alfa, gJ~b11 matrycy,

Pb;~1 wder pr1J~Milrza kłUdy piks ·I renderowanego p~~f)'\V-U. ale nicko~ieczni~ ~ 1


piks~i ekranu czy ekna: "')j'-c:iowego. _zm1cz:3 to, i~ _p~x~J sh:u~cr ma \"I ~l'\\' ~ ~~
okrclkmego trńjkąr:1. CZ}' lf.":i ooiek1u. Pixel hader ~"lJmu3e m~eJ_s~ stanow lącz.en13 ttl:-
srn_l}' i pmw.•ala na. dokladnicjs~ .....arząd~ic: pt?.f'zroczysto .c1ą • kolor1;m d~·o,llle8Q•
,:i.;}•b( 'hinego obick-ru. Jak przekon~my SL~ w dalszych roxdz1ała~h., ma to ~VOJe: tmpb,
kac; ,: dtM.yciĄc-.e o-ś\\1et1cni3, cic:nio1;,,\•;mi 01117 wtdu innych opcrncJJ na ko]orar:h.

Pra\.1,/(Jopooobnie j dną z najwi ęk~zych 7..alt:t mt! chanizmów pixl! I :shadt."f jc:st la. i;; UJ)lil&Z·
~ą one pr.t~tHwianit:: z~oi.on c'h o,pcracj L i zi.:nia rd::c.1ur. ~'bJ.1~ faz tekstur Vij'ffl3gaj,l
l.l:Stlł!,,,;ani operacji na tcbturach. a11,rum~ntb\\ , ,., spólczynmków łączcnm oraz lallru inn~
5"1.wów. tany te pozostają „w mocy·', dopóki nic zo tanąj~wnic zmicniont.:. )N wynikJJ
h:go składnia je:St c;,o.:asarn i n1e'.f.gT3bna, :':I C.1".J1St1mi tmd11c, konlrnlowac: "'szystkie IIJS1J-..
wienia. Medu~nizmy pi cl sha.der zamieniają,, )'\Hlbrtta metod Set Te --u eS ageS ate
t:rią sto5unkowo [PIOStych in.,;•mkcji arytmetycznych z pnxjrz:y~cic zdd1r11owanym1 .!ifgll-
mcncami. Kit.-dy jut zapoznamy si 7. mcch.m 11mami p1xc I shadcr, z pc,'ITlOSC-ią ~ Sił
one bardzo przycbuie.

Wersje 111echa1nizmów pixel shader


wlJści•, wy;ścia
,az: operacje realizowane
0
przez mechanizmy pixel shader

~k18.ł,
,tJd1,~tłhift1
jUIJ:il

-rd~

P,zetwarzan1e we~ttz
mechanizmu pixet shaoer

Poni1ej umi~zczono opis ka2'clego '/. komponentÓ\\' mechan~zmu pi. e1 hadel:'. W tym
romziale umieszc:l tyłku 7.\vir;zty apis. Pozostali; infoifflt1Cj znajdą się w ro~dzialacb
n.as.tępnyeb.

Rej<.'Slry l«llorów wejściowe.


YO ora7 1l to najprosisi N:j~sll)' I<•~? 1- nich Po"iadll
ctlery wartości ski dowych koloni, które odpowiadają, jeslrom Jśt?"')'tll oUO oraz
~ rykor.eystać:
OOl mechani zmu vert~x i;had~r. rvtotn:a j , do prtekazrwama dRfl)lCh ? ko-
loraeh. w.spól_l'Zędnycb tekstu lub nawet wcktomch, klór,: m ~ą wpływ na lap.cnie lub
kolornwarij~ wynnccn1-iych pik~cli.
.. _.,,v.~.....,

RejeatlY statycll
Stałe me•ćL..,...,, •-u pi el hadcr rna,i doki ad.ni~ la.ką ~arną po błĆ i dzfa-hmie jak S1alt
r1a.nl.c;11u " , • • · -Ć •
rnt(:hanizmłiw venex shMie-r poza tym. że i "h wa~oścL powlnny ~ 1es.cc się w ukRłit
od - I.O do to. ~•-. ·~tu przypłldkach SpC>t~my _aę z dcfimowan1~ r:d;:ch_' i l , " f ~
m iłlwu2nm pixel sbllder. \V wi zośti tc,:hm k zWl:µan_.. eh :i mt~ ~ '. pixel sbader
wanoścm lllle są ra1:. ZJl",'isde stałe, co oznaczt1, że mgdy się n u: zrnn.maaJą. Zniody,fi.
kowane wru1ośc~ fflfYlOO _pl"'lekazat do n1r.:ehilt\i:lmu plXel shader La pomocą median.izm
m hader. Jeślj j~ t tl.k:1 potnooba.. to wmc,: i ~ralych moma także p~kazać do
cbanjz1mi pi:-:~t h.adei- :r.s pomocą -.-.•ywołan A.fll.

Rejestry tekstur
ReJestry tr;kstur 00&1a.l"tzaj de mechrufrzrnu pixcl shader infonn cji o•~~- Z
nicznego punktu wid?.i::nia reJ~ rek, rur zn,,1er-~ją " . półrzędile tek!ruJ r, ale "iękslmci
przypadkó""' inform.a.ej,: te są natychnua. r .1..amicniane :rl.d. dane o kolorach iw· miarę po-
bier.miJ danych o tckstlll'"Le. shaderac-h ""''c Ji ocl l 1 do l 4 reje try tekstur moSA:
odczytywane jak wspó+~ ·dn~, a n:;ist ·pm e Lap1syi.,1i.•a11e CWn}rn1i o kołur-.toh . W wersji 1,4,
mogą być jedynie ooc~y,i,..anc i są, ykorzyst 'il.'a.nc jako p::ir.łm ·tr)· słutące do Z3l'a(ll>-
wanra danyclt o JroJorach do in□yr.:h rc1i.;strów, Dokładne pnC?..rH1c:zenie tych nJesaóv.
stlni(: sfę hardz"ej j ne Po omówicmu instmkcJi tfoMępnych dta had~ra. l iczb rej~
tel(srur zakży od liczb. faz teks tur.

Warunkowe odczytywanie tekstur


W wrę~zoś.ci przypadków reje: try r kstur ,vykorzys•uji.: si,; do próbkowani dtmyd1 ~
~sta~•e ~spółrzędrr}yeh tckstury pnekazanych z mechantimu ,.,cncx :shader. Cdml
dzi łania mektóryc~ in trukcji pixel shadcrn jc1t jednak rtmdyfi ·owanie w s ~
teksrurr wewnąltz plXcl Sn 'era, pri:ed odc:eytani.cm F"ll'.?Ceywistej warto.ki tekstmY- ~
rmeJę ~ 8
. ~tt ~~ko"' rn ~zytywaniem tek tury, ponieważ ~ -~ ~\
orzystywanc do pobu:mrua wmok i tek tury ta.leżą od pewnych weześnH?JS%)'Ch opo;l
~~on~~ych pr.ie_~ pi el shader. • nie 1ylk od <;z;yn nikó,,,, zewn •tr~nycb. GrtficżDI.
· P~l'ltacJę opcrnc:J,1warunkowego odczytu lek, tury po azano ne rysunku l6J.
~ ......
fNMt ruktti)
ad!VSQWanla liMSftK
~ptliGI w we~m
1.1- 1.3

Or- rv!r.lrja warunkowego odezyru lck.stur poz.w-ala prołmlmiśc · .


' -,~--. . ' dJ , • ~- Ie na twonm,e SZ/;Rllł• "--
_tr...tur. l1ore po5.G-LU\.tJJ I\ wanosc1 a ka:żdcJ kole,nei fazi D.-.,kl.,. r1- : . . o- JM
li;....-:, ~ J • • "'•J 1mwwo 1stn1e111 t hn"ki
•L' których •erfex shader dosrar-cza współrzędnycb h:ksturv ,... ..tra k
1
... 'ak ..,, ~•~ z o1eL." mv.•rera,
'"' eeartośei ,

ko1oru \1,l)'koi7ysty'-\ ne· J ' o współnędne tek tury \\ in n '"1 lek- ,.....- p , ..H
. · »•--·-•1. d •J ~•=, · f"Z} p:raw,wowym
\l,Vkorzy ·1anm operacje W4JJ lUlll(O\V ·go o Czyt}•,1,•ania t,ekstur fflQb· 5,tu ,... ć pod
:, .. fu k ' ~ L"' vriy Staw4t
do impkmcncacJ1 .
ru
..
eJ1.
mat'
·m8itycmyr:h, które ofuru111
. :rt
:t.nacznie ·
w ;,~1·-z• ,. •.
, , ~ "' rnoi~twos.c,
W' ll]conyi,,,•iuua. operncJ 1, niż " przypadku zasto owama stanów faz ....1.,.,,,... \1 r .
~1 • • , 1_ • "'~""ur. ,.., naslępnyn:tt
~ i a k posw1ęcoaym I flstrnKCJ am opisano to w sposób tianJz.iei.., szae ~V10Wf,
...--~·
.u

instrukcje dostępne
w111echaniimach pixel shader
Instrukcje pixcl hadcra działają na wartościach ~jr.: ·tr6w wej:do,, eh I tymczasov.-ych
w podobny sposób j k instrukcje \'ertcx sh.adera. L tnit?je jednak ki~ka istolnycb ró1Trk.
Pierwsza .różniC'.a polega na t ·m, źc pi t:I . hadcry obsłu~uJą znacznie mniejszą liC"'lbę
i.nstntkcj1. Ogranicza to możh wo ~ci shaderów. a1e w praktyce j~ ensm1i ne. ze Y/.~zgl du
rm c~todiwość zas·w 'owarna mcd10inizmu pi cl shadcr. PomiJaJąC rnożliwośt• sprzę-tu.
p~ie długich sbaderow~które: m,a~ by prlt:l~anac mihon~· pik...e1i w pojedynczej ramce.
wydaje się beicelowe. Inna r<:~1mc:i polcg.1 na tastosa,, aniu modyfikatorów instrukcji.
Modyfikatory in. trukcji stano\\ i~ cenny dodatek do lestawu 1nstrukcJ1 shsd~ra. odyR
fikatory omówimy w nasti;p11ym pod rozdziak

iew)'godne j~t to• .ź~ ró1-n~ ,vcrsJc mechanirn,ó" pixcl hader ,, pewnym stopn•u obsłu~
~ją.różny ~ta\"'' instrukcji.\\' objasnienin~h zamieszcion. eh poł'liżej d1a kaidej ins.m.1_k~
C~l wymieniam e 1.a" wersJi shad1.:rów. kt6r~ ją obsluguJą. V.' prl} ad~u braku takicJ
lury ~temy mog~ i prlj'jąć. ż~ in trukc;ja jcs, obsługi"ana, ·e ,, szy dncb dostępnych
O~Le wersjach.

istmeją łJZY generalne grupy inst.rukcj i. . :uwałem je instrukcja.mi k~n~gtrracji _i,nstn1kcjnmi


~ n y m i ora7. i slrukcj ami adresowania 1eks•itr. Kau:gone tnsIDI:kcJ • ko~~gura-
;3oych. tanowi w pewnym sens le rod1.aj kat~gorii dodalk~wcj dla ~~eh mstruk J_• • które
JCpasu_Ją do pozos-~ałych kategorii. lns-ttukcj~ konftgurocY.Jnc wymrnmono w ia.btdt 16. \,
t.ączenie instrukcji w pary
Pix~r h der pr.!,ctwilrza dane rpiso koloru or-~:.,, kanaru a Ifa w ~\1,r~h różn~ ~
Dzi'iki remu 1smiejt: możJiwos · zdefiniM\ anm dw eh zupełrw; ro~yeh 1nstrnb:j dla
dwóch poloków. krórc \l, ykonuJą ·i, JCdnOt'r'Csnie. Przykflldmvo, moremy ZMaosai.~
rns:trukcj , p3 dl11 dtm)· h RGB. ak dani! kanału alfa rnotemy t)•łko ~lat z ie·i~
rej tru d'o dJlłgje o. MoL.lła •o zrobić\'\' nast pUJ.iLCY sposób.
ctp3 -2 r . r, c.
~ rO a. c2
n1a doryCU!; ~ tegc,. k.i:{m: iosrruk -je: . _. olno łączyt \V pory. Wfd
rstn,~ją pc,v.1ie ogranicz
niepisanej reguły. nrc należy mapm,., ć instrukcji o najwu;kseych ogrooicuniacb. &i
przeszkód moŻlla ł eyć w J)lł!)' pro Le operacje ary1mc1yczt1t!.

Instrukcje adresowa ia 't ekstur


lll'itru~cj e oon;suwar1,1a ttksrttr mogą ape"1unc \\ t~k ?t." mt,zlt\\ ości ni✓• in~je t•
m~yctn~ Jednocie nie ich użycie mo.1..c byc bardl"ICJ ·łopl,llh e. ~' tlbdi 16. _ ,ęiłt
opis no 111strukcje ad.rtS011 anio tekstur. Niektóre 1. 1ych m~Lmk j i omó j~ b3micj SlGt"
gółon,·o ~ • dal ·z;·ch rozdxi.ałac'h opisu:Jąt; eh ieehni ki.

_P rypadk u iirulrukcji drcso'II ·ani tek hu- czc;s to trndno zrozum~((:. -ied' · V."j · Il)·
lUJC.'Dł)'' parame•~ (n) do pnecho vania dUJ'lych opisu wspbhzłtdn_ycb te~ f)' .a ·
pammcu- le~ 1.3Men-t dane o kolurach. Dla wyjaśnieniu ponitcj podałem k lklł przyl:bdo-°"
lego, ~ Jało spo'.lt6b \\/ -półnędne tek tury odpo,vi dm 'ą wurto i m opisuj m
oraz rcJ lrom wynikowym opisu h:k~'illlr.
Odejmuje jedną \lAUll.ość l'CJl.'$U'U od mu ie· i, .
",ynik-.OW)!m. P ixd -sh:rdery ubi.ługują j~ 5
~rmt Ztta ~,k. w rejn1r2e
ff'rioh'l:I Y.')'M~ i11stn..tJ.ie' lacJ~ r~es.1rów. a Utcm
. Jt: 1 z mlli(:gG\\,'fl.!l)m ~ Wi:J~.
Mno_2}•Jcdn W••"~ li"eJ 1T1J pttu dru • umieszcza"' ·ni.k w
~iko':':'Yffl:.· ~obmc JB \ i="t1~ st.ad.ery' pix.ct . rud 1>me o ~JC'Um:
m.1tł"llkcJ1 dzllC'11tn1111. Jcżeh ch~m ()Odl;,e1,e Licibt, ~ . łulJ.1~
do sb dfflł jej od.wrotn . · pGWlnnLiffl}' prn:ł:azaf

P~bni~ J:lk in 1i:3kcJa r,d d~t~-pna cll!I vcn~l'l: madeT>6\\•. In. lMmlkc'
v. ~nUJt: mnoże-~1c 1 ~da 1c w ~JOO)'AC-1 j •mtruk,;j1 ,la.
aJp1cr. .wyk.On}~ nr: JC l ~o!cnuc plnuneeru J$.C eQ pne;t lSC
1
.. nm.~pn•~ do obhc-zoncgo doczym.1 doda m· je wmtość _,c. 2. •
~ ymk um,c.sU:iany Jest w 'f('J~'b'Zc wynikowym.
ó?l ,qm . Ta i1~truk.Gj v. k~nUJC' IIóJc:lł:mcnww~ opcracj-Q iloczynu
e..]$C ł!~. pomLędZ}•. w~c1111m, .i.ap~yn,1 · o p~i: .).Stte: ~ .,i:;c1e •
f,

" j ~)e: Z:dJud_a sLę. _~e wan~ 1 ci: . .._,e _ romi. choei t P'lob'!a wyb)l'Z) . ~
operneJ~ do Inn go c~ lu. fo UlJ C:Jt; tę ,,.iykor:zystano w rozdzrale 3L
~ W:Jntk:. [ostruk.(ja taka Fi k p3 , z romicą, ~i! dotycey C''ZCC'c«b e1t:rndU •W.
_JS<'.le~ , ln::;crukcja Jt~t do 1.ą,n3 w wen.j i I .:? i w , ~~Jam \\')m~•ch.
„eJsc ei \\' ,.._ CrSij ~Ch I ~ orox I J h t.Z)' ~i jąjuo dw,c iru.1rukeje ( L'l, 1.3, 1.4),
o'\1 ...,1i1 . Ta instru:kcJ ~ ;mmkow. LJ .w.a wan~• w rc,t~ "'~;._oy.1i·m l!.ł
'JSC1e0. podstawie mego. czy w.BJ1~L komponen•óu• ą w 1ęm.,,:: r,;:z QS.
eJs!ie • W wc:rsJ• I .4 ta mslfU ja m..i.d d l::ll ·u-dc:go kompontn"1 oddzw:tn·e.
li j 'St 1!2 Jc:i c h •tory--ohd ck L mpom::ntó parametru „PJ se. et. jest ""i'!rk57}'
nit 0,5. odp(I'" 1adu_J • mu ompoment rc-Jestn.J WYJ11kov..~n ~ usaw,aa '
rm w:utu:,ć ·on,ponen-u paramctnL ' se 1; w pn .oc1wayrn \li'YP l'U
c
warto J • t pobic ar,:;9 z ~ metru ~,eJ~C f!l, JCS1 mo2fo,.-c zw:cm, że wyn
jest we~o rodzaj u kompoZ)'cją warto c1 µanm,etru •~)• H~l 1 j s-; ~2.
Wt'. ws1}·stkich ,-.t:rsJach wc1.~s.mc:j szyrh ni;)- l.4, wanośc porl)v.A~a,ia
JC:~l ogran,czona do jL·d, ej "artoki - r:J a ( I •. 1 2. L3. • A
z ograniczcmJJ1n opi " ) m i (K'IYi"}'żcj).
Opc-racj podobna. do cri(! . ale ł) n1 raz.em kompommty wejściow~ s
porbH n}"" ar. c 1. "ai f'Ści. O.O. kfd• są w1,;kszr: lub 'l'i°t,\'ńe O.O.
\i ~•bii;rnnJ JCit w art"śc pocł1ocl;,_;ąc,.. 1. par-amemi ..,,,.J ~- e1. w mnym.

Pil)'P'ldku robJcr~flJ. jest wa'l1ośc 1. par:imetru @ '.,~ 1 e,2. lnst~" CJ t


d,.:1.r1;p11 " w~ SJ I l.2 ; w \\. c-~jo.ch p6DliC:Js~·c-h. •~ "' :-' c~J:i h.1 " 1 L3
tlll'kU.1Jr: s1.; jo.1.J~i ·v dwie an~trukc-j ( 1.i, I J, L-ł r. 0gramc1cmacm).
lnsln.l ·c, p wykonuje 1;mo, imc:rpolacJ~ wnr1~ 1 l .&w:ll1yth
w pltilmCLrn. h Jsc1ei i 'eJs-... i e" n pod~ta.\\'lC' 1'.3J"~ffl~';"-1 JSC eO.
Prcvkl nniedvri i.a wmtosć wym.ku ;1:. l ob11czan3.Ja o
dowoI r-..1 1
e \k..r •
;
I 'e J!t ltl I s.. ,eo r) + ~ , el ,. .. ~ e SCl I \
_; •• I

q. Ta in oukcj.o J~ "t dos't\"pna ~ lko '\.\' wr:~ji ' -~ .Oblk:z111 s, nnifowrui~ ,..,,~ ,
rodo,,11-skowego odw oro nia nierówno · 1 n pocbl.3w ~ us""'La".,, iema 1
ttmu rnac,efZ)' mer wno:-!- i f: • \.; · ~rur)'
Ta anstn,.kcjd m(! \\ •koottie dn ·eh dziu.ł!ll'I.
_!l!N!...._:!C~lf!!f!_l!~IV~•!,.M~:acll~•~=•~•~lf~..~_,.,~!....,-------- ----....__.....,~
_,.s.,,...~ h pittl 6katkr

~~~~~~~~~~~'21'~"1~ -~
ko,a..
~;,w~d,J4.~'Jf ,pM~~w:,;f l:,:;in,.nu-•=========---
~~ .
NJlnltnllU:Ja
:~ll~l~a.1~~~~----~ ----~;;:;;~:;;;~~~~~~;;.~;;
Fonnat
.bBUUt . ładuje z v,}'brane., faZ)' l&twy 113 ~
wa~MC
~ (fi) . ~ n,,ct, U:k$tlltY d~ tej FMy••P'o ds.ta~ ~
~ ·i 'im p0biei'8111r:
tcJ mnstrl.l~Cj .J
~ m do Pr:-ktwarzatiia, ~~
•. I 4 W WCl'SJ. ~ I 4 s l i ~ . ~ 'L
llit!j~ doslWM w Wen.J l . . • . --,7 ----.,~-.u.
i11s~ajf texlu ,1 I. I.Z, 13)
r ~ a łal1.1jc wmośt ~ołDl'\I z t&tulj• ~o rcj~tri.a ~..........
JrzypadklJ 11:jęlltr td{$1.Wy Cr'I) z.B-WIC'IU WSJ)ÓI~~
:dd r(n) . CM
W .
J\lł::!t rejisrr re l 2tt"tic-m dme ~lk -!llY• Z lt:,go 90l'fam,::,.
(ł},J!l~ rt. opo'bien W,S~II~ 'kbtury l f:ftż.lJ o~ 'W)t_~Jt
wcdi,m oosiidmni~ ~ok• koloru.~ ttbłUJU fny2 Wat10Jci~
:mpis.ywar:ii= do RJ jru r2 (l)'lko 1.4.)
:ęcrd wYn,l. UM w 'WCrS:j• l. iosoukcj e i<e_ lópmjc_danc D ~ : t . a : ' l i i ~
icł.};•ury i rejt: ffll t ·n} oo n~J4:sttu ~ymlmwego. Jako dlnc ~
kotor. W dil\lgim c:tapn!: dziAltw1:'.I pl.Kei shadcm. mo~ " ' ) ~
rtjcs.u \\!)'llikowy j!J.ko iródfo w wyv.·o1anfo mstrukc:j~ r:e, ~ _
w t1api,c 2 (t)•lb, t.4) •

e oord te~rd Jest w pewnym sens1e iustruke~ ~O\ltr'aJ'l)~ ~ ~.


ulSttUkej~ analogie~ do e· rd, Jeuh śb:ir:ltr ~ ę ~
•i
znmi ex, dane opisu współtzę,dn;·ch tc:brury będą_ UbdOW&M
m_mj~ i. ,artQ~i opLsujl\tcj kolor. Instrukcja mok byt ~'daw
w rtyełl t,,.'ii,hnihctl. gdzie ,;-,c-J1~.x Sb3der p~i;'k.wuje daM do ~t
dera poprir~J! , $p6hz~11c tel::srwy ( 1. 1. l .2. t .3).
T,1 inmuk.cja mtC'JJ:}retuJ~ 11:omponi.:"nly ~~u alfa koloa,i
~ en onego rej~~ t(M jako, ~spółrz~ne· telc:stury u crąz .
T(: ~4De f~kstury są wy~m-,cystyw.!nic j1łko imdd: do~
t r ) w celu pobnuii w3J'ltlści opiw 'koloru z t-cJ razy- t,d:-sru,y.
lPrzykiooo'lli'O. veru:x siuid,cr może us.av. i wspólnędce ~
z fazy Ona (O.O). Kompontt1\}' kumlłu al(a oraz '.k,olorn ~'l!!&'i'r!'lklll
w 1.ym punli\:cte w ,e urzc- mogł\ o'byd1J. mieć w.artoś.e O.S. Z~
powodu mo.temy wykorzys wśp,6b_~dnc (OJ; O.S) oo -Ul6.l,-
w.artości tek.scra ''W:!"-'nąrrz n:,jestru "' •. Wcw□ątrz pixcE skickei
odpowicdit1wiersz kodu ~ątby postać texTe(Jiar • ~O- ~ 1
fmi tekstury musi byc wi~lrn2 oo żródło"'-~j. ( l. I. l .2, l ).
tf«eg~ te,:regZgb ( J,
lnsttukej rulll.lo.gicznn do LDStt\J ej i tl?)l.rt:-g2d,.. z tą t6f.tt.i ~ .
t<n> Wś~dnc tmrury ·wykorLysLyv,1a:nc: :są kompoD~ k:o40fl.l
zir]oocgo ~ niebie-skiego, ( E. I. l 2. l .1 ~-
tiltt'e,r;2rgti @~r91> t{ ),
t(nJ In ·cj91 t.Hht sam j · poprzedmr!, 11lt \l')'k:onyswje n-z '\\ ~
t:eowy do ;z.a$łO Gwanja ' oo~zorow'1ni::ttb -!iZCSC~ ruiyth l_ib
te~rnch 30 (1yJko 1.2, l .l).
~ i nst.rukcj .'A!bjj~'.. hfe-1.tcy pi ks.el. J t:.teli dowolna z ~
,~~~ wsp6b7.ędili}'C!M tekstury jtst milllJS7Jl nit J:(J-Ó,
lnstrutc1e rruw: b,yt Fzyd\ tna do implcmci:nacji pluzczyzl1
obd~·ch (a11g.. clJppi"g piane&). 11le mwe ixm•od&\',11Ć i ' l ~
W)'llW w ~ s,tosowa.n~ ·elo;pr6bkowania (ffl'l.g. mfłlrM.i111\l.łl•1l 1
W wr::rsj1 I etapie 2 rejestr w~j. ciO\, mote b)i rcjtstrcm
1
Yfn~'W)'ffl tl5taw\io~,rm , elapjic I. __.
TA innrub::j11 'lłll')'kocmjc Ji1r:TW!52Jt c ~ ibl
Wlln . ·i w 1'CljCsłlU t ~~)·(z ,ci>ylu •
• •
.,._:~~n •d
li) •1 ..... !!le..,,>')
.
la ńlli:,eny 'Jxl.
mnotorJe prai
ptcrv,~~- trzy~~~ w ~ ~·ch ~orli[)' fu.y m. k1bre w cym
f)r.l}'Pa~"'U 'W)ł...,, "':1 i"l.)W8.J~ J:U-0 S-ii:rw ~ .
·~llce10 i~ mot,,im1y ~t~•~ tylko - ~-m "' ... łn~=erzy 31(2,
~ L. ........-lll.,'M { • • • • .._ «. l u .,....,,,_,, X2teA
l,!u -:... °:1.-.L1Jt OJ;llS{l.fiC dn:Jcj), ie; nJOin:l Ufy,Ć .
lnstJlUkeJC ~ nnlety lli:'lktow jSk,o p,ie~ ---ł-}~J -s.a:':.
d.wuc:zło.no\,ł,,'IC'j ,( t.], I,.l, L ). \:""[.,... t.nst ~
1

J~t...~..1~~ga ~~ · iM\tUkaj Lpęr,.c«łnit:j. kcJ'™ll' doci;lov-)' mDSi


pOCuuur.,,,. _z. ~~ lc:kSUJI:}' \\,ytftC:~ rnt. ~zmtałt dv.•LC f.aey. 1 ~
1:1 wylro~UJ~ dru • ~ . i:nno~n~a m:M:1eny 3xl. &:j~U' rrn Jest
rn.moZOD} przez dru 1 \\ 1,:tst motttl"Ąf (z.apis:mtj j· 0 w . p6łnęd
~
te wey dta fazy ... ).• ,,.ryl'!ik j~t na..'it nic ~ ~ o ~ > ·
~lmil"let~- "-1'. :zuki.wama w te:k1iiu12r: fazy . W W)'ll;tru dJ.iala.n,a tej
ja:
linsffll~lf:~• tcjestr „ r .. ~ zav.,itff! pgsm'kirwa.ny ko!or. 1m1111kck t~
n::tJkpleJ wythlm11.eeyc na ~~- lnstrulejc ,:e o !YfMI, • podobne
\l.,Ytor.zystaDI) w rozdziale J2. ( l .]. 1.2. 1J)
Je~, l.O dr\i~ altcnm~11a ~ :ie instrukcji te ~ . lddi ::..-rowy:m~
tę ~□~ (J~• to do ob1,czmrn w ~i 1. ~I ~go pikxlrL po...,,iinni&~•
uryć fun.keJ• P.w:rl.t2P<ld (na pods1awic p1ęrv.. ~go wiernt mfl.Ci.e~•).
lnsttukcJll m oblffl i. fr7.(rlną w. wyk~lC \Jt'Sl)Glr1i(dl'u~z f11a')'
j;.\)(odrua,iwiets1. eieny. tpaie~ooliem" " ~
'liw 1 ~~..a t1w wartość do v; Orl}',::,WJi.-3-j ;1l,e.riwywn1 ,,•llltOŚe
glęt,otosci dla v.')'b~'fO piksela (tyr .o t .3),
Ta iostrukcp dziam ,ak S3mO Jak mstrukc)(l, f: J:ii.2ł»ll. Z tą rotm-c ,
it:. pr.reC'-''. rl-3. maciert 3 ~ • Z tego powodu prZA:d doptłnieniirm
uuuu ·cJ1 z11 pumocą e ~..:3 e11 • • e 'ł,,;Jspee lub te,,..; 3 l sp@C
1nstrukcj i; 1i; tr7.A!ba. """'y\lj,· oł3c dwukro1nu: ( 1.1. 1.2. 1.3),
C 2). Pt.idobmc j-i.Lk ·l'lstrukqa te .•2te;,, UL m.suuktj3 j~ uzupc:tnienii:m
pcłnl"j operacji llliltn:mrn ,ej. W tym pr,:ypil~u · to m.ootenic-
mac 1c~· 3xJ. Za\:fad.a. s1ę. ,e ,,,ywo1WllC ;ns.1ru"ji ~ n o
J...,omu "')'\1,ołam.uni in„rrukcJ• "'1>:aru,Jpa.:l oraz k ~ ko8~
\Y}'km '"-tam1 fa.w b),·ts wy)..Sl.3 od popnc.---dni j. Wynik rrmobmi
'1,1, -y ·nn:yst:'.r ...,:any je. t jak.o w!ip6h-~d11c tekstury Yi C4!1u pobmni.a

wartości 1i:ksm')' 1. C ·?. ( l. ~. 1.2, I 3).


C'. ;i:3!. l( 2). J11:S.1 m :altcrn.a.1.y...,...i. dis 1nsttu ·c11 ~ ~ ·3 ~x. Wyn;k IDl1.0'kruo
t(n), c.Cn} ma.cw:r0· 1x „ Jb-1. mcc:1 r.rctoW:lll}' J ·o \.i.ckt T~ • ~'\\'W\Y
do obhcz.i;ri odbi-ci · ReJ~~,r "' ~1 JH'l1.'\:h.o"' lllJ' s1.ah\ we}..1ora 0 ·21
od[)O"'' iadaJątą tj 1ru;uukqi d1 ".iyn1b..(ffl'~go \\it ~ _ooffllt1~go.
t;lVskan} \li " 'TI1 . u w.ektor 30 'li - korz; ist)'Vl'iW)' Jest Jako m16r
w~,:dnych teksmry dla •tksnll')' w fvie- L h:1.~tru ·ej;~~ sto UJ(
i.ę do nmpowanwa srodov; i-c;: lrnwe o ~ I. I. t2. 1J).
te~.3·,spec ln!ilnlkcja podobna cl.o ir1S1nlkcji te:w..-;u► 3s~l ak ~ wyko~l.:'iilia
[ smlego wćktora oka. W 7$11li~ 11'1 \'I, e i1or oka Jest pahicmny 1- czv. ttcg
~). r.(n)
ompo11e11tu wre- 'CJ' mocie~ t 1.1. r.l. \ , )
T:;1 iQStrukCJ&i 1i,Jdc fflCY.ll: U.1,Up,:lnidlt ciąg t:rzeeb i~tt\.dreji J~j MiM811 C
1

poks11 '11:! ·pneslaniu "-C'klOfil "')1'liko\11>C",SD do [~j,estTU '!i\'Ylllku M


~------.........._ __ ~iw~)'k~a~nyw~oo~i~p~l)S;t'l.l~t;t~·~-w,~an~m~dw~o~yc;~h~o~p'.!:1su:!.:k~~~CUJ}'=.;_.!.(1::..2~•...:.1.:.:,J;;:,:,_ __
.!!!--!!!~.!!.!!!!!!!!!!!~!!L.~•!!•'~---------~------.. . . .
Ili ~1V4,MalłlarbiJ$łhl ~

~ ~ l t pu~I
ldt8lll'dótlfl1M W ,,._f'.A"',_,.._. $,...,.--. cjqi dnl--
?-Y
.,...._ s&3. l""1łtl!!ffe lllftlÓ...... ----..._
Opił
~ FOlrlllllł ·IIJIIUktj■ ol,licm infonnatje dol~e ~go~~
te~ tf }• t ( n} Tu
--~aa . .J.----'••j za pomocą
. ruenrwnvi,o. -
m.a_c:.erzy n1crównoł(i
('.
;~~
..-,,-~-- U1V1.1,·olania funkcji Se lP tu Q!.J a e-. w~
za pornoc:11 ~ ~ ., ·
. t'n) 511 rnnozooe przez: mac,cn u:· · tury, ;J \l,)n ~
:;!:-" rywan}' jako ,nddcs te ry"' f.t1Z1e m (U. J 2, 1..3,t

te•
l te )• t(n} JMtn&ką& sW10\\'l uzupcł11iemc ~rru c.J1 e' . W~~onuje r.ę ~
fUJ!kCj(. lłle clodll wo uwzgl~ct,ua le re ,; lununa.nc11 lć: Uaów fil
ac-ks.tur-.
e ~ 11 r(11> Tej ,n trukcJ' mołna u:.ty j . nie drugim t ~':1f "' _
~
wer.sji r .4 w pierv. 5,zym c1np•e ru et.y \l. ·~ • . ompo.nenty r,
ll.łderłd)
'cslliU "4.'lfflOC w.f.U't • ~• 1 w In tro J I obhe wnna
!!ej r- . ·- ,~ -: f. t L.•
1 mŁIJ.Oi;;-ita tf wart d 7.Sstosowam_a .....o Willi..,.,,.. g ęwa dl.3 tego
p ef.'l ( I .4 _ •lko \\ ctru im rtap1cJ
lnstrul«.'ja oblil-1.a trójdc:mtnto'!i\'}' iloczyn :Skal my d.3aycłi · ,di
"'-' ~i: tm; r1 or.ax ,.., spółr~~ych fe-ks,~ zapas mych w rcjfflll:c
l J. U7.;, w '"l'" ru \1t dość skalama.J ;i kop,o.._,'Ulladov.~ft'i.4
CZl(':rt h komponi!'ntów r-i::jcstru .. •m, l 2. l l ).
c.~ p3tex T:1 insm..ib:Jll obite.za i loc~'TI skalarny tnk jak mstl'Uk.cJa poincdn'
ale UZ} k.'łn) " \\)niku skal3rjc:st ut.) 1, .ll1} Jako ;n.de ·do..,..,...-....,....
danych v. tek.'illJnt ftlZ)' , ln; ~ a w 1,.vyn ik1-1 \"I JJ'tOx :ko]oru
1.apis w:1n:1 do rer IN (m) 1.2, 1.3).

\\' poni,A7.)'lf) przypadł-u tc:kslura w azie O j~l próbkowana raxcrn ze i.·spóhzę~lnymi


te:k rury 1. 3Z}' O. U kany w wyniku kolor jest ~plS}'Y.'any do „O. KoJejnc instrw:tjc
112ywajt\ c • Obęt1 wykorzystywał! pról kowaną wMlo ć koloru :
fA (I

~, koh~Jnym pr.t:yk!adzie reje Ir tO je.: L zapisywany warto. erą ,1,•spólr.c~dn}'ch tek


faz}' O. KoJej nc mstrukcJe , korzy. tującc rej ~,r t Ob1t=dą wykorzys ,, \';Jt dim opisu
"' pó~dnych te •my jntt-tpretowan4: j ako \1i,1uto • kolom :
coo--

K.olejny fr.J.gm nt kodu,, ·orl)stuj · pien\SZ~ dwie współr,i;d.ne fcł..stul)' r fiu)' O· ·o


WSJlÓl:L dnc t~ksrury "' rrudc 1. T ~lu razy l . j~Sl pr6bkm ·ana, a LU) ·tran. " \\) ·Jl
.kolor Jest znp1 Y\\ •ny do rejf$hlJ Kolejne instrukl:jc kor.1.:ystr-łJące z 11 jcstru ~
wykonystywaty , artość koloru 1; prób -· tek ·tury HZ} l.
te, r _ lar ll, W

h:idel'Ó\\· "''CT-C nicj zych ni~ I A n:j es try (n} mogą ~rć ~
\Ve. w ?5tkic~ \J 'r.:.r'$Jac~
~eyt) wane. Ja I z.ap1sywanl!. W p.rzyp dku od zyru uzyskrma drum J t interpn.1 m
J ko wspóbz~ lil;k.stury. przyp:idku Uip1su wano ć rnnżc zawierać prookov.
"an.o ~ kolo~ _h:·.ksluiy lub na pr--,eyklad interpretuwan w pól~dną h:kstury (,, pn}
p..1.dku • mru.kc;, .: {~~ ). W „ rsj i I ·• rejestry tekstury mogą b · lko odc-Z>~"'~-
0

: pr~~dJru ~ rn~~J 1ns1ruk Jl e- ld rej -tr tO z- ,i ·iem ~pólrz~dne tekstury, nat ,1


O:r.aw,cra wynik zas.t ·m ,omn rJeh "" . póhrl dn.ych de, próbk \,•ania ,~-k tmy fal)' O.
exla re. o
w dlbącb rozdziałach nicktón: z opi
Wide w praktycznym działaniu. kiedy= W'Czeł!'iej inscrukcji zcw.- .
więbzeSO sen u. eytny. Jak sił ich hło..~~~--111\ ~Pffi& :aWc
-,.wa, nablGl1l dla,_
Motliwości przetwarunia nie są osranic.l<line . .
jak w przypadku mechanizmów venex shad,c, Jt_dyrut do ~ irt11na „
modyfikatorów. k1óre dają wicie moiliu-..(=• r. PhX.Cl shadcry Ulho,!liw1·:1i k.cJ1. Podobaie
"'U-X;I, _,,~ie

AfOdJfikatory dost9pa8
dla 111ecllaniz•ów pixel Shacler
w pixel sh~ćh:mcb można SlOSo\vać niektóre SJ}Osród d . . .
O0 11
dh:a v~n:e ooderów. tl:lkich jak nC>gacjil. czy maski . . •k~\\'Y~~ fiunktji doslępnydl
(ikaw_rów an.s~kcji, które gwar~ntują dodamkoWt: ::;~~si~ ~stn1cJe ~c zbiór mody-
dłi teJe.st1,ó Ti1ti' zrodlowych ~taw,000 w raheli . _ osci. Dostępne modyfikatory
16 4
,_.. 18,4 . •~todyjlkal(W)' ,~jestm,w irll(flo,..,yct, dosr.ępnc tJ/o pixd .'lhaikrlm
~L-ladnfa
~ s t o r ...... On.is
...
Pr;USUlli1w:-ci~ ro_ l~$
Od~jmuje O.~ oo v. S2Jslkich c-:.ztef'(cb kompoll!tl'Jlów r,ej~_ Ten Jood)'fi
możno :!>tosować dł::a dewom go rejfiłru irócU!l')wego, k.uor
1(}dv.TÓCC11ił' 1- ~{l
Przi"d wykon.a.n i4,; n. 211.s.tnJl:ccrj I na.s•~~ie odJ•ciJ"ic.: .,_,. . , ....~.r.- - • ...L .11
• ·
od l •O• Zawanosc I. ~ 1:.., <U IUX:\ •.!j~RJ 1,,UJ\UO,\VcgQ
l\l!JCS1ru .tródm""-·ego ni„ 2Jr!jcaia si~.
-ro
1,ali',,•.i.rtość
~~tja. O~!i za ~~gacJ~ 1-.om~nt:n~ów pl'Zed "'"''}-kO'Dil.Iltem , ~ cji. Znów
ll!Jt.•stru acldlowt:go me 21mcnia srę,
ro_x2
T,eq mod,)rfik Lor pt..i!:t.-rl \')'konill'licm ins.tnlkł'ji mnofy J«:ifl!lponL'tlt}' pac:~ 2 o.
~oj mje
Je t tlo.sh;pny tylko w wer-.;ji 1.4 •
SWau ro_~x2 Ten mod fi kator odi;.:jmuje w3f't0ść 05. a naslępmc IIIOOZ)' uz;-skany '"'')'nik
makiem prLt:-7 :Z .O. \ł(l(jyfikator szcz.r.:gć,]ni~ przyda.je się do\\ •1-:orr}''l\,.mi koawcl'5ji
1.akri.; IIJI kolom od O,U ck, I.O na zakre:i. od - l .Odei I.O.

W pixel shaueracb jest lak.z(; do~lępna ograniczona fonna operncji mieszania. Pl"T.~
'-'•'}•kornmicm inslrukcji 1110 cmy dokortac rep likacji jt:dncgo kanah.t na w eycsdue '.koi?ry.
Podobnre Jak w prLypadku or,crni:ji m,e. z=in•a dosh;pnej verte shaclcracb odpov.•1ed-
nje rejestry danych ni~ u~egaJą anianie. Odpo,viednie ·ctcklory rl!:j~trów źródłowych
:zeslawiono w 1abeli [6.5.

Moona takżt:' sto 'uwać maski .l„1p1su. Vli.: ws~y·tkjch wersjach naderów moźna ,_,.,•;bm~:
czy będziemy zapisywać \\ · }!>I ie kanały. tylko kanał al'fa; i:zy t _lke_ kolory. W ,,.-~~J~
I.4 do zapis~ mocna ,, · brac do\ •olne kanały.• kladnia masek 1..ap1su JCs: tak.a s3ma Jak
·-
w przypadku mcchan17mÓ\\' Vt:l!'tcJ, sI1auer.
.J z~ lą lf,ó·~· · "··
Ll"IIIC'.J\. Mo' zamia.~ t etrvk1el
',I' ..MW
- stosu-
jemy etykiety .,-g/4,. co pokaz.a.n w labeh 16.5.
. . . • k · · o działaniu tych modyfikatorów
Osr.atnrą gruną modyfi k:Uot'O\~ są modyfikatory 111 tru CJI • • • ~... Ń- - "iku Tel.To
~ taw1cmcm Wau _.1 ..., t
'l'll\.fflo

moremy my'it:ć ja o~ o~ra ~m wy~onywam.:J pn. kł udach o łuzono sii instrnł:.cją add.
r,, ·• : c, 11 •

typa modyłikal.(lry opHmno \V tarn.:.11 16.ó. _\ P.-zr_. ~ lkP__ .rtmttyc:myclt


afe :modyfikatoró\ r łych ·rrn.ożna utyć dl~ w1 ęks.im.~ł lllSUl CJI ~
Qcpli~jataaalU
ałt.
Rcplikłtjll ~
nii:łi~icgo

Rq,lrbcij.J an.w r1l 9


nct(lflą: t1

Jtepl'iuga. ~i'VlhJ rO. r


IMeNi'OMJ'O
---
MGdYftklłtOr
:fń,ot.c11i.r: p~ l
rfi!&Unic przez_.
. .1.._ • .,
i:,.,u

addJ4
„6
Ten modu1tibtor mnoż>· "41ymk i□:łfflllkc:ji pr~
7•

Mnocy 'il,-l)'llll pw.i=z 4,


2. -
add_~B h'ulŻ}l' wynik p rlOZ' 8, Dostępny JCdyl'lk w \vcrsj~ I .4.
Mnollllir: pn-ez
Ozitlm1c ~z „ arJ:1_c12 ~ eti \vynik 9112cr 2.
Dziclcnic pruz t.ifd_~ Dz:iel'i ,vyriik pac 4.. Doscęcpl'ly ~łka w wc.-sjm l .4.
~t!lcoie prle 3 i111d„ill3 l!)zieli W)'llik pacz S D~opn • tyłka \ w,cmji ł 4.
atJu_sa.t Kio□w ettwje v.;'Tiak do ~ O.O - L.O. todyfikator na.--;.-yctoi; 2llpe'&'llil.,
t..c- wm~ci rnil!'$zcz.ą_su; v. poprawnym a.kresie dla ok!lrów.

ooaniczenia i uwagi d1otyczące


stosowania mech,anizmów pixel shader
PooobnL~ jak w pr.1,ypad ·u. mechanizmó"• \ICrtcx shadcr pods1a.wo~1:m ogrn.niamicm
moc-lmnim:itwr pi el shat!c, jcs.t liczba mstrukcji. Pixd shadl."ry padlegaj znilffl\ie osillą­
szym ogmnicientom niż ,..'-'nex shr1dcry. W ....-C"~j:Lch I. I, 1.2 i ].3 i::i-W!itrje ogr.mic~t
do 4 ·imttrub:j~ ;uiresowilDill 1cl:.!i!1,ur oraz iMtrukcji arytm~tycm}'ch. co d3je , SUID1C 1~
~ j j. Wersja l .4 dopuszcza in~Lrnkcj i mytmct)·cznych ow.. s-ześć instrulce;ii ~
i,Man:ra ,eia.:ur dła kaźdCG() x dwóch etapów. W sum,i: daje ttJ 28 dost\"PP, eh i ~ JL ] •·
t~ poood dw'Llkmtna lte@:t instrukc-ji '"' porÓ'I.Vf'looiu z wc-~j ami popncdninri~ ak w łbkz>
ciągu du~ mn icji za oo 1rei by instrukcj i doo1ępnych w mechanizrnuc,l'I tr1c~ slia.d«-

Chociat istnieje ogr.1.11iczcnie oo do liczby inscrukcji ad_lft.sowiinfa om.z foSU'llkgi · t■


met)'CFmych, ro nie BUl ogmniczen c-0 t_flo liczby instrukcj i ,.._kon fiIDJraCyjlllydt,~- ln..<tl\lk'<f=
de ~ P aise onz PS nie zajmują do$1ępnego ~ i 1r11il\J Liczb insLrukcji.

~ .ym,~ani~;em je ·t lrezba dostępnych rej e-~•rów. W 1a~li l 6.7 usmwio:n& ~-


c~ma i,emy trJeslr6~, dlli wszysfltich we!"$jm meclmn ~zmów pi e~ sh:tder.
Rrncowu. • -.---.,wp1xe1.-, ...

sprawdzani! do:'1ępności
mecbanizmow p1xel shader
Podobnie j 1;1k ~\,' p~dku mcch,n izm6w vene _shader, moma spraw&c~t, c:ey nas'.r.
sp~• obsługuJe ptx:d ha.dery. popnez wywołanie metod SetDe\l ceCi1ps. Struktura
Ho zaw~era pok typu n'ORO - Pixe S dder'Jers o . \I artość zawi-ero :7JłróWll!Q numer
~crsji głównej. jak numery -,.1-•ersJ i pomcx:niczych. 'ajlcpicj arn1l1zować znaczenie ~j
\\iartt')S.Ci 2a pomocą makra DJDPS_ ERSL ' ;
D30CAPS8 ltlz 1•
:iGetDev ceCaps 'oon;.o:iPJER_DEF I\., . D300t . PE_ " . z ).
41mł .P1;,;eiSł'Jii~f er's o - OJOPS_ ĘRSTcr, , 1. ~)

(Ff.i rDL,t ~ zPros rl me 14Yl. D:;1).')[ T'fllE •


lE EXP:iOCESSI )))
e rn FAJ.SE: -

Vąskany numer wersji lO wersja mak yrnalna . Urządzenia obsługujące daną '"'ersję
madera poWii1tll. także obsługi \vać w ·rsjc wczesmcj. 1.e. .Jcżeh urząd7enic 11ie obsługuje
m«hanizmów pixcl słittd~r. być mo:i.c korm:clm~ b'-!dz1e opracowanie technik~ :z.aStęp­
cuj wyl~tującej operacje ląc1,enia tcks,ut lub wylącz~n•e niektórych efektów. Ji:itdi
mtt~anifflly pixd shader są dostiypnc, możr.:rny zrobić krok napr7.ód i przysLą:pić do
ut\\,orzenii ~adcra.

Aswnblacja, tworzenie i wykorzystywanie


lllechanizmów pixel shader
~ lacja pixe1 shaderów jest dz.i9łani\tn1 pod :nym do as.emblacj ~ erte, shader :
wykwzys.tat to samo, 'YWO!ani~ liJnkcji OJOXAssefT'.bleShader (zobacz poprzedm
wybmncgo :słt.i:td-=ra:
1ce8 Se ISłła r( d il}.
ro rect :i

Bardza prosta aplikacja


1

wykorzystująca mechanizm pixel shader


it"S[cty. zanim przejd do n prawdę mti.;reSUJ~cyrh npllkacJ• " · 017}' tuJąC> h tł
h.a.dc:ry. najpien,· mu ·l!:~ fJmówic il a aphk.ącJi "y ·ur.r.y~u11ąq rh n l!'tb3111lnt} ,
d~r. \ i~ uośe ~ c::ii;k wszyci, .t~_stos,o,i ·a.ii p1x..:l shad~rt: ,~ ,, mag ufyicfai mL-,,;: •
zmów vencx sh der do dostarcuma. d nych do p1xd . had1..· . \V tym roxdl..iaJe- .
e(!ll1ruj ię- na pro lej 11plika-eji, k'tóra prz ds,'law1a nacktor~ podsl ·wowc poj~i , Do
praklycl.Jiycli ~toso"·;m wykony TArn, pi.xcl b~dcry. poel~v.· zy od ro~zia.ł\129

W \}m ruzdzi le wykonys,t y p~ty Vt:~X hill:łcr do obi iczi.:ni21 wart~• ii: r.
wt-go _ ietft.'ll i dla k:.aidego ,i rjeu.clJolka \\t.sp6ł ;eynni ~1 ośwlet le!11ia i□l~rJKI
113
J)D erzchm pro!>l,:J p)bxc;ey wy. Paxel ~had r h zy mck~Lu rę 7 wmofoią · i lit-Il 1

ale.""!' ;o~\JJC I że rnma tekstu!( W c lu 7.d',: finiOMLnJ obsz:iru cek tur)' odbijaj i; •
• - , ~mu 'l \\' Cf"5J• US\\' •Ie'EICfU~
rrmteJ ~Ul.tła Jt' .• ~ up,T ę,,.. .,
" ' '1!11 "
:,. ]1.. o• 1, i.r,c) rut
. łlQ pozmmLt.; pn;Sct' li'"
1 1
nab!~ ~ 1: Wler~hoQk6w oblic21a ,~ nc. h:td ir. ale t ni ~1 sh.adt.~r ·om1jc 4a,ru
O H:'.lffl krcsl:u!'M'I ' • . r . pl'
Wtuto oswu!dema dla . llJ:Lfcgo p1k$t=I • Je ekt dzi11huua a ~ J
1
re , "..
po '17...aAQ oo I} sunku 16,4.

Aby fll.l! umieć jak;c dane it Iii1 . d . t! ~ łi


Vł!rh=~ !>ha.der. aJą O J)J et hed rn, n lc-zy najpi~rw pn; fi
,rosłe oświetlenie
18 pomocą mechanizmu v rtex s ader
Wy l'ł} ~ie ob~ic:1..eń o \i,•ietlcni za poml>ł:\ vettcx snaderów szczegółowo opisano
rozdzi e :24„ zamcm w rym row.zialc nie t,ęd; zagł~bial si~ w teori'i, Pokazany tu przy-
to r2iezwykk prost)' vent x shadcr obliczający iloceyn skalamy wektora oświetknia
"'·tktota nonmllnego w it:rz hnU.:a. w· mojej implemcntacj i ,~rtex sbad<..-r jts.t 'łt'yko­
~Wl)' 111eco .,na ·ilę". jed. nic po to. aby pokazać, w jaki sposób na.lt'ży przekazywać
do pixcl shadcra,. 'W kolcjnyc-h rozdziałach z.apre~muję l~-ps.tt przykład • natomiast
prz)i:lad pokua.ny w tym rozdi iale m:;1 na celu pokazanie ruo~liwoś i ~ z.ajcmnej rnte-
tji poo1iędzy shadcn1m1. Pomzszy kod shadcrn pochodzi z pli u P~ ISeiup. vsh;

~mi.my pf7.eksztaknnt: poz) CJC V\' żadnyn, stopn;u nie m3 to wplY\1-'U na P•· ~1
wde.
~ o?o$ X, • O. CO
oPos y, •O. Ci
4
oPM.Z, •10, c2
~ ;,i. v(J, c3


Otilicza,t,y iloczyn skalamy nomialncj icrz.cholka oraz ,. ·ckrorn oś~,·•etlenii dla świa~
ua k~kc ego. Wartosć iloc~ynu skalam ·go to ko ious ką•a pomiędzy .dw~ma c~- „
tora~~- ~ tym łconh::kście ilocz;n skal my koreystywany J st do o~slcma stopma
od 1.t1a ~iatJa od pow1crzc hm v. prO$itym modelu OŚ'-' tetlenia ~"pra..~Jąctgo. \V~ktor
clen,11 P1%CK.aZf\\ any Jei;l do vcrtex shadcra jako c4. egu;,.;m~• o. ab . wykon.
1

u;:A.Ji-"~ł ie na we tor w1~rzcko!ek - oświtth:nie". ~ 'ynik zap, ywany Jest do re-


. kolom ierciadl n~~o - oOl. T mu Jli?ji:stro,, i w mt:ch m1.l'llic~i. el !\hadcr od-
ll(V,\J w 1 io rcje:str kołoru v1:
• 1. ....... " " ". , ..... „J· z ruu>"ci konfiguracyjl'le. przcS)•łaj'\t d~ie wan
~ cem cnex S1•iJWrJ • • 1 '"-'0 ...
·b"ór ...JJ.r-••....ł111.uch tt.-ksrur\' do pixd h dero. o u.t:Utlanu: za~
- ... _ . .

fi:ofonl 7. z ł v., 1-""u ~•.r .


na ryfflJllw 16.S.

Ry511rek 16.S.
K.1-mfig-Jr,;1 'J(1
purtlH~•rrr.."+ prx1..•I
slto&.•ro pr:,.-z
, 'J"o'.J· r .<lułffer -cA"lil P\Xuł ShadiY

o01
Y1 7

Pn:

Pva.Arilł
00 ~-000-r'•1
t1TO c.,.__ _ __.

Osmu1i pc~j jtSt przeł\\ .rz.ana ,.,~\\i'nąlTZ mech.ar,1.1mu p1xd sh~dcI

Proste operacje lączen·a


wewnątrz pix.e l shadera
T~ kstura fazy O Ził\"1'ter"J t4;-k~u.-.; ~ klór.1 .Ju.fy dwóm ci.:łom Kiln,d koloru defin1_~j~
o~rc.kru. n,atomi t k11nat 1.dfa d~ }'duj c o cym. jak dobrze ·wybmn:~ piksc! odbi~:l .
ki4:rnn owi:. Pa.mmęt.ajm, . ie nie je to n:1jlep ey z nrt0t.li'" eh m.odeli . w1etkn
koloru oraz ·ana~ Jfa 1c, • tury pokazano na ry unku l 6.6.

~U\~,•aż~. że kanąl alfa ~t11oowi wysnd111e miejsce. td:zi~ można pt?.~0 11"'1 nil
alefy
noki, ktore nie zaw z..; ą wid czne, al - : pclr'1:cbne d obtic:zeń, Jetd I J3"' ,e
wyfu,n, lhjcm kanału :;alf, dJ~ obic:ktaw pnczroc~)' tych, możeii,y ,vylrorZ) S"
UJlłYCh «Jow. W ~ pr~dku wy~or-zy5tu_k kanał aJfa 00 Pt'ZeCh .
"spólczynndca kalowama dla wartosci oświeth:nia k. ~---- owyy.,~m 8-buo..
"'-ego . • .. ia. - l I.. ~ . • i.enu1.~-vwcSQ. Pon
. ..adtta zn&JduJe Lt; w p ;:u ,mp e.p.s,,. Pierw zy w1euz mfonnu. . . -.
'k... .ł
ey uu
~~ wmję hadc-m w lol7.)'stujemy~ te asembł~r sliadua.

ps. l
W p,ee'\\szy.m wit: zu ładujemy wartość 1,ekstury do pi:td shadcm K-.1
• . . r, T\H '!11CO" m ....-,...,c ·. u rc::nA'- ,._,,_ • i. U\l te-l'l mo~my
iotetPfdó'W.C oll,")-1.ęr--..LJ..., • ..,, =. ~. .. "~ u b-~'uuCJ t~111. tUJ)• rejestn.c Yt'}'k0
0

• • ~ wt:j io\\'1t- Ten s a,11 teJ c lt O wykot'7YStujemy takct: do Hm· . ~ J~ Y


J 0 -ks 1 - "" 1es.1_.:;zerua w mm
":utOSli _kołom , •b1:1"ego p1 c a na podstawi~ w półrz.ędnych tekstury inteąx>towa~
Cl} h z w1erzcholkó ,.._

Wna.sł{pll~ wierszu prz~ro a~~y.~adni~ze ~ktbmia. łnstru._kcja mad powoduje


pomoożc.mie mterp~lm ·a~cJ w~nosc, os,,.·1ec,ema kLerunkowego przez wartośc wspót~
czynnika S<kaJowama z.ap•~ani:go w k~nale al~a _tc~s~. \ _aność ośw1eUeni11. otoczenia
jest dod.1w~ntł do ~~aneJ ~ ~ało~am~ warto~, os _1ctlema kt~runkowego. O.m:tC7li to.
tr na pow,er'lchmę rownonucrmc dzm}a ośw1cden1e otoczema. u tonua t ChWic:tlenie
erunkowc: oddzi1Jłuje 1- różną inlcnsy,i mością dla różnych pi ·se!i. Jest to dosyć dziwny
pc>sób oświetlania powierzchni. ale pokazuje działWlie prostego pixcl shad ra.
:J rO. , • . O a . · O

Po obliC'leniu wanoś,ci o."wietłenia oslatec1.na w~rtoś.ć je-st modu1owana przez wanosć


koloru lckSWC). Reje. tr r/J Jt."St ,aro\\ no rej :strcm tymezai;owym. jak rcjCStt"cm wyniko-
wym. W \'ertex shadcrach n:J estry wynikov, c ą lylko do odczytu. , 'ie rnoin ich w ko-
rzysta • jako danych wcj_ctm,·y~h 1nslrukcji. \V przypadk'l• pi el shadcró,, tak n1c jr; ·t.
Rejestr r{J moż11a wykorzys,yvmć w1elokrotnic. ale musimy s;ę upewnić. te osutec-zna
Vi'mtOSĆ jest tą., k~ór4 chct!my przeki.!Zac.

li ro. r1). to
· rysunku 16.7 pob7.ano powięk~1cni~ osbtecznego wyniku dliatooia aphkacji. Zwrocmy
UYw-ag na to. ~ ciemniejs1.a plama odp )Wtada k 7.tałtow, zdcfimowanffilu dlt1 kanału
3
ifavokazanemu na rysunku 16.6.
U.7.
..a--' pn,sie. Pozo,taje opracowanie aplibcji. która 1'ciy
s ~ "w zatad.Zae ~r- catośt. ~
kic op,san~ ~remealY w Jedn•

Prosta aplikacja
z wykorzystaniem pixel shadera
w·1 brosć "l1J~suj:icycii dzialan naszej aphJracj1 wyk~nują, zapre~sntowene WCUG;:.:
~ Gi~wn)'ID zadanmoo1 ąp~ikacjj j~-s• dosmrcz~111c do shiideróv.· danyc;h 0~~
t:~-. n~runia wlaścii~')'ch shade1ów i uak() vnienie ich w odpovtiedl"lim
3
~ M-:l,.~
pewn1cme u: • • Bk fimk · -~
'Y,' z:1pn:ffn©wan)'m :nit.ej kodi1c ~azuJ.; f)' o nowe CJ r.: . Pelo le-Od ttodJG.,..
majd' 11je si~ na płycie · D ( 1Kad'1l~dt,ol l 6). 1

, a.jpi~rw rolbUdowuję runkrję Pola1n_1cJO'i(i!Pl U,o ~rawd:tew,: dos1ęp~oś.ci pa;el


dccrów. Jetcri lll'Zą~e:nic: sprqiowc 1111e obsługuje ~1xel shade11ów, apbbtja sięga
urĄdzemja rtfc:~in.ęyjnrz,go: Je "t to dobre do te tow.11n•~• ale w rzec~wlstych aplikacj
lepiej wy1ącz.y,ć r~c:hnil-ę m ż 1w-ykorz ~st,f\\•ać u r.ządzeme refereneyJne:
80l,. K/ipl1~1!!t' Techr.1k1 :PóI.a1 n CJ~ń M U~J

Po'b1enm S?ll'Uklurę
opisu moiliwmd Lsprnwd7..amy, czy kana obsługuj,: ffl<.'tbanlmf)
v,c:rtcx Mdtr oraz p · cl shadc-r. poshtgują.c si'i makr:mu opisu w·crsj1. \ e , ZJ · _
1

pnyltl-ad:ich lej książce \\riykoreysrnj~my ha(iery w wersji l .1 w eelu 1lhaxsymt1iM-


wanja obslugt spr-~ęloweJ. JeteH shad~I)' ~ cfo~~pnc-, tworzyn-..y nraą_dzeni,e sp~ ".
za pomocą f1tn:kcji pamocni~j. ~ innym pnypadlru rwor-"'}1ny ll.il'•.ądv:nie rerC'MX)1Jlt
Pami·aajmy o tym ie lH'2~cbtnic rcferenc}jnc moi~ być niczv.rykle woln , ~ln!t
i pnypadl(u wolnego proc~sr:m1 gló"'Tiego. Jeż-eli nasz s-puęc n;e obsługuje shad "·
m1Jttm~ czeka · flil\,'1;:4-:t kilka s.ekund IJII R:nderowanie ~Riki. \\•' ta.kun przypadkach l!k.ey
zachow-.l c ierpliwosć:
D~PS8 H0z1.
_ 000->f:i't'"'Oe•nc~ps(D" • lttł DE'F'i\ 'T. 0300tV YP[ ' . ~ ~l).
c zi 'ie:r e)~C',er'/er~ 0301/S_ -Rsr ~ L ! ) -
'I -
~.:1 P1xels ~Cle ers1on -- OJ· _ 1łEf.SJ ~ :. - ,

l CFAlLE'DWt„0"'2 0$ iApl fJ · 1e( Lłl'. ~J D300EVT'Y'" KO' ,


DJOCRfA E ł: P.D',,AAt 1, -1:nO:Pi,;.., ES)J •, ) ) >
turn F~ SE. - -
IIMd lat:M.-

/ _...,;.0~1,•:t.cll8Uł!(),
- ' ":Jfclit-,rt&uforPl ,nzczyzny( >>l
tf (~urn F'ALSE.

m-.,orzS adery tworzy zarówno m~hanizm ver1e,c shade . .


łił~\l'Ytoaanie tej rne1ody nic pow icdzie siw;. będzie to wsk~~/ak I
pixc~ shader.
Jdlłi "w kodzie shader:a. Jrżcli shi.lder jcsa poprawn"' u ...:..
0
.na motl_twy ~
~ . -,.il . l....i ., .... .,....ooame funlc:c,1 ~
. z:atoric-tYĆ s1ę f"V...., .... me. ze w:1.g 'lt""u na alternatywne W)'k . . ~ -.. .... .,,ze
~ ·
~ne,o- - . .JeżeEi zdezaktywujemy wy~~- aan· u..-A........
. . Ol"Z)i Ianic Un:ąd7.eoia
5
_.""'.:, me W&•Cf"l,,-..~n•a referencyjne
:,_tiJnkcji mot e się nce pow1 w prqpadku. gdy sp~m nit: absługujr: i.h:1!:~~
rz'Słl der)'{;,)
,nfit[L!DCU.-
r'e u
f J_I
"-.x..
-C- ~

~ teb[UJ1] to m którą pclk:.lZallo oo rysunku 16.S. Zarówno kałor jak - d • d


c.Ji\1-'C odbicia ~isano '- · p ~edynczcj teksturze: • , .me nty•

1
r( 1L roto30 t?ate e)llturef 1 11 ee _,. rractze, eooo.
• \ 1u\\T1ie s·.
&m_•,.Tc ~tur:-a)))

tt:.urn
J
FunkcJtt Ut rzShadery tworzy shadcry \', kor"l}•St) " 1.anc w c"Msic rcnderov.•:mia scen .
Poo-itsZ)I kod je!!t ~obn)' do kodu p rczcntowan ·go w popr~dnich rozdzfałach~
.Sui.I h ~acJ1ieun n, u r. Snade... 0
{
sOJOJBuffe 111au orSJlade a.
1030YS,Jf ert S1ed:;Sha;dera.

T\\orzym)' vertex shader i w„ konuji.:m~ asemblacj'-! zgodnie ?. op;sern z p przedniego


roamału. W rzecl.)i\\\1stych 111'lplcmr.:11laqaeh ,,, pr;,yp.1dku bh;dó" byc mo,e nalcl.8łob)'
sprawduć za\\ranoś · bufo:ra blędO\\ .
l" (F JLEO(DJO :S~ leSł'..a erFr 1 'e 1a\\st1~df!rs\\ t 11 e1se•up. •sn·.
L ~ ;tłu orSh~d t~ ~sledyS·~i:k!ra))J
ret , n E_ l!IL.

1f ffAILfDC _,.tJrzc1dzem e030->Cr cate er e •S~:ier IJet 1aracJa.


,., ~ "'tb" ..Shader ~ fferPornte"'( >.

re rn [_ A.Il:
- -
., $ ade l • n Hl 11 3 j 1 • 0) } )

Z1h-alniamy bufor Khade~ al_ m1.1:i..na go h} k1 W) korL)'Slac pon \\ni,: do uf\ rorzcnfa. pi:s.el
~era.. Zwalnianie bt1fora błędów ni~ J~Sl p 1tr7.eb11c, połl1C\'-'tL/ jc,eli JC tc '=l'n r w tym
IJIJtJsou oznacza to. .e bufor l>łi;dow ni • 1.ostal utwur1.on} :
rr:. a~r~- Rel~s,o,
WYlVOlan. .
• do nt\, '1'7en;a pi. e! hadc:rJ je I d •lru.hii1,; lak~c same. J• ~~')'~
tie W)'kQnystane
WOlanic ~ lllWOi.«nia ertcx ·hadet3. As.:mbler wy korzy ruje p;cr,\'Slą insm.tkCJ~ op~~u"'
.Rq 'Wer1Ję "' celu u.zy kruria in form c ·i o 1.ypi . h dera oraz o Sl)O bu; j go as~mbl acJ1:
ror~~ra-;i,,R~leasefl:
r turri s_ :

m_ 1, d JHKh
[

b pomocą funkcji Del @ti!?Ve rtex.5 ad~r ~raz Oe le~ePD:e} Sh3dt: r za~"'lłiall!ly U&Jn:
:$'1aduó,.v. o-żemy ut..-.·OT7.yć t>111foey Y.'lc-rz~hółkow . które ~ł~gaJą au,o.ma;. l".
ootworuniu w cz.a ie (N:ih-varzania urządzt:l'lia, ale o LL'iumę.c1e I l)OOCJwne vt'n·o~
. hadcrów mus1my zadba :s.:unodx.celni •·:
~NMZemeO~•">Delete ertł"'5 -!der(rn_S acter 1,on 1 u•· tJ1 >~
eP1 ,e1Shader(m Pr styP,~el'Shader,.
re urnt~d7.eJ11efJJO-?Oele
-
TP. p; -

Ns koni~ fillnkcj>R renck.TIJjąca wykorr.y 1u;e ~h~ry do wykon.am:i intt.:rcSeUjąe'. · ~ ..........


\V pou ił"5ZYffl kod21e zafo:r.ono ż~ ,vc2c nieJ popraw hit: utv. ur,m:no shadcry:
'i'OlO lkMJl iet 1~1 P,ffij fl.JJl}
f

1'<.'fllZ bZeba ustawić ve.rtcx heder. \\r' n zej pro. t.:j ap likacjt mogliśmy nsla~ić ven~
~der ,i ćZaS'.ie I.Worzenia ~hadera, W 11as:.cym przyk~łłtlzie j1.-dnak umj :szczam t i~ -
~ę w,ewną,trz funkcji renderującej elfa 1t•..,sz ·go zih.1sh1-\wania "_ kot1) an ,' fi dzi kii:
_ r?ild~erneD31J.-.:.~t•e e~hader( _Shaaer oM ~"iCJ •

lmdi wykonąje Mi-ję kicnmlru aiwiOJtl,:n ia. ~ oblicnmiach p,zyjei,,, k oś, ••


0
Po !1szy
•l~nre: J4:'.Sł .zaws.tt s ttrmvanA.? w dól, niL'23lc-mc od wa rtolc I auimac ·i. Po zddinio~ iu
ła~rurtłrui_ OŚ\\lieUeniajt ton .Przekmcywany do r jesb'll c4 h d~ra. \ rozdzinJe :N.~
;;:••w s,~. u_tak i •. P1Zyjlll(l11,•a~ie SjlOsobu dd ialywanin wek 1orn oświcilenia "" 1'11:
ralee,,,a <lb,e~tu 1osr ""'"""' (,, zaiwye;zaj ni<popm ' 'D ale dla n j JlfflSl(J :ljl .
\\')'Sferczy._J!żdi z.decydujemy t,: lm mody1ibc:ję maci ~ wiata. ~nmt nitJn"l"
dlowc w
sensu "'Jllliki, l]o!l koot
rio.ldZJafefe w24~ feście
nie j0$! 16 takie wu:tne. Moóe
., slow ruibiorq wi( ·
czas • (floatlGe Tie Countc) I HIOO.Of.
!'&TORA
~••-
(1erS-.11a ,~ • 030~ E,TIJR,q(s1n(Czns~ . • abs(~(C:.Z
O.Of. DO J as)).
■.-JJl'zadlf!O e03De-.set er (!-).'ScJadtrCGM. ar'l1.(~. &K1erS-!ll"l~t a. i) .

niewielką składową światła. otaczającego, Swiallo


:'"""°" sbodeSa.
.,.,n"/
a nosl(llllie pil<el badera.
dt>
0~ • ·
~'t<C JOSI pł'ffllaeyw.,,.
oi,ivrcroR-4 oczet11e to t . o.1 • o o.
·t . on •
.A1r:radren1 eOOO :r-setverte$1ade~ cJ t( 5,, M>tocz1.: , ~. n.
slladel'I uuhP 1akżc paek$7.aĆ Poh\e2l(uą ma-cief7.. Poszc-~gómc macie .
,.. filllktji·
1)0 f 9urujU zadzeme: ,..., """"''"""
---1111IIE~ Hac1erisnaRr, - _Hac1erzS>N1a a u.
~•'""... ~c er zRlutu:
~ ,. Jran.sr.cis.e{&:■la'" er Sl\ilde a. ~c er1Sra ra ..
1
urza&e<11 e030·'),S.~ \ler„e:,i$h~til!rCon$ irr CO. Y'~c 4:! r ,< :. _r 61 , ~L
-

u~wia.mY piixc:1 snader. Ten shadcr "-'}'lll&g;;! rp,nekaz_m:i1a kilku cek. rur wejsciowycb araz
wa,tośti z l'erta shadera. Możria by było '""·ykorzyst.,ć. piJ,lc:-1 b1,uier z ;nnym "'ertex shadt."-
ttm i rekstttr\. ale \"'Yfl1ki rnogł_. by b)fĆ nLt:pt7.ev.,i.dywalrie LpmvHiopodobnie bł~dnt:
c1dzen1eON>->setP 1 o:e S,nr1.~r(m_P ~os ; ?1 (e łSntóer }.

Teraz~ wytonaU ·roy w~b-tkie c~)Fffllośt1 pr-ągotowav.·czc..\ moźcmy \\'Y ..,ii sia1.kę,.
wnaszym preypadku jest to p,asiczylna z g,rostą tcksmrą. Siatk.t za, iera współrl~fiM
~ . któn= infoffllują ptxel śhadcr. w jaki spo, ób mdc .• próbkowi]Ć te1ksn.trę. Podobnie
j.at w przypadku mJtych pojęć d-0tycząc)1Ch tekslur bl~dne- współt2~dpe tekstury powo-
dujł iu;y kiwan~e błr..:dnych wyników :
11'.lr~GZemeroD->SetS rea ~1rc:1?(0. m „ aszc-?1z•i.3B:,1 or .-. 1~ zcnolL
- s zeor ERZC: IE-. SlATY..l ) ,
-_. ~ 1eO::JJ-;.DftJ. Pr mHl'/;' 030P _lRl/l!mSTilP.-0. 2l:

Zatwyu,aj} jeteli nic wykol:'Z-ysluJem~ pi d shadcra.. dobrym pomysłem j~t jego wylil,•
cienie. W cym przypadku cały czas lonrstamy 'I pi;,;el shadera~ le dodałem ponii.Sią
imtrukc~ po to. aby podkreślić 10, jak "' a.zni: JC-St \?M')'~ączamc shadera. Podtobi'lic jak ·~y
futekstur. pixei :mader je t stosowany dl~ kat.dcgo pikse~a do t.:hwiU kiedy z.ostamc
]a-A-nic Z1nLen1on)·. Inaczej t,iż w prz.-vpadlJrn stanów f~:, tekstur , I czenie shadera j~cst
zmcmi, łatwiejs.z niż. osobne ,., ~,1ą~7.an LC ka:tdi.: go v:, stanÓ\\' t.eksnm.ry:
t -~rz~zeme03ll->S~ t>D1~~Shader(0)

Wynik działania apUkacji już pokazano nil rysunkach ~6. i i6.6. _Ten P?-}'klad jest 't\it..'CO
~ a procedury oświetlenia ni q najwyż.s•.ej jalmści, ole 11\l•llllJC podsl " MO•
fl.Ulia mc~hanizmów pi el slrlader. zasil nia ich danymi. pr1)ez cn,.:x sbruiery or3Z wy-
~wania do oddziaływania na wynik pacbicgu reodt=ringu •
.. Clli661V•..........,·--

Podsunaowan••
. - . "dli czytelnik po lektw'Ze powyższych rDzd%iaha Die
Nii= ma w tym 111c dzi~ocgo~szy t.c prezentowany materiał jest nowy ~~
się jeszcze zbyt~:.:: poj~i~. kiedy ię ach U2}'W.1. W lym mMzial~ ~
u~•atam. ie ł.a~CJ
mi3n':in b)•lo k11utowe om
ówienie podstawo",ych poj~ć oraz definitji in5ttukcji
, . . t-t dó\
52),'('h ro.wzialm"b utrw:dint}' ,OJ\."CtB Ził pomocĄ przy,- a
· dał.
:4.
• - L •...: ~-,...,.;a.łów kom;cm1n1jc si na en~ htidcrac:h. auczymy si~ , lt1.....
, •.
Kolę,1ny1.il 11 "-11IYJ , , ~ . . , h te h 'k Z
01'3.7. wietu poj C RU tł~

inleresujących I C~t:
• ka

poz.wolą nam my~ Ieł: w kat gori~ch ogir"'dń~t=.!.c·n ,~n~d


~re ~ -~I fy\1-:P" ' ~ n\OWiflt: łethnib
~

1 CJI u_...1 . an ~c w~h~tncti ~


c-2.asu. kie-dy p~.anał izujemy p1ł!rw. zy pD„e sua er w r .(.U~•.a1_e 2od,, ~ck1crny ~
'---.f'.- • po lu ni,, ać sj~ shnd.:ratm. Od h:go mum~ntu pncJ5-ele v-e1tex. si...... __ -
s",OJ.JVWHe
ixel
• t-
sba.dff'Ó\Y po1ti
,c
inno byc
~ •
la.tw11ćJSZt: •• n 1tt nam

su; wy
d ·
UJ e: Zatem
·~
23paniiętaJfln
00
z te:c, rozdziału łyłc. ik i~ da. al.i:. pam14i~nJmj'. ~e ~.alsze m.il:~ a.ly u~i:wa-1~ \\i.tle ·
ród :pojęć pomanycb w tym rozdziale. ~lim przcJdziemy daleJ~ spróbuJm}' ~1Ć
poznane ,pojęcia;
• Prxef tia.dt.5f)f 1.Bmicnfoją mniej ~f~ktywną technolog1ę s~łnów t1Zb tur.
ofenJj model programowa.ln !}Odonny do v~rtex sh:iderów.
♦ Istnieje mozliwośćjednoczesncgo wykor-'ystania ,,. ICJ sam~J aplikacji pixel
sbaderó,\\' z technologią I~ c.zen ia faz teks1ur. \V za.sadz.ie p ixd shadet)· JJOwi!Wl
~i• n1fkol'2)'Słf\''ać do bardziej sknmplikowanych operacji. a proolsze praypaiiki
. , „ rarcmu sp~ ·nbo,,·1,. .
pozo.•aa:1.v1c
• zte:ry wersje pix1:l shadt."TÓW są, różn~ m stopni u obstu~ iu ane prze.z ,m,c
r,oodzaje sp~ru. Obccme n~Jnow.s:t,.ą i oferującą m1j ..,,,1iyks::r.c mo~li"vosci.
a joomocześruc najmnrej ur.J)O\\·s:re<;hnioną ,ve . ją jest ,,,i:rsja r.4.
Dowolny spr-,,.r:.:'l oMlugujący mech~rnzm pi. el shadl.!1 Clbsługujc weRj • l .l .
t Pixel shadery dz1ał'1Ją w p .dobn)' spo-a1b Jak \"Crti:A ·badery lnst.rukcji: .zapi UJ
i odczytują dam: z i do reje: ·trów, a następnie przek;LZUJą o--1atecznc '1.ryniki.
• W więk zo ci reJe. trów prllchm.1..-uj • się dane Ll kolor,.-u;h. \\')~ąEek tanowi\
rejes.1y łr:,k tur, Rejestry 1ck.SLL1r pf"l. ·chmvują c.lanc u wspólr.-rędnycb l :st.ur.
1 zakżnośc1 ud ms tnlkc:jj można ich u żyć jako pn>ock koloru lub ja o dl;łln. dl
wektorow eh.
• f_n 1rukc1e ps. ~f oraz ha~e wykonują konfigu.racJt; ·hadera i nie zawie-raj1t ię
w ogólnej liczbie dOZ\:i.·olonych instn1.kc ·i w sh11deu.c.

• lrultrukeji aryt111ci)'cznych moZJJa u.żyć w celu \V)'konani~ operJcji mati:ffll1\yan)'Cłl


do~~yc~ warte, ci oloró, . ZilZ\\'yC~j moma u~·ć osobnych i nstrukeji dl
1
Aartosc1 opisu kolorów oraz. ,var1,o ei opi u k m:ifu alfa.
'

• łnsttukcj~ _drr.: owania t~k.~tur oferuj najwi~~ze możliwo c:i. D~cydują one:..
0
~o!obre 1ntc~n:towarua danych wej ~ 1owych op1 ujących ·tekstury. blstrukł:J~
l)'Cb ~7.rw UjCy~ do załadowania wartośd opisu koloró\; oraz do wykof\)~1llll8
op rag 11 na ruac1el!'Zach i wcklnrnch na podsta, ie współn:ędny h t k tur.
część V • • •
y,chn•k• wykorzystu111ce
111
,chanizmy vertex shader
łcm k~ ill'lilc,cp, k~ był ~Yfflłlrl~ ~
\\i ~ h t 0 1 ~ . 111\\~bdi IICJ ~ i,ę.ł; optylNl-:7.;w.~ 1ła:iny. · - ~ •łk
~~ • 'I/fi kofeJ~ ~ ~ i . I śl~ ~IVJ UIA I DII •.7-S~• apł~ ~
P'auk :a.~a•:b 1:'-',\W1ff!IJI ~ ' •11 · ,J,x, 1 lio&);unUI ,.tes:4 nH!l,I, laki\lt)' Ilf-Il ~ łt ~
~,~~ ~ 1 c nurJW - I ~ \!i lu,clbc: 11 p1 cji zlłfl'ljno ~ l y ~ - C:O~

i:roblł.. ilb)' zmte'lllt. htl:r, ZMJll,f~)'. m k pqJJI nie- b)l'o lO, cm pci~IDI) · ~ ~
lmllo,,ił'UC. W ~ ! d i ~1)7.dbłłall'b,. pu),JrtllJI •
I

' tik:J L<"'~' ~ w~~i.v- lll'rJW ' 157~ • ~


"7:)'tl'ad>' po~~ Y, '11, tb)oo~• s~~l)' t;t:gµi · 1,eleru tOpl~!)IO W ~ )r.) ...
.Jl:i> ""}:lwu:~ !Wie doc!i . . Sfoonpal[Alpt]: i UJ~ tu ru ę-J)UMt),th ~ - - l, •lł
s ~ - ifiie JN!rck miJ ·.uJ1•~J11i:, ., . ,._..""lllltłl
~P•~. """
ł gon1l.u!
,.., J pmD
17.:~:;L ·w
- ~ ~ rnodclan'u v. po!4l:lc1 s:, k. ,
.sd1C!« ptitl :j.c: " tiu.dov.~c- 1 0Mtug1w. je 'Aa,
TtC nu:~ '~ ....~·s.tńkm J J)Q[kb~-ę dla ruc~
~

IDC(1uzJWfiO-W y,t~C,-" J;1w, • •

""~'$'lbdl bleJ:n)'Ch rołd;zj:11'6.,_


. lb_ló{!C' ~ , ~ 7. W) ~'Rinll?ITI ~
• ~~... ~~~ prmlłi :.r..u1 'i\, jcr.frllo 6,.i. llll'ttZ k~, -'1.llt"

♦ ~ 19.• ...Bill if:!.' J mocłwl~:!i' '\",tl'WJ'. "h.11k1" opimji:,. _w j __- po1.6b ~ •.,.
, --"- .ł~
J101,1, ICP- !IUf 4.1'. J iPtP1
kłt.11 ,... jd,,i:.nia ,_if""
••ftJPklllw111k.L . by ll,..,,-or.i:p: di r btll ~u

♦ (ffw,~ - , ~ eyrri nrum;;· Jo ,;~niet'lia gnfi;_e JD. prUds.1.'1:v.ru111y ~ 11,•~ ~ ~


rtCl'f, ~ 'i.\' nr-..dzi k ?O... ,;Opc c w mn~•ch. IM d c~ ~spółrzfdnycb ru~ fld
~J Mk,.... ć!.'DÓWif inni?' uJd iły"' pQł "ł"d!'i) ~h m:I' t'ld~-Oa • Q111Z spo:sob),};
f)'(:n ,;16"' ~ pm ~rtC':\ w.der "'
♦ ~ li ro~le 11 .• "Krq-v. c ~ , m i... 1)11~Lm~ J)O,KC opcrm.11 gie 1111,;~m)·i;:n
1 fJ'!łi} mi ov, m, , .\tł-mi )D t 'li JD paldan) m,dtro'11-Mi)1Mt :,,n po~
mc,;;fwnmi -.icnc ikr. PoY11em ~ t. 'o\ j.tk.i spo:s,)b gciw:ro"" f d.}'t\:J.ln.ielBe
~ 1,!,;1 nomr.iłnc dl dy;n:im:,any b f1.Kt.1I'
ł .kiiu,jn z ::micm nucicr.,:y pa ł!CJl!':';I m-:1~ .ll1i11l..ocji. i,11, l1 ~J mo.tnl!I ~...
l)Sl)'l,I,
lid lkn. nucter.r,y p:r.ukni.1.ken do póJ~)- , •;;i obi..- Ul. W rnz.dzLłllc 11.• -.-,i-\lfl lnx.Je pooo

- ~wlliltS t 2mros.a·... 1mr1 P3lc1~ n~..:icrz) .._"' onuJem~ ~n,•m~ p:ilec l.-ł poiDOq
~ iz:móout· ,.~ńc;< di der

ł \'' roqdzi k ll.. . ,Prostt •r.qc 'ł kolur.um... pel...., iem>"· 1,1, I k I Sfl(t:illłi mom.1. : p ~
.,,.ffl.O!ki •r~~ oo_"' ~ i k.ofloroy. 1V dl>itO.~'" :,v.. rir~~ ·t~ "' edu ,u~
,rf(- w phłrn M!lll X.

♦ Kiedy m-em1mi)' ..., ~ I}'...., mf('h. ru;am :sh.J.dc • ~Lnu: im) m•:l/ l•"'-~Ć ' Orzyi'WIUI
ze ',l'Y)'Sl,i:idi 'llii'J.kLV.'l)Ś( J p,lt1K\J hmk,;J1 \Ir booowat1~·i:h, ..,, I. :;ro 7. f\JnkCjJffl,_i ~~ •
W roz&iale<2 , ..\\J. e M"V. 11CUm1ę- "I v.'}'kor7)i!i11111Cm ..:en,::i,; ~-•den", OIIW>' ·i ~
ilhpli:mcn.lllcji ""-.~• m;:b ~jo,,,.- ,, "' etl("n1J Jm,~~ '11 \'i,' O" rc..:t."( z pomoc
!Dtthlnt · \.rmx h.:idtr.
ł R.oMłi IM.,." ~nl0\\',in11: krc-słu,,... r. -01,1i-e", uuJi: ~._ b I mp m nu Ji t(' b:liti
rJmsr \I, poja,ly,1eeym pr.r..(! ~gli :,,_ '\J,) k0f'.l)1>\IJ1'11 m 'flC" -.'.Jl \ o:\.~uro\, '.!,cli d"" "
1NJC1n t;H,lmc:slGlu lna,g.. /O(jj;:J IL~,1r1.rc),
• Ted,n1 i:i OO<i•" 1!';kowe~u ~ l:a 1.~hu;k,11m I oJhtJ n 11.? 1 ,t....,u.a
ffli.lJM)'UI oj,: ,'A
Ro.ztłmrl~..•Odbici'-! j Z.11a:mlni(' 1111 -. OPL fi: po ~i,L ~ty~ tC' ~p ~.cinln) h
(:m-g, c..,b.f 0 ~ 'W)'J«m..) tJII~ ..,l\łdtrti"' do odv. 1ein:iY1.'.?lf'llłl i,;11 lll po,...,·1ertchni
.nmps'
ł C~ie- lo "~~ -er. r,•"' i.: 'i'.·~'-~Jdl h. W ro.1,cl:n:ll,.. lJ,, •.Cte111(' - I
C tnier.11 pl -tK~zn cli··. pu.uJC"my Lc-m.1l>"1::U1r'.: J'.if~~1 Z\łiii+'Aflt- 1 114~~-

ł ~ I 28„ C 1et11~ - ~ . 1, C'imkmij]J]ji: ~r.:. tf".(,:1111,:'",


~ • ~C\.-,t\ni ciicnio Ili .

• IR~~nł 2~•.... n.ie - ~


J. , - CINI)'" qpjs;LtJI: .liZC-2,E ri:J1d1,...-ifJ i.- , d o ~ ·
I)'~. ~prne rnito „
~ tck.~ry l'1 1: s.«J\{. Jm ,10 pii.!n'i ~ i«hn ·
~mEtl').mllJllr.ffl \ Crtr..-.:Nlcr Yl~fl) tuj rnttat:Jłl121f~ pixcl shadEr.
.,dział
~0'-'
1 7·
- . . •
t,JSIOSOWa!'•• shaderów
z11odelam1 w postaci siatek
W rotdliak 1 -• '' :zw_ii;lł r sposób. op isano J)OSt)b p1:zYSl'llOwa111 &bie1<1ow -
ar.tł: tJo \\ konystn~ua w meebamzmat:h shader. \\r eym rozdziale ?,ag dn. "': posła _1
1
si bardzi,ej szczegofowo. a 1okte ~prezem°' ano frao...A.nh_• r'l-.wo. • ffl1C t-o O'p•·
.
j,011) • - .... ..1 ... _ • e,w•~ ..., • ~z;ywistc kodu.. Ta
_L_:1,a, w z.asadz_i.e me wprow"1UUI
. niczego oowcgo raa temat 53111,.,ch h.-.,1..-.1. ,
,i.'CDIJUI ~nse·1 dk. d . ; - .,u \\ pom :i.
JedI: ~v "i~ ·. przypa, ow \'(:i1e ha --~· W)'k(lrey ·tuje się 1. obiekt;"\ffli w po itac'
t. ~IJC2'L'j}ie s,ę ~ob.u tabi;go prae Zlakima iatek, aby m---a 1.u-t · s :,!
,._, . b d am, w ' . ',,IUJ V) o zastos~at
~ B:;ch ha(IL1'}" J( I Jłri _20 ~ ·•-. ~- tym ro~udt omów~ CZ)11nośti' J3k;e nałc:ly
ykooac► aby_pr~ekszta C'I :sn,~, I stosować do mc:h s.hadcry. Omowię ~ n-ast~-
pu z gru:1.merna:

• posób ~•su danyd1o rerzchołkach w obielnach , p stac1 Iatt ..

ł Oifatz0ro\, 'allia materiałów na kolory wierzchołków.


+ Zaśiosowanle koloró,"' do zapi rwania innych dan;·ch o w, •rzcnolka h.
♦ Problem. wydajnosci.
f UJJplcment,fi; ~Ił kodu pf'blc-rają ego dam: z smtck.

Poj,cia podstawowe
ht.mtją pewne nic-porozumien iII dotyczące s.posobu <lziałanitt obiektów w posta i sratek
bibhoteki DJO.- • rmektórzy m, aiają. z · s,otld 1Jkry\',' Ją wiele szc egółów 1mpl ·-
nim~cyjnych oraz te d :;Lęp do d nych wchl dząe eh w •eh kła.d Jt:St utrudnion .
Wrtt ~ i to ci nit: je l to prawi.Ja. \W wi ·k 10s i pr,yp:uJkćn\· obiekcy sil:!tek D"'O '
~ byc niew1d~zni: dk, u~.,1ko,1.·nika, o ile :mamy zasady ~eh działania. Jezeh przc-
r~~li{my pop17.e--Onic rozdzi~łyr tn :zagłębieni i.: s1 • w ·1.czl!gól ' dotya.ąci.; , iat ·k nit
po11,wio być trudne.
1 1
· probowali ·roy anabzowac plik, 1 obie •tarni snil unue ze om: n . pł Clt:' 0 ~b~'.~
mott.~ · li my. źi.: ,,.,S:t.}. tkii.: p'ikJ .X mają format t ·k. tO\\ , PO\ oduJe lu Z\~' 1.'\(sz~mC'
rtl~~ płików oraz dfuźszy 2.as ich tadow nifł. al~ dzięki remu (l~ożem łal''-'lŁJ 10n~n-
to~ ę w zawartości pliku. Pliki zaw 1ersją (inne opi ujące !J)OZ}'CjC, wcklory norrnałm: ·
. Plaki i;awimją, n,wnid cz~ść. k•ón:j ~
półrzędne (dcsrut)' oraz i:n11 re::ty, czególne ścian_ . Kiedy mbli~ OlD)( .
~ octwzorowu,ą« ma•~aly ~śla format wien.cholków odpow111dajllCY ~
plik zawiertj~Y siatki;. JP•~rw \:ic:rzchołk6w . Twonony jest również bufor ~
00
a nastqnic Induje dWJe do_butb~ - N~ koni«_tworrona jl-st tablica ~ 6 - . 1
- 't\-,.•-łmanv ~'lnynU. .1 •• • ..,_ ,, 5łllGó
a nucepmc: Jcs& ~ n-- . .• . ~orowur1ia ,JCIJ~ uu J u11ego matenaJ6w na fiii-._
onz bufor trybu~\\' :ow ~ .: ~ rwane w cz h: wyk.re. la.n ia figur. zgodnie ~~
1

\'lyrnie.niooe t.abhcc ;!M\ W}


matem pokmza_ny,n na ry~umLAU
_°.~17 1 Powi 7.ani pomi
• ·
po ·zozcg6h1~-m1 bur~
-·-.i
pokazano n:1 ry unku 11.2.
IJmt..dztJriie D30
Rytunek :17.L X
zp1;bm~krtPf C)ane,opcKI sil
w fmn;lele
rie,~"J'l'I
m~ §
I) JflYff'I

i. •
Ekil'Of
Sc C§l Na~

B
uyl>Ul6W
EJ
F e_i ~ • 'INWJOlilG z.a p,0fflOO\ mal0dy
On:mSuo Lłub za IXlfflOCĄ ~~10 lfocu

p,0 7.aładoW4!Biu buforów móm11 j t: w • or.r ·~UJ. · dokbth1ic \\, 1~ ki sarn ~posób j.ak do¼lllni:
b łfury '1.-vicrzchołków ~ mde · ·w.
Na razi~ ~-,;zys4ko Jest Ji3 ne. alt:: jt:sl pewien prnhlcm. ró) by;,? n;c ~-ykorz, :t}'\\111
shadcrów., mog li by.;an .fXJ pn:~tu '"')"'·oła.ć funkcJ1t Ol'a ...,Su s.et. ~ Lalka byłaby pop ~
n:nd~tm\ a.11::i pr.M:Z p-olo funkc::j i whl owany h.

Teraz ku.:dy " ~korzy rujcm) shadt: ·, j~s• bardzo prawdopodobnt:, YC forma.i Fl f
pjerwo1nej iill ~, m1,; będzie pa owac- Jo fummtu op,s.ancgo \\ dt.:klani.;ji ·bad~r.1. J
wu?~e porobó\,i na roll, 1ązJ11ic tego pcubkm1.1. l'1c-rw~:1.f pul ·g na utworz~'Diu takiej
de kJam Ji shad ·ra. kturn pasuJt: Lfo forrnalu ~i:11Jci. 1c J l'!'i.L 10 naj li.:ps.zy posi1b. poniewa1
rno~e zmusza· do 1wor21:ni~ sh· derÓ\\ . które nic opl) amii nc. \V prrzypa_d ...u mod~ ' i;Ji
fom,atu &iłLkJ mo:a: rÓ"'Die1. pl}\\Ol'lować k mc<.:roośl.'.; ponmvn •go pisania luh oo najmniej
modyfikacj~ .shiecfera,

Parnię aJmy. ze operacja k ono~ arna nle orzy no ,'l'}'ch dan~ch. Maz.na skLonorł~
format s atki w celu dodana we toró ormalnyc: w ł rzcht.Hk •1• ale ekto'Y
rna n nie oęd,ą v.ygenerawane łl lómalycznie. Klonowanie spowoduje UtwLJIWL!ul
doel'alłio-,r,m slotów• na dane, ale ech Nypełtlleme Jest ńaszym .zadaniem.

Lr;,:p z-y~. pc,,sohcm jcs.t modJ fik cjH formatu ·iatk, w t.1ki ~P _ób. b odpow111d
de~rarac11 h:idera. ~ ykonuje .tiJę tn z.a pornc,~ą metod klono" :mm opi nych \\ rot·
dzmf IS ~!~t~y tt" powoduj ucwont:-11Jie nowej milo, która pa uje do ,, b ~0
formatu~Dzn;k, ~mu h~dc:r mote dzril~~ć~ i.11 • nic s.ą r mctod;r d · n1Jłe. Jeż.:li 1~·
wolna,· ,atka za\.\'tera "' •e~-ej danych, n·ż pocrzel!ntjem d I.a rmw,,;:go formatu. to nad_
nua•
towt!' drui~ h\:dą u1rncone i ni • l>ęd( m, zgf Adnf ont.1' w nowej i11tce. Jet.di jedri · statb
._.,..,11. • z.tao..... er:,11,,._1·e I
talle• . . . . . . . .
icf\'tOfllł zawiera mniej danych. to brakujtce dailC trzeba
~ l\'}'kOfl}'Wlllia takiej ope1aeji pokazano w ~IIZUpelnić ~ ~ kodu.
~o ,oidziału. ~ kodzie cJol\czonYc:n do

od _.rialów do kolorów wierzchołków

nu,e nie omówilt!m z„ dn~J z metod optymali ji fakk. zatem z.oto.tym , <'. bufor
atrybtitów o~ bufor ind~ksów ą odwzorowane łio~owo. Prz;· takim zato:1..eniu mc»:.emy
ptUgl da· bułor :itrybu1ow , odwzoro\\ywa o'kte~lon ma11:nafy na okr-e ·lonc _'cilfl)'.
Ptteanalizupny t" t«hnik -rok po kroku. PIZ}jmiJm;. k mówimy tyłku o"' ·dobywamu
k-01.ooJ rozpras2ając.c-go matenahl ta'k. ab; m,k wypełni kolor rozprosz.aj- y wieu.chołka.
Pieiv, 'Z'i fn,gment kodu pokazuje- spo. ób dostępu do ·oloru rozpraszają_cego ~1an~ ,,a
pośri:-dliictw rn bufora at ,• butów:
u~y.
a "kJ..t ~ (O'~ Atr bU y) •
Sc ir. a < ,. • ~~o. Scia ,.a••>
ł ~
lnD •Cll. RGLprosze:i c •
~XCar:JP... tf'" alyS·at 1[ ~tribuS[Sc ank )1 D fu~.
} -
_'6·aa •~loc i;ttnbt.l'·eBuf""e c).
Pęcla um.otuwia indck.~wanic bufora at[) butów. a otrzynt na wano ~ · z koki po1w;.1J~
indebow11J1ie tablicy m1neri aJó,.. . Po pobraniu okrc~·1on go maceri hi możi:my pobrn-c
kotor 1W.praS111.jący. Jeżeli inter sują na1i dod:nkm e wlaściw ci materiałów, mól.\! 1l1_ :
Je pobQ róv. nie łatwo. Drugi fragment kodu pokBZUje. w jaki po ób mo~~ ua mafruc
or_wimcholków. wprowadzając do ni go mforma je o kolol'"l.t. \V ponta:z)m frag-
ncir odu założono, że 1.aró" •no bufor wierlchol ·ów. jak i bufor 1nde ow zo:.-.tał)
~:
iS1a •,41 ~ y( .. 3 • on. :,o1or • R,nprcsz n e.
t :S111 sy[S - 3 r ll olor • Rcwroszeine.
· ł Sla lf looe}!ij( .., -. 2]) ~o Or' .. Roi ;osr~ 1 .
Od kolorów wierzcbolków
do danycll opisu wierzc,hoł1ków
\\' _pop~dnif:j proc-'l-.d~rzc opiS!lnO. w ja · ób motna odwzm:ow \,.
ri.nłów Wł koJ _ wiera:hmków, kt..ch jcdn Jt"Ste'Śm_ odr-0bm - pon,) ł~j~ i -"".:.u.i
r.1t1WllŻ)'fflY kpsz~ ,POSoby. \\' \\ iclu rLyp(.t&"h , li1k1\t,,y olor Yi i~h
2b 'tnio in~uj'l(:)\ gdp: m.-czy jsty l!'N! t WtZUJlny pochodzi od L Ul)'. yi.r.llr"l".iJr,:'"ftL
kom w daisz-ym ci~u można n d3w ć kolory n pnrnucą o.\~ "ttl:u1w i cj,;1tiov, ·
7.,g1pisany kolor figury mot. mi e,c nic;-wjdki \\ pływ na osiatl!cm1-· '"'_·n ik. K<,łm tł'l1
natomfas• być bard1."o pnyd hl) do ł'Wór71,mra naszej figut) z;1 pomocą nanędzi do
ddowani .

\'V\ elu ro~1ałach po~wi 00n1•r;;h sha~krom efowi~ ny si~.,, jilk, sposób~ 1
dl:. kud go ,;\'1t:r2 ho•ka poma}r Ją okn.~lil i:f kty m1i1 nucj1 . .tnie !iltałceń oraz innFL
1
• ,L~
te,chni \Vit;kszoś~ dan)·ch tego ~ pu mo~n zalcodo\\ nu et pjc ti.,•orlen o ·
Je7,eli po~ftmy sprav.rnic postugiw.et ,;i't 1111a dztilmi 1ak1mi j ak JD 1'.t ·X.to .
w J«ir.ey itać J~ykj byptowr: lub dod:it I w edu b vit:J1>Z~go kodowwna dan}'cll \\ n»-
detu. Dl wię 'OCl~j lliytkow m ów lą1w iej jedni! , po -lug1wa · 1~ kolorami. Możcml
z di:cyctow i, z ·· rółoe olocy odpc"'·i:.idaJą rómym "' r10 :ciom lub p ram )~
r2Y. tyw:mym P zez i,·~rtt:X :ha:<lcr. Eli:m~'TI!Y te motem_ ~ liuw ścią ,..,-cy oVt,a do
obi~ u ~ pum~ na~zi d modeloi a._11 iłl, a n si •pni ~ w korzys,a te il'1fi
do 1m1t.--go .cetu Jiu po zakidoi aniu obri:k tu. Pr.tykładowo, w pupra-dnim frallff)I~
od~ mo lJśmy po~m · oJo, z m l(Tiafów, 11 na t~pnic w)" ·orz)'. ui te~ ,do 1pł·
flLema wspófczyru,1kó~, ł czeni dl:1 wie--rzchol ów. Właściw olor móglb) n~ :
1

,i;
1

by us . wion j ko np. bj ły. rde JCSl a~ kolor wier"'L~ho-Jka je wmo.ścio•:, •


~~~~ WJ2~ Jnym L\ ~ · kl ry J~ak nie ma WJ>łr"ru Rll o r;J.1'-""C7.11 ef-e~_\lidl ,
prze uzyU:O\Vmka. T.m op, J~I 1,oohę- n1tprt."f!mj n)\ ttle is.tniejc wiele posobó"' ""1
rzys.1~m tego pomysłu do prakrycznych za lOSo,i.,•an.
p1e1118ntacja
1111
• ~ 11 J p0kaza110 Zt"ZUt ekmnu przykładowej aplikaói z teoo r....- ..-~ lu N"
'kOn'1JC ona. l,U'J1 wH! o ;1:.1,~.n. a1e po il.ZUJC:. że kolon1 nn-nwślni„
· ( d . , · k · 11e V..Ylo/•
• ~'ko. · t
• J r- ~ -., ... nil"---
e vlAIU& .
· 6W.·
1-vL,111,..nO Z ma't(na.

"•idc 1eorii, wL~m najlepszym .posobePI i•:i omó"'ieni~je!.I


'I/,' tj ~cbnicc nie ma zb~1
poejlci boą,ośn:tlnio
do oro•" iania kudu. Wielc jego fr:,gmo.'ll!Ó\V zo talo w ,M;ej t'l.\-iaci
,poey~mnych z popn:edni~h ro,dziulóu·, ,atem w opisie slto„cc111row1tle111 si~ n• no-
-ydit~lacł,. W pliku nagli>wkow) m dla teJ ..,.,pniki rówillc~ nie zaprczcnto~•ano
)~~ P"J\"ł, pomioię10. pełny żró<!ł~"
iK.od,Jłozdtia/17. s,ę
na mtem jego opis Jllk zw kk. kod I_""."JduJc _.,~
x.:i:;e C~. w ka1alo!lll N,,..,J '-"Prezcn\O\ anY kod ,r,aidu.ie w phku
fffiłzral l 1'1-!phkacjA recfmib. cpp:
~l~ "Ji.ph 3CJ1fitł(Ml l h
2IO

ierzcholk6w oęowiadaj~ deklaracji sbadera. Plik .X .


Ola~~-
O ronnat "'lllot,ich nornuhlyd,, ale dane apisu kolo• nie
dane JX>ZYCJ• oraz we -~-. ~-
"Il......._-.;,,.
macu wiłrzchołb:
,.,~tv'Ue UJeR-IAnt:r
fdeflllt ._.._...,,_,. '~ <030fVF- X'fl. 1 OJOFvF_NIJłHAL I onvr_DIFFusc,

stl'.\!Ct WlERl00.9'_SIA f
t
float . }', l ;
•Joat J\~ . ny. nt.
olor:
L
~ 1lk,ac3 Tech 1 1: ! ~ h CJl Ted!n 0
{

-
111s1
.a a9u orW1erzchol k
t kil 8u Lf'lf1ek.S

lyS dt ,
e 1a ł
dera
}

KAph tfCJ1Tec l , : ;--KAph dCJ'Hec n1 10


(
J

{
.OOOCAJISB ł1bl l ;
,:w " lO.~tDev1ceCclpS(OJlll\O:ip7fR Off: • D300E l'Pf_l~l\1..
1- C .d . 1/ert~ re s1on - OJO••s_ ERSI !C .1 H

' lt (fArlED(U~ Qr?.Prostl l


D30CRtATE ~ O
retu, n-f /1 SE.
I
else
r
l ffAilEOCUh.0rzProstaĄph,,OkmeC .._uc )'t. ro,oop, 'f'P[_HAL.
~REATE SO 'AAE \IĘRTEXPROOfSSI Gł l)
return F.o St: -

Poni:!.sz-y kod stanie Si{ >tandanlową prored~l11 tworzenia urz dzenia e w~ki
rozdziała.eh poświ~onyc,h shaderorn:
oo '91Jl'IJJUrz dlffl1ec l;
Ld i:.1JS1~ eO;
PobJerz~neZEJu OfOW(}.
Ut r zS cterc ).
r-e. rn TRUE:
}
0 d 1J dCJ1Techn1 l: Rence,,,,J()
'
!:->'todbllfdzO
konfi8Uracji shadem
prostY
skopiow11DO z hU'.dzialu IS W
shadtr. zatem motany skupie się~ ~~ wybrq,- 1
TRJ x Hac e„zs.naoora • _lllai:u!nSwlata •
~ _ c ertM1 u•
~ Ndc1,erzR4lltU.

~ l ·· 11k.~CJ lee, Il 1. :LaduJ5l d e(}

[ Lfflll'l. fHR 1r,fiufOM-i rOJOi:


LrołJ _SH 1dt aP er"'ńlOtM;

er flED(OJDRoa shF'r<r. {" \\r:ed1d\\ ter 7 x·.


ooo~ ESH- :;«NAfj[O.
m""LJ zact,en, eOJO. . L. ..tkiforK r:OJOX.
_L 1czt.a er alo". &,.,,S1a aP1en,, n!l)))

_00 TER Af. t ~ r1a y0:3(1;,,: -


(OOO~'T RI "' )111'Su Or'i!it DJ0X- -Ge Euf1erPo 61"'0,

W~ nich rozdziałach zazwyczaj umie~ze2aJ iśmy w kodzie wiers~ w którym


lL~"'·iiliśmy kolor otoczenia mHt naru. lak aby odpo„ 1adał kolorowi rnzpr.i.szaj temu.
Ponit\\.·at w zru;.adizjc nie ,,rykotzy. tujcrrt matcria~ów. nii.: mus.im. L" tym pa.~jmować.
\\t neczywistośd, po skopiuw:rniu danych do bufora wit.:ncholków, tab!ica materiał w
ty oi.ajmuje pamięć ;
er( ~ llafl'A • a. L C -= ,_l CZDa~ter,al '. llC ZN t--+)
~
r.: "' te'"1alyS~atk1[Llcz ·
~ter1alyOJd ·[licz d J DJD.

, • forfi!• m30X>Re 1ease{ ) ;


1
( " ld kaP1r~ na-~etF FO !- OJ.Df'1 r 1ERZCHSlA Il

~ u~'l@.l~iona w przykładzie nie posiada tego san11ego fonnatu '' iem=hołk w• zaI~m
~ ~I~ ją skkmować. - od powoduje lonowanie fotki do innej ia~i w p~i~i
YJDCJ z u"rzględnieniem nowego ormaru wn:rzcbolkó,1.•. rw puJe wohu me
· h przez obtekt siatki ~~ wytorzystanr
.Al....
zasobów DJ~an>:<=......_, . dla zachowania komplcmosc, kodu. leżela fonliily tle-,_
....
tywę uwzslqdnaono ł~.:nie icrwotnt i kontynuujemy działanie: "'-
puujłl. ustawinmY s1ałAę na P
" (DJC:ttł
lil ,c:.,,
.,,.., ._.11!11,~,...-.h
. . c.......... )(i i
,if.HAAAGEO.
Iii! RlOiSIAT l .
_lfllt1rudzen1e030, _ltt~la a):

L:

111S141th ,. . a c:ia e n'IJ M.


·etu nS_OK.
}

3 ry$unbi J;.4 pok3ZODO zole2no:-ś&i pon1ięd%y siatk , sklonowaną a siatą p ~

fbl,unek11.4.
/(WM ';t,'01tl-t! J rtt:Jd
Slufof w1ea.C:ihOI łM

Bufor~

sen ·acJ·Te,cnn1k : PrzecOd rzen _ ()

SOOL ~l1k.acJ1 ~hr1~ · :PoOd r.-.t1rz.ernu()


{
ńf1gurUJUrz ze ie() .
ret

-_._ur1c1uzcr.1e0J0-~·e- f.!Ver e>;Shad,u(m_Uc ,...ytShaoe1·~).

P:ami\-"Ulj my. Ż<: objc:kl siatlu mote mieć powtąz..ania 1. bufor.ami~ a zatem wywołanie ~'J)
Rel e-ase dlll tego obj~ictu nt~k nie znie musi ozna za . zni i.cZ4:nite tych obiektów, ObdT.i
ukgają :znjszcxcniu. kiedy n ie za ie-raj 1adnych odwot n;
1 • (m ..61d -~s.:, o 1encho 1-,
t -
erze lk-~l~seo:
1erzcho „
.....-:' - ;,01.'I. • Zr toeclWIMII l'Yd116w a •dala•• WPGtłro'dii'llk

,,,,,----_ I■• 1' l


[ forl ks ~ 1e~se() ,
rorlllde s t.

.: -;-Re · ee! ltoe( ) •


a. • I L~

7Jlie rnoghśm}' zwolni · za b•. 7..3Jmowane pna m~tm11ty iatki Jut \a.f 7rln..
~ ly nie były U-tyw311< w progmm,e (Jl(> us, wicniu ""'iencholków): < IA:J,

,r ( - t 1alySBt .1)

( del tefld "Siat • 1.


JS a • 1 l.
j
-

I 11

_ kodman)1nam z popn«:d~ ich ro7cui łów. z lą różni~ te nie lneba wywoły­


6110
-i ~tOO Set rans o . Mogl I b l\Y bt.;z pr~ble~,~\\' wnieśc,c. .. 1ołanie metody
~~ nns ,,1tytn k.odz.,e, tle " t) m p kład71c me J~t to nom potrzebme~
. a~ ,.na).
O Clć 7.F-',ilJ :.i.
OOlH_PI ,-:. •
< 1 )(Pros
( , łOd ){P1'C'S - I' 'O~ ck
o ).

l .o u.
T OO, 5-0 0. OO).
I (O.O. Oo~. OOf).
TOO(O O, • O, O O )l.
c e zS,-,1 a)

1c1 ,.aBu o er2ch0 l >.


...,,..~J•Jr&iffer(&ffl 111-S łtkaSufarlfldto\$.Ollll:
1a", s1 L1
-"'UOO:'k
WIERZOO. -~IA1 r ~•tricóO a~ .
-,

st..;irt "":.[nOekS,)',
~ ~lrt ty.

Buf« "iictzehołków jest z,ablok~•any z ustaw~ ~ mMliwoki ~ &.r... •


Jl!Sł lak dJnte-g,o. g4yt rruuny ZIWIBI' doJi)Ć dane ol)ISU ]«)11l)fÓ\\ do kaidego z~~
ad1 atc !k,f~l"h'Jtt~cno1' oc 0.
- .. , a lt .a . ~t 1, 1 ,ces{ l .., M 2. O.:CEJU( K._SIA 1) .
caYiE - } - enc ol ~S1, t1c 1. O) .
•~ ~ JBtJ.rorl~ -~LOCkC~. 3 y _n'$1at kd-::iue: 'C S(l 6
51.zeof(~llor.}
-"IQ• (BYTE ..,. ) nt,.. Sy , DJt..;(I(': .I\UluunLY). "

Bufory u-yl>uto"' i ifi(łclkso"'' ehce°:'Y f?'lko od~t~·ać u1cm za~lokujell'ly je ""' ~


ty~to do O(lc.zy1u. lV tym przytlndzie ~•s ~Plamy &1~ mi ueys~~mu o ~ W!) ~
(lA)Sd, ~e u t111, 1-łl.Jljc: bu Qlńw do 2Up1su n~e m .s~su„ 8df.t mteresu;e mru "Pł) .,:t
odcz}'IY,.vmii:' ~ych~
1ł! ti..a ,LockA tr bute&J f er(OOiM..OC _f;l,,,..,._,• ..._L• ~ r-1~ yl:

Pon i~ koci api~rtm we wcześniejszej części niniejszego ro~dziAłu, larwo


~ .
sit w niekooij'ell tablicach. life patruflajmy. ~ pobrem_my iof0fmli1.cje z bufom~
kióry 1.awicra imłeks ,yYkór.q$'1). 1'wa.ny pomcm do uzyskanie właściwego wrerztb.ofb: '
.or (1~ St1ar'I • o. 5c1.dn~a -.. - ~S1illt.ki.1 • :.<ie u:fł!Ce-ś( • S.Cl.? kł'P"r l
(
roo: .ro..oą f!.o:,p ro.s zem e -
CDJO~C.()LORJ t er1a yS1a 1[..:.:ttrsb'J JlS.::1a kJ"J .01 us~:

1,,o->J1er2.cool s s~[Sct~ a • 3 • O)J. a lor „ F:01.prl)S!eme•


..... 1 .,.7CJIO l kS s [St 1~ a • 3 • l )J oi or - R0zpnM-Z1!rm~;
lrt'ti ·erlcooJ .S ksy[Sc,~ a 3 ~ 2]J. olor - Ro,prosterne;

OC"Z)flviseie nut~imy pa•m~lac o odlbhikowaoiu. Jeżeli j e:SEc:. m~r lkowicr~ ~'Wlli.~cit


cJ1cemy azj.,v.,·ac- nlilteru1.łó,,, • moterny zwolnić zaj mmv;inl.'.': pr1,i;z nite zasob-r
_...s1~tk~ ,ror~·erzcholk >lJ.rlloc ().
_11iS1a ··~e:J·or"nde-«so,,.- ajnlock.O:
_ ·d~ a-::-{J lockA~ r1buteBu fe"< J .

.._-u-- ,~cr.:re-ti eoJO-=-Se~S '"l!'d'lSO ree( O. _ ,a tk.-a9u OT 1 er.;:oc.ho1 .


suro o.::ER70• L..K_s:i;n: )) .
.;!Cl!(• ,~3J>-;.,:seUnd1ce.S _ 3 aBu Oi rxleil:SOi,, 0).
}
s-

Proc~s odw7.orowywania danych opi u wierzch<>tków poltaz:.mo na ~ !innl:w 17.S.


HJitS,,Jti ol !~J Tec n 1··Ut rlSh
f
C ~t Cflcl Pros j/Sna~er[j •
·\s l 1 n·
·dP'J ?os • ~o. co \r.·
·op,4 o~~ Y. vo. fl , •
• oPós. , ilO. c2 •n..
"d~ oPos ~. vij. c3 \n·
'"' oOO, 5 11";
•• .,... .,,. • ZanDUZBula.rw.. ,rew.i1••• r■t• I Is,..- Elrlllt

}:
toJD.1.Su fi?r... .,. orSJl .3de a:
[DJO s,,i~ er'" 8 e,:tySlla e a:
{f;_]tEOtD3:>lAS se--b •!!S a er{ rrost,SMde .
1 s zeo:<Pro5~ys aoer) - 1,
o. '1 L. 3, ...eu ro"·~ha.der • ,,. R1ed,'Sii dera n l
retur E_Fti.ll.
, (F~I eon„ urzad1en eron-:.-crea--e1 ere:-S -acerCDe l3r~cJa.
- (cr~\QRD )~6uforSh~dera-~ BJ er~o,nt~r ).
~_uc.h-Pi,tSh!de a. O}))
return E_FA1L,

Pod111•wanie
w Jak• ~ b dotn« do danych, krórr z.awieraJil ~ wykonywać na nich ...._
byta tutaj wt~ pl'"l)'da i~ nam w d11lsZ)'ch ro.zd21ała,c,b. Do tego cqsg ~
~I.BIWwać Io. eugo s i~ n:iuc;zyla 'my: ,-;
• Oc-kllł cjc lladera I fomłaty w1e1?.Cholków mu zą do skbic Pl,Sow:at,
w inlł)'m pr2)~dku hlldłT będzie: mill:Ć złe wyniki tub jego cb!1alanie ~ .
si niepowodzcmem. ~

• Jr:żel i wykonam;r operację klonowmua siatki ~ zostoso~anicm r o z s ~


formatu FVf. 111ettim: dan mog; pozosroć meW)ipclmone,. pomimo tego
« być mo~ gdzii= 1smieją.. '
t Obict<ty w posta.ci 1'1ltck lo$unkawo larwo ot-wkra się t ni uey_
W pe"' nym upr~ZCZtmiu '!ilMOWi , one znan, lmmbinacj buforów ~
i buro ów wit:rzcholków.
♦ Dan zap1.s wane p!ika h Ja'( nie muszą być wykor.t.. stywunc, SPQsób
najb Nzit.:j oozyw1sty. Po zał11,dow niu plikLL. motns j~ W)'kol:Z)'stywat
w dow.o]ny sp ób. Wy!tt.a ł ~'}'ka7.uć 11och ~ in\vi;ncji,

♦ \\ ~.·1elu Q}'Tloościach poka.7.anej procedury t,vorzyrn_ riowe dam-lub~


do farycb danych. Jeżeh nie zachowam 0$1rożności, wska.miki~ mogą
ajepo1rLebme zajmo1iv.:ł · pamięc: ,.., <:7.asie dziahrn ia programu.
Rozdział 1~- •
proste I zlozo~e
przeksztalcen~a geometryczne
z1fYkorzystan1em
.
111ecban1zmow vertex shader
- 1

w~ e re.aliz.acji pk':'''· zej techruki wykor1..)"stująoej m~ln3nim,. shad.er r. ,· .


w jru i sposób ~wchamzm ie~ w~lyw~ na _m1j~rdzit:j pod ław°"'ą tL-c~ ~{rz,,~i.ę..
mianO"·ick na Jego ~oź~mt. _P1w11e ksrą,.k,, która. 7.a\\ iemłaby wszystki:':G:i.J:e
pos-ob}· , ~,t~~•stamH i!1cch m7Jll u sh dl!r do przelc nafco.ni poloienia wicrz.chotk~
~ sb.lJ_DLe ~1codpow,~aln1,; 7 n1dno ~·tot. ~ic;ż zdecyd,.;v.llĆ 'i na przynks,,e
nie taki U 1Ą;tła Z ~ł gamJ do domu ~3k w~ęc ro2-&iał ti:n pr.reds.mwia j(dynje ~ i e
·ilka ekbów gcome:1.I)'C;(D h, kt n; 1I us1nqą pod ·1.awowc prz.i: •mlet"ni'3 wierzchm
Chodzi o ro. ab„ tych k1lk podstawowych zagadnicri posrni.yto 1wor.,.eniu r.a1cic,h mccl)a„
llizmów shader. krórc b\-<lą pdn1aly ~pecy1ic1Jte wymagania uż)'tko\wi'ka. P"r-L1!Jrqrny
się (M'Óm m~"Chain 1,zmom shttclt:-r: bilfdzo prosie-mu i trochv bard:rieJ .· ·ompl1kowane-mu.

Picrv.izy h3der kaluje każdy z wkr...: holkó,. · wzdh1 · jego wt=klor.1 nOTlrurlnego. J.;1.c-1;
ska1owanie odb:ywa si,.: rc1, LLOmL,.;mic:. t.•fek1 ten pn),p0Mim1 rwlmu n,wanit: balo1m. Drugi
z m~h:imzmów shadcll' jest bard✓,ieJ złożony. Jego dzfolame Po,~ga na znit= ztał<:amu
modelu z wykorzysiu11icm foh ~inu"°' 1y. Pui..:dslawion) tu ogółny pomyd może był
podsr.a."'ą do 1wop-cma "'-'iclLL e&ektow. l:łlrn~h J, k fi.tle na wodz;e. nk'f"L\wrmśet terenu lub
moe e~ . znickSltatcają c p<1Wt,.;rzchmc. \\1 w1.<ll'1.ai · \)qtl pokró1ce wyjas.niona ró'ti\111cż.
j a.prok !J'rto,i. ać funk je; .; 1LlU~ 1 ·os.inut,, w mcch1u.•zmach ~tiadi;r. f unkeje 1-t- nrożna
v.y C'Z)'Sl3C w wielu ll'Ó.tn)•Ch programach. ?uka1A•H one równLl!Ż~ ie za. ~mocą ogra-
nic-;.orw:go zbmm insLmkc:j1 możhv..e 1t· ·1 ,reah;_,,;ow:.mit: l)C""·nych dz.tafan matematyki
\\'}1.s?..eg_o rĄ-du.

Przemieszczanie wierzchołków
1
Zdluż we'ktorów normalnych
A~ 11. k l.8.1.
Ob, · iłń.lt>1~ur.e
v.'Z.(J?u; ic:Jr K'('kfOf"Ó'l\
Normalnych

Podczas ogląd11nia rlee'i:yw•stej ::intmai.;j i mo,..11;1 do$tf'"li:1.:. Jak ob1ckl ,, k1i.nn1ci ct'~u
roz ZC'r.l'..a si i kurcz~• wzdłuż wi~~nci;o \.\'t!klorn nom1,tlni..:go Jedn.!kt.e o 1tkt
cre pud łka 7.;-1choH uj,. :>ię 1updmi:; m11c1c;J. \\ moml'ucic rozszerzania \\ldłui. ',
nonnaln :go jegu sc1anki ro2d71 ·laJą si\ Powodem Jc.:-s, brak ciil&foki pomiędz)•
ra.mi normafnyrni ka1dcJ ze ~lab. fr<'•rna z ~t p11dctlrn przesuwa ~i dog ·,
dulo11 i, na1om1as1 boczr,e ~112da " ,,,.,i,n kt ·mnku. Ca!usc rozpad• i·. \I' P '1.
obi ktu ,, ksn:.dcii.: cięż rłm jc.-:c;;t in,1 ~ J, gd} z "cktury m-,m,alm: witru •
polo"an.- z \I idu pcw1e,,-,,hni. Ni, pomalll' nawet fak1. ze obickl_ · ladowono z.t • •
pre;, łych imeń~Jsó1, siatki DJnx \\'}'kor.ey·sn~.\ zb,ol) lrojkąló"-"''• kr re ,n• " ldii
ll'ier-,cholk6w. Jet.cli pod,ial nie jn tym efi:krem. kt,lrego st~ spodz1cwal>śm • ~m .
Io, ii; fen 'Yf' mcch3nfamu shader nic sprąwd:1.i ię w r, :t..)~dku ~•~re z os mi
n ik:;imi. Jednak.że w nic f órych przyp dka h ta ·i podział mo~ uko..ać ~i !11)
efck~cm. a koń
1J ~ego rozd7ialu. "Prowadzając jcd nie kilka zmian do be n
ch:mt~u sh3d!:r. "-"l'tc"""''!.I · przykllldo"y f asme111 kodu, kr· ry 1WOIZ)' efekt !ł'
Ale untm do tego przeJdziemy. •pójr-..:my uu na z b«n~ h der.
\Va.'101'" r11 ~il.a, j ak daleko ~ w któl)'m ikii!runl,a li1ilE b)t _ .
isp6łrzędae w-ierzcholka w przettr'leni obielnów twon P~ruęiy Wlm.cholck. 10\VC
~ a.1Ul.lA~ poł'ożelillia ,.,1e.rzeholka. ...o:a~ są p:rzci dodanie wc'klan r{l
:-0. rł. -.o
l\~tepnif tak okn."ślonc położeni..: , ienchQUro,,1jsst ·paeksaak-A .
... ~doc ekranu. :u 1a:wirm.y jest kolor
.....~.. -..,: •
, iaifa. "-m.""""';f' ~~ 'P~ ~ar.::i,en
......, ___ _ ~~o 'l cca,; mech
7 fl.'il"""":nm.- •
il.adna
j~ gotowy. R1sum:k I ..2 przed taw1a. cały n:n Proót: - aruZ'AJ Su er
~ PO::; ,r;, ro. co
• Pos :/. ro . cl
oPOS 2.. rO. r;:2
oJIOS_ • rO. c3
' GOO. Y:l

~
~,, .
U •.2,
."r~

~
~ltrcy:,o

1
CztU V • Teclriłd WJk~tM meohanlmJJ wrtu .,_._
~
W takim pn ypadku mt: zoo.sz~d:z;iUby ?1>' j~nak na l ig.bi~ instrukcjL Po
n~u się .z bardziej :mawt111sowlln)'mi u,;hmkam1. zaden,onst_NJICII})'. w j a k i ~
k3cj11 wykOTZY$tujc ml1'lh:1nbm1 shader. Powy~ zy ~tdian1zm rnoma ZDlleiE _.
,\ led la nuders. a le-Nf)IVnal. -.~rlr oo doł~ncJ plye,e CD,. "-

Zniekształcani:•
w,i erzllholków
z wykorzystaniem ai1nusoidy
Zanim p~dzictny dD Sll1ne:go rn~~~7mu śhader. ~pm-.1w1.1~y s.1~ z l ~ la.ćq ~
rzystuji: kolcjoo prezeoEO\ a na. Le.t:hmk~. Dla tyc~. kto~ znaJą algttrę lub ni:.~,.
~ ' teoria ta bidzii: ~· dutej m~erze l)O\"!Ó~mem. Dla po-1.0Stały(!h bęthit ro ~
7.3".po~ani ~ srę ze wspan1aJy1rn Ś"-1l.lt~TTl obhcZCII.

?nlodstawinn~ poni:r.:~j teclln i~3 ZJ!lieksztak~ ~bfokt. wykor.1:~tuj~ ~lJSOid . W)


Mll ob!~aania inu~ 'I, artośc1 przez me-chan1m1 shader. Ob1.,,;zen1e Shl"I~ kąta nfc:
zadoo~em uywi lnym,. ~li: rnożml JC • sob"•~ _uIa_1'vu;.
. w I,~
.~.-. •
.c.y~"ił,11,JJąc m~CK ~
Je!l
21
mocą zcrie-gu Ta:ylom. Za pomocil_ rOZ\'\'lru:~cm polllilc1 ~regu. gdzae "")mk
01reymujc rę popn~~ ~umO\J.i'aJUi: potęg zmienm:j ,-vcjśdo,,1ej. można mpiS3t 1'lt'c
:do:,:onych fimkcji . z r.eg T~ylora ji:st jedJ'l~m z tych rozwill1\.!Ć któ • ma wiele •
smvań trygnnomctrycznycl'I. Jesi wi~ tym, t!"'A"gO nam pott'ltba d apro:b1'11'13q~ ~
'.'.i nus::i. Rr:prczcn•ację funlccji srn{x) (x ,,., mdu.mach) w po$13ci zeregu Taylora~
.st:.1\,qono ponmiej:

Db u;r.yskani~ mahymulncJ doktłłdno · i Lilea[nil! byłoby..~d>•by slereg. b I nt,e:i


- iłOOOil~t
dEugi. ie tyjemy jtdnak ,,, idealnym ~ ......,"--CIC. •j~ potr7t:buJemy ;;Ó\.\nid mah,~
cło łildm,~c 1. tllaLi;go molemy :iprc,ksymow.u~ ";::utosć sin u a ~1:1 p0mcx-ą ognm~ .
I tczby dcmc:nfL1w s:ttrcgu•• a rysunku I .3 poró\YnllnO kształt .,1:"2«Zf\);1isE sin ~r
i Cl.!j uey~kancj poprzez aprnksymacj~ za pomocą szi.:11egu ~}n1ora kład3j1 tg,IJ · z
ml:'n1ów w lic2bir.: od j ~ne-go do cZIC1':1,: h. ·

Moma zau~·aiyt. te d~11 uzy.skanma r Z\\milcJ dokładności 1iczba potrr2ebn) dl


mk6w z,VJększa_ s~ę \\,'ffiZ ~ oddafaniem !;i't , artości odJ pnc-~ck,1,1 uklildu w pófr;1.1t ~yd,
W ru~w1s_co~1 cz1cry ktadniki daj oordziej r1i1 udo alajQI , wynik ,,, prz}~
wa~o ~1 znaJd~~ąeych się, bHskc, ~:zą•ku układu. Jest tg wystarczająoe dla '-'a,tl"rjt\
znaJOUJ~i:yeh się w prR.-clz.ialt! (-n. rr), lo-.i-na zatem uZ)isknc c~lkiem dokł:tdn~ "'}
""'rylH>:r;.ysLują ~ rani1;roną lie2br.: elementów szcJi:gu. · Trzeba jednak z:igw~- ~
te ""'':mośi )! n,~ będzie wykraczaia poza w pomhia_ny pn.txli1:i I, · a szi,;z~•ście fuDMJ'
1 etemenl 2e4emen

1:

-l

4elernen~

sinus pO\\!blza i1t co każde 2n mdian6w. D'.i:i~ki temu do,voJnej wanośc.1 x moma :ta.M'O
pl"L)-p~ć jej odpOWieooik znajduj.Lcy si. blisko począlłrn ukfadu współraędnycl]. Kied~•
jtd m8fflY wanos:ć x 200jdując:ą się blisko pocz..,~u układu, "' pf · , posób mottmy
obliczyć aproksymację funkcji s ,ntx). NajLcpLej Y.:tpremntujem 1en~na pr'l)i\dad.1,ie.

~ · sha.c:kr 1.bu.do"'ano \\' opan: i Ll o kod ,..awarty , pHku ripple.~ :h, kt6ry j~ C'ZęŚci­
~wego DirectX OK. Zmieniono go nieznacznie~ usw.,-aj k11Jra instrukcji. lee
ogolna idea po~ostala u, .. arna. ln1p!em'-"rttowan. n1.eehan.izrn hllder pos;ada 1.mienne
~ "ki~~ identyczne jat w picn szym przypadku plus lny ckidnlktw.: stale. · talą poja-
·iaj11:ą i po raz pierv.·s.zy j ~.st c..:. ktfo-a okrc:Ja · 1-mh faH sinu oid&lnej , Te trz}' war-
t~i 10 f.3Z.'li długość foh i amphtuda liak pokazano na rJ ooku l .4).

P~oy określające· t~ i długość f8Jli op1sujri sposób odw.lOro, .. runa polo ni w 'PfZ,e-
S1mni modelu na punkt 1..un1r.:js-co"ljti1,.my ,vzdluż fi li inusoidalnej (w ry_m f)l'Z}1>f1~11
Wl~tmy je.si 1kJadnik pcdoż~nia ,vicr?J:hołka). Jcieli okrc tono JUf położeni~
~tli. amplimda rnó'"'i o ~'% ,kości fal~. O tam1 skłłldnik c4 nie jesc pamrru?tI"em ameJ
~l, Wptyil m, llfl ostateczny kolor , yj kiowy.

~now,fi.t.nkcjl
=e~aowe
~b\ji!Sl c6. ~ ykorz.ys1ywW1il j~• ona w rów,,ani~ kt~ ~ ~-wart śei
~ 1n< x) do przedziału (- :rr. 1 l- za.,
~rtc ,, c6 " artoscI 'SkahIJ,(t ~ prJJesu~
wanołe tak. aby preyp~~ać jej odpowiednią wru1ość na~eżącą do, ogm1'1iu::toncgQ
esu,
Rnunik.18..4.
l'tłl'rlllf(:t,,, fe/i
., rm,.rroidrJlit,ej

I na ·onie · c.aht. c, , któr-c1 zawii.:ra pi~rn-~ cztccy " pókl}'ruliki :l~rc:gll Ta)•lora ~1b-
~ty\\·am: pay apl'tJlsymacJ~ funkcJi mu!i \\1.LJ1Qk1 ,e apmk~ymuj t'hl i n ~,
wyko Z)'stujł\C ognuriczoną hczhi; m:-i;lrukcji. Pomżs.zy kod przeo--tawj3 neC'Z)~f
rnechan.zrn -h::idi=r.
s„l l

Rejestr rO J !\I .i; ykor:zysl \1111,y jaku ost:m„"C;-!111 " ' ·b.1or wyni ·o,,,..y dl11 Yt ieti.ltoołkJ. .
modyfakujcm jedynie ładową tego wdóorn. Cdcm poniż.szej instruktjiJ~ IISU"A
pozo tałych skłar.fowycb

ro. o
Pon~ i~truk j~ gcmm1Je fuAACję fuli ix,k u:;mą nu f)'.~1.mku ~ • Umotli-w a. tov.· ~
posób muani; ks:ztahu fali lub 1; czru.em ammc w:;ime J~j pop zez dop35owywu.n1t [~
~dr ,v ,., , . • c·.x

F~gmcn_r ren 1...oc;tnł Y.aC'Zcrpnift)' prŁ}tkładu Ripplt..v,·/1 majduj~ się w S~-~•~


krÓ1.k r ~fi trukcj . pn, ·uwa paeząlkow WtLJ10! ć c, (C:6 . .-:). a ri:l$tępn1e ~łli:.,.
prle?. 2~ (popr.tcz pomnoten it: p ze-,: 1l(2ff) ano~1 i c6 y). ,:pnk pobted
kbW}::~klacłnik ryniku, mn~fy p12U .n Cc6 i) 1 odejmuje W'1thlś · n c •· z ~
flt.rga~J•). W W,nilru uzy lruJem)' Wartosc z paedzi tu ( - n, 1tl~
...wali wartość jest jut u.węmna. mDien,y GbliCZ>'ć •Pl'Qb)'lnac·
;lad.= ttO u ~ u.crep
-
~ f'l . rl C
ft,11 r.l. rl ~. e~ ..)'
rn: rl. \ ' rl X -
l"l, , ,r!., , Có l, 6

. ~ cztCQ' instrukcje oblie2aj niepat-L)!Stc potęg, WartoŚc


~kwadta.t ,-va.r1ośći x. , st~pnic obliczony kwadmt or.1z
~ 11 U'flia pote" oiep&ny t eh:
~gi~~::: p· . . _
Sz.a •M1rukcJ11
mość słl.!łą
1r l ,._, r.l
1 rl .. r2 • l •
1r1.'\0.,l.)'.. 2 •
1 t.L , r2. •

[)rU" ~SłBW instrnkCJ1 obl tC7.a wlaśc:h ą waf\OŚć fi.u,~cji s, n (;,:} &Jpłer,,.,
1
~ '
d't\iJ \lltldory wartości , Laki ~ób, ~ k.atd)•.r j str • _1 zawiera . lemru:nt s.'l~~~u. a-
śt t,ic iloc n . al~y tego ,,.e tora J ~ a~ości I sumUJe ryslkiic cztery clemC11t)' do
~c•jednsj w:uto:ś 1 -kalam'J. 1,aón umie l('Z3Daj s.t be2potrednio w fe}eslac t1l:
rl. rl. ci
~ ro y. r • Ct ł

NUtł,f>l11JC
. ) SK1Pf7.t:"Z kałowa.ni koloru :t.ależnie ód \V) ~ei. IJ$,1aw11~my JCSI oto, ·wierz...
cłJOt Prost lQWianie " rto.ści g.:-m.-rujc: ko!or mieszczący si norma1nie " grnnit cb
(- 1.0. LO), f 7. spr~ I U\"''ryża wartos koloru do zakresu .o.o. I.O . ron"i waż tło jest
, pragniemy Jmt.'"łiUD:\Ć Lro h~ w:trto. '· koloru. Wyko nujem. tu. ipoprzez dodanie
~~ni a przcsui]i 1 umi żi.:1.one_go, c-1.w. Ujemną stroną_ l.aJ •il!go ptttsunięcia
tesu jesr e ekt zb~ du~,. o na ·ycCTI m ko,loru. a pr1..yklttd , jt;że,l ~ \1i icl7".cliot,:k mn
QJtość koloru odpowi3.daJ ~l'.ą warto~ci RG a ( .o.
t O.O. OJ)). ckmilń1t: pr.resumi:c•a 0.1
~ -odaje:. n ·
u..·czn kolt.Jr J)J"Z)'.Jnmje w:.trtośt: RGB ( I.O. O. I. O. I). Witr.l bolek, lAlffli;iSt
kolml ~ ,00t.:..•o, stajr,; !ii · ró;,owy. \\' lym k n1m.:myrn preykład:tic nie ma to zb)'t dld.7.Cgo
lll3tU-rua.1~1 warto() ,:yn1 pi~m1rętnc. tworząc inne efekty;

. •, 5. ńl . r:

bi to ~ia in 1nakeja prA"d J...01iro,,· •m przi.:kmalc~niern. kraluj nna waru., ' funkejl
In ,., w.an:ością amp1 irudy , dodaJi.: w 1en sp~lśÓb oto·. mlłin.łł wanośi: do początko\ •ego
sib.dni a 'I określająci;go r,c,fo.tc mi: w,et7.chol k3·
~ r'J • rO. ·• C4 .. , •.r:f}

wje ""' pók c,.-dn.: w,~r.1:cholka ~ą pnckm kan~ nn w półv,t.:'illlt ekranLL '- 1nik
dz.od .. - !~
«uClłllil programu pnk,a"~mo na~ s:unku. 18.5.

Zn SllłfC(Ilia i p(m'I ą słnu!i.uLd) .


. ro. ci!-
', r-0. C!
, fi. C2
. ,o. cJ
~ V • r.cMfld ~ mechantiiny

Implementacja
Tera.z,. kiedy zobacryliśmy jak IWOJ".7.)' si.; mechaniLTTI)' mader. przyj~jmy •~.jak~-
htda kod _programu. który ,ykonystujc rak.ie mt:chanizmy . .R)'SWiki 18.l i I .s o1b.
zują dv.a rói.ne tryby 1akiEgo progrdltlu Wciskanie przycisku F2 powoduje P'JJ«;wD::e
między iróinymi mei.;bani.mJ:!ffli shadi:r. Możn:, zaUW.lŻ}'C nitwid il 1'i"ll05C łll')'dajooki
Jlfl>' przeląćzaniu się z mechanimu \ii,'Ykorzysn•Jąccgo funktj't simti; na had« ·
Oba b') by ~ idtntycmc. jeżeli chodzi o ilość ,., 1.;-rzchoH,;ó,,· 1 rozk37.ów pmccson {C
leez mtthanizm z funxcj sinus ma ponad ,łw:1 razy ,, i4r"C'4?j instrukcji. PiW,1Órlm) m
jt"Sl'A."2~ - liczb.i. instrukcji ma zna~;,,cnie.

\\ ~ dem=ućw konfiguracji. lakich jak tworleni~ nnądame czy klooo\\'3Illr


odbywa si~ identycznie jak w popracdnich rozdziała.eh. dlatego ich opis pommiętic> ·rr
ro~dzi le:. Cały kod znajduje się ,, k;:1taln,u 1J..'od1R():c/:.mlJ08 nfl płyct CD ~
do bią'..ki. ' a kolejn. eh stronach omówimy jt'Jyme ni.>\\C' dl!'matt}', k1óre poja1R.i1_;.
\\' kO<kic. PomteJ znajdujt S-i.; w}'druk pliku ,lpli/.:cl(,' ic• T,Y-bn;k1~1;pp;
• 1nc1 · ·~ 1kac:aTer 1 ·i.n•

!~s• to K'll fonnet wierJ".cholkó\\. któl') ,., •kor-0·~l) \'a,him~ wi:::zełnicj. Wa.tnc.
s..trn
J4:d□ak, aby pamiętać. ;, ló wfa . nie truci fonn t wicn!chl.Jłków '\\"'t'S- rony JCSI do tdl,-
ninnów sba-der: · ·
.Ol? 1 OJOf ,F_' JER2 C030• 'li ,' l I oJOPl _'. 1 ro YF_o1FFUS!:1
::, rw.t tEAl

)'. l..

':
_. ,._.kodzie inicjowane są wsey11kie standudc,we .
1
11113 iałek llł8ffl)' rulaj jesieze dwa r6bic uchwyty Zlll1:'~·
0pr6cz bufor6w
~~iactl. którY ~hariizm ma b ustawiony dla. - ~..lłbnn_6w thadcr oraz
~~"'9,. ..--.,-,- ~ .,....-..,.,_-g6JneJ ~ -;
łi łTt<hn i'1 • AAP l acJ 1 ee 1( )

-si.at aBtJ dłon.


--51.al ał-Jf ,$Ol(

:J
~

.. ~r3S111 • o~
erGSlui1 1 - a~
..
~ lT : Ut'tl'0 zShaoel"'y{ ~

~ Oe ldtacJa( 1 •

03D"•'S0 s . . , o~ .
o.10\'SO:RlG(DJO'JSDE_POSl t .ooo~r_Fl..04 3) ,
ootWSD_R!GCD30'/SaE_ I • DJD'iSO JL. lJ.
03tNSD_IN'.GłD łSC _DI FFUSE . 03(J.\1SOT_OOOCOlOtn.
IOOiSO_Eł:Dt 1

19,Iltfł!.lffe-t!IJ QrSMdera.
J{OO) Bi.J~ fet• ~~der'a .

~ · fragment kodu l\'!it,orzy mechooiz.m ba.cle.- 'il'ykon.ystuji\_c funkc:jrę :;;nus. raj-


~• wuy:tywmy jest plik zawierając. mecbanizm shadcr. a nast~pnie: ~11 podsta.""•ie
~ po astmbfacjij oraz dek~am.cJi t.lrorf.on. ·est egz..empfarz sbadcra w ~n,u~
f tFA~LEIHOJD:Wser.tll@S'tl.aeler-.■i:ru 1 l ef~ \\med :1"
~•~oors, •'Sir ave 'lsl'I"'.
O. • !'r.Bu, or$ha-~erl} .
,,.{! ('OySl'\a ra)) .

r"Z~i:lz.en eOSO->CreiJtel/,erti:"J:■
ader( De · lciri:IC: a.
• ,111SufcrShde-1 ,3 .. ~~0u fe P"'l ' ~'"{ •
D
IJc. Sh ~raSl~ . 0}))
rl!4.•..irri FA1- .
i&J'c~ihCęra =-P,Tease( l;
1 JFtl EOtttlOXAsS(lr 1~S.t\ader:.. rcr::r: • 1e(@ \ \r. d a\', Sn :11cte1~\ \SC-.1 L to:Tcł l s \'S •.
o. :Ull, a~5~1orSh~t~ łl. 6~0'4!<1.~~acie a)l)
re„urn E-fALL .

l (FA lEOI _ zadzoo1e030->Cr~te'.'~r e'.1Shader CDe. laraoa.


( i.,.Su oiSnadert-~-GetBlt •~r Po I ro.
,r ~

U::li~ tSh~raSli.:~1 , (I}})


re ur E FAil .-
~liś~ z.at m j uż cw.·a ró;.ne .meehmiV'I, sltader„ k~idy posiadaj cy SWÓJ wł n
~ - w , t y illotna wykorzySl.1ć
do prze111,1:~i i~ 111i\fil,Y ~, hanizronmt. w C""~ie
ta ~ółn)'ch ramek:
~ d @r t:1· elNset);
~ r,. Re1ĘlłS@o( ) •
309
~
Poo1.1. ze ~l4łc 10 pierw~ czterY w s ~ i k i S7A~u .T ay~ra PGb..:dJae do
}'llw:ji funkcji $tnUS. Mo!na oezyw1"-c1e utwo~ w1ęcc1 takich stalYdl ~ ,
lrotcjnc W:'ipl\laynnik.i. lecz aż laka ~ność nie JC,I ~ ZaiDICrel:z~
z : i ~ i~ :r. W'tykułem z,,ąjduj~ ~ na ~troMC~ nVidia. który_~ : ' ~
ldJIQ .. ~ • obJICDl1ia sinus.a I rosan _Niek1~ ~tody !.1Bw1aią n a ~ ~
d ·)dric~ oblic7--L"ń. Wspomniany artykuł. Jak ro~·tneż_ mm:: k1ótc o,ftru.te ~ '-li
~ ~ ię l)tm. któr~ twgr-lil p,ognuny wylro:Jącc !,muso:y lub Hll>t ~ ~
030 EC. St sU.O. IOtS • • r,1 . ZOP. - lł/5040 t J .

PQlli.tsze •ude w- o:ra)':i'tyw:me są pr..rez c~!iĆ prog, mu, k1órn zawęża w ~


pn.e-d:r.i1Jlu (- •~ ;it). Artykuł 03 snonu! n~id,11 op· ujt! ohetn.atyJNne l'Od,;kie. kt.6r~'
...,.....,..,,.ruje troeh inny zbt r stałych . SpłłJran)':
OJru: ECM~ 2~ ~ .s Jij'~h(OJD;K_Pr. ~ • 2.0f x_Pi) _
2-0 ~ ! . O.Il )

w rt · i • ·eh calyeh nie ulegaj ~ mianie. la więc nelczy U.'ll wtić je: w tym
i z.ipomni1: o nich. W · tklffll może być ~yruacj~ kiedy wykór.eys1ł)jet}'Jy iln _
oizmói.1t lt.ilder i każdy uzr.,·a r..:jcs.trow ~• łych dn ~~ oich wlil!;n}'ch c,coló,.i.·. w
P' ramii: sboo r skalują y wykior.eystuje rej~1r c • ~ hadcr z funkćją in~ ·
cb I c /. nnych p~ ipndkach kilka m«hill,lZmów h de-r mott: korzyQ t~di
rui eh. Joonor.uow ust wien,je stalydJ osz.c-'l W-ll troch ~ p~cy ,oda.as w.· rttcia -
r~ndero'L'.'ania, :1lc 1n~oo i~ upc'w·nić, cv nic obróci się to pneciwko mlJn w m me,: ·
gdy program :stan i· i ' ba.rcfaic:j :d owny:
rud?e I eilJO-,Si?: eru„St,a~rCC!ns~l!r c . .!iła' r"'.)'Sti1l· h, n.
:lńtJriafllffi~~D.30->Se J • t d rCtmst t{7 . S1nus . • ).

retum s_
)
v-=,1d „tol1 •·i!C:J 1 ee
[

Srak pn~ks1.ea3ccnia us-t.a\J.imc ą" tdcntyczny ~pi,~b jak poprzednicb :roil.i:lD1.M.,v 0

Oba mt"(;bamzmy sh&di1:1· ,,·ykony~1uj pie::rV1.:szc czkr;· r.;-jcst1;• ra.-ły h v., cd11 prr,eche--
w nia m~ 1e ~)' lrani.polTIO'II .ancj. Poml""'-"37 vr LWor.t< n~m prog_ramic ~'ljartośc1 •
me niooyfikmvanl!' dynarnit.7nte, morną pr~nK~ ten frugmcn• odu do jednej z •
uruch:1mianych na począd,.o. os:z :,'tdl.OJąc " Len ~rosił h trochę pnc . W pMtml-
pny.ldadzil'.' umit· ;,.c.rono ti.:n fr.d.g.m ·1,t koduJcd1-m~ dla L:ichowoni pro;jny ~t

_ lc<ll„nlE'OJOr 'SP er Słhl rC0M .il O. ,\-lclC l rlc V.n'"" • łl ).

Ta mia ,-.swic pąmrnctry d0ł)lc1- ~ rown:m,a fuli j ,.,,t-l)Ółt 7..)lllnik pnc un• ia. .
_fali inusoidah1_c · u.stawia ·i~. z1jtrnJ c ta_kty ..-c.i;,am. c daJi: pro:>t)' • ~b-ztl.'11!
ID: '
a~__nio ':11~1:tu w_m,ąr,ę upływu C1A'lll, Be· o a\\ mozna ptl\,½ ~-t)'ffltnto\,..J.i.; z ~
'" rt0ŚCB.m1'1 1 . Zmuin:t posobu oblicz:Lil i f,IĄ ,,,\!'.k~za lub zmnir:j!>M efekt 7J1 •
cmia. Zmmn:1 dług~, f; li generuje SZA!r~kic, zbu.rum ah: tub ~· ·,, rnc'i\W
·llf frogrll"rrt ~odu ~ta1i.\ia rm..~jzm ~ffl' Optym nie byłób ,. &d b) ~hanm-n
b\ł ~ ·fm}• j(-d}'lllt:,. mom-t!ln ,e wc1 ru~ul p.rze: ~ kownika kia'"' ·:s F2. Moh!a
róvi'fl;ei zofł)ffl_ lizow,ć kod po~ruz ~ 1.av. · m~ L ~ t)•cb ta~eh. kt{!l't! ą \\)' •
S'f"lDI: pr.r.ez bir;hl_ey sbJ.der. ~e zro~1ono tak P?nrżeJ ze\\ z.gltrdu Ila czyi.dno. kod
paza rym v. ,Jmf"l)~t.ywam~ si.a!..: 1 1· nie "')-ffl3 ąJą zlly1 ~o ope· c:ji: w,
(

J se

0.1.01JI1 krokiem j - t narys wanie: s iatk1 f;>on;hzy kod zbudowano " ' c,µareiu a kl 110-
acie i tlci i oopow1edmi„ t~L'hnik · ri.:mlt.:n,'" anh opis::mą poprz>C<IDirn rozdl1aLe:
1-!-.z ~ l · ,-5e S eM60ur'C ·, (I m .l,~k Elu c ,e łCĄQl k
S1, { E'_S~ Tłl )) .
1eoJ&..::.. • l· ; l(l:!S{m_, ,:!~ka . OL
1 11 • eOJO.>CJ...a-,. Jr,
1
,.etfPr1r.11 • 0,
~ i.:.t -sO. O
ft I :;.()l.
ł

,o J)i~ ~~)' rozdział\ v.· klÓT)'ITI prel 1.; Dlt1Jc:m dwa m ~hanizm}' sba~cr v.: jcdny~
~~kbdiir:. N'.ale-"'q pamj'tt ć. ~h • usunąć n"a m1.iich1mizm. zarówno w po111 ~ fu ·cJ•~
1 w fun ,c:ji Pr ledZm s zcze-,n em:

rQl • k'a 1T~ ' P , eoM wo, zen )

łe t~a~er S1 l ,
,. ue _ tS.. ta · ~a.1 0.
~ V • JlicMlld~........,MdMIIUNlet

~er~

acJtfbs & .• ObsluzKoou


Pomysły na rozszerzenie
przykładowego prolJamu
rstnieJe kilka !J)OS-Obow· na rc,zv,•inię ie przcds w iony<::h w rym 1rozdz1ale ~ " ' .
.tAłoźtfl. Poniżej zarniettezcmo ki~ pomysU1w do wypróbo,.., rti11
1
-

Dtn, .killującc_go mechan i:.mm soodc: p0wid1u111y si,llk~ 1 I.I Ul.Wiaro}' w fonnam,.
zawie~ , ·półn: dne tc:k~tury. N ~ępni:e dllą kll2d~j 7. powie::n:chmi kodt1jil'1?JY
waność postAci \,=pólr~neJ u. Warto. ci •ej nie wykorz,-~tujcmy ~ IWlll
citomi st jt: ·r onH uty\ anB j ko dotfa0co"'1 ~.-:~pók7,-nllik ·ka.lov.•ani11 w l]lfl;t}C~
siw.der. N le~ mera.i: ponowme o. ·or1.yć ·h der UW"I.głędnii.lJ~c ten w~l'imuk ~x-
czas obite; nia k::do1t1.f'311ia. Ji;tcli wsz,•s-1ko ZI.XStafo pop wnit: ust3\ i ~ ·atkn
zmiany kali „.1ox$ypie S-ict n~ s.k).adowc trojkąr~·- DJa ~ ii;k,zi:nia c:f~ktu ino-w.
dm, ć mi.~hn.nizm ~b- der tak~ aby zmni ~s.af ,.,'l!JlO-śc ko.nt1fu am.1 ko1oru ~!j,l, • i& ,.
SZOl'legc, \Y mornl!flcie zwir; ~ZJ11i11 \\' pókz 'llnik sk1dcw,·:tmil. "alezy mwnicż :t. 1

o w~L(niu rrrapo~ ania prze2toC.7.)• tości 4 ng. c•lpha Mcmime ). Powoduje to trę.kl
i:t1ozji wraz re stopniowym osbl.hie-njem intensywno ·e t obiektu.

\\f przypadku m . h nLzrnu shadc.'T z hlą ~i nuso,d.ulną.. n10tna dotLi~ ,vspólcr.,


zmnicj za de~, fab ir111s:.oidalncJ ,... Lrnkc1c z. i,~k~zanm \rmtośc1 x. Mon to · ·
pmnor;ą obi icz ii w s.amym mccha.i1 ixrni-e s.hod ·r lub docł.ajł\: do ~ ·
17.W. wspótc.zyn.nik tłumienia. rwor.r.y io fo · l mo.skich fal uderzaj c1ch o -
E\tJOr.r.yĆ bardziej rno ki gląd f: I, molna równic! dodać w p6kzynntk. ~ ~-
I r~;pj ń „z_ w·ijania'~ w1c~chol.k:ów fol'. ~ prrypftdku z.a rorowani1.1 iru~ ~ ~_i. r.:t•.
rozrlziC'lC'Z-Qkm można ueysk,a · naprawdt; dobre ~ w., .. KiCJ.ly opi lt!cllnik1 ~ . J
hudm an w oparciu o mecJ1anizmy 5łmder. b- :<12iemv mog] i za: t · " 1,1·S l10(~

t flniki do Oł\ d tlenia ll'as~e: o pr.zyłd du. \ ymąga •to ob! i~ ~i11 OO\lt )'(lh "ckt ~
1
rmrm. lnych dla katdeg,o .,. 1cr-.l.'C hPika w mtthit nI zrn.[L'! :shadc.'1' (,, ~J.:azówkl, k,ool(('.
j t obti 1-enie;: wartosci funkcji cos{ J),
RolilllMI S,8. • Praete I dQta k • łllf1 & • i łl:!•ilt lllaGc
...-

t Ef„kt IJfłlsrulY w pOpnt."iln irn punkcie i1l'loi.1u1 ,,,:ykoTZyslat do r'i'io·or.re-ni a ,;f( ro


l!ką,lozji w )'t.Uilcj h~ kir.:dy ,,~icrzcli~ki ustawione są p.rnv.·id-h:iwo, Motm
C'Woreyć mod,;le ~tkow kosm1czn. h~któt'e ek plodUJją w okrcilM~~ch
ml)fl'J~Uich. zalctn~r;.: (lg , mrkmen tacj i m t:c h~nixmu ~h:nkr.
t Ap ma.cja funkcji simtSoicłafncj jt.-st t lko jedn)11l 2 p ~ w " korz} umia
sze1q:ów. do przybU:t:e:mia 2fozonych funkcji . EC ::tóre funkt.j~ \vymagają
"'ięfL-.zej hi:1:by in n.i kcJi Il• b 08rd1.1eJ złoione:go proc,;s\1 konfi!;ur-.lCj i niż inne,
ltc:z podejśtie zaprezento,,·ane w t „ n ro:,..dzia1c moma znstoo.-0wa do IOZ\\'i~ia.
Sttrokiego wacltlarza probkmow
ł lsmieją ogrnniczcma na.fot.on~ 11a il
· od.,vu~at• ,do nickLóry<:h rcje.smrów pru:z
pi)jed)~ in&lrukcjc m«h nizm1J f)h (ier. Czasami ~ (llt,: pov.·oocm 73!:Jt0&0wan1:i
·j~1.._ej hczby ms.nukcji,
• Złm~;i;czoua ,, ro:t..d· ,ak przykladm..,,.a ap1 i kar::ja dajr,; \\'iek mo~lhi.'t) ci
dal 21\1 optymahmcji. Sarn~ m~-.chan i 1Jriy shad~r już z pt„ m~h 7_owtłn~ ·
~ 1t\.i O łC mir;jsca \V kodzie, dzi moinll byi(1 ,~zgrabmcr zah11ple~1ICM _r..
petJ.IJe cleme11t . Kiedy Jut callrnwicie z:rommiemy. Cl co cll~ ". L)!ffl PE'Zlkfad1J~.
1'i~ll0 IK)ł;usjć s.i'-" a p ?.c:Organiz-Owit nie kodu. \ zrost 1,1iyo(\J~L prow~:fopooo~,e
n~ i......a,..!r:. - .a ó·~ · .· • '""' -~cruun \:l'Wll'''
~ ''"'t"'-'lh. zna my. n1e preyZ\l. .yc1,a1 n as 10, uo p inL J~g........ , · · 0

na 0ptyrn liWWft□ Le kodu.


zd ział 19.
RO rei •
I
9illb08 mechanizmy Y
18
,tex s,h ader
la('II gr.tri' dt: ·~ w d'ow~tn n; 3D _ ( ~o"rl&n s~r;. że tak .. , :i ~śe1ą widziet~
kit:bell ~ - '1 ms-ach gd) ~lllam .' , ~·kii się W°d OOOM, v.u~~ ob-~lctÓ\I.•
t,
. , ~ byia ~ "1~p~~.,.1p1~ ~l~:nru, .~uozka~,... {~_n•. sprue). c-z# prostol:ącaini
20 ust'.J\1i11o")otJ111 ml l..l'lJ ~ wzro . o~e~tora. usz .~ lakL b oble :tów j olumm
i po prtlffll obracały ~ "' kLerunku 8f3C7-łl. W PIZ}~dku batdzitj 1..fomiwch obi~
sam ob r:k zm·enJd się. kiedy ottfądając;·. pn:cchltdzał SJ~ \l,i mobie ~ni~ ail georn:
o,
b}'CZllt-e i co n da~ tylko pr tokąl obrac.a; e~ w ~1,,m.mku paLl"l c go. Spm.'t,l,dzalo 5,ię
0lJ)lkoflli N: dla ob1ektów .;ym r.rycznych ce MJmme· -zdhti; jechlej osi. np. dla ob· es ów
~~nyd1 11:1 podstawie- ,vaków z. toż ów.

G , ui ·e jak Quake i pr.:Lwjc ka,.dn 7. późnicJszych gi~r wid~ianych ~zam.i oohati:m


( • Jirsf-~-t!wn ffl:Jlt~ . o są. cał koi :ie: ie ~rój~ . m Laro, e. Pmwo.r;· i obiekty , ł.adają i~
~ ;ygcflaowanych troJ Yi:. 'm1~rowycb ob1ck1ow ~t."Clmttryc,nyc:h a k3irty gmficzn~ spo-
1

ojru~ potrafi~ już sobie "1. tym pomcb.ić ie-które obie cry są 1edn nadal zb,y, zioione.
ib)• moina 'b ło je g~o rowaĆ' c łkowicr~ w 3D. Pommw to pos1adaJ on wlaśc" i,
ktiYr SWłł.'lnii: D dają r~ do gr"~fik.i .,,ń1br"' LrójViymi n,~j (3D). ·tór-q ge11cr1rje ~. V.j'•
~ · c bitnx,ard}r. J~nym ✓• raJoch ob1drtbw jt:. t e~ptozja. twurzertie praY,td1Jwej
płozjj rnum z dy1m.:m I o .:'111i..'fl1 j t,.-st d,,_: ko ' 1JOWN\ O)kracj . 'atomiast b3t'Cho sku-
t«mic można. 1wo17Yc i:.:ksph)7Jfi, w •kony~tuJa_c d,,uw rmi;.iroi,1;1ą artim:11:ję, u~ \\'loną.
· gracza. Kolej n~m obiektem. który fat, o można s.tworz~ z pomoc-ą bUlbo,-
. drzewo. Dn.ć"'a to ctłłkien, skompl 1ko"•ąne obie'kty. a n:mkro 1ranie ~ .,~ l ~ u
m u pmi. ić kłopoty ni~Jednc.:j karcie ~raficzne_,_ Alt~mńl}"'ąje.st 10 ~..-orzenic obram
~ i rw ·ttnderowanrc catego l ~u z ..i. korzystanii.:m b,11~6,,,.

·ej ...,,.~bobccne n, ry oh1i:kcy"u (ang. 1,..-.11."-jl(fre) renderowane· za pon i.ą



11 rd ', ~ oj drog , wsponurn1m1 fl ra JL: ·L „fokl~m uboczn. n $1Mfćh W zew ·
_k1ywu. Odbl~ski tego typu mozna dostrztc t ogtądają; fi I r'1'I h„-e mgdy mt: ud.a ,~am
1
tch lO~zyć gołym o ~cm. \\' ~1 ze lankach t}'J)U b'rnCZ.•bohalt.'f główny, flara obt1;k•
nj.~ ma wit;ks:ie-gu sensu. jLt-sl to Jcdnek e t.'l:1, do li.1órego Pr-Li
iyu.1J _ i,~. w ·ini-: Z'!
tcte- 'lija, .a. obecne gry \1, 1dc."O s-1 "'1.orow;me nn 1ił ml'lch. O lym mte~SUJ.: cym efi ki;: ,e
1

u.· pomni.ak1n Iko na margrnes, t.:. I ~ t:h. ba 1c dbLi,;glcm lrOCh od lematu· ··


Pollstawowe z.-adnienia
dóty,ciące billboardów

Rysim11k 1.9.1-
0I, ~ JN l'Q7Vl't,C,,I
p/~~"!t.W
~ :pdnrc
.; .. " 'IUrat'IJł łr".1.Tlł!tlat
ob,r"Ma,•~ V ~WJ' u
~ Qf:

Cały potny~ dotyc~;• bj lbaardcw, połcia na 1Jbr • nm płJ57.aym w kiem obsmr


toro. 071'lJć1.a Cu L"! ie- pni:k zt-ak:u1ic l'O\\·rcr-L,ChnL aby były one fÓ\\'J10ll'~łt do""~
nmru1y..:h wcktorlm t .m~~o 1 pr wt:p.n ohsc1wl"1tom UjmtlJ:\C to ~ 1rua;cj, ~
wii:-t7cłtmi; po-wjnny być :z:.iws..te pro topadk (!,, tm; . "t.:ktora wzroku ta e,: ~Yf

by utv.,·onyć tJj1Jb,1fil\l, nak . mwo zyc. dwu'IA ym1ann, _ pro~to .1 i obmcać gov;
runku '1~1'\Va ora, za · Ld)1U rnz1.:m, k.u„'d_ 1c;n .sit; pr.reniick1 ''"' w1 ks2 · ~
oo W.d. rnn1k1r). A by n d 1ym i!t"lll'l~ow~t:. mwt)P'T~ my rnc(hl'll1 ilffl ha.der. ~· dJ-..!-
micznic ~-dZit:' \ orz,•ł lali i'.IJ co.krt" op.._·1_rc.:1u o g ID) , pm,., · , ur bse et
Mocmmm1 ' sb.adt.rr rue są ·onio me dei • wor1.cn i bi 11 bou.rdow. li:~ po-zwalają_ m
mnych p.'ł?"ilłT1i,;tn1w 1U1 p,J7wm te k:1:t<l-...-go z wii:~,bli'I.
m nto'!'l ,;util! \\.. idu N
- lffn'C\

be7po redn,ego mampuJ W;lnia 011nymi ~ knchoł ·ov. przy wcyciu prooeso
fo C7.Ai:"$C k.:;1ą2kl omawi:1 łl'lt"tb:111i..i:my shJdcr, =.1 w, e pc..,wjnniśm. je~ ko~

Mechanizm shader dla billboardu


Przyki tfol.\-y prn1,.lJM'I zami zc,.on w tym ;,.dti.aJe pn d tawia model r umili! it-
c. ~ ~~k~ wygcntmwan~ jllko billbonrd I~ wi la jcs:i te~h;m -rery(' 1 1A
me n1c stoa n prz~~od1.ie, aby .snvor-.eyt obie t poka1 ny na ry ·unł.-u t9.2~
tiJ osi.~gntć 12ki ~f~kt, nall!'.Z)' sl'\l·ureyc. ~h~r. klery dyna.rntt.mie gcl'JCIUje stiCfo\li~
lłC' (lQ obfcrw Cl,)r.1 knH~rdy. 11!'5.t to fk)J~1owa proscr: do zreali:a;m aui poziomic
pr)IDLl}'W'°""'• 1~ rm:r;bw11:&111y ,.·erwx. .shadl!r dz, ~Ji\. u pDJ~zyi;b 'Wim.diolkacb.
PotrMl:.ilJ)' j~ Wl\'I,; :.-piJt$A\b rl:l .t3k1,_1ęh)WiJIUe W k:1JJ.1rn~ wit:ra:holku infulTNiltji ó pr,,-
~ok.}cic. do llÓTqJi;t Dlllc-ty dany w.ict?.cl\Ołi.:k. \'4( lym ce-1u 1 1,:1.)· ~Lił tilld fo1m1t
,...-icrzehotlów, ldóry .1.a\11 iem mfomt.'ł.CJc- doty~1~e wel"tom rrormal11c:go i wy Qr.l)'S'tae
!ta m·-e~ m1 _pr.1.cch.m'Vdn1c innych inf'ommt:ji. Sl,;•MJo~ 'ill wr:k,on t10nn lnego ~
nic '11."')'kor.eysc.a.na. do zakodow.mi~ tJJfonnńq i. Jak daleko rM.n~rm -s;ię billba:!J'd \\7.dtm
y,·ttton prąwcto, a slcl dowa :1 "'tktc~ 110imlUl11ego będzie koolrolov.m ,-o~.-.MJrue
sif 'Pizd.łut WL'!ktara góm:go. !Po-lol r,~e k~Q.O :/.. wier~twU:6v..· j~l"lo i:-ini.c ołffl:~~
polo1dl~~ biJJboardu. ,.a ~1..ą.1lru \ltii~ lk~ W$póln~oc wic-rzchołków sąJcdmlk.owe.
w miłrę jak. 'llltdwtum ~ [ \ ' I , i"'li[i k~)' ;,!! 'L'i,1~ktiw. plia-:m\11;.lją s.ię OM: 00 c~b
I

.R.1r0lnil'c:ów ~oki\t'J skit:ro'L'i,'SlłlEgo dB obsl.'IWBlorn._ Tn ptM~r: inbo.vcL Mttfl.'.mizm


,kr korzys'tA 2 rnfomlil.Cj1 pr,i!!ehO'IAi)'wmlJ~h W Włl:rl'l;;hołk1id1, :l tab~ W)"lrori:)."$W.jt
I:~ :i stałym. Cały pJ'\llC~s N o~.enh, bitlbuardu z.o~tti1 poti,1/~ny na ~ 19.3.

ii'llllllllllłłl:9.S.,
~'N,·~Jr
~dr
-.. ~ I r
i~ •
X
RpqMk 19.4.
~m ~ktu •f. ·b1
J1n Pf»'ł ,al}'

ie Jt:SI 10 gelłt!'ralna zasada .-1.uso,,·ilfl -.,,,;: ~ z, tkid, hJII ar ~h IOCY w cym ockrd-
n,·m przypatł u po!epsLA ~fck1 Przykt1d t1,;n ohr~•✓ UJ:.' rn\\ nri.::.i:. jak bez d111ego
~xy, z pomocąJt:dm:1 dod.1tko\,cj jn~truk _11 mu~llil 1x,pra\\ i· I.;! i,;kt końcov. .
n,ec dcxl3m. ze- rnc-..:hruu2m sruider '-"'yko 1y:,,.t1.-tjt: w:spuk1.ynnik i.; alcmill\i..1 pm":
\\ ny w 1ę1c l.17.e t7 do ~•emw. l'tia wictko~ciq s. rn -~o ,ilłboardu_ tlzi,i; -i i.emu r
~~ d namicnne -Oł:~ h · ronmar, idu billhc•ar rb,,. u,c.a\,: 1aJ c c~ \ko JtNin !, Tffll
~ed} ~l!fini wahsm)' iu.1 \1.->l;)'~rkic dani,; \.\'i.:j~c1n,, L' prLJjrz)jmy '!>ił; saml!1Tlll
0 1itt10\-\ 1 shader ( .\fedw Sll(uli•r.\ Bil/bt)flrd. uh •:

vs • l
~~ wynik
. ~cowy
• ,( r 2) Jest
• ..
........
,,...
...Ol"Z)'5'yWany do dynamicznej muln)' r02mia-
rb\\' oraz ,otot.ema b1llboaitlu:
~l r2. , J. r.7
Nd~ ctwa wiersze kodu deq-~ą, ~ m:czywiuym u~eniu i ~ , u bmboamu.
pjcl\\'StY witrsz ~~·~ ~e~tc wu:rzdlC>Hca wulłua: Jego wektora prawego i umac:sicza
wynik w rcjeslr'ZC r t . , Ko1CJ~Y- \\'lers~ prze uwa ~ot-en~ prz,ec~~ane_w ; 1 w~łul
wd(tMS górn(-&O- Za~ r-o~rzen1a ~~lov. a~ Je~ wartośc111m~ mtjduJlłC')'ffl• s,ę
w r!. Rejesh' rl ził„ 1era tcroz ~rawson)' , rM;S:ienony w~en:c,bolc'k billboardu. to
~-szrstko~ c.:, jest p0tnebne dla b llboardu ogólnego prtt7.Daeicnia do prl.C''ksz\ałtani11
p ~ i _fllOOt3lu:
0
r . r2. iw;. c~. ·O
1 ~-- r2 Y ) . es. r .
0rnenvione 1rzy ~•apy zobrarowano na rJ unl«,a 19.5. PCJkęu_oo una; , · tkl dzjaJ3nia mc-
cbllimtU nader od nuu dl lneclt wit~olków, c:h()Ciaz w rzeeeywistości mecbanizm
działa w danym momencie 1, 'ko dla J1,."Qllcgo 2. nich.

• • ,alt
poDO""lll,.WI.IHJwi8.'D',O-,

1- ...... .-.

zóhlż ektoi:a ,. •uoku Ten fragment kodu


Pon.tsia imstnikcja prt-c uwa. wierz :hołck w ..w • ·. t to ro spos ~
nie jest kooicC~)r w pr-~11dku two1?.eniL1 eksplOZJI CZ}' dr1ei a, Ji.; P
MtrOwanita talfrmi efck1amm jak ])OA~\ ia1a; czy filary~
1

ild'd tł. ·C • I l
..
..
ft;tP9lll. . . . . . . . . . . maall-' M t ~ . . . . .


1n1plementacJa
w ~j częki ro:Uizfału Z-filll iesz ~,ono t1mó, ie!n i c przykłaclo_we o program ~ ,.
si~ fe nic omiłwiam, jut plików nagłówko „ eh. S',lyt nLe mn tam nicz:ego · ~-
Pcl~inręte zostały ró",.'llici: 1c funkcje. ktć,r~ b)r ~zegółowo om1wfane w '2ed.!3' ~ ~

rnzdzi11li1clt z pomini~tymi fragmcntam; moi.n Jak N „ kfe m:po2ń&i 5i~ p .


pdny kad pmgnimu. tóry zn ~duje się na doląc:: :r.rmym do ksjążki d ku CD. ~
za:preuntowano ~śt Ii_s,j ngu pliku I Kod\R.u~dzial T9l4plilurcjoTeclmiki cpp: ·
·1nc1 e AD11 3C-J.ifec;•n 1

" ' lis1ingu pomintęhl funkcje fnic.juj ce. \\f aźną rnformacjąjc:st fa ct. :te ·te stur:1 tb.
ladowWla.j~ t z pHku flare.d&. który znajduje . ię " k:1talogu A'łedia na dol
ktąj.ku D. Plik ten zaw icrn pro„my o ·rąg wypełniony t:;f'",;1,d1cmtowo z "' 1':0l'Z}' :
kanatu a1fa. To bardzo prosty spo ób na zobrłlt'.owanit: pt'"'"''iat„ ł.ródra s\\'i 1 1łt. ~ •
v,• ~m pr-zykładzic jest wpdnce w. ·s.tarczaj ący

_ Offll31 wcer~bołka billboardu ~,vrcm mfommge; •• potounm wi :nd1.otka, ko'.lorlr: :.v.·


tOlł)ro zonei;o i W$JJÓlr7. ·doych tekstury. nnvic-ra Bł\ ntCY mu.~jsce. gdzie m1.'i\. 1.lJ .
P~ ·cho"·ywany w; jof nofflla]ny w ic17..chnłka. lee-, ,,. tym pr7.ypadku fa.kcytmił~r
duJ~ St~ lam in an-nacja spe yficzna dla 111.,; h.11111:mu h1Uhoarrl bflder. ]ale.~' Wlltu:id
zauwaź} ' że wektor ncmnalny Id, da sit; 1ytku z dwóch ch.:men:tow. Ue j~ t 10 • 1

:twy rojna, ale dcklraracja mćehal111zn1u. shad~T m\1;gl"'dma taki lM rzecey·


1Ae 'ff_ IER20l (O F_ vz I
~ r. , _ ...
OJOfV _DIFFUS! J DJOf F_
SL ]ED"P
nL
t
(,K SS
(
X . "' . .
.
RaaldałU. • . .bamil) I ftlNł :nla
&; ••tncts fsr M7
Olll. 1'l p,-., • er'Gora.
d:
fJ~t u. •

r-0
ł

return E_fAI :

~~ ~w,~rlcno ~ ~ L.
ch,1' -~loc' (O, ~ ~,200 ('- i lOQ.fK_BS).
ie ·1coor . 0).
· 1erzrMl • O. ~ • s.1:zeo . ERz.ont.:.-Ba)) .
ltłor światra roY.;proti7.onego Jt mbi:ify, Jednym i prosbc"Z}•ch posobóv zmiany •oloru
~'lecącej lat8nli je.'il zmiana kolurów wiel'"LCbołków. Moma rowruet wygcntrować efekt
bru~ia intens~·no. ci światła poprilc?. ustawieoii: romyeb '"an.ości. alra dla rMnych
'crzdiotków~
1· zchQ1 (OJ d • " i"r.LC lO :r:(.J d
1t LflCruJł [ 2] d •

Kai.dy 1t ·erachołek ustlłWiany Jt.~r


w tyrn samym, bazowym położeniu. W t)'ID pn;i>adku.
półM:eaie ro fflt1Jdujc ~•ę pofl i że:j końt,a uc.11' yw lalnmL. Poniżs~ wart l W)'g~DC}fO\l ant
są w oparciu o moo ~ lar.am i, ktory zos1at , czytany w posu1.d siatki (kod ,; Z}rtani nic
zos{aJ tutaj wnieszczony].
1'" 1 r-zc (l
11111(1:-2 3
,..., 1~rz {I 2.COO [ ~ ' -
z;: .H:(2J 1 coo1 [JJ. ~7 o·.
etrzel)Ol (0].7. zn~lH'J i enol 2J? -
etlOl(;lk.[3] , .. O.O .

PondeJ pnedstawmno p dl:ilaWm\e n~kladani ~ wkshH}', CZk narożniki tek.stu,y ą


~ na cztery n:u--oinik, ezy.·ornkąt J dmd{ poło~n~ w i . t7X'holka j~l j nakow,e
w. P ~ wszystkich c em h wiertcholków. wi~ skąd wiadomo, kt ·rf)' •icrJ;Cb()"lek
J~t w którym rogu'?' z p0mocą pnyclloozą infonn j 1.a,, art~ w \/ c ~torze normaln. il
\\.'Jerichołk ;

f icii ;[(IJ u- ierzc1ol•.CO u O.O .


"f ł(tol .(?) - r..Mierzchol (3].u • l.0.
..

On:illt"Jeja me hanmnu adL"I' okn.-ś!.a fi rmat _ •ej iowy "'-ier«hofkd\\•. \\fano lau·
te wiktor oorm:,Joy 7.lldeld=wony fiSI tułaJ Ja~o w kto,- dwuslc!adnik°"Y, wL)m
kMnym p~ dku \1, ·p,ółn:1r-xmc iekstlll) ·· bhsko · v,ą7.3Jnc ~ \J ~klotami IO;~,.,,.....
w;~ fli,-t mott wi,no było!\ zmtcnir kod mt:t:bnniJ.111u • wy OTZ)'stlć iedno wtj
d óch a,10 . Je<lnolde i!llpn~zcnto illl}' llllaj ~po b jost ZDIICZllic bardzie; ;
i Pl'Zi?jf7.) }': 1111

f
~SO STRtAA(O).
03011so·REG(OJ()'.~ ?OSnrn :. U30\SOT Ftfl TjJ
oJ0•,sn)!EG(OJlY1so(~ · . rocrsor_n~ 2>:
030~_P. G(03m'SOf_OJFflJS . 03."fl\~- OJt.\."'OL . ) ,
03®50_RtGCD30\SO€_J!XC~o. D.1-! ·,i:,· , ll"l?).
J.
030\'SO iO C>
-
JOJO Eu er ,&rors ~,...
flJJO &J er led,S~ !l(l<a.

( 11JLE0{02fJc Sa:tleShdae,~F l lf(


._ \ 1;) \Shd rs\\ 11 .;(ld •

orShifaer~. ~
'1P.i.łJ
- .
E AlO.L • L. ~Bu ta ~led/SI ra)))
..

\\'ttJ~ r.amiŁ~zmiycb U pr.zykfadów m ·tfKl.mzmów shadcr nic korzysta i; runkc-1i


~1
.. T ~ s O rrzeka~·an~ ą _dom~ h nizn,~ nade ~~4 stałe.
gu}ri IDBCl~T'7.e
\\/ t)ln kPflkr:1nyn1 przyldfidz,c do 11endero,.,13Hm \\iictlol'aj latarni wykol'Z} tyw~n~
_~.... 1u11 ~e potoku.
•n 1 c-1 er t -,)
30· r'l'S rs_-w 1:0. ta„ _titat \ ...

t)fń 1tt011~emrm przykt'ad ~est karra!u alfa 'nie ma ~ u na ogMny tfcł4. Jedna
na on)"k.ład w payp21d u ty.,-orzenla Fasu test \311.i byłt)y ~ n y . aby drz.cwa n tJ)iy
pnt1stoir114,?te ~z przcu0czys e frag n dl'lew pOk,tor,yoh Witej (cr,;11 renderowa-
~'Ch v.a-~m J). s.t tQ Jeden L tcme ~ porusz~ w rnmzJ3'e 14., gdtie l)Okezm'lo.
\e$'t kan :u I mpe.m1a,, t-e W pełni pr:MIJ'OC~/51e fragmg ®łektów są Mprt?~
pnie-zroczystc.-.

Pocklawowa. kontigunicj 1.1 t1r1.ąd2 i11;R je ·t idcntyczn~ k '~ w 1ym. przypadl11 urworLOOO
ro',UUL"'l • •iia1fo punkrm.1s·c. które położone jesl \i\' tym mym mi.cj.sc:u eo po. wiata famp .
To dodałkóWe ~wiacło, poprawnie o~, i~tl'.3ją model blarn;, uzu~łniit niejako łą ill.lZJę
bmpy. · 'il. iallo p~inkm, e ustawi Wł J'- -1 t~ł t o r.ł2 i pómiej nie jr«St jut ?.mieniane. .łcdnaki.c
_poświ~ta lampy „ f) 1'11 pr7ykJad7. 1e pulsuj,c:. Dla ó, icz,cni~ mot.no oicco zmod. fiko\\1 ać
1)$\Yit:ifCPic pu11ktowc , tak• .. ~ób. aby j1!g· inh:fiS}l\mo-ś,ć i 7.a ;~ b ~y z ·yn1;lu-unt-
l:OY.-.at1e z pulsowanil.!nl p~wiaty i;1ta_mi. , ie powmno to spra 'ł: dnej lntdnośc~. t... k
1-\ ·ę.c ])(.'20Stawiam t::, 1..aba\\,: C"zyt~1mkowi:
O.._ .GifT6 'S aL oP m-. Ol'lt! •
.-y( S.1 a· lO?vr , .. -f ...~. .:- .,. ,eo ( ).
i.'pe ~ COOLn
ał 'il.w,..,-:. O· .s~ r • 1)1: us„
O 'il5~ b O,
. 4B Of. 001).
il se -
t efl ~t onl • O 2
te 1e030- ·St: P. r ,, U R ):
_. .urz adze 1eo. €! - ft 1 • o)looi?l2lll ~
eOJO-.-S(!tL
'Ole,} ' '
- dz. eO O- L h ule '
Pn□i~· kod obr-Je-a obś rwator-~ ~ół 1at:m11t R,3;Z ies~zc pncks.zrakenie .
Jest tak. aby popro,,mi Rndero11 ć S1 (kę:. Aby obtjra"e b1\lboam 1. inntgQ~
zmienić porfriszy hgmcnl i,odu: ~
C.11lS • t f GE'tT1~•.Coont (l I 1000 Il ;
At LH( •::te.rt de:' w.
il)JOX , ciouc 100 O „ s (Czas}.
2().lH. -1(10.0f * <:OS.(Cl?~S)).
,03ro'. 'tfCT003{0 Of. 20 'J ·. O.Of>.
o:m ECTORJ u1 o,. 1 o . {I o· H.
r-zad.zet1•iel)JO--:..'Set "3r1$ Cl !030 S_.'(Ul . ... _Mile f i\.. aiu)

s ·arka I tarni posiada l)'lko jooell podzbiór i wykonyswjc \y lko jeden ma.tem1.f •
Drdi,,5ubse usmwiu również m~tum,ZJJI , ,~~rt~ snader dla sialki. f więc nie trz«M
rol»ć bezp(,sr,e<i!lio. N 11e"l}' jednak pamiętać o ponownym ust:Lwieniu mecbanmnu_ \fJln
sh,acfor no rm.-chanizm billboard .sh:.1di=r. kiedy renderowanie po wiaty latmii roaa;x
zak.(Jftt~onc:
"'11-lrlattL.~eOJO·>~ tier1~H _: »~ er ul)''S1ar1.-1rnj),
~-HO):

Ter-~ nateży ,, d2relić tny ektory obsco atora I znunnab2Jow je. v,r inn)dl ~
dach t,Norutcych billboardy poprz z wywołanie funk ~• G:et rans o ~,nu,:e ·
m:t ierz ob$cn, atom. Li:cz możn rowmcż mit.~ bc.~r dni <W$\\'!) oo ~
i;(J'adow eh macit:r.1.y:
000:\~ĘC
~'EC
D3ID;'l[C o.
DJD~~ 1ze( Pra ~. 030, ECTOfi:4( _11.
_21.
<,.U _3l .

000:tVec;~ rm h;:et G(.ra. ~nm ECiOR4C _!2.


_ _22.
rn Hd,t T',
0-0 ) L -
9 DX EtTtlR4( c r _·;J,.
r _23.
C r _33.
)).
p •' . . 1)5'~
~•uzy kod naliaJe ć współczynnikowi kalo\\' nia, który okr 1t"1c ~
w~.-10
·w, '>'· W l)'m przykłBdzie . """•ata ~foktownit pulsuj , · zask, al~ roo1m
..

~ ó i e I\WfZnmil e cpoaslawi;I\M·a macii?rz pttck.11mfetni11:


~ -t Trłr1&pose(~c u:1r.z91tlde łl. &! c erzSNIJifr~ L
.. t"ll e03D· Se t erle;ó 3tttCWStilf"lt({I _ fł1dc1 ~r.zs;ii!ldera.. .!1 ,

~parń~~• ~y ponownie uslBwić meć'ha:ni:r.m shldct, gdy! 7.m·eni~się on l)l)deuis


,e,nden)W41Ua s1alk1:
- Sł!~ e-rtexSNOJ1 •'t _UC. llf'J't'5
1 ~ r 13 ; llboC"du.l ,

Z3,tim n ~ ri:nmowanie bUlboardu, powinoo się IJSUl"'ić teks.rut'it i uyby nu1powtutfa


~ - to ;ci~Gd_Y lbillboilłd jest jut ~' (Jf"looy. z powrotem pnypis.Q,temy rtoic-1
dbfflyślM„ .aby m1e m1 l)· one ,.vpływu na starkę lata.mk
ru,0r.zen1~ •>Set h„'t ~rem. li\ r "'k ~ ~ ....~0$'1111 ~ 1 l ,

- ralł-z~neIDO ..,.5e ~ńUtl?(DJOR5_AL •qu N.•~ E, IR _).


rz.aoz,en1e030-;J,'5ct~l;(U„ St ::.e([l3l)R5 AlWA.rfS. cr~.E. L
U~ie-00D- ·'Set.'5t, ,:::~ rce(O - ..,&;; , ,. 'ffl-Choh. •
51l~f(~lERlCOOlE•' 96J).
_1141rzaoz.en1~D- rr1 "Pr1-1 .c-COJJJPT lt\1, ESirH~.-0. 2}.

Jr-:MZt"ł'li 030->S'! TeAU.Jr~Hl. 'iLJLL l.


- r l>!ihtmle030 .:,,~ t.Rer@ńta et ()3 „ /alJJH;.8ł.E rn. [. • ~L - l.
rl~dz-e111eD30 - ~S:e Ren;;tr~t~L~H.\~.~=· F1i.ł-.1E.S :. :.f. E. FALS€:}.
J

Die przykłady billlboardów


BtUkardy mołna wykorzys~ 'iC do g..::ru.-ro"- nia szcroli1:go •.,,llcMarm rażnorodoyo1ll
4
1

~et16w. Po pr1eamd;iowilni.a pcdoneco w ro:zdzi3le: pr~, I du~rn~a d~e do ~Y


kilka oodaekcwych e:gzemplar'-)' hmoo~rcló,,·. . t \\'OFł;iCl!\U! ewlego [f7..~du "~,ęc cych lll•
łalm rówoiet n;e ptW,imno S,lalM ić problen1u. Jeż~li w Z3.dl.iiula. m oi.if111 s~ pokusić O·rend ._
ltl\\'aJlie ,a ·u m pon1oeą kilku bi Hbvardłm,• ptt-itds.tf.V\1,i' iująeyeh d l:'ZC\' a, ,,.rtym przypad-
ku mba ocey\,,i~t~ "1rł1tczyc op •j ę pulsow ni~• \,\, . 'korz.ys1yw.m rp17.1:z swi \ło
latami.
~ V • lemnlld ~ •ahMl:.mwt wio...._

Podsumowanie
Pr.w/ w.seysl j r:·'tt~j",ymiiaro,,.~ tJD) w)'korzy!11Uj bi l'l'ocr..irdy. illiO t.e i)it
nie w)m:ig□j:I m1:clu1n izmów· ~hadcr-. fo \J ~nit! ow·c mecrumizmy dają_~ ._
Bad wr~h,ołkafl,i. be l){l_'ł7A.4'y kór.cy·.s1ania z proo~sora_oru b] 0 1.vani.a blit'or,a v,·
i:hóikó~ _ Implcmcntsc '8 blllbom'dów 2a pom~ mechilll l7fflÓW der l)OZ'l1.a rin •
na ck perj1me11:tuwamc z mmi bez wpl i,,·u na kod progr.:1mu. lou 10 ok t.a :s ~
w sytu:1 ~i. gdy ~ ·h:Je 0!-6b pracuJi.: n d jed'.t1ym p.rOJ~ t~m

Poza .zademonstrow nił!'ni podsi do1ycy..ąq•ch billbałlfdó , zapr~ll;nlo~ i:th


Jest p"eni.·.szą. ·wra '"'Ykor.eystuJc pn i.::ho,...~rwanie nict poW)cb cbnydl w bu.font
~ Ó \ ~ lolcJrl'.!,ffi rozdzri!fc pn:] rz,my się t~mu pomystoY.i bardziej dokł 1
ka
warto o nirn W!ipomnit:it równci; ~i. tym roz.dzjale. \\1sl)'stki~ \\jer~k• mi~ ;c
~r połn dne połotetli~ sytuacja kióra normaln 1c i nic roar.a. łnfOOllij,(je o
nym poloU.·niu v.i erzcbolkó\\ pr-.rechowywam; był) w rnicj M;U. ,,. którym 'li:I tll'11fl'lrnll'B
fi ztchO\\'llje si~ wektory normafn • wier.1cho-lJ..o\\· l<;tnl preze:ntoW3nt~o tll\!} lt
sl~pnym ro1.<h1.ale l pmlcj ·cia ·e;~t m ;r.hwok t;t:!ncro\\. i.111121 ''ltelu de ,tjw popqa
chod1'.t.'Ili pó?.3 ust.alon· .un ~- \\,.~kor~ ując rru.~hani.t.m)· sha :r, m ma u2) &w.
d:3oycł1 do $t,vorl ma pmwce ,i ~ry tlrn:-h ob,~kcc',w \Yj ~~j dow1 emy się- \ · le
rozd:traf ·, ak: zanim do niego pn:~Jdzit.:rn \ p,t.-.wti;)rzm_ 10. o czym f>l.l"'~ ic:dzicr ~·
• B1Uboardy umoiliwi.~ą rcnd~r'(1w nie m1rd7 .t.ło;.r.()nych obi~ ·tów przy
W)!korzy.sumiu mcwjc lkiej lic,.,by figur geomellj'C,ny h,
ł Billboardy dziil~OJą nejlep1cJ w pr,cypadlu obje~tó,.v. które nic wii~niaj z~
,I, du·• rax ie zmian~ - ta wid2.ema o~crw. tom.

• iHhoall'd~· u: taw,11ne z ,ófinic: ;;r , ~krormm gorn t i prJ" ~ ob ·eirwa.t -


\V prz-ypndku pro tych zwornk'l tów mozn::. 2.buclnw YO kąl \ pl!Ci11
~ Le ~ tory. Robi ię !<l, \',.•ykorr.;•stuJąc mt.■chanizn, h11,d~T ow. ·prcj [n~
łom.at w ie:nchotków.

♦ !-r:mide-~• wicfo u można ~d',,.,


·Ii · poJ t!dyn .:r.c: weklory ,, ':doku.. •
lt:rw.sze lrey kolumny rru1c1erey c odpol!i iednm wektor praw ·• gom ' 1"
..
Rozdział 20: _
operacJe w innych
okładach wspófrztdnych
11;; układ kartezjański
Opisaną w cyn1 roz<iziale technikę zdecydowałe . . . _
umożliwia wprowadnm~e danych wejściowych m:::=:~e1ć w ~j ks1~ dlatego. że 1

Oma.cza to te mecharnzmy vene~ shader pozwala· . . ~ w dowolnym fonnacie..


m_nda,--dowy i \\.'}'ll1lJ ślić ,irt.lzwiązania, ktlue są ni/ą ~J~uc na problem w sposób nie-
przedsiawiorro na t ·pującc zagadnienia;: imiemie (ln}'datine. W lyrn rozdziak

• Rół:mce mi ·dzy ukladAm i wspól,Ltednych or.32 zale:ty kazd.ego z nich.


♦ .·posob)1 pn;ek ztakana ia <fa.ny~h \ · mn nych układach współrz dnycn.
• posoby k~n\~·crsji danych pomiędz różnymi układami wspoll"b,;"dn;-cb
w mcchamznrn:~ ,·ertcx shadcr.

♦ Prr. kłady 'f.\'ykorzyscania tych i podobHych lecbnik.

Zanim pnejdz1emy du którc:goi z podanych zagadnień ";,jaśnijmy nlljpierw, co oznacza


tytuł nm niej~ z,cgo rc)J'dLi ah1.

Układ kartezjański
nne układy współrzędnych
oraz i1
. . . poł ., "' . ,, rze trze111; 3D określane Jeit popraez
W kaidym innym r~vd1Lalc tCJ ks.1~ • oicmc :re
'lania w półrzędnych, zwany uld~-
podanrn trzech , ~połrI.~dnych •: Y Z. Ten uk!ad :, d . \\ korrys.ty\\'mlynł w tworzęmu
1

dan kanc2Jaf1skim. jest m11hardzteJ po~ Slochnym ~- a ~ n~mocą trr.ech \\~tr,_..,ędnych


kh\ C"TV we„tora /.o ..
grafiki. 3D.
-- ' . '
Okrc.:~lamc połr,):ema pun • •~J • ,
....r..,._ dlł'll'ch
r.1. · 3D 111ne układ)· wspv ... .,,.ę ...,
. dk ól r ·h .l3gadmen .,-a h••• .
Jesl przydatm: , p zypa .· u. og '~:1,;
ec·aliz;\\"afl eh zadoo.
są dobre do r-ozw ~ą7ywanm hardz1cJ '-' · P 1
iJ~ z powszechnych alternatyw w ~fice dwu~wej j~ ukł~ ~ -
ł2Qdne biegunowe definiają połoteu,e punktu na ptJw1erzełm1 2D Jako qi (&) 'll'lfiL
mieli (R). Przedstawiono to na otsunku 20. l . GIIZ-

Współrzędne biegunowe~ok~ują ię P?~d:a:tn~ podczas ,?etiniow_a.nia o~ektów. k16re


z nawry są okrągł~ lub ~czas okr.eśl~~a zw1ązkó~ m.• ~ olnektann. a
pod~ pj~otowanrn. m~~l•~ca kor7YS~teJ by~oby wme~eć, ~e \VfÓ~ jest 45 ~
!ewe]' s,trome w odlegfo ca k.il.olł'l~ mz mac ;ego pozyc;ę w U-ldadzu~ kanetjańsJtirn.'°

()(m"z:orov,•anie w póln'idn,-ch bieguno\\'ych na ,vspólr.z,ędne kanezjanskie rue je.sł. trwtDe


i odbywa si~ przy utyciu prostych \\rzorów lrygonornetrycZPycb:
. -r•oos(D)
Y- ,. •sin(O}
\Vs.póin~ne_biegmmwc rozs7er.,~ sii,.: do crrceh _wymi:.uó~v na ki~ka r6hiych sposaoov..
Mo-i na OJ!Hsa.c punkt ,,.. przestrLcm J D , kategonach w poła\:dnych cylindryc--m}·c:h lub
sferycznych, jak pokr,ramo na ry urt~l'I 20.2.

Rysunek M.2. .
U'społ~e
c,·Jr:,rdrw::r:ne
IO.O .I
i :rleryane

:i: r cos0
l'
y R . in O sin 8 6 - tan • -·
X

o . ., I ✓-~---}~-
lilll"
..
.. -

Wspób'ZQdne sf ryczne
c. ........1atlski""?
.st,dinar\d i,uu.-,
~ita p6łllędJ'l)'Ch artczJaflsk,ch pochodzi od Kartel]u$l'a. który zn 'i Jes miłd I nu
I! s~11ntl(J pl)"- edzetMl .myślę. wicc;estem... ,
•,sP)łrzędrte biegu rY.J."e z kole nie :;;ostały na .al'le na mczyj~ cześć. Tak w,ęc teraz ktoś. moze
s,t p0e c>s.zukan . Je 11 mógłbym Jakos pisac omuś Wyna ez1en e wspóirzęd h t> e u-
• ~~ Ie b~ 1-0 zrooił. Ale. parafr.a:zuJąc K· ezJus.za, lii:zy się pomysł. g_

Odwzorow,ani,a
pa11i,dzy układami współrzędnych
wmechaRizmie vertex shader
Moc-Jumizm · ha L!f h,·orz ny ,, C} rn ro1d11ak o1'7.)P'tUjc na wcj~iu poto-.t:enic \Ht;l"l-
cholb, lecz n.:j •sir polnt.~ni.t ,ui..· /..:1\\ ,era wspókLęd,~}' h •. , '!. p1.mklu. \\' rqc trtc l) m
majdują s1-: w p{111'7. ·drw i.·. yHndl) CLI~ ,1- formie kilta. promfoni L i wysokośc;. V t--clu
tworzenia efektu -kr •ci.:1 m. m chanizm ~hadcr operuJe lHł '\\'JrtOS inch c titldry·cm ·eh
zamaast wartoścmch (. V. l. Pomc, •ra JC$t tn l •lko przykład. przr.:k ,,ał:~me je \ m~~o
i omplikQwru1c Moi.na jednak w pr :,,r • pos. 'h 1mudytHtm,.,ac wspoh-zi.;dn~ ~/h~-
drrc-me w me<;hanizmif: b~der i n "jseiLL przck ttal •Ć j~ na " ' pól rz ·dm: k„ rte.lja1' ·ku?.
p ~j pra,ckr.awiooo kod llll~haniz.m~ s~er. ~ ob~ł~j w ~ c,1~~
(z pJxku llfoll (.V'h! ian.V$h). Zakłada . lfi, że dM m1 ~ej C10":Y1111 S_ RllaJ kątl prou:i1en
oraz wywkość prz.;chOV+')m ne w .reJtslń v□ oraz kolor ś,~•mad~ roipro.S2on1.-go łapa.
n1iętany \1i rejc:itrU vS:

~- . l

P,mY 2 ą nec:rJl M o:n:m~ prze~ ~oo


r j~st skalo~-.· nie kąta wa~osc,ą za.parru ~
w c6 . .-.. Opel1łtjia In zm1em~ w rto ć: kąl~ mgencruJe ~fekt krę.~ma. Trochę bruó:ziej
skomplikowan pr7Ykład mogtby okreś1ac kalę kąta_ Jako fonkcJ~ , ~ o.kości lub pro,.
mk,ni.a. Jak zwyk'te zachęcam do ckspc • mento,.,·an1u z mcch.ari 11.irru)m1 hader. &dH
w pro~ry _posób można "' . enerowa mlcrcsująei.: cfc ty~ •
1 i . O~ - c6 ~

Kolejne wi,cr y; obbcają picf"·vszc ezlcry skladn;k, aprok '}'lllacJi s1m.1so1cy. Aby 21J.
rien1ow11ć si't: o co łlltnj chodzi. n::i le ./ pr.t.cl:z ta o;. poprz dni ro.1.d?.ial Je.ż.el • Lak l'lle ·
wróćmy kilkanaście kartek '"'' -tccz. ie przejmujemy „ i'r h1taj ogrnni~zanmcm wm10śc1 ·
do 7~kr~su - n. tr). Zo tało to jin. zrobione pockZ3 imcjowar,ia bufora \.\'1er2cholk0\I,·
wa11ościami ką,a. Dokłt)dn , po ·ób real i1.:a ·j i h;j czynnośc1 rnoiJm p1 ;rt:ś lc..-dzić. mbuj,.!s
kod. Jak wynika z poniż.szych cne-"'-ch wierszy ko fo, ,.vadrat ,,,ario: ca kąta p 1;:d10~-.
wany j1: w r2 ' i je t"' koreystywan) jako podsta \\t. 1n l1bliczcn niep rzysry h potę1!
,1.1. korJ;... tywanych w szere u:
I r2. .. l . :
l r1 Y. r2 .
! z. rl y. rz ~
1.. ri. . 2 x

~ol~jn ~ztery w ·ersz~ wyhc:zają kładniki kosinu •ojd , Picrv. !J} . hMłnik ( 1.0) pom1..~·
JCS! Z r J_e tru 5, a p,ozcrmlc ~kladn iki · niepar.l",'Slymi pot ~gami kąta. Po r.1z k leJD)'
1

prlyda ·1ę waność zapj a.na w r2. · :


m:r„ r . ;,; . c5 1.
C(I•,:-3 y, rz
rru1 r3.i. r2 ~. ·z
I r3. ,• r2 • .-3. 1.
1••··••2 ,---..
t't 2

Ter.Jl. ki_edy w_?rtOści ~ n c są już w wdad~rc= brwzjruiskim. ml!C'hanizm s.bader prze.


fai Jrt do tonnatUI W}'J cmowcgo. który będz;e- ~ ran1 w ,hl icj częsei polelnr
d ~ oPos . ~. co
-pJ oPas • r~. cl
d oPos .•·. r.::. c2
~ oPos n. w . cJ

Wprzypadk"\!I rego mcehttnimu1 ko1or Jen po p~1'u prliekazy,ivru,. do rejesui.n~ ,j iov. :g •


Móglh. on b re t'Ó\.'lmi1.:ż funkcją kąt:i, promienia llJb inne-go P'ITTlfflt!lm:
oOO. 5

Qt(l i cały m~chani~n, • hadcr. Prawd. że dość pros.ty? Rysunek 20.3 przcds.,a~.•ia opi„
saną proeedur - w sprn;~jh gr.tficznr Kod ji.:st ,,.. n. Z) i.·isto c, dość m<.n.łułO\\I ·. ,smieJt
fau. klóra ~-ykmmje pr.a:k. ztałccni:-1 n~ ,,·s:półr~dnyc'h eylindrycznych~ irm doko11~e
oow-...'f'Sji pomL ~dzy układam• współr-1ęd nych, a j~szczc inna obsmguji; prlet-. arzanic
\ ukhłdric krut1,.•zjańsk1m. ~ ło:r..na sili p , usic zmi nę zaw~rtoki poszcte ólnych faz
~ ce]u uzyskania inny Il. i nteresLgą ych efektó\ .

W lym przykładz.ic . . ._,ykc,r;:ysc no ,,·spólrĄ-óne ·yl~ndr,c-zn ·• gd)'i. dZl\:~i nim dm, pri.>-
. i1.j j poka1.ać , spomn i~ne 1.: fckty. 'ie Jr: lnilk nie -st i na przcsik~1e. aby \\'} k ~.a
1

' In łdnc sfcrycmc w t1.:1, sam sposób~ dodając kolejne oblicze:me '" OTZ)' ffiłJI\-C,e
aylora.
..
-=- aa.
~
""""/wmi,:Jlu, ~

Promieft

~ d o \11~11',ffi ~

A co z oł'WNł~ i dCllifowan[em?
W ~ iv.om,negc ,,_ t}ffl ro~t1lłele mechaplzmu shacler r mozn.a l8 wazy-ć ~rak ~O"a fKJf.
rnarneg.o wienchółka. który potnebn I Je_s do o'bUcz.an1a oświeuoo a. Spos.Oit, o~ lczrarl" a !'il.or<,
z.oreiy Od sposobu przakształeafl e powzen.la wi rzchołk.a. a Pf.ZYkl et obecny mech im ~ r
n ~aga ponown~ oblic'-Z<Jnl~ "w-ektor6r nort'rNllnrt,l'l1 a~ Jne?hantzm. który mody(, pm.
mle w oparciu O w)'SOkośt, mote Mi-ymagać ponowne o oblLCiema ,"e oró· notmalnycb ,J
stworze, la poprawne-go oś e enia. alefy pam too, " układzie cylindryc.zt\)m równlw mo.tna
z ~ y,,sł{tor normalny. Do tego ceru potrzebne są tytko aw,e •artości lką I w,,r. ośt•, flO-
nteN-aź wa śf prom nia łilWS,ZO pomnna v.ynos-łć 1. Kteo ~ tory normatn.e są JUZ ok~JO"fle
~ l a ośwl'etl nla rnozt1a ob1iczać w dobrze znaneJ pueStJZ@ni kart.ez ańs lej. Nil ty ~nJOł
pam~ ~ pOłllattanych tutaj ukłaelactl spółrzę,dnych można pf7E!ksttał-cać nl~ ko po1o;z
p1mktów. ~-ć może, dzi km takiemu podejśehJ, bę(l?ie morna u~•skać korzyśei w modeląQh m;.,.·
tlenia r b tebturowa ia,

Kod programu
• Ja nł:.u 20.4 poka:zano lalka ramek 11ru~hcm11 n ·go pmgr~mu. ~J ·l b\'Ci · 1 zmxrua
katę tv.·orz c różne c ck,y. które ,;., .1,;1 z „ c;.aj g•m ·rowJ.nc l wyko17.ys1ani :m inlłyrCb
pr..reks:,:ralc.,,~ń.

Kod zaprezentowany w tym roxcLti~h= ;r.n:11jdUJc ii.: w kJtalogn I Kodi.Ra:tkral.O. Zg,odrue


l ~J:Jdę,:ucją P zyjętą 1t killku p0pr1.crlnich roz~ł.t.~ułach, przcds.r.a iom: zo:,mnq_jedyni te
wie~ ze kodu. które są DO\\'i.! Juh inLcn:!inJąc.:.: .1 punktu ,, 1dzeni~ ,,., kon ·wany h ~ j i
Cale« kodu u:micSZC"moo na dutączonym do bi:vl-.1 kr.V- u CD. P"nirwai p1ik imgtówko-
"'Y me wno~i nic inle'.reSując~go, pr"chodzimJ od ra1.u do p l1ku Apiifmcja T~dmikr.cpp

P~J.żA:j pm."dsl.Jw.,•iono ~•rukrun; · fomlat i1tr7chołk:1. rmat olrn:- la poloieni.c, l~i


~H! specy rikujt mypu uld""ld u współrLvd11yc h. Elt:-1 ni:11 l ) ' s.trukt ury n:JZWane • wpra\\lf1.1t
4 t Pronnen orn2· ~ys o~c afe nrto.zn11 ,,,-ykoreystat je w dowolnym porł-: dku. o ile tyJko
I
I
20.
I t
..

·se osc.
).

f Lllłrj.1 ~rz~ade ". n on;· młr"Ch~i~ ~hłtder obsłu~ujący w-spółr7,~dnc cylrndryc7J'lt


i ust.a\\i ~lale mez~e do apnJk~ymatJ i lunktJ1 coainus i sinns:
i ~ J d J fd lk -. .•~hg<: ·r •(

7\afeey 1..tU\l, afyó. że dddariłcja mc<::ham:r.mu okn:sla poiycj~ w :sposób s\aridardow •


1

W rej sytwicJi mcch:inizrn :i:.h.ader .~pod~c'"f! ~ii;.'", n:jl!Slr.oc ·,10 trzech w;.1r10$Ci 7.m1enno-
p,uicinJcowych. jednak mgct,w nie Je l po,,
1c<b·1an,;. «' muszą to bj·ć v.~połr-1:~ w for-
lNCit Y., ' . Z. \ laśm4; to flllakm na my.śh. rnówiąc. :i.c ~ WtJŚCLO'w „ mecłwuzmu lrader
mogą być pomi:n~ w dowoi,a.. ~l formacil!_ Jed. nr-i ró:tmc.a ,e~t taka. że nit mo.ma łączyć
ze~, prosly ~posub w.~hanizmów ·hadl!r operujących na rot.nych font'lata h danych.
PreykladO\\'O i tni1-J~ nH,;;:l wo~ć cl lląi·1.e11M róznych p,1k6...., L mc~hilnll.mami shadcr
tv.WZOD)'~h w różn„ m Cl.ił~ic efo ;.ikni.;dnie pisanego paogrnmu.. Jci.;:h ;.riliJtala zat:howamł
ptiA-na kous-..-kwcn<:j;! w deld::nr-ł4;pt h • " . ko ~·staniu srałych. tak \'I; ~;cytllly mech.anizm
"'Jgrnetuje popniWOL! n:zult:ny. Ji.:.lcli Wl.7.)'Um,y :-.hJ<kr. kt ·11 korzys.1a z innego forma.tu
dJ.n),d (okrc ·1on eh"• •nn) m ukladzi..: w. f)Ółl'Zł;dnych,. w rczu1tadc mukmy uzy$kać
nacpo1ądilne efck1y. Dt:c_ duj;\t ~• · na t:kspc n1~11towan;e z,, 1.:ktorami nom'la1nymi
wierzchołków lt1h w~pólrz~dn mi 1ckstUI)', nakiy dodać je dn w,:z • nicjszej dddllraCj~
mtdlan.:r.mu shi;'idl'r. Okrc:;b.Jąl· ,., ck lor normalny w pos.tac i d\!i.'lu:-lem\:nto,, t.-go wtkt01"3i,
oszczęd1..imy IToch • mi cJ~ca ·
... :BJ,•or
~ed.)'

, ffiliłHO( 01J.S~I I łet• \ t ~.. r <:~t n 'iiS.łl"


O. L , '
~ł ~J

LL,

· e :t5 ~r&eJ~.
( •J i'o &uf el9o1rrte~
r }H
ret rt1 Ę_ri:tll.

Poru~ wrt.~i,e kodu prsL.·ypjmją,. . . naści ~tnil:yro wykorzys~·anym do"' orzaiia


fITl;JCji filnkcji ~1nus i co fous opisanej . ~przednim_romz\:iJr;:. Shl~ ,e llMa iJlłt
tylko raz, gdyż i.eh. 1' .. rw.m:i nie uJ~~Jłl umame. · aL Ż}' Jedm:Lk panu ~__ć. aby nic, •
ich \ rto.-k-iami i1LJ1ycl1 iał ·eh. l$itni1tj e lu aj rnQźliwo. optyll'l 1i2· cji zapn-u~
~IN'.'hniki popr.zf:z jkalo,V,Uie „ p,omm&nych. ~ł eh · mi ~m slmlow ufa :prołll:1ł!rfit. 'h,.
óS2CZędzi to z pe nośc:i„ kil a wil'tSX)" kodu , Zmi.an tilka "' 'ffl!Lga po O\lrinqti p ,1.
cz~n ia s.1 1 , ·h za ikatd.ym razl!'m„ gdy zmien~ się prnclic1.D1k pron1jenia:
DJO ,ECfOR.t s, s . .O:, -- .'3~1 O . l O 1120 01 •
. or oo·).
tro. EC fR.4 " s, Ul.(I . . O 12.n·. .O /2~_or,
' 0 Ił Z0 }•

..ur-..ddl~ •t?O.Ji).. ;Sfr rr NS.:1JaerCoos i! t(..:i S.1 rP-1-s.. ).


1)1",! avll'fl Dllls'!s-~,t,.!- ert~~ GJ re ~ I { i .''SHlUS l l

f u.nkcja P 1er,O lBu er wydzidi.1 l;tufQr w•l!r-.r. ·hołlo,\ m bufor md~'ksu-.ir _ z vw,11o.1.1,i,
siatki i foooaLujc j e d postaci wsp6h-~dnych c, Jmdry,m~·•·=h. Poniższy hgmem kodlirue
1

J pełnym l~1mg1an tej f1u1ktji. \Vyr.r.Lu:onc ~11ły fmgmcn•,· jut: omnvi,~ w DOllll70J-
nich ro2d2ialJth. tak b;· rnoł'..nm było si'it s.J..71.ip1ć n nowych eltmentai.::lit:
T •J..l)l r..ił.: 1!'ee I • 1 ' : ~\@ 'ZOd"l za.u th~ l)

Poni ;zy kod jest , 1.-ykonywany t..'łniz po znbłokowailiu bułom wicra.i o!.k8"' . ~
w(cnju kol-nrt1 ś~•fa.tła rozprn ~o:ne:g,o oparciu o włti. c;~"~oic• m~lcnalu Ut ~
'li, ierzehm P ·mia L,a pr~cu., _r.n, k:1:h:l~ii · wi • ehołkÓ\\' i pr.lC · :iZUi,ł .;a współr:.l,ędne I! ttb

odpoilioonik "'' okład.zie cylind~ · m. · otnJ. z ch01i :ać sobie


. ·· modelu "'" i\U}ti)111
t
N'at-.ily pól, stfYł..--tu~ ,i ~icc~hołkilli sugerujJ\i u ~ i c \'.li pćhzę Lnych i:ylindryu.nycb,
·cdJ1ak me d~~ł..°•'=. . Je-sz~zt n:pte'.z.entowane w l}~rn ukb.dzie. Mom ,0 byt lrocn,
~et. lel"2l .kuu ~QPJ~Jl.lcy Sctłt ę u~tA?:SZ.C · dan · w poo:u1ym mfoji$c:aeh. nt le-mi.:
od~,,. Dane p02,jtS ,i .r.mc: ~ Vi,' I pw;6b, że i:li'Wgą hyc poaowm\~ pnx:formatowar\C!
- 1end-.olk5ut [ 1eru:nt; _,,}. -!lt .
eri~lkS~ t •l[~ ~r,:hole~ p - 1en,
,t!ze l kS a •-1 (~11.:r-,e~.a1e·.1 1so. es •

T1n!J:11s~m 4 ftUYW3R_iY ~~osuirwk dlu RO- d przeciwkg.łe o oolru gląus do dłlt~oici


!!'0·~ ~olu_1ne~ uóJk"m.~ryswic:'.k 20.1). A zatem mo;QUL ~ć ~ ·i:1k~ kąti.
oblf!?73j rueł.lSWlg,e,.1s teJ propo CJ 1. \Ą' ;ym prLypa.dl-m ~pr-ow.udza s.i • ta do ~•~ru~ia
~ z V 1~
1Mf. Ka • .awr.n, i.i I I ~ 1. • } •

b,w iJl{il'l"ly już , riel koś.ł kąrr.. to z n icwu:~lka pamocą lrygonomt.!lńi mom:1 przchc:l}'
j~ r:: rndlilll •. Teori mówi.~ ab)' 1.nilt.-fl: t:ł~ug.ość boku trój ą.ra prlćerv. l,FJlt.'1,"0 du danego
il81cty pwnr10 • pt"omk!ti pt7.r..:1 ::.in t.t: rcgo ką,tn. Dzi\ł.~ temu możein~ obliczyć · m
promień~
0,/J Pro:: 1 ·_, zł «<:1.n.t.:: ).

wpoprai:dnim f07.d:t.ia1c powit-ii Jtilli.;n,_ dlac;r..cgo pawinnisnw Dgnlł1!C7.ilt: \\,' rta~c ką,et
jaki sposób to zri.:a I1zo,\·:t ' " mi:chan1vm,c: :sh:tdł!'r. Technik za,,rezc--n10w1n1a,
Dfill \li
~· C)'m ~~ k fi i,c wym.itga umi •_zczama c:1 ·ii=1 oper cji ,,.. e wnąU-l sfo1dcr..1~ poriiew~ż
można Io zrobdt Jednu .zowl,) w ~yrn mome11cii; u11kcje 1ryg,.momt.1T}T,Lf'lt" zwl"IK'aJ l
Yi1Jl05(łi n'lle!i~z ~ i't w prJ'.t.~.t1al~ (O. ~~n mdaooów. Pumżs:r.)t kod dokc.~nuj..., tch kon-
1,1imji 11a oopo,; ietlnje "-'ilrt~c, m 1cs~c1ą,.;~ 5it; w pr.z.:d7jalt {-it1 :;r):
~ 0301_ ł
1
=-
2:· ~ o· 1.
..

J
MMna re,aż wykcH-Z)'StAĆ mk przyg,oto ane d n~. db!o'k wujem. bufory 1 ~
wujemy .si~ do rend~rov,.·arrla:
).
fi
)'

· m s_

Funk.ej~ Rendertl,J jest ~ która _fuktycznie \vykonnje ealy _rysuni=k: _stawia rMVlnit"t
rametr)· skak>wanitt każdej ramk,: \~f tym prostym przykhKizi ~a~. me i.a kazd.)1!1 ~
rnecllanimm rutder i buforów me Jest zb tt o~m~lne..!ec_z ~ęki ti;mll k~ je ~di.aq
pnejrz.yst}'. Pami,t3Jnt , że· k d przykładow ~ aphkacJ• me ; i:sLzoptym hzownny.
~ld 'pl acJ1Tec~ 1 ,1 R~nder Jf
[

.A rbinloa n1acien 'wiata_ wor4>J'la j"' t w °':!u pok~Zt.mia: że mfok~:nillceniai są \\t~


spójrne ze ruindardow .'ffll przckszta.k,c,mamL ol ·,ne wie ze kodu Lworzą macierz
ś raf;i, ląc-~ JPOZOSlalc macil.'1'2:e I st;:mdardO\vo pr.tek zuj-i1 j e mi;chanizmowi Vffl!!'II
·h.at'ł r. Mimo ~ wit?r:zchold nic; s~ przedstawione w układzie kru1ezj M1!ilciim, to O'Sfal.
1( nt: pr2eksztalc:en iH - tak.
DJ0Xf.•t~1~tat1 1< K!~l~rLS· ata ,
(-loa )Ge T1c~c«.nt{) I 1000 O}.
030 'TR! d~1er dera• r1e ~s ·
Cle'"tt>:l

ooo· r ransD(l~t:'( ·c1 erzShGOO ra. ·~d- trJ', l"r,;l •


_111tlr':Zoldee l!'030->S-e ·!Jer i:,~aer(ansi an O, ,,u ;er •St1 de··a. ~).

Pon.i~. l t! artości lot„ lk pm le pi1ran etty skaluj ąct'. ustm, 1on~ w edu pokalJllli:> i.
,
wyko:rzyst~ć, spólrzędne cynndFyczm:. Jak zw ,kfc: zach· · łnn do ckspt'f}'ltu.~n,o\\'fillt3i
• tymi warto_ścilłmi j zori ntowarua się. j:Jk i h 1.m1ana wpływa na 7..acbowani ~lu.
oma równ,e} worzyć bardziej 1.fożom~ ~nlr;~no! • " m x:h;minnic hadcr. gcb-.1e _"
!owaoic_jedrtego a1rybutu będzie funkcją i11nych atrybL1tów • . afoŻ} ,.... wc1.as 1.a ~ 1
' art05c~ slałyeh w mf.."Ch:m izmie ~hfld~ •w~rtośc:iteilif1 t ti.:j fimkcji omz z.a~mplem~"~~
samą unkcJ w mechanirnue h d ·r. Je t (ó zn ·.adflic1. działanie, kt re rca1wJe ~
mechanizmu shadcr oblic:zaJ a prz b,iioną warto ~zcregu TaylLJ~, Eksperynu:nw
Rc,Zddał 20. • Opencje w lm)'dl llkłldactt ~......
- ._,,v.Twrasn•~••Dtlallln1 .... ......,
■ ~zen1eo30 Setllent11~r _Shłder()i I1'1'Sr
- ....orurnen tOJO=.se-tStre-~rteC
, ~·.1Zef11 e030„
Sc• I c:.es{
1a1zen1~:.0r11-,a.rldt •
.. t,~~n. o
~H . .

Inne zastoaowani,a pokazanej techniki


,Opisyy,·an~ w 1ym ru~ ale te,clmikajot ~Uto 1,3d ~nścrowsrui:~ ~ w.iaki
pomoc.\ mc:chłlrJizmów vi:rte~ shader m otrull ?a~kow1c1~ pr~c~~fimo-w· fil'łet\\ ~
danych mwllltyeh u.· ,,ricrz.ehołkach. Mam MdzieJ;. ze ~ m~uuJe- ·to w jaki SflOsob
p0n1y,sly, któr~ wcuśniej nie byay hrn:JJe pod uwa~·- ~t

Kill.t mot1iw; ch zastosowan wj tschnil<l to mi~zy ~nnymi różne- rodmj,c: mie ~ .


1

Współn dnt c !im.dryczn~ oajh..pjej n dlllją si'E do 1wo17t'nia ełekl6w obrdcaflłfl •


os-i. Ja.ko przy.kJ d moh!;J. sobie \ yob1azić tutaj po-stać z kre~kówld, któna się ~
o n · ~ni · gwa..ho\.\•'ni odkręca w drugą slłon". :,·obrair.am sobie •~e tak tftł."t
jllk poie ct1etgiii~która otacza spjrn]n1e obiekt do c]o"'.. lub pm1nicn lnlmponm .;,.
caj~'Y się i fi,Juj~cy "' c;l..llh"ie kiedy pr-7..c.nosi pot.wory na powt~nchni~ phm.ety. b.. _
ksitcdc~nilł 111k111dzie w1p6łnędnych sfcryczflyc:h mogą S1t: pr.r.yda do twoi'l«&
,erekłó'w' takich jak porus one: b.mki myd I11n~ lub im'I naturaJne ~fekt11 1.:1.'ł'tą:lnJ!t l
pl~mi. Poaie"•aż i 1nic hie dutej i rc,:.!:b)' ielokątów 07.n~eza rnożliwo~c lwortcmt
ks.zł łtóv.· co1$Z mniej przyporniooj ::i. yc11 proslo ·ą')', mc crndno :prltwidzic J. e ~
7-aldy pracy w ukladzie w pól :zędnych~ który CQfllZ mnil;!J prz~pon1imra. układ vr~-
rzędnych prostokąmych.

Na1ii,,~t Jtl.dJi poliaz n11 lu technika na.ni si 811? podoba, war1~1 ln}'Ina ją w :m.Jliidml
Mimó mi fllj}I rynku sic.- i!tmicjc \vide; klonów tydl samych rrorwi:.:t71"1n. n.iektoi;a gr)' ~nu~
się mapr..1W<lę ciek:awae 1.robiom:. 1cit.-dy pnyj,rzymy 1m s.ię b1 iA:.i. M~hamzm~' \ 'l't\t. . bades
umożli"' rły rwonenie gLer przypom1nnjących , ·ygląd,·m kre!lk \\ikl, film)1 anhno"'-11le
oraz generujący.eh efekty . które ri1e b)'~y mo2H •e ni dy prli.:dt~rn. Jeżelt kur§ zanuel'tl
tworeyc kolejną k(Jfljt: Q u:;ikę;-' opi"ana h„"thnika pr..i\ ·dopodobn1~ me ok• ~i'lt •LlUJ
pomocna, ali.:; kro w~e..•
..,.,., je wuys~e ~ i k 1 U~.fCllCO\l,"aJic W t b
~ i e ollA s,~ paydame zcrotlemu ~ o w i ~ ~ to •~hniki. l:16rt, PQi,\•-
~ poWśZcdmie 1!'Y f;)l"_Z>'styw:m~ch crtt'lftów 'lJak • gd)li ~b(, Przcdśtaw,ają e-
.i.lP.!!l ,konlPlił°"~ ~Jęct.B (jak ~ n p. k ~ BcLRm). ~ ~ ~ • ' = ) , ał~ "'"Yj ntaj~
~ c łCl1 n.młzaał, gdyż am me Gdpow1_a~ 00 na *"... - &ę~QU ~t-1niKów
~-· ---a.. n., • łRIDć: konkn:tn" •
~,., Jconkrłtne pou~u)' ,-,.,mimo lego ~eydo"'Mcm . ~)il..a.llłC, an, n1e
llilh w ksi.-, gdy.! opu.lłj~ on inne pc)(lcj ie do obs~ im; 113 um1es~~~c ugc, roz-
dflllY pi&aj ~ład b)'f ~ tylf: prosi) . ł:ęi można b)'lo pi)~'}' Sflr~tov.~J. ~ttu-
~ ~ w t ~ al ł)1m. Mo.u on :tlnowie: r1.n.,t.,-•"· poc;bmlłlOw't ideę bez
......,- ~--"' • .r. .L>ł • 1-a-\\r do c~~'.Tft--.li ....
~ JÓ",1'~ pCłf(lW111 •~ pl?,(.~51 . ,w ,on,'l .t:cchn 1 1i; z J>Odobn i .---""""" aria
1IIU na w po,nn1at1CJ J ll1 w-°;mt n ~d.a. W}-sylrum: da- ~ frletodun, ~:oc:nto-
~ iZJ'llÓ\\.' ~bMcr umt)tltWll1 tworzenie bartlro P
~jĄ (2lkim1 int('R:SUJ. c cfd„"1y.
fi):; ~
1 ~bnd?)•cmtj
e tnl'dtan1~in6w. kt6rc
()IO kilb pulkrów. krórc warto zapamięt ~
f \\'sz:> dcn, p~edstaY.1ionc IUUj układ W~-dnycb b~ ..,, .
_~; sh-znc)
l'lol,1...
okrc~l3ją położi:nie gł WDte cL' L • ~ ° " c_, c~md'r)' llł4=
rv•moc· ..•w„
ł'......_ I 'PTI>mlll:n,

ł Cz~ łi.lb\ rej j t zre lizow zn.ie~ z, f «ni Vi eh n i: tn . • 1.. •


~ ~ ....,.
hd .. w ukJ w:L1:
tiann· CJI . 1... · 'l" J:: attrl
odpowl,CUU111.-11.yc kanezjań~kim.

ł Dinc do ntccb:inQ.IDó 11r me hadcr mo.ma v.-pm\,l,,)IUU'G!Jt,; dowol"''i.11111 fi


• _._.. • 1·
• - •1"'" .• onnncn::
r ~ ;c:st Jwyfl t: i 1'4:J tray.• OTilZ Hc-zba przyjmowan.,,..J,_ "Yri OJ1 ,
1 „..c.b1
k
To. w J I pow ą om'.'. ~ or1: •
Jl ..."'.
n,. a1eż_ głó'i.lt 11i 00 nari.
••

• KO!'Z) · ~ J ' fw1kcji in~ i c ·inu.li(~ , ~im ro-L~a1c:


7. ~
prosty sp s~ b prz,ni~ połnżenic 7. ukbdlł k~"J"~~ńsk1t:go do i.nnych
...- ....,. i odwrotni .

• Je-lel i kto dosiateczn1c ~.panuji; nad s_ twu:ją•~. mo1' • zrezygnowa. z Wie


tociu wykorey tywanych do ·,gram a1.ni '''h:1koki ·ąrn
t Obficzarnl!' we tor JW norm~111ych \i ·i~rzchoł Ó\, moż,; być albo bMd?.o iprn.-st,c.
bo botdzo lrudn~. ,,, z.,lcZ11ośc• od spo hu pnr,;IYA ~ ma w,cttehołk6w.
KoJej ny rozd7Jał w. ja ·n1 a, jlł w ·hc:zal wektory norm:dne jako ~h.odDł\
ftmkcj i pt)lOŹit"llio.
t Pami~tajm u al.dy typ ukt~~ u \\ spc>łr,l\iłn... eh ms::. je -wad_ ;,.akt •.
• Pami taj my rO\\ mi:1- o urni •s1i.:.l:I n Iu ~1-czi:gófow "h komt:m~r.ey ·w od2ic-.
W1elu ludzi ma własa • LJC7c 1 , anł3 clo-tyi,,:t.; ce ,ego. jak powirin)' funk jonaw
pewne: m n.an,nny. :a my m~j .... p,o,, at1zlu1ty 7„IUL3n}' T ·ie ~iany_1m~ ą •
niczym łym~ ulL: zny.•szc: nL lt.·ży udo ·umt."nfować no, posób funkcJonuv.&rut!.
RozdZiał 21.
K(l!IW• Beziera
Kil~ _.iąn.tcłl . ,oźtW~• ... I .1pt.......\11,1 'i~eao

ocnów~iu
'
-sh 6iw • któn·..._· -~..ł · - ·
• t,;!11 ~•Ll!ffl
.._ ~
~li-O
li]

"'~riyW2il,~ pm i'b.■~ Q'=ll• t-'1?~11111 w,crzeholk .zgodll ie 1. pe Wił YI! CJi\, K~d)'
0111 -.vion b. mcch~'mzmÓw
. . . IDL:i:ł J;,,dn:al ly'lko. o~nie:zO{l1
ei~-· \"f ·w.Jvu,
',J .,..., , .
n„..
fj1 (Y111"\.• n •! .
.... ..... .- • ~li" []}t::•
Z
~ )WSCJ~ctl , tJu cJ~ · m~ u&'law1~nia d tr2cj I~}' ficrzdtólkó"~~o&lic u:
~ l;.(ń'i o sb)nlplikow~ .funkc1ą, ~ n1~y ~fo. :lib)' pll"lJeLWńr.&K wi~U:.i
płriCZ ~ glówm.11 gd~ zalmJllcmentoY.~a.111,(! :dotonycłri fu "i j , 3 'ł:V.."ł!. lAp ' r
~be.~-J ;t '1ry korz. ~ ~•e P ~ gió1.,lf\! ~ w ~1u ul.cfinim.-.•"-mi , buei ~ f
~ Ul! g ~v,.O\lii . ~ • fru fi '• i.I 1,: -wykc~ pn.,c~ ficmcs.o
dat pr.t.~~t d ll1l ~ ltC?.by punktów Dot~ cd□ moma ~ .Ci'i1.~ ~ r y Bi:-zicra
( , IJP'.:tB fWLł:h 1 \ \' tym ro7.fficialc omóv.i•m. wid.:: ~l,.1:ó obsl.arów fk:;,ii ra, wł
1
-
rrle 2 il-l5tęptlj.ącymi zag3dm"llliillni
ł Tcori dołyC?.ąt:..a ~ ~ eh Seziera; obszarów Dez.ill:ra.
ł V.' ]1t- n i w!!kWr-ili ilL1 ,rmalne~ 1..~ "'-'rn ( i. uwzsJ~m~n,Cilń zwi~,;go ws[wu
r~,tye:lt1(:gt.i ro..:hLIDku ról.n1c7.ko" ego).

♦ lmp1emnm• CJ:;! tib Z3f(IW B~z1er 13 pom · h der •


ha.tłem.

• Zastoso ia o · lam\V .i:k"l..i(;KL w o~racjach ~ o t . - 0 1 ztnimy poiiomtM·


szc~-gólowcki
• Repcc1,c11tacjc ob!.:l;'H'<iW dLa .•do (ln~rch obie =tów.
n;_ i\ o czym pou1cm. w nin~j-!-zy.ill rmr.dzi.alic~ opil:.!m się~ -m~um;e1111,1 ;ko~-
płi :owanego :r.a~adnit: m.:i kl7.)''")'C.:n i obszaro\lf B~ern, 7.a1cm s.próbuJm pra · kdZJ.
tę dosł ~g:i!dkO ~con~.

Linie, krzywe, obszary


r cbnik. ~ekm tej ~hniki lkwi w w to~waniu o~zaró~ Bezi~ra do • ~
, i e ~ poknzanCJ na ~ 2l.~. Obs2.a,y sątt:óJ~m•aro~m ~~ ~
wyc:h Beziera, ia,1em od n Lch zaczmemy. Zapozna.,ąc Slłi z pom~.-:ymi ~ - . .
pamiętajmy. jak wyglądał z:rmt ekranu.

w niekló,ych opracowaniach do oinoozen a zakresu knyweJ ui)wa ~, Liter u oraz


w tej

omacza;ą to samo, tylko wyrazono je za pomocą różnycłi symtoli.


*
kstą.tc:e zdecydcrwałem się na utywanle 0211aczeń s oraz t, aoy unlknąt •
wośd pomyłki z wykorzysl}!Wanyrtai rpowszochnte WSp6łrzędnymi tekstury u ~ v Jeteli
w innych kSiążkacłl sp0tkamy się , 1nn)'ml oznaczeniami, pam~ta,imy. ż,e te

KrLywc Bc.:1Jera można ogólnie zdefiniować jako krzywe. które mozrm opisać Pt7.et 2liou
punktów kontrolnych. W wi,Jcs.zości przypadków krzywe te definiuje s;ę za
czterech punklów, tak jak pokaz.an() na rysunku 2! 2.

Rygu11ek 2::L2.
Kn)!'ł"tJ Be::.,i·ro
=Jt'firmrwm.a
Ul l'Q!IWC.ą C-:lt'ł'4:Ch
pu11łtów lronm,lnJdr

W'spornn 1ane c1tc.,y pun.kry dt:iiniuj ą krzywą. prLy CZ) m krańcowe punkty s:ą oZll
jako PO oraz P3. letdi rozpatrzymy dowolną zniiem,ą s. o ww1ości ż zabtsu od O~•
reprczcnlującą punkty na caleJ dhtgośd krzywej. to moźemy zdefinio1t,·ac \\'artO&Cl ~
krzywej w funkcji zmii.!n~j s.

Jdli przyjmiemy punkEy kontro~m! P0-P3. ora:, zakres s. równanie krzywtj 1n3 Ll8St;lO"'
jącą postać:
-~ ......
a. ••--.;.

Jc:Ui uw.r;slruu~· ~Vi ~~c w7:_0ry, drugJJ ~ wu, . .


w fi.lllkci i $ przY.I lTIUJC ~k . ot() funn~~ ru ~ 1~~ ce ,
2
Q'{.r}-p (I ~ ),1 p,.ls:(l - s) +p! ~[I-') p ,

ar.ifra.nie fu~~~ ~ • aw~ prae-dS-tawiooo :aa ·1Jm:


pO i Pl są 1'.fMcl\1ł)'ml plilRkliarirn
.
~O\\Nj'nj
-
1----,e· , ,~~
lLJ. Jd: motl'1l
. ., ,,. ru:r.y "\'li ~, Il '!,.\l',IIL.lils'l V.: l:.,.,,4,~...... .
za.u,,~~tt„

~ pWLkty IJroutrntń,;: IOOJ pew11m WM"'' na wa~ . --:-,w
~:p ~
w~.§!71J~tz;·lc:m na rysurtku 21 .3. Q. Kilka IDlćresuJatych µWlk-

"Llif;;.• ~

ltrż)~a w p1,u,te1e - pak azujc rnit=j c~. gtiz:1c pierw!:ize d, a pun1ay kontrohw riaj
Ll

równy v-'pływ na wartość Q. n tomi:lsmkr.r. 'Wił \,,.. punkcie - b pe,kazuje rnit:1sc(\ dzit
Jll11aktJ ,i e'lil1ivtrzne m.Jj f\ r ·, wnr wpływ ora.ii. gdi-ie punk ze,.,~n .tr1:ne: DlłlJ'-1. rowny
fch :znacm;e mniejszy) wpływ. v,..1\),.rtl m~n ie najtatwi jSl:}'m 1ipos.obem na l~~-e
nozurnwnie pojęć byłob}' 1,aopatrzcp•e s;~ "' kartk~ papieru i olli,\11clc~ wyk~hmie c1.1e--
n:ch J,mnklÓ"'~ a n~~pnic wykrdteoie kilku f1UJ!l1d.6w· 'iitU:ut krtf\ ej, alby osobi~ le
prukonac się jakie j t!il i h dz.i al n ie. tu:1.e(:1e rn iałrJi poćwiczyć -- jt poc-"elu~m.
Ce f f1 y~ Tal 1H ...,,.......LIOt ...Dhllzk■t - - • .......

Q(..f,f)- I:• ..,P,./J,(s lJi(l)


\\' powy.tszym1 rowu:miu funkcje: p()~ffl'WQ~e ~ , s.zys1ki~ i~e pojęcia są_ lak~
jak popr2ed:Pma. Po pmim11 ~~_crz-ylism)' ]IOJ'-'.GUł o ~ ·. 'W)~m•~_..._.2.rno_. •~ i M~
pond;1J-. moilemy v „ laeśhć k~l~ punktów: ab · lepmt=J. z~~1ćę, poJ "Cia, T;1t1 ~
powirrzymam się od _przoo.saa,., u1m równM ra w PQ t.ec ~ rozWIDlęteJ, ~
MillDy :mttm .ro,wnaAie po~walające Oil oblit1.tmjc- v. nnaki dO\,tomege p1m...kru w 0~
n p . sławie ~ 6 punktów ~nlTolnycb ,,.,.~,~ nąlIY. 4:'~xaJ1L. Yl~u.~ zaprci;entuj ~
któi,· wnożl~wi wy~~!:imme le~o w,.orn.. ::,fo naJp~ef\l,' po~,,.~~
trochę C7.asui :na Ql'll6-
wie-nic metod U7.)t'S~ .ama wektorm · nomlfllnych~ktore są mczbęd'ne do pr7.;z;prcrwaiaa(O
oolie·«Nll OŚWLedtnia.

IMrQWe Bedera
81Ure, CJpra~ PDJetłe ~ . pracuJac 1rm.e Re,,auu. w tamtym czasie kflif.-;-e " ' ~
st}cwane 1ys1.ml<ach inzynier'Skl-Ch były do'ir'IOłne I n,atl)yl spó ne. 8 ll1:1 opraoo te ~
ss,os.ób baltG :, ~t-c.moł defln tjl l'Z)'!łt-ych na r"JSUr kach prOJlłktcwych. Potęeie ~ bar-
d · 1 Słł przyi1~o. ktedy pojawiły s~ kom,M;ery CĄO/C t IozaIe2n,~ oo apr~ a11ra Be em,
podOb opraco-lllłanla :stworzyli James fel3US.On oraz Paul de Castcljau. a oh)'dwa . da I)
trzymane ta mnlcy przez prscode-Ja'CÓW ·en twóf'i(lÓW Bt:12i ta •· y,óJ.matio. nacfaJąc k ~ Jego
m ę,. Pierre Be.zier zma ł • 1999 r. 1

Obliczanie wektorów no malnych


,za pomocą ,,·różniczek"
S!o~~o .,minic-2 i„ uj1c knll w dz, sfc',w. p.:mii:"- uz "'> i..: 1:err uJą • " ., kład oo ttm=n 13c .
1

róbl1c?Jmwego rnajdujł! się J)l)Ztl z,a1n: ·m ti.::J k. 1ąi. -;, eyt1.:h1i • kwrym ril bLUJ~ · ~~
lJre~kowy j~ ~ zn:my. ni1.: powinni mie kłoflL1lu ze uozumicni "m prz4."4 t:J.'!i icmych riiłt:J
po,ęt. altS z. peYt~t ią t ~ ZJU'Wa ą. ~ rnuji.! ohjainiu:m •J ·t da1cJ.../4e od "~uj .
Tych, kiórzy je-~:o.: ni.: mieh d.u czym.enla z r m1czka1n1. pros~ o pnyję ie ,uo
l.lpro.szczonegu "'"' kładu " prtyrnrut..cniem L k:.i.
~==-:_.,.1cu ~in1aaaue·nas nchmek r6tiiil'-!.=..?bliCZC11iacb J111t
~~• ~ jednak
pc>wwcbnic, w y ~
ta•
iMf ttowO'- ftmkeję jako lepRZCntację pe\ll'Qej krzywtj
---..-T· lcł.et• W)'obrazimy
,Ail- s ddlmlkll róbuczkowqo. aby zn&lrit ~ ~~~•e. to motcmy śko-
~ kdrli opisuje nachylenie, krzywq w ~ punk.c" :Jl. ~oc:h.odna je s t ~
:,;.;;pc,bPNl na rysunku 2 1.4. ae.. Ola W)'Jldn~ rozwa:tmy

Jak \ jd~y. nachylenie ~ywcj w punk~i.; zna~ różni s~ • od nachyl1.mia k ~ j


~ punkcLe B. Aby dokonac aprok. y1-nacJ1 nachylema w okre ' lonym punkcJc. moh:my
.zn Id" wa~o _c _funkcji ,~ ?unkcie A oraz wartośt funkcji,, , punkcie z.najduj~c. m rę
w 1,.a.tdzo bh.skicJ adkgJosc, ód tl"_go punktu. Apmksymacja pl"l)'j muJe postać n'łłiSIWtJją­
cego równania~
, IJ ,1 = 11•Rl __,..;{a_ hJ - /( a)
__.;._._.,;;;_,.;.
I h

ie będę sm?..egółowo omawiać dokładni:g matematyc:m :go dowodu radn.mku ró:!nicz-


Jrowego, ale w krocie chodzi: o to. że pochodną obliczamy popl'"l.ez pr-L}jęci~ jak najmniej-
szej , a.rtości wsporrmianeJ odkgłu:c 1 . ·a rysunku 21.5 wracam do, ktiCSu 2 rysunku
21.4. l!)rugi wykre pn,edst.a\1i:ia pochodną piern's~j funk.ej i. J1;4k !f.v.idzjm ·• w rruiuę wzrosm
X :zv.•i;ksz:a si~ nach !e-me. \\'zrost ten możem. zaob~rwować n11 wykresie pochodnej.

1,mieje wLc: k w:iuró ob liczilm~• różnego rodzaju pochodnycb, ale ,,.. tym rozdziale
ince:rcsujc nas tylko oblicz nic pochodnych "' i ·lommanow, k,óre ddiruują oh. ?..ar Bezkra.
Pochodu pro tych \viclunu anów pm •j mują nmstępdjąc. postac:
j,-uli J u) ~ ca' , to

··a =
d /( ) '( '
Q
.
!:!XCO
J I
Cat'6 V• Techniki wyk(lflPblj.,,. 1111ahllnlal■i MlH ......

Rye• 1k2l.l.
Wł,b-cs pot"'1JM}

y• = ZX

leży :&ip;ami tt1ć. u pochodna stałej v.~i O. Jeże1i. ~ ,imy fumrej ~ 2':e-
vujt:my. u j~ nad11ytffli~ j~ ru\Vrle ~ru- Z:n6w mo~y zrQbić obfo· Jif"Lt:f!.\if ; ~
~ l ć łdlka w}'b:sÓw nap· p ~ mi1ill'1ft(:troW)Tf111tb. k:plt=j mrientowac ·~ o u,
.Kir:d wypmbujern}i 1i ni samodr&i~lnit. Vii sz.. · ·Cko ~tanie s.ię u w 1e~c j nicjsAt. w_
.-zystuj c JX)~ZC W201)'. ID01.:emy oblLC"Z)1Ć pochodne ~sta, o~11 tj~ (il r
mj;,uo~n.:i ~•włzj llt:tieira.. 'Pochodne pc~[alego wy:imaru dil.a obs7.aru D o'Wim ·1
a.,nafogiicv,h:::
bó~ _, (1 - s l

1
b'I -~- 12' +9'
o; - 6s -'9s 1

b;= Js~
11.~ cim)' ci:rnz: baldzo blisko UZ)r· ·1u11 potm.:hncJ ,, Ledzy do obli~1L11 ,,•elr.i.or(J,w nor-
ma.I.n. di d~ ob~1,arów Bc~tm, .Pochodni; pod.-;rawo1ic,, 1ch funkejt umoiliwiaj.ą iaaiie
rui.eohyłffli " ooo k,erunbcl,. obszaru ( w 1,•m p,r.r.YV3dku i o.
1.)'!;hm • ~ ~ eo
tamgelllsy powitrzehn', a nie wektor" twnnaln~. Do •~go celu prr.ydil nam ię •~~
, -torowy. \\' m~ le l . powiedzi1.llenli~u iloczyn. 1J.,·,:k'tom\.vy dwóeb ""·.:kto~ d:!Jt
w i,vyni :11 "'ektor pl."Ostopadly do ob rd:toróVi,'. n3Seyrn pr~rJ. d1Cffl"lf obr~\;
wektor ptO!:ifQp:.td,ły do dy,·6cla , clttoró,,, twg..::asa p w~t.~T7.duti. Dl d(:iv.-ottl1,; o, pun
powilirKhl'li obszaru l!łczii: mot.enty obi i.ceyi- we ~coir nl.)nnmlny. J'OSh.Jgując ··~ Dłi1i
pującym rÓ\'\lllanicm~
l I 1

sV(s,J) :: _
1•4 ,
JłJ,/,J"(s)i>ifl)x LLP,. b, (s)b~ (I)
.,(I J-

Powyiszy wzłlr dość ttiJcmo zilust'ro'\ n11 d\1iru",ani:1mwi::j wonie, al.:e '~ ~ f ~
pros~ p~ck ~k1ej ~iatki sterującej. twor_.r,ą~j pl 'k i ooSZSt. ~~ory tang~;
powaerzc:hn1 stanowdyby wektory teżq&ć' na powii=ir.wlllnm plWi~...ny~ iA:hi dOCZ)lll"'
torowy byłby wektorem oZYr1'ó<:on)1m w gt111~. tak jak pok.azano mBJ tu1ku ... ~ ,6'.
, dQJdt

Oblicza■ie wartości
dla obszaru za pomocą shadera
Je'U:li po,ov,nuffl}' ro ~ą w~n:.j ~ccehnik11. podobn)'m ~fekk:rr'I ~azll'Lyn\ n uoni~ ,~V•dte..
jo

ZłlJ'-''.aźymY · toaną rói.laic~ "' ::,.P4,~bi..e ,o b ł\lg,i L"nnkcj i podsta\\'0"1. · h . \'li.' t:fo'kl!'L-c: pok~-
~ oo v.itt)rnfo FI Vtdi kodujeniy p07)'CJ~ ~ i L Wler.zcholk.óu, :l n \ pmt: obhi;1.,am1~'
fimteje pods1.awo"'·e I] , poc-L.i!Lku hai:k.-ra. przoo ;r.astosowamem pun , LoVi 1-:onm::ih,, ~'h.
\V mojej '''t'tlr$ji fur cjc podstawow są oblicl.(lnc: r.lZ ,,. czasie ł~i;ro'.1i .JJl 1~ '"'i<:l"i ti~ Ó'N .
~~rat~ wytonujelfl)' r~urtkov.:Ll pros.tą opera ję rnm:>icni ~ dod~w'1flia w~pók ~ya~
llikó\\• dla wszystkich ptmklu ;\' S,::ontroln}'ch. Koa,prom:ńi pa!~~ na l)Jn. ze n1ój :;hu cr
-w;.- 5"'~ z mniej:seyrn .,kos.~,;rn ubli~~eniO\\'fi'I~. :11~ wiik...;eym ogńh:'L:>: IJ'l .J..oi;:71.cm'"
1
~

darryeh. -~ra~ mówiąc. mi·1: Lr,; ttlv-'a!ern obu , rsji, 3by rprzel"Ottl si~. która .ii t ~z, bs;r-.1
w 12kicb ~ h w.a.runkach (p1,..cykłady w inn)r ,.,...,._,.,..b obsmguj. oś-waellcni ·.). sł~ :n ,,~c„
dl.enie. k16ry posób jtM Lesp&Z)' ~leey od sza~@,Ó«>W. dl , 'l'l'l~gań on ' J,LnL;g,O projeb.tu
oraz wys1ępujtcych ,wąskich ~e1•~. Tak zy ina:t~j pa,ni~aJmy -0 7..a.:-sto;i(lv. .1..nyin
1

kon1promi!;ie.
W ponfa,seym kod2ic hark-ta .1~kł;id l·• u
r Jt. tr •11 :;,j}Witt-.i oblii:Z(ilmt f t.m~CJt; pod-
ltlwową, dJa kiffllnku s„ natomi t rej~ u \ltl 73\ ~~m ob•i'Czón _ ~o~ ti.mkcJi dlil ~ l!'-
nmku l R~j~ wejśdowr.: i vlO 7.3v.1 i1:roją obli~ e wcmśm~j v.a'i:1 1 poć-hod.n. h
ClfMV • Tec._.. ~ 111kl•ilłLA1 vefln......,

• rl .
I •8, e
r9. •
r10. l i>

Ttn piat,, · :rragmeal kodu oblic:r.a ,'1)lj'\\' :punkhi ·o-n1rolnt o SOTO. Jest ec OOpo-.\ll1i4-
nik: punktu PO na krzywej Bcricra. alej m1z,,1,aJem pmtkly kon1rolnc \\,Mru,g" ti
i t. ponic:w ZT1ajdają .,; 011C "'' d\\rócl1 'lr\'Yffl i:uueb. Blok ~00 1 v.; .. konuj~ ffiDo~t: dv. , s
w ·~j obti - ycb IWJkcji podsta\\·o,, eh, a nasti;pme mnoży uzyska.n,· ~'}'Ilik Pl2tt
~~j~ SOTOm~duj cą się w rej r12e tru:ych cl O. •astępme mJ1ot.y kaul!JJ ze \\"itf
obliC2.()nycb pochodn:rch pr-.tćZ pozycj~ punktu kontrolnego. \\' prxyp· dku \\,~ totirv,
tang4.""'IaSÓli. nic m3nly zaIDi,il ru mn.o .;; · d·w·~ h 'l.\'aności. portieważ mu im. :ort)~
astatec1.n1e ~ rranc wektory llli]g~asów do ob1iezenia w~ktor-J norrruih1tgo p<m-11H"·~ ....;
\\t t}ffl ~ :rtjc.gr n) j il: "' orz.ysty'WaR) jako l 'RlC.za&OW3. 2:mlL'jJltl3 ~ ~
r zamiera po:r.ycJę , itn~bolka~r2 zawiera we tor ,ang.en~ w kierunku • matomiast •
.zaW11cm wektor tangt.'>ll r;, kieruru..,i 1:
k 'I StTO

nu) rl

l r2. ct:o
r3. tlO

Kolejn;• blok ob]icta~1, punktu konLrolnego SOT-· Jego dzi~ł 111c poi·~ ma pomn.o-
ż.eniu odpowiednich waJlltOści poo ra D\.'iyc:h, a nai rępnie n.n zas.toso, ,a.nio iD!Strukcji ~
w celu ,x,mnoknfa wartości punkru J..-onrrotn~go i "od.an i.a go do pozycji ~pisanej u~,r:
sb7.e r - 'f~ sarrut)H'oc-a3u~ J)O'YiłW7..a si, db weklo w lllD&el!l ów. :lir: podobnie j P...'"
przednio nie mnoey się ich pnez si ebic :
t:ontrolm SOT
. ri "· ,.a :J
cll. rQ • r

-, '1'2.°· ,10.,.
111d r9 . CU. r2
CU, r3
wpont b wierszach o_bli , Dl, jlocqn ~ -ror,o\li.)' w SpQs(ió o p1!-aO)' w dokumcn-
~i c idtm. Sb dc-J)' zawr~raJą 't.'il"b:'_td 1i.,an~ obsługę il~t11.1 sbuam.egu. :ak iloc:7.)'1'1
WfkEOfOW}1 \\l)";rTJ~,(i d\1,~óci] U'I mik] I I 00. -Ć ~ ' _ j Optra(:JI mi ~ra Je-fu1i ~ •
wlinije«ny ponitszc: dwa w1crsii..:, p~ ·onam si • :h: odp."' i d ~"- one i locZV1W"''i
I.\ tttorowalu ornówiontmu w rozdziale ..?.: •
1 ~~. tJ.yz..1. • tl.l~Yń
:$1 tł. 2. . 3. l~!i'W f6

\V rej~e r6 m:Jjduj~ ię • ~ w·,ckt-0r normalny. Pa~ :z.asi.osowaml!'m t~ o '"'~ra


"' i.nstrukc:j h wi~tlema. nalcfy g'1 7.ifflorm:t•izować w . kfy posób:
~rS , r .t-6
SG r,S,.,·. rS-.M
1 i'fl. r . ~ "'

Dla ~ n i . \'I; . onujem lic-zcn,3 lytko dla prostego ośw~edeni~ m~ j ego


poplZł'Z i0bliczee1~e ifoc-eynu skalilflflego w orn l'L(lm1ałnego i 'i-i nora o. wii:tlC'lliiJI. 1c
ma przeszkód ab 1ti p; wadzi:~ dooalkoll e "ktadowe. ale pełny 1'.Jf~ funk Ji os · tleni
u pomot.ą methan11.m6w ve:rre« ~ader :amjdtJjc s111t d.opie,o w rozdział.: :
~ cdO. r6. rcS

WOllllllich tztetech wierszach wykomijCJD)' pneks~~enie nOW)ftb . ~ i · ncbo1-


łów, aby dokonać obc1~i:a p~teńi. W celu pn:--e.b,ztalt::cn1 ~ k~e,g,o i punk-
__, motu t.&$t050wać situ.kę kootT01nit ille do obliC1J1Dia poZ)~~ i. ' ma o s'k:der.
-.aaial.ki w dalszym ciągui ,,etnk m1da-je i~ macicr-l "11ta=
Aplikacja wykorzystująca obszary 8-iera
T podruzdzml wkra ~ • . ł.roci ap!i!ka j i wykonystuj,f\eej OOSlary &w.iiera •
en' .... -1„j.,. wjenc:hotkii ohs1.nru z s.i.111ki z pis.ane:j 'li phku • 11 OT7}' ~DII}• 'lhi6r.
k acp1 HJVu_,.... • • •.-Ao ■, • 1 • . k. k l . .
*'.·
'i\'kn,.
holków do ,, korzystama. w ~z.a;sae-, 1.:i,·w,l JCl a nm •~t · ~ o mro ~eJ. W pętli rt.lkkru· _
plibtj, taslewia 16 pW1ktÓW t:.; onrro~1yc~. a nasl\-pmC pr,~~• JC _do sh:;,dc:rn L1 ~
:zb·om 16 talych. asr pnie renderuj~ s11:1t-k<;. a encx · h„ der oblit:Y.8. 1":fa.kii"Oo-c JK>
w,:r~chofRów. Pclny od źródłowy zn~j(fojc si~ w pliku oa p.~ycic D. Z)'ąt
i~ j pok,azan , mruk1ur.1 dd'iniuje fom,am _,,,• i~r-Ldmłkó~~ naLcż~~y~h- do O_?S;.r..an . ~
w zas.ad?Jimc· wykor.c.ysruje tnec.h wartośc i np1su PQZYCJl, ale urn1cs,.;1lcm Je w ~
p0□ieważ czasami mole: wyst~i~ p~c~oo "')'ś,_,,iclknia danych picrn·otnych w ~
trebuiowanrn Jub rcndcro wama_•~m•~Jące ·~ m~elu. \\' pomzsi.ym przyltad7,ie ·
pruds tawfa plas~zymę sf.: ,adJJącł\ u; 1. "'1ch,1 w I crzcholkó,,,.. 1oin~ obie jednak ""•·
~br-~ć laki sr-.e n:uiusz i zn pomocą smdci kontrolnej będYicmy ,micks21alc:ać mod JÓ
3 nie ptO!itą pfaszcz.. z.nę. Pr1:ykladowo. mut..emy obliczyć vplyw punktów konnołn)' ·
lis zamias• Ll!i,tlr\virmfa pozycji mokmy dod:ić- i1uerpolo,v~mą poz;·cję do ""·spółnęid~)cb
ruczywi~cb. Dzięki 1enm bęcIY.iemy mogli znickszt:ałc-,ac r7,c..■czyw isr · model 3D Zł ~
mocą si tkj k~n:trorng oraz piern•otnej po.2ycj i, natorniaut generowanie we <;Ir()\\ ri •
m;1ln.ych rt1H>żc· Już być nieco trudni~j ze. .. a konioc. u, • W"idmenic poz)'CJI jesL " godni!
podczas klonowa.n ia siatki. ponieważ funk -Je klonowania m !Ją nuej et.: na d3111 orAsu-
jące pozyc:jc:■ • Na potrzeby r -go przykładll mógłbym zmodyfiko,vac struktur~ fomiab2
wierzchołka i o ic~dzjć trz h nieużywanych dan eh pu 'l oa . Jak wspomruałem
wtzdniej, rnóglbym takte zakodować warto ·ei i 't w stn.dcru l"'JJt wi\:rzcholka i ""' er..c-
rowac war1osd funkcji pods~awoi.V)-·c1i w~wnątrz snadera. \V najlepseym razie: stnlk'tWI
~icracllołb mogłaby sldndać ię zaled\1,,•ic z dwóch danych u · oat. Brlaby to laJr:d, it'
jedna ÓSlllll obt..-onie wykorey$l)11 anyd l danych (gdyby format te11 I, rł baroirej iydaj~),
:-ie takie rozwi zanie wymagałoby pra·wiu 500/a ,,•ięccj ms,mkcji sh, dera. I tnieją zal")
~ ~Y ~go 2 tych mzii ią7.ań. Byi; mOź .artem t}"vne roVi,•iązanie b łob}' st)'~
Jdell ~bszy ~Y wykorzystywany p~•11 ale za l~ży to od konkretnych wymng.ań.
!ak czy macuJ. pamiętaj,,.y. :le istnieją co na.,1-n.ni ~ d wa różne pooeJ ia ~
J'" te same pojęcia.
ny!il1l•

Struct WIER?.Ctllt.[K BU [[AA


( ...
float , ., . z.
t aso. Bsl. B~. B$3 .
• Btl. Bt2. Bt3!
l. d8S2. d8s3.
1~ d8t2. d8t3.
Ł„ SD }
........,w-~E_ St:J l~

--'
-
•- , SO -
).
).
•,) I
OOO',
j
Pofl,i.tSJR ~!JTII słtuy do rerad.cl'O\'L'llnfa i 1ki koribnlncj. b'Uktt.lr:t 'Wli~rzd ó1l3
J~ słi er US1 w@1 kotQr w z.-1lc.h! ~ od ,. i s, kJ. ie~k ;
zniwjdtJJiC i,: w k U1]0,su ~1r<1 t·n n,,a. 1>1. c1e D. w pl1kt1 lłt.-zic-rCimtroJ '1>9JJ.
t;-:~::~

5, lJC WJ NY

ł-

Ott> definicj. fótm31U ornz de · farJ.Cj a l\'t,017, ~ bufor rpro C)td1, w1erLdwtlców ~on-
F
trołfl} 11. Rendef'O\ ;ani situ ·, ·ontrot~j jt:s• b rd"1o pr~l.rc' Lmoż~a by ji: w kemu.: bez
IU,)'cia shsdera. \\f tyi l pu.y~l:ulzrn wykoreys.t.ałcm ~t-di:r, aby bardzie; p,7.}'7.\\')'C7atc
czytelnik \Ir do koou h dćrow.. !hsdc:r można t~kj IJ, )'kOr.l.)'S-'a da lah ego U~La.wie-
ma k:0loru '\ł.1end1oł ktni;' za pom cą s-t.ahcj , Gd~ brrn i:h<:iid wykilr.c;·s,a po1o'k foukcji
,,.:"txidoWilP)'t:h, musiałbym doda· kod u. t~\\ 1.a_il:c'}' ma~rfal t1opasuwuji.\:G,' o rwiell~ic-
dd. f~()fflł z wyJmrzy ·taniL~m ·biali · r.-:1je:· t I:'} wdopodobni~ pr st~a.
l · DJllF F "! R~a.i T ( ~

O.I,
„ ro5 ro·. 0301,'SOT_fl T3Jr

Ms d1 watoki •ił
.....n·Słalke, kl6/ef wart.o~ci m e, u:zą się !/-1, ~odnym zaMres , tatem mogę 5'loncentro-
•41; 111 wamiejszych s,prawadll. a l<orzyst,a I z siatek o art()śclach n,eJ dogodn ~n takk!
;at-. Dfa każdej si-alld mQUl8 znarezt ram~ granic ą u~ ać klaJn)di wan-oś.cl ~e ra •
• - - - • .rości s i t. które oedą si mick~ zakresi od O do 1. P adov.ie,,Je:z.e11 stalka
...-.-.zxwartoścł z tilfitesu od o CJó 100, mo esny utwotl'Yó pOpnh'm~ wa®ść s. dtl k~
~100.
ESI.l. T ~1 t c-.,;

~JE8ZCl4.('_B~ZIEAA ,~rzcnol S1a 1:


Sia a&u ~ ~1erld'to1k- l"'k.f.O, tNIT.i .er 1cc~O •
s .
(BY
-
fK -~?ltRA) .
c~ir.Sl dt 1. O) .

or (loog rerzcoolek - O.
eric~iek -e .61dt a•>Ge"\
1erz-rt10tek-l

Shilckr o~zaru d:1.ial11 w dwóch \\'YffliMU:ch. za•~. U~'Jfr w p~lr.z dnych · i :z • ~


ruję \""1' półr.tędr1ą y. paypadku obszarow Bez1cr s nic ma me, co zmm:,.afoóay Olli do
\\,-'fkor.ey ty\,ani11 J)la:S-zczym pnziom j . ,. i ·r~ch~ki oraz punkty 1rnllltrolne- ~a
także zorkl"ltowMie pio11m,1i10. Teoretycznie dozwolona jest dowolna orientacja. ~
"'9filnk icm. że zachowemy spójno ć. Prtc:. miięc ie o 0.5 jt.-s• osobi iwo cią v. . •k ~'\li-a..
:nej praez mnie ia1ki, nie jest to gcncra Iny wymóg:
float ~ - erzctio t• s· l'ltk: [ erzc.oole J · o 5.
flo~ ier d1ol s dl [~ ~rzci",:>lek] l • o 5;
Ponit.sze cnel)· wartoki są \\,!J~PJ1iLC Clblic2i n mi tun1ccj aml pods1awowyrni db v.;,xw-
wart~ci s. Dan~ sfatkj nie zm.ilj,,--niaja s1'i, u.~ m n ie ma powoou] by wartości te oblimt
za Wdytn razem~
Wjihe Slat r~che>lek] BsO • ( ) ( .- Sł ( .O • S)~
Wil1er S1at ZCl'IOlek.J s~ • 3 * Cl S) ( .~ • S):
~1er S1at ze- lek] 8s2. .. 3 S Ot • S>.
'IM1er s,dt uhol kJ 3 - s * s • s~
Po~t..szy kod to powtprunie pr,oc u dła warto ci t. Funkcj podstaM)we srt ,dołdadnir
łaletame. Jedyna rótnica polega na tym. że 1eraz kor.t rujem)' 1 zamiast :
erzc&olkS1at ,c~ er.z lekJ. to. t . ot. Tl r1 Of - T> tł.O • ,:
erzct1oJtS łt tolferzcho1ek] .8tl • 3 Of * T • CLO • ) ( 1. Oti - l:
•~•u1at 1[Nietzc:holek:J.atz • 3 of ~ r r ca 01 - n:
łłcS1attio,terałlOlet) 8t3 • T f T~
fi wrn s_ .

f • j3 aZoora.z n· es1~ , n1i 0 ~· prost.: ,vfoc-lcho1~u •,.1,y ka;zy:stf'"''Mi: do ,..., _-~-


1

,~>
i;.

~ sia1ła Jron~ineJ. Jcsr to 1111~(1 k•órc vnyda nffln się; je<lym~ do na.u i orJi. do
~O'I\W31, nili! ibę,dJ Y.aicrn poświ~ca.t :d;,yt w1t le czas-u m:1 clpiym111l i:1.. •j j~go czi fanicS.:
_ :r ~l . ,ic:_11TF l'l. 1k1 - u~"- r.:lOi:l'"t! . i:l"l C!SM„ 10

Potizckjemy Jó \ ier<Khołików
«-lu pokazani.a. 16 punktów 1,;nmro]ny~h. W,cr,~hbt•
i,.1,•

ki ,e Yi)'loorzy:starny dlo rendemw1mie z rń\\'DO punk, w. Jak i s1~tk1 Iinii. które jt:" li_\:t7..ą.
T\\.'Oi'Z}'m)' jl! w pmlill~ i 2arządz.111ej. l.amcm nie mu 1m • j a,, 01e 1wor2y • rC'h pono'Pil'I IC
lw\i momr11C.1e odl.Wll!'nlni urządzenia :

, ~ F:.:iuwt dtll : ->Cr~~ 1


erLe ~rflS ~
z
R.

rt' 1.5 1'~ E_F L.


Bufor indeksów pczw.d.lB nam na ponowne wyk.or~_~li1nte 16 ,,1 icrzcholkóv. w celu "l_ry 1

bdlmia linmi ląc ycli punkt)• kontrolne. ' ie; Jt$1 u:1 1_ lko opl)ffl li7:.iic;:p„ m}·inę ze J~ r
to łltwiejs:u rtiż iwo-nenie dooatko,.vy,ch pun_kt~:
&1 .:. rnde);Eu ~ r <:.n.or , •
.
,
tor 1ncJe'",._ ~ ) ))

-
re ur: E F:Afl.

-.ainddcsów zawimi dane dla hsty lin~i łączących pumk ~11:uin1ne. "1.arro~i ce 1110 :
~ .,na SZ1ywno0 w kodzie. porue\.\!d nigdy :się nw Zli!IU m~..Mothwt= j l:S-\ [Ó't,~~iet
· tych wartości w 1)\-;1.1 i. aJe utycie poni;lS2.aj in.~lrukcJ~ pozi,~łtl 00 {a\wit:Jffl
· się, o co chodzi:
352 c.i,.a.c V • Je,eh_ntki wyhOfl)'!lolUjlt(:CI nMlehilnitmy ,-

.~7. ry_" ~1,:· ::,.j. w_fim_~ Jl NOt-Lcmjqp1.;J. ,c..lU'·••,t'h 21


T ..

1':nmu d.ii.1łilj 'J 11loo1CJ1 4 zastoso ri lltu \


ti1c wtifl,.: rum ·.

& unek.U..1.
Ob,.-, r &... ~
- n,; .., :nm! w tryłu
pl. /11 1,•
IS;.

O Il

f'(aite'j m.~wtłc~ , . ~1 ·otekty 1t rej o etncj iau<l. \\ inn}'(h · dki b bv


,u,;,.t i ~cJO me ~tłab_ potr.t.;c o , z.atern mo~n by nyfo :mos_zczędzic !<:dną ~~
(ft! iDStRl C:J •

rekt r O~~f. O o. -O 5, o o).


r.:.Se,t , {•r „ a, e i an 6, · r,e' I
) •

tZ)'flJtl 1 • ks;ztalc~ń
do o•nymi warto 'runi, , .,....,..,,.., cm..,, C:(!h:,
.mmarj1 ~tkii nłrOlntJ. Zal · poc~"l')"IUł: tou, ·c: z tymi wa11.0 M:
zilltll}ffli ~tram i s·· · kon1roł j , Pam·'t my u · li 'l"L')7.CJągD • ~ s
'l'ieli, róml' 'n ~ runk.ach. o z.ar B ziem IJ.tdzi popmwny 1lilat~matycznit,
~ (!I · 'j d \ omie C :sperym mew . PO'!Ai1u1i. myj k $\ , ]Q\\'D mo-
clyfik(M'IĆ nim\ ·eU~.h: &ngmenty kudu~ do mornelil,u, kied u~·~k: mt f~cjc111.1-
kor W)'Di ·1;
Cffil~l Z 0,
lctQ1e2 2 \1

Xad)t z ~iizych czm NCh hlo ów powodu;~ ta\ ieni poxytji punk ~ • ~DU.O~-
.,_ dla jednego , ie za :p nktów. ,Il potm y p ·bułu z.nroóylikowaltm _jt:dyru
~ punktów, p ~ s1afo , rt.o i wn miem~ 11MJniclc1 cm si t !
IO)ISOTO(O Of. " Iri1et i! 1 • • Il.O , l
1 nco Of. o.JJr.
1 r2c0 ar. o
l T1(o.or, L •D -~ J.
ooo,, 01"1 • rn,o J.:if. • oo Or);
IJ31):t. olmS Tl[O ~ f :;r.~lcro !l • 0 33 • 1:ri1
o J.lJ. );
trołru-S rt(O - .. 1cem
o
ł}.W'l''l[CT0A4 tl"DlnyS • .J(O •

03tJll'[CtQ1..2 rmi Il O Cl .O
Olo: 1KTIJ?t1 t1 nyS2Tl O • 'J. „ ij 3l
l •
~ TOR Koncc-ol rtM 2(0 · - zn, 11k sir.a 1
O 1 :
D3DX 'cCJOłt .oot rol ~lrał O {I l Ot •

rolnt,'S3Ultl o . ~-2 • erne2, o.a . 1.0 J:


D rol ::,Slflf .O . CO n
ro1,Bfi3Tl(i O.~ O O
ł r-oJ yS3 Jf o , a.i ■ 2 i 2. t a ■ 1 o")•
~ l.L'imwll:!lju punktów kon1rolnych~ u;pro" dzamy łrażd}' z nic'h do sba.der-t1.. B~
ib:młziej opl maJne urv.io~nfo, (.a.bł iey ..,kł d d aj i,: z u:sn;mu uOci
b)'łoby
1 1_ pnie u łłlRic- ra~ ~o blf'ku w torów l.111 pómQCą PQjcdyntugo • ~ i.a •
~trukcji S11 Ver @xSf'1a.de Co s.t~ n • '\\fybr~ny pr.zi;:z~ mni~ S.,M6b :))OZ\\' ,a jed
lepsze zadcmonsn:o\1i.':,u11e dopasowania r:dych do punkt •'-" ontro1nyth. OJ)t) mal~
sposobu lł!;[t}~ i ni 51:dych pozostaw11'iln ~itelnikom:
onsta O. ,oo :-Ohl'!'SOTO. ).
~ 1. on rolr~Tl •• ).
!!:." 2. <on ral n ,•S.OT2, U.
or:rs -:..a i 3,. , t ro o~5fl J. 1. •
o: 1.i.. ,Ker◄ ,..ah(ySl ·o. 1>.
(I lS. ~ 1 ... ; ,.s:n. ?,
16. ~«1 rolr,yS·r2 . n·
t1 olnySH3 , l).
c tO nyS2I(I. U.
4de ~i"Ortro n:,S!Jl. 1).
St.~de t ,troi yS1 T?. .. >.
nader<: ~Kcri„ o l r./S2T3.
de . oo· roln;iSJ O.
. de 3. t,• troln~SJ L
dl~, o.:- ,Mu "1, ·o roloySJT2.
Udz · -· · .idert.onst<11•!2S L :,S3l:l,

Teraz m.amy ju:> ey Ikr,, co j mpcllr.f~d:ini: do "- t11.~cj, d op«: cji M1i.k
\c\f rWm!~.
pi(;nl· u lawrnmy hader. a n:Jstępnit bufor wic:ncbolków o i1uieb-Ow:
rlc:.łbi EOJD. Se ~ ę~ 1 •z1er,U
J

r
IPomi~ ik-Od b1ok~uJC bufor wit:r.r.~hołikćw. ahrmo:łr1a go byto wypełnić danymi DpL'ill-
j ~ I ptmkt kontro!ne. 111 _in;J tę:pt1ynl rozcl~ t • poznm-ny m~Eodi.t ,dosti;1m do o'kNŚloI
:n)'cf, ~tafych "o Jl()~ t'e:J~ Lru adre--sowego. Me1oclę t~ mógłbym 1-iWOSO-WtlĆ w l!fm
pra)~C i Wll~!rn~Ć koni-eczt1~i blokildy i pctbig~,mm S'Ulfych, ~d~ b~ilohy to ;,,byt k:~-
plikOWaru!. flo1,3 mym opt;'nuhz.JcJ tej funk ej i ni jest koniee,na·
i, Nr~~ e ze~ l .
~l~i1{. ~;,OC (0. 16 ... lieCl,r( ltRZCłO..E TROlNY).
B' TE · ' ,, ' er·ic.oc 1k., Q).

e~tl pobiera wmo* t1alr.!j dr11 ka:Ldego \c\,';e-r7„dmEk~L Je~t w porob dos.ć nii!zgrabn •
pollh1t:\vaź w popr.Zedniej funkcJ1 pn.i; · aza1i. 111 stale do ~h dc:rJ.. Zaletą, ttj metooy i~
ii n iż zyskujemy ~"'Vllośc, ze daue są spój nc-. Po pobraniu :stałych nzywam}' ich do
W\ fctił i3 poey ji wier7.cholkn. l,.,,rróctn)' uw-ag.ę n t~wzglie~kmą ·orekt,ę. k16m uttZ)'-
muje wict7..Chołki ,.... obn;hic obiektu mlki . "it.:· będę· Z.C7x rcól-owo om wi ć h:-j kwestH.
ille-pamił!tijmJ• o 11i~j p(Jikzas ceytama nlłM~pncgiJ rozdziału. Moglib my ~kodować
hidy ·eneholek \V adresi odpowiadającej llliU rurlc:j. a n:J tępnie 1Jllod,ift.k_o\'i ć ~er
ol>-.iluguj~y 5-iatkę kontrolną, Eak aby n podsl :,, ie stałej w.;)'skuc 17.&~"\\r~SKI pozycy;.
Jucl1 ta · zrobimy. funk ·Ja $lanie się o ide pJQSlsia:

z. l):
}

Shlide~ obshlguNCY 5111uq k,mnrolną "-~or-z.yshljtt !l'ejt tr c4 de usta"'-'lenia il(


1
chołkil. \\f p i e ~ pm?'bicgll wykreślwny 'li Y,-lkie lifiie P0międz.)• ~~-
lr<Jin}'ffli, wżywając kolqru i;zsrvłonr:ga. .
ECYeP.4 ~ort n•~tl.Of. O.Ot . O or. O.O L
_111\f"udł• l'l emo :>Se · e te .l rConstantf..;.. l'li .alorl n11. u

N~rr;;pne wiersze ustawiajit sh;Ułer i wtaścJ,we :ir&Ua dłmy~'h -w;4::on:ys1}wa!lt: d


pr.&ebiQ~w:
r a l'lle03D.->Stt'r&tti!!~de.rł _Shdder'((f1tt0I • ) :
- .-.udzeme030•>Setll'ic::hce-~{m_ oo'lr'o ·'Buf +tnc s.o . 0ł.
□ --:,.iJrzalile,i1~-~Setst~a~rce ·o, _ rolJ1~B,J f<>r rz;;h.
- s 1eo < IE lCOOLEK_ •i ROl f f) S.

Pierw.sza opqracja renderowania w-ykresla wspomnh:me linje:


..:ddłfr'11 e000,-;.0r )l!Jnoo~Pncn 1 .•e~ ~ . _u \ fUSi. o' 16. o. 24).

iGolcjne, ·er-szt powódują odtwon:enie stał~j opjsująrej :kolor wicrl.clicłka, ab , •


1
konJrołce były wybc~lQnc w kolorze żółtym:

fi31J, IJEC a lor?u tuc· .0 . l Oi . OO. O 01J;


MQ.Zl:lfl u:O30-"Set .e.;r.t,e,y&J~rf.onSt.!!l'IU .:2 . łi o1O"'PiiJn .tu. ).

Pl'"lld renderov.rnniem punktów ustawię romtiar punkru, \ przypadł.u nieklm:,1:b ~


taka OJ.X-racja może być .oicdo~~pm1. W ł ldcj S)1uacji punkty mogą nii: być N ~:
flOI! Ro - 1~r ur. u - 5 Of ;
'..til'"ZadZ.@l cllst>-~Se!ft@~ ·SUte{OOORS P01NTSJZE.. ~c{ :,D"'"}~o 1irN t H.
:ntlrłilctzemeOW-=•lh1 „f'.lr1 i e<OOOP't_POL UST. O. ):
ł

Zastosowania i zale,t y obsz.a r6w Beziera


,v
Krzywe i Ol}$1.81j' Be2iem mają wicl l4.'iitosowEID. ięksrość z nich om .zwią?t~ z m.
ił d2ię-ki paramull}'cmcj repre2entacji moż,cmy zast,oso,; i]Ć funkcje o'bsbtgi l:nyA
dla dov.·oJnej liciby wi~holkó'l ·. Przykładowo moglib "m)' w naszym kodtit Y..~
r,&)~ć siatkę n.is~tj IOZQidcwści i uzysk prawidloVty kształt~ choc OLeee ~ ·
Tak-1e 2.!St0sowan1e spg.yja imphm1enta ~ i ~ nam.iCfflych pozjomów ~~ ·si

Wyobrumy sobie ~ n i terenu zdefiniowany za pt:)moc.,ą obsŁaJOW tezicra. klócy


skł~da_się 2 pagórków oraz gł~iczj do~iny. Je~H renderujemy :z pozycji o~iatM
ZDDJd~go SJę w dolinfo. to utyjemy bardzo du2ej l~by wiencbolJrow. Il~ ~si)~
krawędzie b~ly gładkie. Jc:.u!i natom;ast „prz.cs~ądziem),'p się dp samolotu 1 ~~
łatać nad dohną, wtedy lffl sam obsm? Be:zitra będziem)r renderować. z w y k ~
tączenie krzywych i obszarów
l<Jsownmach lsh• i.:Jc pu1f7...eba inti;rpolowam k~zt(łhów •ub sc,c~k ll1 1Xl-
moq. v, L ·sti:j Uc1..by p11nkt1w,· oritmln.y h. ~lotna zdc-finio,,•::.ć ~ '"\ B~ ic.ra
pomocą wi~"t:t:.j n,t. Crt.."Ch punktó,, kontrolnych lub o ~ Heziera ui run,ocą \\•1~teJ
nm 16 pun ti)'J ~ ale cz~sto j c51 to do o lllO\\'nt! obLin.c:oiov. o. Zami 1. •c o moze.ffl)'
~ tzy\'v€:. dzi , r1 •kot'X} Ulfl;u wspólnego pmtkl.u kTa:oom·ego prz.o. d\\ t.r: ~
1

lffl ro r,ozv,·tąz.a11ie dopus2cza I.n~, le mo:l.e doprowJdzi do po1,1i, ~•~~ ma .,.,. łlowll
pnq ~, jrnJi ..-,,.,.,-u...,,c są zoac:1„1Cfl r~inc. 1ollm, tald(; p,o~ąJ eh .1. obszat)' pop~cz
"' on:ystrm1 w ~!ncgo w1 :r za s lad.aj~~ o s,ę z ct.I~n::ch pUJtktów kuntroLn ' h. al
moźhwośt powsta njił , lrownych przej r wruc ismie·c.

Jdeli i.de yduJi:my i na wprowmbcnn: odaUwv. · h pum.1: "' tt0ll))'Ch, uog lniofl
definicja zes wt• funkcji pod •tffl "'~'h preyjmi n~paj · po!łsć:
tt., J - i o - l"- t nll ,!( ,-, - ;J1
V•~~ IIIM••-•'I vettn ......_
daumowanie
Jetcli nic srudiowal.śmy m~ doiładnie 1eomelrii lub ~lltunku I&tbi~
w~go_ to czytanie tego l'()mZ~alu mo~- pamv-.TULĆ do p1c1a Pfó5to z " ';!a ~ 1,
M~ nadz-iejf1 że _pacdstawdc1!1 p,0J'rClil m~matycine ':'a dos1atcc~ ~
1
-
poj~i• ogólne stały sit ~m•flłs. eyh:l.~•cy. k1ór-.cy lłlł: t\ufim.\-aJi ~~ ~
kowegó, IDOM Z31llmć mo~sm~ '":Y~adt,w.; 1 ,rra te~, ~hodnycb, alt
ob1it2ień 'W)'kprmc samodziclme:. Jo lt:h wy.ko1tan1u powm.oo, ' ć ~i, . ~ kiL
S
""" . Jł5he te! .....
logia,je.st PQprn\\'1'1a na,"·e1 W1iedr,y. łii~Y m~ ~u_m. r:rny rnechaniimów'I: chilła: ~
Czytelnicy. którzf chc.ą nauczyć !iti w1e.;Q~J1, mogą znąlrić w Jntem~· ~~eh ""tle
miejst", gdzie inc.i-n....sujące nas pojęcia mllrtematyeme są omawiane;! 1. r6~"'kle
wh;bcnia. Jd .eli trocl\ę poszu_k_)my, lO ~ 11~Wl110ŚCmą -Znajdzi~'tll y oph,, lct6 d i ~
nam najb:ndzisj. ry ~~

Zakoo~zymy 1en 1~iał.. ~staw~jąc kilka flajwallliej eh pu-1'1któw:


• Krzy,."'·ł: i obszary Dl!Z.icra pew;wal~ · ncil i:dtfi nio anie b--J:Yl,vych i PGwi .....a.~~
1

za po,noecą b.ardzo niewielkiej jfośd danych. er..,_.~


♦ Równ11Die kn).-,..~•y,ch B,;zce.-a to (-u nktja $kłttdająea ię ze 7b:ioru fimkeji
pocL łtnvowych or.12 zbioru punk1ćw konmm]niych.
♦ Pochodne funkcji pods,ta,vowych ·m oma wykorzystać do obliczaafa '"1.rtktorów
Ea.ngcnsó"'' dl pov ier.zchn~. Po obł ic2:cniu łych ,vektotów ru-01.na skortj•~ ·
2 iloczynu wektorowego ektorów tangensi'.°~w do oblkz.enia wektora rrnmialri~
powierzchni w „vybranym pwlk.c1e.
♦ Po malezir:n~u pnnktó"· kontrolnych moma .1.asloonwać 1-·erte.,.'< shu.der do ~
stopn ~11 wpływu pu_nktów kontrolnych dla dm...f{J lni.:j liczby wic~chołków.
• Vencx sbadcr motna lak!e wykor:cys1ać eo oMiczi.:ma w-ckmra □om~ałnc:go
powter-1.chnm oraz zaslosowan tll ob~iczeri osw ir..:t!cni3.
♦ \V pr~dsEa1J.rionej mel.Od'.2ic wykon')'Sl.akm kodoY. a.nic wi~ks.zcj lllości d3n~b
dlił poszezególoych w iert-chołków I zastoso,i.·ałitrn mniej zą licz~ inmuktji.
\I przykładowej ~e,;;hnii::4-: zaprc:z~nco,, .met na '.'iiU·onach ,,Vidia :mstcrsow.a.no
podcj!ieie odwrotne. Każdy ~i.: spo ohów m~ :;wnj i.: w dy i za~ ·ty.
• Obszoo:y Bczicra najba.rd;r,icj pri:yd3jq. cę w sytuacjach. kioo. chc.e:my :,.3~
duJą J iczl:>ą " ien holk6, za porno ą 11iL:wit:lkicJ 11c„bl zn,icnwających s1"
parametrów.
• Obs?..ary B~ziera dobrz~ sprnwd...-.aJą ~•'.= •••kżc w tak1.,;h . ymuacj~ch~ kioof
ntekon1ccznie iakży nam na 7,.;1r.:h-owaniu slakJ hczby ,..,,~cr1. ·tioH.ów. Mog4·w
byó ~racje poh:~p.ce na t3}'1ilamiczn 'tn 2..1r1„ <l7.au,u p()7.lomami S2CZe-gó'o~"O$i..;
raz refldetowanie teg same~o k~łl\1 za pomoc mniejszej Iiczby wimchotkóv. •
• by zapeM'lić '.\lięk z poziom 1..ar/ąd?ama k ·ltałCt'.m. można Z!L~los wać .
więoej punktów~ nb'olnych. L ·pszy efekt rnoźnajoonak o ·skat. ląc-1.ąc kiU:a
kny\1,.•y-ch. \ · efekcie .cy karny na j In._ci tl-blic ł,;fl, ale m02.ą pojm, ić '~
g.wallownc skok i w punktach piolączc11.
fłOZdział 22~ . •
AnimacJa postaci
,,_ sldnning z wykorzystaniem
palet)' macierzy
'1.1.i osUtmich kilku '?7'.dzimł .~h kone;cm:row~li m~ si1r o.a. '~cic-hnlkac:b wylkęn)'l'I 1 dz.a-
b□ z wii,:rzcbolfarrru pozytJ1 z DSt0$()\,•an1flm r<>mycb pod jśt. Techni};;i ~ dc)slonal'c
d ji SI~ do ~ki~ania ró ne,go rodzaju efekt.ów. spcejalnye'b a'I~ prM!i'ru;,podabni~
zul)t--;lnic nic: n ~J'ł L J do_~1odcl~a1m~. poru!i7.ama_si.ę po6~m !ub pływ:mfa ~kin , lm5
rueje v,·i,elf!' tet:Mik ~1mac:1• po t Cl, le J ~v;.,ttem bqu si~ oo Leclln1t1;; skumiflP
z v.y wzysWlitm patery mac112rzy an • matrix palerte .'i :ining), ponie~t ituslruje ,
kil ptl,KĆ pod:mw-0,1; .. eh oraz kil~ interesującyeh , chnik wyk~tflUj cycb t'l'ladi:cy.
~y lę ~ . i~ mol m)ł roz.szen;yć pojocm paktymcji seal~ ~hadcm nlł. ,...,icle 1t1n}·ch
tbS tc-clm" . Teni rozdział obejmuje om6\ i nu: następujilcych zag:adm~~
• Techniki anirnacj i i sk•nni ngu.
t posó-b \ • OirZY tania 11eJe~tru :a:dres.(]Weg-0 do ł\\'OC7~nia inde su do ,,palety...
slatych,
t lmplement ~a, t dmiki kinningu z paletą maći('rzy '-''Ylmrzysta.nitm. h~e
t, Koo plikaeJ1 s,1Jt,,.'TI1jąci;j ha.dcrem
+W az-ówki dotyc:;,.ą~e nceey\l, isteeJ 1mplc-nten1m:jj op154UlcJ teichD1ki.
ł [n~ za&io$0\"'.anii:. palet

Techniki animacji postaci


O;t?JII V• r.mWICI .,.._.,,fi•• •••••EJ...._......,
~ klucaowycl, """"" jest pi'awdoPQdobnie n'!j"'°"""'
W kluezów)'ch nmbch upjsanc Słl połoknia btdego ~
~.
Wiav.chollcó.:"~-..-
poatb. Zazwy~zaj ~ te -~~ ~kreślone ~ r6tn~ wcnje siatki. P ""kia;..~.
- n111W kluczowe dJa UUffl.lCJ' b1ceu ~ ~Wlemć s11tk~ Z ICW\ IIOQ~~~~
DOM z przodu i1p. Proste przykłady takich s111lck pokezano nQ ry.sunku ~ z~
2 .I . . ~..,
RjHnek 22.1.
lr.)-łlodo~ po:)'
łn~J po,HllCi

!Rysunełc, 22.2.
Animacfe
: h-,~laJ9iem
kh.taóW) -eh mmt-k

Technikę tę wykonystano w przykhui.1.ie DulphinVS zm1.jdująrym si~ w Duo:.X DX.


Ładujemy 'l tty róm~ pozy siatki p1"2ed_ 'bw1 aj ą; ~j dclfi na m defini~uj1:m)1 \ 'eirte:t Dla.
któreg,o 2adanmem jes1 ~•ncrpolacJa eych l)C)&. Taka tcchmka dziara p,opni.wnic dla~
ruchu delfina. ale nie tak dobrze dla ruch u bBrdzicj wyszukmcgo jak np. spocitt, t~· łrt
tae1ec. Problem w przypadku animacji z. ,..,·ykor.cystfill iem kbJczow::,•ch rnmi: ~kp-·
~• te skumplikowaay ruch d la uz.ys1um ia poprawnego t!fektu \ )'f\Ulga . ·fim0:~
w1tlu :ramek kluczo,v.'o/(;;h. -. a r sunk-u 22.l pofądany ruch jest p(Jotlobay do zgtlllml
·lokc1a, ale dane zapjsime w ramkach ktuczow-y h są zbyt nie,doLiatbie. aby moma b)
slworeyc poprawny ruch,

W celu Qzysbnia popia.wnego efektu mozn zdefiniować wi\"QCJ ratnEi:k 1~':"~\


ale wi~ej ramek oznacza t61vni . więcej danych. .. i.~ccj dan)·ch ozn _~ ~ 1,~~J 2B50'
1

Ww de śł~cfaenia oraz więc.ej wierzchołków 7Jijmuj~~ych oeriną p.om1;c. lSL


'JUtJl
• ~Ili
• i=• • . ..

~~Dl~
,.........,.. ;pel,

metod)' int,,.'f')10'1:.tcji. v.· mnfojszym s.w,prou Iiruu-we. l"tóa: tak.ie


etatu ruchu. lfe meLoo er: .;Jfa ~ -skaoia witmcj ~ i =~:1Jłyn ~ ~~
ilóśtj danyd1 ~ą Wt~~

W' t~ s ~ j i z pomoc~ ~~~lodzł metotla _słtinnin.gu. y,.r ttj me-1~c uiłka ttilktO\\•am
j~ Jak .skóra po na :!'I! s.1~rc~teun kbda1~ ~1ę z k•i. Ro(h .it-'-dat' hm kiiku toś •
- ~ ' I n:1 ru b k:dde.go 1t ':ei'2.i iholka. D1a z11~usttO'ii\'.ania, m robuim!J ,: ~ , Ci
-..,..-,, -~ ·w · · · . . ..-i.~ ':J , ........:l,S'f PQnap,n
miySme tęk~. mm~ ?3Pm.am .porusza, :siu, kó-ra pn~mi~m:;, ~ mmii:ru~. ~odnit
z rueh~m obu e2 1 ritki c. J)HIB sur skóra oo łok<;i",

Skóra je-st ~•c:,,,.aj repre~emo~ vrm~ sra.tkę zto:oo~ wit:rtchołkm • 113com,~ł


k{lś i roow1ą n;pn•.zeML Ję. op,eraeJ• ma~1erzM ·~b. Pn.yk.hłdowo żt1 dJ•m r~;.;m.
ki fi:!" □:ipiooH · 1y mi śnie ręki. tak 1W:pr.:1w ~ ®i.lrahśrny kiilka ~ , , , •ot.ó1· rpc~llycb
osi. ,r0,1:-a~:łi to oo d'o.ść oczy\l•i!rtej pm-zew gi le ltai~i skinnh,gu n:adi wyk(ln;·sta.RicmJ
[3r1Jl!'k k(UC"D)\' • h. jlcim . 11róbuj('iń)' ponowlllie pneanatiEZQW ć ruc::h L13 rys.unku ::n.l.
Z:SU\J:...,.."~ "", ze ruch łokcia mu:t.na pr~ed.'ita,,rić jako o rot wok ł ,.,,,.i rnn go pmkt.u. , ie-
re ~1icrz holk i po1.os;LaJ ,,. lym amym miejseiu rnnomi kllne PQnJS7.śJ si~ 7.godni~
zi; lj ofJ1D;an, m obrnten'I. Za lera raki.ej syruricJi polega na l)'m, n: potra(:buj,t."lny t·ync.o
·ed□eJ 1atld (~ pozwa~a.7,. _rn;.,_ć'l.~dl ić parni~..:: ~r-dll k11ku 'flt1-cicrz; mm f~~cji (kuli~
1

pmwd:opc.wfob1tul,! .. ryb.cie Si _przcl'\,va_m.), ."-V m1irę upl~·wu. ~zasu n~ UJC •n~~lac3a


W3Jlt0$(li obrolH i ~s.tosow,m,~ oo~ 'ł dmego pl1le ~'ll1,łctnmi do wybrnn)·cb ,vmermhot-
ków. Zgodni~ z tym, ett pokazano n.n rysunkll 12.4~ uz.y kujtm popra,...tny ru 1t. ~
\ ając m~LeJ pam Ll:,:r ł , ykf..m11j ąi.: m nii.:J obl;c-.,.en.

~22.4.
Cż,.u V • Technlld w,tconptuj~ mHhaftłzm~ vlfbłx. 9hader

tym on c wył..~sl\lJ r:ych 1cc


~ l •• wildri
Kosei j~d ruch -
I ...nu,.... jest I h ...-,....,,.u,nni u ln _. lu_
C m. O- . tl J

u.n.ku 22.S nol~J.DO U'-Y d(num pr.eykła c:1 ap1ikatji


Obru z l ·c ·kórę, okół śltlWÓw. Ol po p
kos.ci. Podobnie jak...,. ~ u n~go ~k~i , dwie ~1 RU1j 4
j Stlm"lL Pozoslnł cz: .nlrńlrsu pod~ 7.n na.,b! I ts1. ko!k1ą.

5.
prl:ltlt']
apNłi!zt:j~

Zrzut emmu pokazuje.~ kilka kos.ci ma wpły\', nil siatkę, ale tylko ntclaórt kości w.--piy-
w ją na ruekłóre w1erzchoł~1- W •yrn miejscu poj.awLa s1~ (10j,:cn: pale,\ macierzy. J~
U-:Qlłł.l11y sysri:m kusc.1 1.a ~·stem mac1eny ~ to bt.r'dzit.:my mogli pc>w1tdzi«. ie kl ~
v.·pływa na rómc CĄ-SC~ siiilki ~óry. Jczcli na tlwilt: .z1gfloru3cmy sz,_~ \lilj'Wljlw:j im-
plememacji, to będz~m)' mogh :ropisać " 'SZ),'Stkic mac1~r~.c:. ~ n~~-pnH:- pm=jmi W\ff'Zw
chołki pO to. aby u<-h„-cyduwac:, ktim.=- mac1cr1.t." nakż. "')'korzystać do p r ~ i a
wybrani:go wierzchołka. Problem polega n:1 lym. 1:~ '')'dajna irnplementacj11 poltga u
pr■.letwar--aniu dutyc h p:u1i i. PoCr.lCbujt.-my ·pnsubu pnc-sylama dueycł1 J)OK.11 danytb
i Ętrno.żli"Aienia proc~. oro\i\ i podjei;'lt,a doc. zj, o tym. w Jaki $~ób zastoSO\li: c p0Sltte-
1

góh1e matict.i!i,: do wybranych wierzchołków. rlokladoi~ w taki sposób dzif.\ła mclod.1


pakty rnacrerzy. Ka2dą macitr1, ~1pisujcmy jakn 11'16r ~tał}'cb , vi.'ł'WX shadt.w.c. i~
można dynam ic:a11c zmieniać co każdą ramk~. "'prow41,diająi.:: nov.·~ Siak. itrzchofki
p~..:slane do shadera kQdują dodatkowe iDfonnacjc, k1Óh! infonnuJą shaikr o lynt~ ttofr.
ouc-icrze nalciy zastos.m ~ć Ol'ruł.: ~ j ilką .,.,. agą. Następni~ shadcr wyzna za ~ud s_~
ą(jpowicdni.ej mac,~rzy i wykonuj,.; odpowiednie przt:'ks.1.ule1!oii:. Jest 10 motl IW~ ,węki
istnieniu n:j4.,"StJU adresowego.

Vl k.:.chn1kach pok~~h w pcmrzednim rozdziale ~orzysl} al.i ·m~ Ttj stn' . ~


0
ey_s ,w nia.. zapisrwani i usbłwiania 'I artoki. lt~jc tr adr~owy jes,t l'ltA! p0"" ' v. 1
sldnnini z wykorzystaniem palety
macierzy wewnątrz shadera
Nfie:j opisany kod 211.aJduj~ się na płyci CD w kal logu sh_aderarni. , p~rku Pafo rtc •
·,,. s,sh. Op~r'. wykony~ ama fimkcj1 anhna. ji shader ~·. koaujc kmlk,a p~)·Qh ,obli't:Xeń
oświedenra, iJ-10 lug,ując s1 · wi.:ktQri.;m nonnalnym po,rvien~bni ",skory"'. Dl zupełności
obrazu opisah:m iakże Lt:n fr::tł:1-menl shadem„ alt żeby ll'Oztmai~-ć. dlłtC'lt,"gO "w') on:mo
lakit, a nn: inne oblic1crua. byi.; moi.~ b\lozi~ lrzcba si..;ifląt dn ruzdz.aru 24.

W~ c h;idem załotonu~ L,C pi.msta,,·Q..-.'a pozycja ,vicr.tcholka jest za.pisana , rcjr;s1r1.e:


l n tom~ 1Cje$1r 7 ~wiera infonm:ic.:jc; o mn-cierzy w fe nnacic (indek pie1'v 1,ej 'kości,
wag.:J picnvszcj kości. ;11t1~k5 drngii.:j kos.ci, tJ.•ag.n drugiej ko ci), Nit! ma p~:r.kód. 80)'
wiem:hołek zawi~r1t w1.;ct:j inform.a'CJl takjch j0k irrfo,macj~ o kolorze om,,. półrięd.w
tekstury. alt: dlla upro~ c1enrn w tym przykładzie pomir1ąlem lt: ~z.1..-góly. &nfi) , ,a ~r:
o rnac:ier-ty ko 'd) :zapisano w re_iestrach s.tałych. Z·wró<:my uw gę. ~ dJ~ sl,adera ote
ma zupełni~. toaczcni, lt.l, d:,.i..: :rnejdują się dane k-0!c•. Sl'md "Il' nę,bm: dzut,~I po_~l!{li~:
nie nittah:żnie od wykor.r.;•sty ~ anych . talyc:h. o ik tylko iłplik~j8 iapew nt spo1oosc-
11Stawiania lalych orat us•awiaruu inde · w w oprsie wicncholkow:
s3.
astępmc pow1::i.rza.my ten sam. proces dla wektora nonnalnego ,i ttrzcboUQ. w ,cła
c-iągu "'Ykarzystuj1tc piel"\VSt.il kość. Przek ztałeony wek1or n~mnalgy 7;awieta. ft]! rl:
3 ,-3 X. ,..J, C._1'0
dp3 r~ y. v3. t[aO ~ 1]
dp3 r~.;1,. •:3. c[aD „ 2]

"rkm Utu kolcjR)'OO wie zach powtilffllllll)' proces d Ia drugiej lk.· ości.
• 7 • rJt •
Ustawiam_1.., Mi
'ł - ~..tar
a,dJesov,iy n.a wanoś~ zapisaną ~ v ~z.. 8 ·~ t~pme_\\'} 'OfZYSIUJemy ~ \1,\attość jako •~
do sitalycl1 za, _ieraJących m~c1e~ d_ro~meJ kośt:~ .. ?rzek Złakona pozycja IMilZ we~
nonn3ln}' są, .zapisane: oopo,,~1edrno w :reJe~tl71: r2 1i~ ;
r:ti iłO .. v7 z
d~ r2 ~. 'IO. daO 1
~ r2 y. -.o. c[aO · .. 11
r2.!. vil~ c[aD ~ 2]
0P3 N. 3. c[al). ~1
<I 3 rA. . 3. c Ci O. - 11
dpl rJ z. 3, c_aO. • Z]
Teraz zastmujcmy wagi ,łączenia do kaźdcj wersji w1eJ?.Chol ka, a u.zyskane wynoo l$'ll-
mujcmy ''-' cclru wylic:ze~m ostatecmcj pozycj1 , w· pierw2)'ffl v.·iefSZIJ mnożymy piffl'~
1

v.·ersj~ pozycj, pr-.zez pien:vszą wartoś ~ "~gi (, 7 'J J. \V dmgim wierszu wykOIW}em;· ę
samą operację dla drurgiej pozycji, a naslępó1 e clt1daJ~m tak uzyskane wyniki i Limie5.z-
czamy ostateczną_ ,...11rt:ośe ,v rcjestnt r2. Na koniec. warto, r-2.,"', jc-·sl ustawiom'!i na LO
- v-~ć która ~jdujc iii ,1,,• ri:ji.:s1r,t,; c6 . x. Z\'frótm„ uwagę-. że w przypadku wiea:-
c:holków, których doty~ey tylko,jedna koś.(;. po,i.•inny one usta.wiać indeks picl:"\~s.7!,aj k®
na lę kość om pierwszą wag · n l .O. Drug,ą ·o:k mo~m usta,, ·ie M ni~mai dov.rolm 1 m-
tość a odpowiada:jąt,ą jej wag, oa O.O. Oznac~ 11.0 , *t;c te wii.:r..«:holk.i ~ klóryoh do~~
t)•Jł;o jt:dna kość. nuu:i1"111ją wi~lc ins1n1kr:-j i shat:kra tl1a dru,gtej kości. Jcil to jcdrult naj-
1

tep~e .o&ólne rioZ'II i:p;a.nic~


irul rl. Yt, •. f.fl . i,1 :1
IJ0d r2. x:,!, r2.~yz. ~7 , ~,,
i(J~• r2. li, c6 ;a;

POW1arzamy tę samą operację w cf?tu 1twyg"Cnerowania o tatoc~go v ·ektora. nonnn!f!e~o


skóry. Właściwt nałotenie •.skóry~• db! wek.tam 11onnalntga Jł: l is.tolhi: dh\ ui~'-'
właściwego oświc:lłenia. Nie musimy w;IDwin.ć kompommN wektorn nOffllllIDl?'S-0. poluc·
wat wartość ta nii: jest ~ana:
JG /fi1.ł . v7 '1
,~.ąz . ~, w. rJ. ~
7 z ...
-

T wygląda shader. K•t;:dy nauczym_ po~łu •n il i reje tn:m adn:S(IW\lffl ca


znajdzit ·ię ill wł •<:iW)' m mt~J. c u. Po pr;eana1 i.f.OW niu kodu ap,1kacji ~pi
in_nych pomysłÓ\,\i' na w kQr.r ·. t~ ni~ pal ·t.

Aplikacja

Ni.tej opi,sana apJik,ilCJa ma na celu 7a1icmonstro,,11n1~ podsb wcwyct. poJ dntyez.ąc;ych
;S.kinningu z " korrystan I em p□ k•y rnac&1.:rzy bez omp\\•ia.nia „ :1.cz ółbw zaprsu oo.nych
animacji do piliku. Szc.i:t.~ół}· b-i;dą róinL.:, " 2 Leźno i od \li o 7. '"'lanego l'.1317.~dzi , do
mO<klowania. zasco t)Wancgu fonn:uu Llr:l2 sfl(>svbu implem1.:ruac1i Tłlłszcg~ r1 zwi~ia.
a.sza apl ilrocja gcne-rujc pr(,SC) m,-..de I 1 ,, ykonujc prostą Lnin1ocj~. tóri;J pr'Zcil1.-dzenic
nie powinno ·pra, ia · pwb1emó,i.. Kiedy J UZ Jrozum1emy pocbta,vowc pojt; ~ ._pró-
bujmy prman l1itowa ~ k d mnin,rn :,.n Jduijqcy . ię " ' Dm;ctX "'DK urJZ '". p.akn:t1<:
n.Vrd,a fficcts Brt'n,.rser. P.--/.ykiiLd • te 7.3\\'iera· ą opL posobu ład ni tł.in eh 1,an~
ningu 'I. plik u i.alkj.

Jak z,.tryklt ponj~z)' kod nie je c kompł..:tn . Ptłny od moz1i11 l.nlłldt nt, pty ie · D·
l ~llłd ·Ap11 !lCJa cd! 1 h
C..-V•Ti1cP i8d~•1111-.IIL1JJWlłiwń1}kr

Deli,niujemy „
uwiera;.- ~ WICIU P_14!1'W'łUJ_mac:icrey, p
wanie tej w4ftOŚCi apJik■CJ■ ma ~o!hwołć ':'f'l•~n1a m a c , ~ ~ ~
. . . ~

- stałych. 1 sbader ~ dziaW zaod'rne z ópasem. ~~ maa ~ ~


:Wać inoyeh s,taly€h czy pr~knc-zać dopusz.c;Utlncj ticmy stały: ~ ~
f ne 91El;Jól.A_KOSC 20 O

Oto SU'Uklum wic.m:hołkOW w , k o ~ ~ h w _t~n~ sk1rming1.L łap.sali


pozyc:j~ i "·i=kt« porrnoln • a mk.2e m,de'ksy I wag, kości: 'Śuty \\ fbq
.s~• Rl E „P..rtl.ET
ł

n;,. !"I:;. ,, ..
oscl. gal . lt..osc2. ga2 .
..

ł
WłSO S. 0).
OJWSO-RfG(OJO' "SDE .PQSHlO: , DJ0.50 FL T3J,
03[r o- REG<03.D soc~ ~1. o:;o -Ft.Uti JL
DJO\ISO)me DJ()'ISOf)r~~J. o-; so ·) L
DJOVSO_f OC)

fonnat FVF koduje te same mnforml.'Jcjc zrum.mi przydaJe ~•'i mo.zhwo~ pr~'\\ ·:fra
I

formatu F F do fu nkcjj Z\vróćmy uwagę na altj'bu, ro7m~aru ·w półrzędnych te'KSLUt),


klóry u 1awia rozmiar , spófrz-ędn J tek · lury .l..:ro Ela f;zt(!I)' wartości :
==def1ne D„ 'ł~ _ :ERZU, ;,Lt. T h: W'.1 ~ t- _xv w , _, R'\i& I\
D311nF_T( ,o ~ o::mr1i.•F _if•J:OO~.iE~(O))

Funkc;a Us a 5 a c 'OS(l jest "'"Y"''ofywana /3 każdym r~ucm. ktedy aplikacj11 uaktual-


nia mader-ze kosci. Jej dział311ic polcg3 na usta,.., teniu .:;~.i!łych \'crte'.f\. s1,adcra, 'które~
w orzystanc do naf ~nia skóry na sratkę. Gdyby n~1.:{ iphkaqa" QfT.y l)'V,,alll! bardzie,
·komJ)likowan si:ltk,_;. dużą cz(:ść. np,cracj i macię;rzO\\ ~ eh wykoft)'' anych W('"m~,rt
funk ji wykonywalioy my ,v za pomocą naJ"'T.ę;dYia do 1,,·orzen·a modd1 ;
vo1d pl 1 ~t fl 1 1k Us a,,.5 a I et,osc 1()
{
0..,'lt):.'MTRf:X ~osr.l:
D30.xt'~TRi sc2:
OJOXW.TRI osc3,
030 fR!X Kosc4.

Po utwo~niu czten."Ch macieny ,vykurtystam 1-naną. ztuczk ·z.ni I0$0WcU1i m liezll~


takt6:" do wygencrowanja d:tnych anjmm;ji. \V naszym pr7.ykfadzie ,,. . gene':1'1j ktt. ktfflY
będzie wykorzy ·tan)' do ig~mlili'łiH siatkj za pomocL kaideJ z ko~i. PJmiętoJTilY O tym. fe'
a: t!2 , . • Pnnłtd -INlmls,1 z·••<••_

'.l\~jpiciW pr.D:Str,_ amy nieco pk~ ~ z kości. Kość u ~IMmwi bn1t dla , eystkieh
_po~OS!afycn kośc1. ft"",eyldr~,(fowo. Je&eb
1
~~~ S.)~'fum ł:;,ośc~ bylb mmien1tm, WÓ"i ~c;&ai.S
piel'\~ k . · ' ~ł~y ~athltl. tub 1.L~fo,;°!j ~cm, Ruch ka2dej z kose, ..,\. łańcuchu zalety od
(Ot'blJ OUI ;aliJJcfU.Ją_t"-eJ1 H~ r.u~ n~_ą w łym "S~!rm I ncuchu„ w mlS 'ffl pr.t.yikl dzłi:
~ h jesl ~11J.1kowo :pros~~ Je ~e:k1 re ~te1n-y ·ości 11LOgą staoo.wii omp1ikowllm:
~ [fflJ.y hierareh1c~e ł11daJ. ce nę z ru~~w,a 'Jl()~ezoncgo z dwjcma nogWTit K.atda
~ może skh!da.ć I z mmcJ~z:ych czę ca 1 tak daleJ. Wp;ro~ adzę n~ewitlk1 mcb pi.crv1-
~ k:o.sci. ilby pok. · jak wpływa on na kolejne ko ci:
r1 Tra~s l~t·onti ~tł. o o . s o • ~lnfCl!15.J. o o~).
Kość c2 porusu si.; nlł pndsmwi11; ruclm [Pierwszej kosem poprzez ebKn k~ ióry
~wm ·my , --~ ni ~ ,v naszym pr.eykłnd2ie oś 431a k1.'li i s.c.2 znajduje się w n.ritej-
st!J poląffimia ko..5ci Kos.cl z kokią Kose?.. a :r.ate.ni me m po1neb::, :praesu, ania poro,..
1

jcoi P'Jmiętajmy. ie dla ni.1.nyt:h s h; rnó,,· zkic-lctó, b~dzic tracbt zas_tos \,~·a • róini::
pa;am~:
• Pfostj()bro " •, OS~]

Oś kocsc:~ , cJ j-:sł prlX.::Sum ·1,1 \\1'7glc,.~d t:m o~i jej rJOPrzedc,; i ,, ~ha~ "'mtl.lteoi1:1 • J~~
00a ~·oraonił na pod •aw j,e L) i k~c i Jsc.2. ~itl,,; fi pit:ru po pn:es1mi~iu nm -e:~o p · ~~
~ia. Tę S3JłUlPtOitt."tiuJ,_: pow,~r,-.,.amy cJlił kości osr · \\1 oMitzeniilch ()!jlł kaideJ_z loi;c:1
opnic.mmy s.i • do m zglęil1w..·ma Jl..!j J)OJlrzt..-dnic:zki w bń uc:hu •.Jd)~Y rnk me b}1t'1.
·e-3e4 a>t!lieciatby i~ i ~.pos!JI~ .. hyłahy bafdzo nieszc1~liwa:
lo5- 3 • Prosty()brc· O:.xJPrze.sur; 1 c: 0 <r.:;sc2 •
.osN - P.-o!a yOt:irat .... &.'!<JPr .-: •SLH H~ ~t ... ,C'.:$<:J.

Po "'',."Yk:oorutiu obru1u :kości slnsl~c,n~· prz.esLUl1\."t:'ic uj,cmnt\ aby anu IO'-'". . '1.\'~7.)·Mild
~ ~ i 3 macu:ray, ,dyby· ny ccgo me uotiiJj, ~ kóra przesm n~l:>)1 ~1~ 2god1uc z tym
°"''SpÓkeynnikiern1 00 [Prawdopodobnie- ruc jest tym cfc:k«.m. k.1ÓR"!;O oc.iOOk1LJeu1 . z\,,_ rn
I mrtlilllt•
QafM V • Ted:Lnld VJIC-.... ah■■i "W1t.ea ....._.

uwaaę. M pne5W1ięcie moałob'Y --" się Jl'Z)'UIJ>o, ~ Y cbc:icii --...._


ielcskopu. laki efekt byłby ł,wiccny .~ modełowama drewnianych -~~elila
efekt chocbi nam w cym przykładzie. llieollld
3 • en'ńCPrze~u ,ec,e • ose3:
ec c • UJ i~un1e~ e

ost4.
~osc..:. • UJ P l
,d 1
,CC"'

Kv.cla m3Cicrz kości zawrcro tłfl\Z właś.c•~e. warto~i pncksztaikeń. .


~m.ponujemy każdą z macierzy. ab:y ułatwić lCh wy'korzntanie przez s h ~ e Pr?.t.

0~ r ~ r~nsoosei oscJ. & sr ).


OJO~Hdt~, . , a s~eł . osc2, . e2) -
oo · n · Tr-ar'15PO$e( OS(".l,. ·o~ ) :
030\· 'Ytrt Tr<11r'lsp0S~(& 'os-c . ·osc4}~
Kaidą koki u~tawiiooo Jllk-o stałą vt.~rtex shadera Wł:dlll{; ,varro ci. kttim dcfi
~ 2 k~ci. Ka2da z ma ierzy wyko~tuje CZ1ery st~. ~b~ic1.enia W)'konu:: ~
jedynie di.a uzech~osrod citerec1,iw1ers~► a zatern 1stn,eJą nmiliwoki Opl)~~
w peypa.dku. !dyby bmkovi.tailo przesanem dla sratych: lt\cj,
,..,urzadzefl eruo--•Se I erte..: -1etCen$ta t tP ERi6ZA_ OSC • o. scl. ~):
- rza~uer ,~w>!Se ,e'" e,'S-l ade Ce st,i t P. E.F.'.iSlA_ OS,C .;. , Y-l. ~).
--,"Url dzemeOJO·>r.,pL,'er!e~haderCons al"I CPiE "!A_ 05C ~ 8. c3. a)
- , zMUen e03D~.>Sf> erteJPShtłder ~tantCP!ER:-15lA_ OSC „ 12. osc4. , >.
ł

Po mładowanj u lłllki rnuż-en1y wywołać funkcJ~ otn e zDaneZ ufor . \V U!J aJ>] I

giównyrn celem Jest ust \1.•icnic ko ·c, mwag dla k~dcgo z wie'~clmłkćiw.:
Pob1erz0d 2.oo or ·O

· ,a , a•>Ge laikaBu 0~1 rzcool~>.


: lllS -d t ~ -;.{':ie _ ia kaBu'o lnd~(s l

\1.' tej funkcji zakładam. , ;.,c •ir.uk sklonowano do wł11 ~ciwego orm tu wicrzcli
w C7..llSic jej ładowania. funkcja blokuje bu tor" celu ,, ykonania a.n.i lizy wier1tbolk
1 ustawiettra. " 'arto 'ci po1nebnych do'""' 1 konama upcrac-1i !i-kinning.u

_'!Ól 2C li. -=■LOC (0. I• ~ )


s. z

Ten s 'it~m klada ię z trz ~eh poru:szaj ~C}4.: h i,.- ko ~ci. '1 ka1dy wienchoh~'k n.lltl)
~.dofąc-.eyć" do j~dnej lub, •i4,;Ju ko•k-i. Dane or•~
u " i~rzi:11 lkó,, ą Sln" um,e w dw~h
pr~e~ir.:gach. po 1no~u dl.i Jasno.' c;~ procl!S\l \V pierwivym przebiegu ilłtkę c~ hndJytllt\
dz1eł, my na trzy sckcj..:, z kLórych każda mu rozm i. r 12 ji..-<Jn05ti.::k I a,idaj · t dol .
do odpowiednich ko, i. Ka,da ckcJa Je 1 ~ pehu po~ąr;zona z jcdm ko~C lłlt w~ga drui1e; I

kose i je I u ta, iona na w.ino · O;


o ( IOll!] ' 1e•icho1e~
le Z(hO] , ~ 1a· Ka~>Ge
le,~ ) -
(
1 .z C t (I)

rz 1 - ~ OSC •
r ......,.,:11-.li'id - O•
~ ·~.,.~ z. ~~~~, •~Q
'l.. _2

l I ~ ,., ~ Of •
-. r

.J-,S:. • I ;{Jf I

rz c. - ,me - 3 ~ •
rzcllu ~ •
r ,cno l 'il ,f;lt;
n<'i .--"I-ho 2: -

I
Z...dl:łJJi-1.: m drugie et prlebiegtt j1:.. t okleśh:nie stop,iia 001.tii,:!l!i'Vii'a.ni~ kośd n; \Ji , s•
~ 0t:i► ~1:1!:i t ogrdlli ~1 cl1.: ctów doi j«łmi!j k,o ki, li.mOWl.!t ~~u,= odrlzi •
\l,~C: d\\1Ó(h - . lOOl:'lkh kL* Lna wicr.Lehołki znaj.duj~ s" ę ' rpobllżu 5'fm' . \I.: I ytus.cj
cę ~.cz,:gó,1ó1ivo pro.."d-"um LOBO na ry 'Llllku 12..6.
Nield6re schematy mc>A wymagać mne&o rod.tJuu in~laąji niż l i ~
przypadku ia1apOlacja ~ zdaje ~ i n . Ponadto~~~ tyłkoclla ~-~
k6w na zewnqtrz stawów. w,crzcbQłki we~~ mopj~mc ~nać ,;ę . _ ~
Zrobiłem lak, aby ia4łcmonstt0wać motl !"'ości dokladmcJszeJ lcontr'Oli. Wagi labit. „
ustawiać. kiedy 1ylko pmamy 10 zo wlascawc: ~
< HŁ d•?°Ge le 1Ceso, ~
or ( 1e-rz llOft• • O: t~zct rzct1ai .... ,
{

• t.kł"'e LCMl erze.no 1' .O ) / , l:it


z
ze
rz(tio ~]
rzcholek] i - l
1 - P KOS( .. ~
ga;
o,·
ze r:zcoo1ek J Kosc2 os.c „ a ,J
i.,S1a ( a 1 rlt r1cro l 1;,' ) a2 - •

~ twSiiill hol { 1erzchol · J.z > 23 Of S&


~s1~t 110lk(~1~rzchOlekJ z< 2 O
1~t. lk(~1~r~t ol@k]. > o or,
(
lo,;1t ~gJ • f...Sia t a 1e zctlC>lk:[ ler:zctlo1 - 2J.O ) , 2 o :
iótat· ,f e •·icnol { ter-zchOle J · se. • Pl ZA_kCISC ..- 8 ,01.
, t c1 ·etichOI {1",er.!coolekJ. "ag~: - 1.0 - 9.t:
Stalka' 1erzcool ( 1e-rzcno1e 1 osc2 ... P. 't5ZA ~:osc „ 12 o
$1.) akl1e,rwwl~( 1er,:C110lelo:J agd2 • .ł9'1. - ·
}
}

return s_ ,:_
}

f 1111kcja Vt~nrzKosc 1 1,11i·o rzy ,vierzc-holk i ,4, • kor,0··s ty,,•:11H; do renderowania 'tnlktu~·
ko ·ó. In CZi,¾j n iż w pn,•pndku iatk1 :kuntroln..:j JJczicrJ.. wu::rachoł ki re są pm.>Jl.wll.rlmle
pnez lt"łl S8m vertex . hadcr co siatka cylindryc7Jla w. 1.sr..:j ro7..dziek7.0Ści. Oprócz W'Sf>O•
milgan1a w11Jualizacji ko~ci ~takie rozw1ąZc1me utlowadGia tru<ŻI.!, z...: operacja ill11ing,u
bardzo dobrze spr.i,,,,,ctza st dla siłłtck o rón1ym poziorn•e ~i.ci..:gółowośd. lna~eJ nit
w przypacUm an inulcj~ z wykorzystanLl!m kluczow)ch r.1mck. tedmika skinningu po-
zwala na zas.to~, an ie r1>inyc h ia Cek i nic ma 10 " pły\vu na niepow1.łł.tic.~ie aniwcji
{przy ?.",i.łoź.enh.1, i,; po1,rawnie us~wiono J)ilf,unctr) s ·irmingu dla w · tki._-b wierłl :łlał·
ków), Syt00 ~ft L,; mo~my potÓ'-'-MĆ do prLyk~adu tlt!lfina z DK. gdzi~ , Z}' kie 5tru·
mfonic wi z :bołk(h"', musmty byt spc·•Jnc. Poni,_~ kod tworzy i ustawia cztery wia?thoł
w pmlobny :.posób jak w przypadku pien\· :rcgo pr7ef'11l!gu dla ·111tki~
T ~ ' I 1 acj T:Cl'lm 1 Ut xirzK«xt:l 0
{
1 (fAłLEU(m_~-1.Jriijdzen1e03D ◄>Cr&1ter ~tt Bu •e, (
A~ s12eo'( iERZC E PALE ~SKI ),
O. OJOF 'F IE.RZCHPALE ~S.if.
D30POOL •-; 'i D.
,. · st
Eu o 1er l.Ct~l ) ) )
ret rn E_F11iu. ~
IN fł'.ZChol .

,tr:ł;holk ..>l:OC~(O. " • !f~ ł(Wl fłZ........._......JAl.t AStno.


(~'tri łMl~rz~l . 0).

f.
00
f„
12 or.
f. erzc.tiolk[l1 1 • o ~1 :
~,• ~ -
36.U;
.:, a.o •
1 ] 1 • PJ{.-SZA_ICCISC ._ o.or.
et • l • LO t ~
hOi J „Plfltli'SlA_KOSC er OO;
c E 2 - o Cit~

osc ., 8

• PTER'ł'6 7 IWSC - 8.Cf.


2 ·O.I>: -
iCl"(ll l - PJE~lri OSC + 12 ()t
l~ ga] • 1. Q . - •
cml .2 • l(RWS:ZA . OS[ • 12 O
1 rz 2 • OO . - '

.. m s_ t' ,

i
f1 _ cja RSlOen..i~ jest ~ unkcw;o prosta - po prostu ust:.~ ·a k.2lka iwirr.tthołków; umm.-
~ · ~&:rowi wykomIDic odpo\\'t1:dnich dxiialw,. Dzinfarnc funktji ~eyna 1f)'woranie
tunkt-jj J.$ c11!1$to 1e osc: , :
,,. d ~Ren&!· j '
ł
lli ~ Stal osc ( •
U~t'Y; i m m cierz s;i.va:na na ma 1-CTL ubrotu, by udowodni \ .c o!)(: c:ja in:n;nglł
modyfikuje · ja ·ę. ale do rrrakros op,o,vi,,•ch opic-r.acji, takid1 jak proste pr~ięcie lub
obróe, moma w dals,:.ym ~ ia_~u eos-0wai ma-cu~r" ~\\~fata. Po ~onfl gorow.oinu1 m kn:;·
~li.lis'- ~a115ponuj ·m)r jĄ ~ wysyl my do slmdi:ra:
~ : 11.R.or
~ lK
!1-3
i,;. a
ta.
.:
·~u
t~ .. _
o I 11100 o·,.

DJilrMa.t l ;-;I ;.ar.5,i;;ose( ~c. ę .:ShaOE'l'i!., fr.:Sf"~d.4:! t\~ L


_ l'-i:lieneOJO, :i- 'ł:.'" e 9.1 •,:,rCQr.::;tflfl ( • !~et r Shadera. •}.
... ~..........,._,_ ......

.Podobnie Jak ,.._, FJrz;rp-adku otn;z.w,i.· Ai::ziera umL~~ci fom wi~rsz kotlu~ dla którego motta
u ·unąć koment.a12. ab„ obeJr.1.t'i' obrai \li;' Lrybic "'ircfra1nc. Dum~ lnti: ująłem go,.,,. to-
rnentar.l. Tak czy inaczej siatka j1."St n.-ndr:ro\vana. po czym u.~tawiany jest s,tin Rflduo-
wania. aby zapc\\ k. z:e w llll.Sltpnym przebtt--gu ohnll nic: będ~ic ,,. w j ~ , w ~
,, irefrart1e~
ldr:12e . c-0 .• )os~tP.enoo,-s tate(ro' _fl lL . Lit.. D3Dt. ll_liH
_ {il~fil OJO . . c, a I r.e..,,e,-1:- .. ,,. ~ • , P o.
es ), O.
_ dl.nmeł):W S,e;_P._e B""''t.l _ } '
~ID).

~, ~.r.atnim :i.·r ru n:m:lcrujt.·my b..osci. Jest 1c, ,,. 7..a.xtdzi~ funkcja diaga.ooyCZP1a imomn)'
UJą J' w ~omema12. je~l1 ni,; Jntcrcsuj nas h:n efekt. Możt! nru.11 sję to przydać w cela
rro~..poc1.ęc1a ek~ryrnentów 7 innymr all1rn;;icjami:
RHl(tf„fUJ'QS.n )
~ .
371

. 1 •

prot-ujm)' un.u:bomi : ~płi~ J~ 1 pock. pc;:tymV'llto\\ ,: ruYi · .


- ..,....,; h ~ .. 1b . ,...c:-·-:- . ,,, ma panlmctram,. Zannn
~ _....,_ c cw.1. ~ Z.V.. IU\.'.li.: U\.\: ~i: m1 Jediro ~dni.cn1e N , \lll1ru 2::!
• s 1 ·w try b2ę:: ..., HefrJ.rm.:. ·

v.idzim~••• iatkn .J.-tJI! s1 • ~, ,\ d~ l•:uJztt:J 1;1csta \\: okol11..·:u:·h "La-.\ o\, . kst Lu , ryli:
, 'i.e ,n~uj~ 11' • l~odni.: :1,.11 :cia w mwacb. d i..'tin zc,·nic me che m ' . lh~ si.iłka
~ '1ff!połr.l4.:00U: 7,byl g\."':.'ita ~\ •i.:k~zosApmgrn,m',\\ modclow-a,Li., ~ a l L na Of.!L~·-
]JZ; ti niektótyeh fr.igmi.:ntÓ\\.' . •~ , ·i. jt-dllOC:t.C ·1~ic ulr1ymu il ~ to~ć pozu-s1 1~ eh
tji n.a d0$Lak-c-.rn_ m po:1.,omi(; _g~~1ośd do utrz:,·n m11 pł_ ,meso ru ·hu. P:1m1~cr1jmr
0 Lym pod~s IWC"Jr-'1:C"rtia n:l~z)c h ,noclda
Kiedy Ju.t mamy ohru mo,clwlimt6w zaslO<lowar,)'(lt w -.:in,, ~~
rroeh~ cDSU n.a pruanalizowanie Pf7:-Ykl~ ów ~ SD~. Przykłady w S ~ ' ~
wi~ej infórmaeji ni lemat łudowa01a BDIIUtłCJI zapL!\anych 'W plikach K s
spojtzeoic na t«hnikt z tn.ncJ pcnpektyw)'. °'Wł
~
to~-=
Inne za&tosowa11:i a palet
I mi.eje wiele róto ' eh z.a.sto ow11fa wjl"śtru adresow1i: o or~ pojęcll pal«_ P
m;c:nfon .zated - ie !kilUrn z nich. <.'łlitq

Pode7.as op1s.f\\'·a m ,oś.,,_·ie:Uenia , ·pomn~11lem, że ;i.·iaU11 rcfi<.--ktoro\1i1c: ~


tmwae•'. Moma oapL· ć ba~~· który P?~w.
1a ?li ~OSOY.'a.DLL! kilim , \.lij; !; nkOQ.
rowy.eh: n ccn~c. ale obesh dln kłłiŻdCJ latk • kt I)' rdlc: tor ~C7vu ·: _ ~
• . .......,1 " • J" . ' • =.7 " l'll;l C C,
wybraną s1.Jmkę. Talie P"-ł'6!.!J 1c pozwo m11'1 :Jl0gn:lf)O"""\'ill11t: <M,, \ rLeUen, i wi hi .
z.optym I· ow:rnk· oblic7.La.ń.
5
-

w podobny spooob możn laku zddiniowa . które Ś,lo'1~tta f'ZUC'~J 4.:i~6


~ceo z wieloma wia rlami mokmy wy rać n j lep ·7.c. by r.z.u alo c-itń, B\i Pn:l
j1: l to ;zb " re-ai~isr:;vcznc- rozwi&lO.inie. ah; w nito'których p zypadkach 13~
~ającc na zac,szc:zędzenie \'tii.:1u ko zło\ nych operacji.
1 p:i.

W ost:itn i_m rozdziak w ro!n~iakm. że mo:1.crny ustawro k ilk~ pun]mwr kon.troirt)t


a następnie v..iyko:rqs~ ł: poJ~~H! palet w c.: clu umozhw1cni1a s• alllifl rótnyrru obum
ranu pr.1..ez różne punkty kontrolne. Pojęciowo JC..'i>t lu podubnc do tmJom\\ł in .
Kontiigunijt:m kl ter dan eh, a nast pruc ~ndeksujemy pt")'mity\\ _, ". 1.s ~ 17.(du ~
kfasterl _ n:1 zym prz p3dku mówim~ o punklach kontm l nych i obsza.racłt ~'11iaY.
wierzchołków i trójkątćn _

W) i.an.: !PfZYkład6,.,.
na jaki. czas. Moim l31ńiillem był pnc~az.amr: '\.1J 1( dzy dot} ~
t.eg-0. że r j~-str adresmvy IJJO~Wala na gIUpowanie stałych i mcl't!l< C>W ni'!! i h "" od{Jlł­
,,·iedm po~ b. J eże li pop11w,mit." "'Ykorzysrarn) t~ pojt;ci;~. , -~kamy o1brzyrmą MK!i.roi;
oad tym. w jaki sposób ·hader oddziałuj · na duż · p kLt.:l · danych. P~mi~.1ajrn)' o ~,n
pockzas opracoW}11v~nut b.ardziej skomplikO\łi.'an eh shadcró"'.

Ten rozdzi l to zah;(hi,·ic wierzchołek góry lo<foY.'eJ, bio-r;,i: pod uwag \\ ·z tkit ~ -
liwości dost ~n · podczm an·muwon ia pu~1.ac1. lwi~ile omówili n y ji:ci · i11Lerp(l Llll
pomocą kluczowych ramek, po11 ic'łl, aj; rtO ta.n.o\\ dcm onmw ić mn~ c~hnik: . ale.e~:
wybrno~ Ee · hn 1ki są lepsza.: od innycb. Zapo1naJn1 :,i • 1 pr:zyk la&n,i z.awa~ynu w UK
oraz tymi przoostawionynu na slronach finn 1\.11cros ft. n idia j ' I. Motm zanuartffl
1

j t! t srworzenie pod. taw pojędo"' eh. le "spomn1anc przykładi• LLm żlL~ ·a po1J nit
różnych ' p obów h..,.or,,.,c:ni rz~---c1ywi5,Lej 1mplcmcnmeji.
1U ;'lflt&•AtrJA'łap(ltbial-tltl JSQI~ ........ • .... I

T _.mi •~· _w klOr')'m k011~i6my s,ę na ~ 111 •


10i- z-,itn pn:cj(bi~rn)' d:° kolorów , otwaencma. spm'buJ1J1Y ~ wiarz.
~~St( łyf'fttmdzuda; _ .. •O-CO
•-.rJowiel~ ~ n fł;)ł!ffl_:11J1~J1. l)le dwie r\aJpPpt.abmi.c~ ~
ł ~ e h „ruck liJRl,Z skinnmg.. ~IC:

srvromru11 pł)!lln~ ammmac.j~ skomp1ilcov.:.anyc'h nxb6w lJIZV, gj potrzeba


00 ~Ir:. k:l&Kt.OW)"dl.
• ti11CU
♦ W teebrtL.CC skion1ngu ~,.e-zaj ~d,rtn ~ jt:dn sia.tb ~~
i. t1.eratebic;;~ntm z ~•:.Jl1 ... k6$.c:; pri',: r7.1aleęn,

kJwlling d!Jt ...,.-icU; _f"Zfli g~ nad ramkinmi k:lu~1 mi,, poni-cwilł


ł IIU'l~ rruc-j niz Ya: i.ł!1c: 1copi i te-~ samej . ,jlli.ki. "'')'ml8,lli

RcJt-W° - •qyi.•y' spccytk-znym·a,jesu,1.'ffl k ~ ~ mo!nrt k o r ~ w a:Ju


• ~Qł"rania rej~-s s•11ty h.
f V if t'l:\tł"L g'l,a.d\:-n tn0żmu ""' ~jł.·dyn;e kem~n, -al) _

• w tcdmi „ l;.iirmia u Vi, Yk ·· iiem ~ et;' ~ ue:~ n:-yr~śtr dJC$M'i; "


\ ~ł)'Vt fli)f je l ~t:Su_ irulclcsem.·aru:1 „P3ł • !!'I] .. er&)' kos~.
,i-id i dła aźdc;go '-"icrlch Z.'tpis~i;my info~~-~ o k •~ do kL6n:j j::st
~ 0 n.y. wie-dy mo-żcmy ren-di:ro vucf'll'Cl:ld ~ "'' i1-!n lrio3 i j i : ~..
a zal~~,c · p<~iędz)' skórą~ o· Mi pozo m11 J- ć sb ·i;; , ...wi,

• Yl SDK zrt jduJ~ s~~ ' ię J l"7. zy\'iil!itJCD, pr.cyl.<l dow ł d_oi; w:ii i.l. illlhlllO'Ą'Wl)'m
piosr:.aei z pnkt1.
• P,oję(ie ~~t lub t~JL'"Smll .;"tdr°'0rwcgo moze b)1t;
w &l;:u-m aplik:icj i i cfe-1-.."tów.
R()tdzrał 23. •
prost• operacJe z kolorami

In daai \\' po~o...,a }'eh ll'Q:r..dzfo~tich. w •yn rozdz1 k .1.a~nluJ mr d" różnł: ·pm-
pam p~~owri=. "!'których '') ·urly·tamy dwa ro:mi: n Cf}'- \\'YQ -"ćt)l~ą O obj -,,,~
• "Sł)' sha . ł '1:11. a 11J6tt;:~•L:. \Iw da.I 7i ti c.1.,;~r fffl.d.7.latu~ ,n ów~ sł1adcr \\; R'fUJ4~Y
impl~ b ~ i::ti u ptom1em X .

Kodowanie dtbi
za,pomocą koloru wierzchołka
m z 1.ąu-..~z mowan_ eh . hadi.:n'l, J~l hard7o piosty )' ·o ey
z w v, idoczncj p lrreni w edu u7:is 3nia ·oloru , 1Nv.<:hGl ·a. il" z L00.01i: an·c-
J~ rd toi; \Iii' wi ·lu t~l·hni ka 11. l'r.~ykl::n.lo,, o w 11nplcm~nl.il J t cfokm mgł}' n.1kży
GQlllaSlJt'l7f2Ć ,ur wi 17..t:hmk~ m1 podstati.\'lt= odległości od olx«='rw:11 • łoi.t!m~ ,akii;
: o u~ n-i odk~gk,M:l 7. t~ti.:m :tłfa, Jb)· zaimpli:me , J p!Wną Of>l}tn3hZ:u 1i:-
11P.7111łrhid pdt dow ·my się, .t~ ,, ie 7.<:hol , · .!ną,dujc SI d, JL"Clfl «=' &lc~o. mol!Cmt
0

(IQ}J)On n, alfa kol , w,~rzchu-Uc na " 'rtnO:.~ na l)1k niską. h. oh11t-kt me spdmł
tIJ"fflJi aH'

Do teJ I hn,k, ~ .; "' tw.d.1. i ale 29.. ,cd hęd • d •mon~tro, al t>d" zuro_\ .rni,n:i~-ni
fccluub tn'0\\'3Wa cteni OOżUJC rtl porówn~, .aniu odt~g,~ po~i d.7). v. zchoł 'LOOI
a l.Todł m ..,warta. x pur ~10 widzc!n.n, .lfói.U.i ,...,. ,.lfła ota7- L pu11k1u , LdZl!nLa. obst8rw. ,o
~2S.S..
Jj ~ ~ 0.50 o 5.0
1 't#J:fr.: slftxl nu
t~'1-\ U{ę 1. 10 1.00
'łł,~('jlalon,
„0 50 0,00

0.502 0.5001
-

O.SO$ 0.50-t

ł tniej \li.ielc C hnik llld7A;'nia bir.: Z tynr1 OgI'"JlllC'Zć..'flECITI. 'ic.-ktorc obejmuj\ ooo· ,
danych v.· ,Vlęecj nii jednym k111n le kolom. a n~m"p1'1 i pómicj ~c: 11tk ~ ,
" 'MCI j_ Inn~ olicjmują kodowa.rne v.anosci głęN wr;:: wspótrzędnych ttkstwy. ai ~~
\J,·ykof'l)'SUrut w:irtoki tej ~.pecjalnie skQnsJroowilru!j 1.1.½sti.iry do \\.b§crnv,:go MćntD;).

Mrania dtłaych Wj " ze-~ irmych roz.s7it:r,,amy ·chnjkę o U$tOSOWilrli.( bamżiej ~ i


te-kstur, •alt eh j rna:p _zdc iemJC. \\'ym1cnionc: ·po5Qby 5-.1 wydajne. 1c
i mlcią od poł~b wybf3nej apli kacj t lub wybra:nt:go podcJ cia. Z lego l)(WiDd?J dt-
mon.slruję jcd,rnic najproSble pod(;J~tr,;. m j~ ~ nad'licjr;. 1c dzię i nic:mu l»\\~ po.-
mysły J19 7nJ1los~wunit: p,0ka:i".a nc,j techniki. Jt::i.:di ,....,d1jrrny ~cosowamlll ·~ oo ,
m02ell\ prze, n liz.owat podi;jśc;rą l.l''Zblę,dm Ją<:e poJa_: 1 gł~bi biLowt:j.

Z dru 1cj · ny. p.17.}'5zl \~·er.1jć spr~ ·lu oraz Di~1X :1mi~r„..ają do UW7.J;łęd11i:wia fOT.
1

m11ró"' ko lol.'( w o znaczm~ y7 7}'Ch gl~bi tn:h b11owych K,cd~· I k !iłfi Sl11J11C'. w.
spośrtt.d komplikow 1. eh m~tod t njc- sir m"ir.:j ,., ,:ne. T · ~ · io, 2laj. w p;nu~m
sft.adcrzt: :zakodov;.•ilno odkg.łost: ;r....1 JMJffl c bitow kazd g z kompoJ1(111Dw ·~011.1
to?praszaj~go.

Mat'll' głębi je-si niezwykle prosay i wyk(lr✓.)-slllJC ...,.·57i,:chol,.ccnc pnd;ma!CC'Tli „wid


· or,Jlel
p,rar;strz,en i do wy cne1r-owaniB wart~ci gttl>i , ObJicz.:!ni \..•ruto i g!ębi j I n,emtU ~:
mo-w. ·m r:tektem uboctn)<n1 koniccrny,.J~ p zc'k. ztałtc11 pozycji. Ponils · kod pochodzi
z pli u Em:~eDcplh. \. li:
fel'II! -en~i11,1jł:1ny pnc ~1.rn•ooną po~cj do l'll:jC:S'lru o~ w tym shadi:
- dny li ~ J l 7.mc:k$,zitnłr.:'aiących po~:
11
, oP,os. n

• rr~(Jllallt • :i;~ podr; ~n.allzQWt1rii3 kodu .apli · j i,, l'\!]cstr c 7Ji,\ ii ~t woc P3-
ey k(r,do, ~• ~~b•. k1M: p z. ~lad : s1 • da pctll !!;O ~ _ .oreyst.rmi ~pnyth
:.iLJ bitów w nm1tJ Y, m rozw1ązarn u, P-1en "/ 'koił J)Onenl rtjHtru ~ ~ i<:ra lt•
~ p N~.t.>gO ptaliu W ey~'Lk~ r-0. ~o 7Jl3jduj i bliic:J jcs.1 1rnl:tn1,1 · ~• ju >'
tn:iJ&rLrał~ :m; ~ _krlrncr4: P !W(iow~ Jt:! I ~o cym 'SU.m~m eo pi1;rW!'.Z)' plmt •~ tlu~ 1

I"'!\, J l, c.hOCLiLZ ·w no 1 mogą $ 1 • r żmc od" rtos I astr0$łupda , n, · f"l\' l?lłlu~


i.; wiCflk ocUcgłośd piel!'\ LC go pl:u1~1 dnlt.:j od k, ma)' zr111_tuej -...u-.•-· b ó, im
(IJ)iSIĆ ~...b1t0\łl! wa.JtOkią s~--bi. Co L.W ·'""L I} Cillk'>V. Lt:\ nmhleli..."20 •.• Pr.cykłudoWCP. ;~li
i1;.-kt ~Jdajc -ę w odJi:gJości 512 jt.'dnostt: ·, a pLcn, S-7.)' pfan majduje s ~ w po,Z}tj~ O,
zg pom koforu m ~ll~)r z p1s..i6 ró:i.ni: -. Jttuiei tylk4) d] on dru~~- jl.!dno. tki. lczc)i
IJ.Jnm'IY p1cav. zy pl il11 tJk. ab; 7n3j do"" a~ się w odlcgło~ -~ 25 6 j1:dnos_tc.k. rómc
~ · ·ołoru mo:rna okre.. li· dl 1-nw.lrj mody11 o'j;\ fiflej Jedno-stkt Kompromi po~ 3
i" dak:j usy1uowan„ picrv, sz plan moic powooo • ć ; arto ~ci ~ i
oJw:•~"·" 7rojduJąCl eh ::ii , bhżi;j kamery. \ 'ano i catyi:h przyj· 11:m 111111 "otrz1..~}'
tąp rrtnt:i:l,O pr.r.ySdu.dlL Dv rotnycb ~1U"s,t..1Y.ai· mogą byc po i ·bne różne ....,, n~ ~i.
Wp:nlm..l} ~ \\ ·!!:nu.il odi.:J m1,tji;my odlł:~ł~ pła', 5.b.."gO p!o.nu od odlt-gk~ wtc,rzchołk, .

Wo-.,tatrum wirnzu s.k:-duJ1:my ,,,....Jft,\ŚC oc:11..:glo c1 pr.1.(' \.\ ~no~ Złpisanł ""' ~ kbdov.. i;j
ie ' J. W więk~l · i pf7)·pad ·i,w w.._ rtM g! bi Jl!: 1 "'.,i, • ;,.a ni I~ co ZatW. zaJ ()Zm:.,c:za
· •-je do wano c1 I pó optL~lc:rcnm ~ h.._.d"'Tl! IO\H\ni • w..'1.11~1 , ,,:d]ug ·wae o
u!mr.b po~al n Q rramc1:~n, • \\':-uto · i df'I 7.a • esu pomi~d:l}' O, L. a ~ pom ta
zde.Hnlmlii 'i\ r.l}'Sl3mr: b1L1:W. . ~o.r.a:1 t.'lkre w1plcn1 n,owll M i-c drugic-,o płLL1~1J­
F'cm'()(!uJr (mO bc1~ Cli! W:lttO Cl 7.DtlJclUJ ~)'C:h ·~ da1ej ni?' ob5:r.ar. ~wry 11 Jnh~ , UJ~·
WJJC'• )'m stopmu l..1łą furikcj',: ~pdr ia kod k Im 1a ~ ,n, seri ~u:. ie po~~ o namu
· ID'i\'8film nieb ri: ,, .artoś~, b~ą w J~k 1.~ ni I. Na potr.ld>)' 1.iegv prt ·ld:.uiu l'l'ZYJ km
Y. 1 zapjsam.: w rcjt."~tr.lt:

• rl r. . ,; • ,
__,V• Teall■IIII ~ . . . . - - - ~ ~ .......

~likacja wyk.orzystująca kodowanie głębi


,>\J,li ru:j.a wykorLystuJĄe.a kodo,,anil!' gli;:h1 JCSC prus.ta \\' r-1i:i:.1yw1-ętosei runk ja ric ...
ruj ca je t ~rraści"'i.·,c Jed1·na funki.;j~. \.\-' ·r ,~j 1.m ,i:J~fik(,,,rano kod oprócz shldtra).
PtNti1.sz)' frngmi.,"llt !kodu to wlkłsnic '1,' Spt.'lffill l:JJ 1a fonkc .a ITniJ :n~~ a. natomi3St kmnpl.ffl-~•
I

kod iródło\li.ry meJduje „ti.; ri i~ plyc1..: C:D


!i.I.

!ilawia:my f)OZj'cJi; ~•zruku r Uł.}'W.111iy JCJ do w~~cncn1w~nM młl lil.!'17. \'lfidołru. WaJ'toŚC'
~ m:az atcrybuty mode[LJ pomag.iją reshć " ':UH Śt·1 phm nll.tSZ go oraz Vl,~i s ~,o--
wam cym preykł d;r.i,c katnt."ra J 1.:'.lit :St~ocj cHJ:lffiiJ. chrn.;1a1 LŁ~hn ika dzaafo ~iit: ~ • prt)'·
pad.lru poru :m1ąc:ej śic; k:~'r'lt:-1)'
~f;l~~ PQ dl8 O 10.0 . ~ll D
030X lH{ ,'"'-Md ,~:- ~ 16
&ooo·, ECT®rn o
.
, ·ren.a u o·
lł:riiMwla
•"'.•.-I•,_..._ ...... I lkalDIIIIIII 1111

......--""''"
,~
~ ...,.1, ... ,...,.y
""'81• ollcjnei!
iWlli:a 1MJcl11remy 0stateC2>4 mac~ traru,.!: ~ ~Yc_h Sll'l:ffl Po ~ W J
,.......-tł)' UKIISOO: llJ""Y ł\ ~ W)'Jyi'1my dó Wderll
V[.

i;«i•'łl L

ri li •

fa 1,1iyk:ot:r mu ~fig~~tji rmde~jcmy ~~1 z,.i,·ykty ~~b. hmięttJJm~· o mo!l1■


Wł I b )'111 li 2.al:J I , \ m SEJ p:,o ce.i LI-p~Lka jri me fflD po,n~• zcm t'ł . sbdcra
l ,wł n1:l etf •
:!n::4Zefl,t0]0·:,,-~t, e-rL S -l~r f -~"'ra r'G 1L

rzaa n ~ ~c · S„ a -¼iłll :.,,~rzcno • .


• Lł!P.lCl (._'Sti\l'C)l~
o).
-_ i~z !11 . DJD :,,5-e l 11djc,~s.c •.li '!'1elr;v.tri.

f'l~Ć er,,~r.-)o[ir a;c ! nd::!· edrll'l 1 •ł. COJ!Pl...Tli.I • (lo[.EUSl, 0


~ta\ ~·--C.-E!t', 1ler1..1ceso .O,
: ..s,l't -:i;!i•:.-Ot •• ·sDL
l
!1mta dowclrm.: l!'k::ipt:rymt."J1t01,1a•at z po
tu hn resn i modyti\'l'lwa.i wnrto~i
JZill1Yfi'L
~ b OOQV.".;mi. \V rll)1.d:.i:111u.:: 2Q. pt"l sii;. W j-.e.k1 !;lpó~□b r'IJOZCUI ~ •kony~ Cen ~r~kl
oraz omcmtr · lulka modyt1k q1. ktllJ'C' ml.'.lzm.1 11\!pi'O\\ tl.d;jićp

Sltader implementujący efek1 prom·eni X


· der preZl}mEuj.ący c-fi."kt promitni to stoS,urlkowo pr~t:a Or1$1lrU ~ja :i.) muluJ .. ~
cfe c pr.,~ ~•ieclenia rca\g..:no\, .":iki~~o polegaj ~c ' na mvd1 kił; j i stopn;a pra:lł"()t ~~ ·,i
!Jki icrzd101kó~ lll juuj cycl, :,.i.; bezpośrtdnio- n:oprn.-civ.· • :. I(: . n: . ,_ □JM:I ~J•
ei.u V • Techniki w,koDY•~ mechanlnn~ veltelll &h.ade,

Rysunek 23.3 .
.. o j ~ ..
ł"ffll '•"ml'"' e

Pom~j 7113'duje ~•r.: kod sJ1adcra 1.11<łjd1L1ą<:Y się w pliku XrayG1a.i;ses., h JoonymLIX!l'C!Qft
inr r-.-suJących a.'ipt..-k10,, sh3dcr..i jc:sL f.akl ,,, ) kL1rl} slywan ia p '7.e'I nie.go I nsmtktji I
obfi rama "y·i.s7.} eh potęg \,\ artosd J I 'l}1lU :.-,kal.imr.:go. \:\ł nast~pnym ro.zcfaiale do-
się o planowa.n m spo ohic z. ·to~o,.., am:.1 mstruki.:J1

vs 1 1

ha.der "ealc m · o<ld:, iil tuje n;1 pt1Z) LJfi, a 1..Hctn h:1dt..: r ,,. } konuJ prz~k ..:tał-c1..,ue do
prze lnem w iclneznt:j , Ullót::rn; m pl :I.) ej · ,, re-Je tr;;c.
po! Po
dp4 oPo
o
o .

l!~f11 C6 :1..awit:m J1UZ}'tjt; wzroku \\ IJ zcs1r2cm obiektu \\' na::.r ·pnpn roidiiale ws~. -
pr2i.:d:i.tawiom; dokładnic' -:zc mł,-.rmac1t!' n. remat 1cgn. J;1k1<: Io ma zn ttmc. \ ~ę­
?zyczasic pomz 0 "'ii.:rs:z kodu i..Jbl1l·:1...a ,, i.;l,:tor pom1i..-dzy "zrokicm łl wie:rz,clioo:-1 r.i
1 um1~;.i:c-za wynrk ,~ rc,~str.lc- r ;

sub rl. C • Il

Poni ze" icrszc po\, orltuą nonnahzac ę wcktorn Dku-" it.:rt.chn-łck


rl • r . rl
rs:(I rl rl w
ł rl. r1 rl 'łl
Wil..tt.oŚci koloru "''ien:cholk :1 :c::ą ,vyprowadzon-: do kJ dmvej koloru ro,.:r.ptaszaj 4;: •
Pocz(tkt1wo ~ n a przi,,:7_,ę mnie- wcrsj[) 1mdl!'ra .,.1i""icrsla furu.-:cjtt ośv. ~l..;ni~ ale
phniej um· km je i ?LtSm;Jflo"·1h.::rn ,,~:..trz_ rn~ć t • do nast~pm:go m7ifzjilJu, gd;,.ie zn:.f
du~ ~i'i Qdpowiedni opls. zytelm y. klL,r.ł.}' d7J1;ki DŚ'i'-'idleniu ch(;,;t "'Pffl'iY.tdzić , .~i ~-
realtanu_ pc,winru pnec:.t:ytac nilltępn rozdzi.nł i loda• odpowjedni kod do, opisywanego
sJ-.~ CaloU pro<i~SU jc:s1 !,"lo!jllnki.l\ o Pf0$Ull, pora it"'l'i' \~ i~Jcm1e do!iyC--7.) · dowy~h
koloru, 11atomiiiS1 nimejszy s.b3der uddzialywuj~ jr:d ,nie o~. kl: l),1t 41idfa:
tOO 'Ć
:s. b -oOO.•. c.• 1 ., . r-.•

APiikacja wykorzyśtaiąca efekt promieni X


.Podobni~ j:ik w ;nn)'Ch pr.,;)~I d[lcb, naj~cj i lll~Cra5~jĄ; ~ e~~d~ 'kodu w tym JJ!ly.
kładzie Jcs.1. funkcj~ . eruJ~ Po~c~ anal~2owama tej f'um'kcJ~ Dr.l2. po~1aJeg,o ~()du.
umj~zcu,nego mi plyctc C;> panuęlaJmy. :łt P..~)' kod &6c3ło"-_";' powoduJe 2aladowłlli!
dwóch obie tó, j 1.mvo1zcme ~w~h slw.ckrow, ~ce~- '! i~er!~~ łyl1rn. któc;· OpisaJ;Ślrt)
WC:2ll!!'.§n.ieJ. Dru i shiłder zaw1e il 1~pf~men~~J_ę o~w 1etk :n~a k1eli'Wlk(M.1'ego., któ~ ol!Dó-
wi,ano \I,• n~pnym mzdzi<olc. Pon,~J zn~Jd-uJe u; :fuokcJ Render!JJ aplikai;;ji prt7.erJ.
ru~j e:te.ftt promi1:mi X:
l() kii,p11 &(_]i ewm~ :~er-!ler O
{

\Vffl>k majduje się rm mlaloncj pozycji. .astęp;uje k:1n{.'lwanie obiektu 'Wpnód i w wt


co n'l'4nc 1"•orzyć- mylne wraxem Lt:. te obtckl h1.t ra s.~ę w th ~c trony. kanO\vanie ma ·na
celu i.a;prezentmvaoie przykrarlu o bard2ieJ d mamicmym d~1;1mk1erze. Kam~ i i wiat
rni()Zll'la pr2t- m•; • w do,vo~n}' spo ób:
Fo? ~{O o. 5 a,. .!>O 01. o o >.
Sk~nffi:a • !U) • $1 . tJi,{:tfic , Coun ( z 1000 o·)
tr I.de ~ H( -;i_liil do~ . OOOX tCTOR:;)?-ozC, t1.
M>30 CS nOr.a. 5 01 O o •
O.:Ol: (O Of. l or. o Elf))'

Jak zwykJe 1.1smawifillły gfó\l.•ną mac icn iP r;rck:~nakt:n i il


t.H~rz tdde-r~- _ c1e1 .zSill"I •.i CPf'l ... i:1 u .,..
_f1ar.·erzRzut .
r · ranspose!~• ,,erz'Sł1J~ra. Maci r~S· aeral.
_ -~~dter.100,30.),sA. Vfrne Sha:serr.onft j " (O, ~M·c:1!.: , ,

Więk ·zoU ~ h . ""'')'k or.cy tujcm w drngim ~h-ad •rz~ t-..1:Óry zawiera ftmkc~ oś~itUen~
~I~ le ornó • 1my 1 lll~L~pn)·m rozd flik . \ •~ m roz.d.1.mh: interi suj,nu\S fa sra~ kt ra,
2.1\"'1r-a PaGlltlutry promieni X. PfoN1szy kompo 1cnt zaw,era wartość l t '1 . .k). Kom~
n.:nt.ten ~DfZ}'Mllljemy do obJic2l nia uzupełnienia \'i arto~i s.tollka. Drugi komponait
pnechow4.1 c ~ kladnik wykonyslyw»ny p :zez i Mtrukcję l do obliczania W)isZ>• b
~ 1.~
.,■.-tPIIIDI. slalafflCBO <HU opani~a :ltolb u ....- -
~ ;~ f96I~co o;aiacm, te~ tó ~ M ~-.1ma1na ~ ~
!5(ffl pnawdopc,dobni( taka d.m w a r t : ~ ~ micra.u W pl'IIJ-.
deł2a.4- Pt łbie,Olllllllłllllil
.lllllllla,
. . ......

-
~ ~ ~ tm:ba zmodyfiko~ 1;badc-r lale .ah ~ . 0dyby
~~ ' , b)'b 'l.\-yloTiyW11n11 dw11 r-41Zy: " )' ~· cc:lu. otlicim,a ~
. . . ftRł e I co.u. .. o • o.~ . o •fi
~'f.C l tłl , li (1 O, l Il • ' O • • Ot ).
~oml-= 1 l tadlotl.O , ar. l r Q , 100.0 i.
~l)ff-3 0(.1 1 0. 1 • I) ! • 0, , ! Q n.
l NY;vJ ' r~ Cl o , ·n (I • l 0. 1 Q ,
~ ~w. '"-".. .......n.... •
~ ~fili
~ ili\'1~ powodu.Jlł pm - fil mic· kicrum o.<:.i,rictlenra p~ · ,
i;;;i., pot1i~O ~\ł takźcWR~,n; m_ sję ao lltitę~g.o rozdiimłu: i ob~
t ~ rtri'i?f ( 1).1..ifOCG - 'i i. . _ c, ·rz 1 ta);
~ .,ąrarts ,a ~ , •tS~1nHI. 1er 2.a • · «'(Ir " . Hl l .

llf\\ń"Zlniu ilf l:I-Cie:rzy Virld ' l] pr.rez. fimkej, . niWiotclci oonx 1n'ticie. \ł,I ' . -
f'O irl3 kił'll\lf]$ \~ktorJ dla wzroku. Pa ni ra;· k:Qd pt1\.\m,duje w,dzi.cłetll~~ tnlCJćtt)'
~ widoku i jego nomiializacii;: c c:&Q 'lo\,'C kf:ora
, rQ •
-••_.....-;~ J11e(g 1e .a„ 6 :! x~rc ~~ _13.
J tł
_ =33: OOf)) ,
~ti3 ...miDXU or.1l kieru_~ · " 7J'mĆlJ m ~dują ię w ~t"IJ:ju śmam. y ~ a.br
~1-.lłf i, ori . ~ p~v:a i oooektu i do łrulnit· t)·ch samych 'f)CIW ~ . dla :tó~d.
1

~~1 U), o&,v.~11~•lcm_c do pr.restn:em obu; •Ju t~~,c- z Oplsern w • l.ęfln?lffl roz.-
).. J;ik ~ 1~1;7rt, JL■.cmyrtł l ZOOa:ń t :g,«) roz.drń.alu jCSI ffl8 S)'llWU 2llm1m:sow:mie
1

~1tturov.· rozd_zj ł~ fl -~ IJII- Pani~ od _powoouj · o,:nie ~ j i i kli.--


~~ do prlestfflem obn~klu Uł'"JiL 2Mi'IW J~.anit: w:y · ~ w ,vyail;,u wektora
~ WltOkU•• j W) Ol~lismy D(ll1ll:,)i-m ti i po;,r,ycJi, pt.1G'l ;L.,,\'Elif 'RLC rna ~ -rkj ~ ',
w01~óF')-ch pn)!kłildi1Ch lego typu oblit.~ el\ia ~ t o11~ •a.ne są W-ewl'I 1n ,•i::Tt~:-: . had.cra.
w m przykładzie m07t!my 11\ on: ć oblti:1-Cllia r.17. 1 unit:ną_c ,vykouywalli oblit."1'.c-ń
~ \\1 itr1...:hołl::s Dddzic1.mr,;: :
S or:: Z Qfl,S„Uit ).
ort: e. , ł "' roc l•
11:e e , z al.
Jem ~'L'ii iamy slale~ab}' • luldt.•r mógł z 11ieh · ~~- .· mh~oświdtt"n:13 rolil)$1»je
~ sihailN" wykonuJ cy fo nkcj o ,,, ieLleaia:
s ant(S . , 1,.
u o t(6.
5
nt.(i. . ):
s 1:1n (lL iL I).
~S l ~~~(9. . ),
(.o-
z. {ll .
rn· , 1.......::1 bi km wt\11,TI :1nJl,c1JiL"l. Ob"cl,;.l
J·.,t.,.
~ ~'fl'.n i"!'nJffin.ilr · - . ,......+,_i \lti'Vkona r~t \K)'ru~;1emc O I; r · ~ iy
--,; . ...., .........
,w-,.q_ ..r ... .ł •
1.1.~... · • • • łt d ·n ,, yk
•j•~ la_my. posługujcł\ się sh,1dt:rem ośw1cL11.m 1.iJI, P·<J u La' i duu ~
Pltrwitń w :1,1r, ykty sposób;
tł tel

r-zM: ·eroD ;;.S:etStrta.-:Sou :-c (0. _ . erzrholl\.


$1i sr :,.,..,. !}),
za~o, e0-30- ~ ~ 111.l ce-s( _ łl Ol
-.:-9""1 Jllde\.'dPr11n·1't-e( · -_
s
- "

Jednym ;1.r:: szczegółów. kmory ni~ je.si do konca OC"ZY' i~•}· podczas .m.'Llizov.'al'lia odb
fak1. :u mpk'L.('.1)(0\'1,'aQa t,.-chmla ttaJ lep1ej d.Li--i.ła dlu moodi o ZUdC7.JleJ r zbi.t \11~
·6\ a p~Uad. zc.\.\TI~trzn. •bickL riazv.·alcm kos · • i.1le nfo jl.--st 1.n zwykły Sldci:m lifr
bikm 10 po to. aby M.'".(.'Hfl była ni xo cickm.-.:::.m Ol1il li..: w1.ględn n., takle cf~· jak 001n-.etlt.
n1 ·• kt ·re" dui'ym $Copniu .t.3lC"~ ud hc.1.biy Jlr'/etv.·ar.l'an~,ch \J. u:rlChołkÓ\\.• N r,,SUIJkn
1.., .S po ·a.w.no .mrut .:kmnu :r,~w:n't"tr7:rlicgo ,nbjcktu n:nd{:'row.a.n<.-go" uybLc- Wlrtf~
RfS_wrtePf 23. 6.
Wtdol. K'lrr.:d1ol!n iło
;ci\ '1Jr;,'lr!1rt'g_fJ n !li,Jf'Mri
,_.._,wanie
opl& pf1ł'i rdo~ bnie .lli~'~OWill pow~11nit: ł8ki,:j . me-· Licn .
M
~ szez~łf6ln•e , odn1~ 1L'\Jl1u do ~adnjc:111 dm~h ~p .:U~• ...
Jt·t oo .
"'~.,,.-tw db dem 1 n~nym 1"(2..dzial,e O<ipQ;,"11?ffl;' na te-o~"~' ~ t~I}-..,; □~a
,.i.-..-,..l~ • __....,.a..,· ma ...,• .J_. • •
i... ~ C llWJ~n pytru]
~ l,:tl) IJ.]rl - ,SZCIO I ~tłl1 li ..,~ ,ii) pr-~a.\li.·-~r:m~ w~ prooy h. tcehnik. ~~d ~ .. .:
#i~lem d _om Vif!Bll l ~gó:1'6-w.ZW'II ~eh oł_~~tJcn·cm. Moim b.miarcm:o
~ ~ e 5P?~ 11
~, ur-~L~ bkich tllStmke,11 Jat.; np, l
• □k ~1l'ko do obriczc::6
-. ..:n1nvr.h 2
Ei'<..,-.....,.---;:
"' ~ach P .... ~~er ,
-oo,'wietfemem.
. .
7-..3.S311ll J ~ 7.3Jl050\\l'M:ic ,1eehntki· rn,:....n.-. ....11.-.... • •
. . • - u-.. ..., .r..wr.v•~iu Śl~
zas.ms:\.WJll7. ~n;-cli PQJ'i'E- do iflnych t~lm-il . ~ j,1
im pl1Cł11 d~ mlu_n"~c~ est ~ syn om. MAJITCgG s.tamlm !ii1r 1u\ik36 w 1ym row.aa.1c~
1

z»,ifll przejdzietnY rl eJ. p0"1.Vt0f'Zm}' poman~ z.a.g:adnir:□fa:

t OJęlm: vr.ie~holŁ:l. mo.u Yuzi ~ć j ~ko produ uboe:Qly strmdarda'L'.)'ffl


obli !1 Z't'-'11:(2ID'l, eh z przc,hztm·cenwnL ,e: ma ~ )1• by ohl~ - OMJhno.
• N.3~•· • m ~~c~eni~~1 kodowania ł9bi ztt j;H)Jnocą kolom j en f ~.
jź obc.;mie ~osoii ,e forma "mloró\\• powodują po-...-śta\\'3n11;: ni(:dnkfa.dnyc'h
"'lVflikió . I mj sJiz ~vrel~ sL1:u zek p0;r.w;;,laj(te}'Ch na uspra-.: ai-i:ni.e tC"j sytu.Jtj l-.
ok dhiJ§Otei:minowe rozwiązanie fM)le_ga ~ zasto. wmnu formrui.w.., ~lurów
1;t1 "'~ej gł"'bi bitowc..:i ,
.f U"'1li'II)' dobór, ~uu,~i opisująci:J p:rzr:suroęcie i alO\li1ań1.c- może ~kutko~ af:
Ji:pszym ",yk z. mantem dos•~;pnych bJtów.
t Shadrr imptmummją y i:ickt pr-0nutri I X pm."'11!Wje sposób UZ)'!1kn-.'"alua w0J10iei
ko1orow z dn11y~b wd::toro,, ) Ch. 1'.ło „M go m~mć ~ upr~le"Zottą y.•,e.tsj~
1

~c:t:'11li.k ti~w,cmhmw.
t ]JLY~ja h t ma tastoso~ an i(:: nie tył o do oś11 idlenia . ~ło:« S!~ pr1.) dać
d(i oblieza.JJrll ])ł)tt;g i n.11yd1 wartos-c~.

t Wiele tt-ohnil< z,,1."1.ązamych z "i,·l<orzy.stanian koloro~ 1 ~VS'l)' od 9$Widlffl.;a,


a s mi~~ na cfeilcla( h spe-ej.al nycb. dla u~kttni~ po:1.adoo go t= rec}.tlJ
"'1'fflaga 2Dt]CZflegu ro-:Ldrobrmrnia_Fokt ten j i..'AA- SZ(.-Zególn1e \1,: iiloc:1.ny
i kdhnikach dt11,ycz~c;·d~ ~y.•1t1l~nia oraz c fcktu -pro,n1,tmi X.
~ział 24 .
---• oświe~l•nie
tf1korzystan1em
1
,,rtex shadera
yc,1 .......~...;al opis; 1 c j~n 2 uit.wid'u mt:charfrxmów vtrtex sltad•r i
LV'-~ • "-
__ .. .
:fC8,(') 7...U.O[U}I.Cffl
cicrm)W1ll:lie w d~I \Jr'tt)'lll xna,;;7-:emu. J. k 7„1uw~tyU · my w poprz(dni<'.h przykła,,,
~- ,~ltd '. kroczyh my do C~(fo,,ll~■go sw1a1 hą~i:rów. 0 ws.zys,:ko rn~i my :się
~ć sQJnr. J,;.s[ to podsl ~¼A, Y PO'"' ód. dlo któN.-g.o ttnpleinmtuj~my ns" i tle-ni~
~ h d~ra. ale ~ ta ' • mm: powody. N Pl"'T.)' •~ moŻł'!.i zainlpłerni:a,m,•ae wu;-
. iródel ~,,1 tł ~ mz poz"11la n to s.wndffifowy model of9. i-ctlffli. □i,ulX. Biorąc
~ li\\ ąę liczbę do rępnych ~lałyc11 i ins;trukcji, z-dcfinfowanie wię~zt:J liczby i , ~
~ - • nii po~·ala na 10 ogran,clcmc; Dift."i:t • jes1 1n0i.1h,1 • Motf!la r.a1ci,e mimp1~-
~to\713Ć dakfadnii:jszą konewl · dz, tania n~"lj i1!'tłcnia. ornz iv,,oreyc baab;ie-_J :doronc:
os.wi-etlani.a obi~któ"v· ~ a przykład, mo:,:n~ o ·wietltć tyllo obiekt o okreśtorwm
:tll')rboc" Iub ~ okre łom:· od lc~łos I od ob$cr, tora~T„ k ~ ;na.a.ej.' ~implt:mc:~ta-
'Jfllł ~•aasMgO os.\,·iemhrnia Je L niez,1,. kle p z_ •datnc. a ni ·ł.-:rcdy ~ l kooi«zru:..

'uuejszy rozdzt ! opj uj~ nasr~pHJ~C zagadnu:n iA71,1,• ~ązanc z · ietle11icn1:


ł Róiruoc pomiędzy _prle:str.t.\!n1~ ob1~ktu~ p ze Lr1:e11i ~""'tata ~ pr..oc tcr.cn~,
\\WON.U 0ml :zrui.c-zenie - .eh ,u~nn:.

• &,;wi1:rfeni1: rozpr:H 1.aji:tu~ w k1crunl,:m111 _,'111 mod~iu OS'li iedi:n1a.


ł Os,wicllcnit!' iwicn:iiuJtine w kicrunkoi, _ m mode!u ~.:..wietJeni:i.
+ O tal>fa_nic 11,..,•,atł:i ,., ,. l)U.n.ktow.., m rm delu oswienema.
ł anibnie oraz ; nne wł~J,-.·r,śc1 rdl l!ktorowe~o mocfolu o · \\.'tr:tl ·ni:1.

• Motii ost1 op1ymahzacJ •·


'ajpienv odpowc m 111 kilka P„ tań dotyc,~c1ch przck~:rJ;.iłceń wekrorow} h do inoycb
pr.talrl-eni\ tóre po,l~wllt!tU poprzednim ro1dzrnlc.
Przeksztatcanle wektorów
dO przestrzeni olllektll

Je ·r to Jednak \\,·yJąti;k. który potw11.:rdz~ r..iguf • Ro1.\\'iLŻmY ry un~k -4.1 Te-r.tt ~o,
owali ·my pewne prlek ztałcenic S."' H!ll.3, kthrc ~powodu, □ło uhról wi rzcholl-óv. ~le
nu; pr1.ekształ iliśmy wektorów nurnmlnych w1 rzchulkÓ\.\. J ·żdi próbuJeffl)' oblttt)'
iloczyn skalam)' \..·cktor-111 oswict fcnja Ot'il v. c tora nonnalnt..-go, to U7 kml )' i, rynik będnt
nkpopmwny ióma p()\ erzchn1a modelu h\-dz1e .,., pdni o ~\\ ietkma l • • k gdybj Ś'M'VJ11o
hylo k.rerowanc be1posr ·dnja na naą. a przccu:i Lak ni 'est,

l ~tnu:je pro ·me rozwi. 7..an i i: lego prnbl i.;rnu. Aby c1hl i czy~~ poprawn~ ifoczyn ~kalamy•
możemy przt:>ksnakJ~ wek.lory uormaln • " icr, hulkó\\ . ra ą ·ytuacj · pokazano na I)~
·lJ.Jlku 24.3.

~w.tałcaruc \ ·ektm w nonn lnychje!t-1 prost..:. amui )] O• 1.., ~n„own ·~ale w P •t ~


wuµame optym~rne. P~~afi.:cnic wektorów nom\ Lnyc'h wrv;c i't ko~em co~-
mnieJ &ze. cju, i11strukc11 \'Crtex shadera Cl zy do przt!k. i1ak~nia o~ tn.y do norm lim ~i),
().miłćlil ro,
t: 'l'I~~ tył o ł!:uly,. amy ogrnt1 i c~oną ijc4bę ins1ru ji !ihad , ill:t: t..ll.ic
po:oosimy kosz1 u11konyi.vanja t~h m$tru cji (I] Ka.1.d~go w· raholka~ ts111it)I? I ~
roi-'r\•~ie. z k•órym nie w~zc się 1ak ,vysold ko-szL

Wyobn1.i:rn I sobi~. ie- :sl()j:my 0:3 szczycie figury poka.-zoocj llB! popnied i 'h ~suuk eh.
Z □lszego punktu widr~rria te d\ i~ :S! cucac:j e moi.na p~ tai,, ić I , j k po · no 11
ry Wlku 24.4. l n :tr:7A;J perspek yw-y 10 Wli. tło si~ przr,;rni~ ~ & nle TfBlH~.
lłrsmek N.ł,
S"r.d.mtrftt:rnl
:: ptr~
lll~i1!'Mlł~rt
m -6- v • TIIClinlld ~ u1a11■r\i11r .,.... 111,..,
~

W ~istołoi jest to dokł&dniit takie samo zjawisko, Jakie obserwo·


Z punldu wnmmia ,,,...,.,iu-wiala ~ • obra<a ~ię wotil SI°""' _,
z nasxgo pu,,ktu widzcnlll Słonce • gwumiy obra<!'-&Jl\ aę wokół nu. , ~ OJi,.
aa .,:I' z..;._
poJę,:ici6bl -.:h utbdó,.' odil~,e~a. Dla - ~ ool<lw ~•17x:noe Clb~-l'Oi..,
s.1m1owi4 odrębn~ układy od111CS1cnu1-. w których mlc:rprr:lacJe t.dmrnł\ . ró~~ • ~

Zamj:ast pru-bztałt-.ania wektorów ~ n ) ~ w,er.&ehołk0\\ do p ~ j •


1

p~ o ! qi~cdenie do 1"7:""lm"' '!bitl<tu. n obli-ni_ ,6-lct """"'- liędtl,!.wiata


Jilk paekonaffl?ł ię _podc;W :.utali.zy kodu. J~·-prM:ksłJalccn1~ c, wiellenaa ~popra.~
tywać na ey,'a(ltc w1c-n.E.holków. Jest to mao~1e rozw, łep~ nic od prz '"'-~ia..
l)'S~Y wicm:holk<iw po«>. aby dop~•owaE $1~ do o~wuotknia. ~..
by wy1ronac tak1t opemcJi:. nnl~t)• co o~i,•ae odwcócon, macierz świats
_ł_>okazarto
na rysunku 24.S. ww -
~ wier-,chołków,
do pozycja i1 kierunku ~\.\l'tr:tleni • IP'ro<x.--.s ten
jemy niaci"rz ~:wi•lil
do ~1<s,1alccnm 11 1 ori_enlacji c o ~•.
-Mlig~to' Ili obock!Ó\\" ,, pnesl~ _-r<1z,~IICJ. Wykot.!)'StUjfflly od,.,:.~'4lduJc
ewa. :\1•~ d? ~ ~ n , ~ • ~Wlellenm. p<>wodujc ~ • 1-fi ~ °" ~
do obhcżć11 oswaettenia w p~c.m obiektu. a.'k wtę-c możem , unilcnftć po: LlhCJl
\,,et.toróli • nom11alnych (o ile ńie wy~i po1n.eba otlic2t11ie wektoro normalnego . •
11

1. r.a.k;isytuacją ~!klimy si" w ro.zdziate 26l. W\I ~

Rysunc!k 24-5.
Efttf)· dl-włam.a
mot:J&:rt,' $'111 ł(J]Q
; (}l~tfW(},:.i
mm:~cm•.mroJr.1

CM.'ł~ t- t..l
.CfS:ujęt,ly do
·~~len

~ nt ....,_
7
• opisane
Jt.-,J:Li N'li•""·-i · nlw1\\'l11'V Sit- I kontynULJ!mv3 lekl.
..11 •tas Ja51lr.::. me 11

-.ł anali"iov.•an ia kodu.


, • .r,-~J cl'II 1..1 ., ....,,1.
""'

nJenm: le wY•J n·u; IJ,\M._Ji-,,.J8 dnu~J· · puuczas .J "r :1 .... 'I!. ~ -


- -cS za·" dm kieruflek oo . Ił niil p1r?~sb7~1'1i objc:kh.J, Zd~~filłcm si-i z._th:·finio-
11i1Pie' lciG111idru o ,rwl~kn~a j=ika ,-vW "'Ntq,O fizy miego klL"t"Wl1ru oświł:tlemil.. aa100'liUM
c"}icz~ 1a \"1ct1 nia _~<HtyWW1e są na podsła""I it:, ~kiła z,"IÓł;~ , od wia:l"'tehioll,; 3
do itódb v.i11rJJll, z l(:g0 fH)WOOLl y.i(lrtm.c1 Z3pls.ań Y,' rojc$t.ne es nak ~gov.i .
, ł1rZ'! i · j definiuj.. · ·i:tl ynie,, i::Jiminując kofli 1!2no ~ ". ncgatji. Końoo~ a wap ,
mu ,,.1r:irrn,µim1 umj ZC7Jlna jeSJ """' kompw1ł!l"11 ie rO x. To w-szy.s'Lko.-t.".'ęg-O pll,1nL-bu-
j~my db :or~rnta p st1;go k foni rroop ·!f~go. Pw,.~le dzialw1i ·łuzą on,itm1i~
ru ~ 'treiadl ·go:
-3 rt1 i, :l, ..es

C6 "2wie.m ;pozy-ej,; \\'nQ .u w pr7.csmrA;.'Jl• ab id{1J\I li\r poni , \J.·i obliczamy


~f<lr :zwró cm„ oo ,, ii;rzc:h.n-tk .Jo ok w przi.: ~ ni objt llJ Po111.o'iN • rmLic'li:;nic:
1,1a ®ra w p ~1i o ·ekm :i. j "' i"' 2. rnn1,;jszym k~cm rut prze 7Jtakcnu:: wt: · 001
nomtilnc i ooli zefl ie- w prL:<: ·Lr.Le□ i '"' i.ata·
. ,[)

Tteraz ni;wle!y monnaliz-ow~ -ć \'lt'.'"k1or \,·1er,,.ch□ lc-k-ok . ro"" •lonimm Lego d:riahmii.11
.lDOmł!łlizow ny -wekcor :,,.api:, uJ~m_ \\ korr1por,i.:ncic rr::
~ rL~ •..
~ : h, r.l lit
1 • r
adG r2. rt. cS
dp3 r2 w. r2. r2
r r2 111, r2 li
a r2. r'.2. rl ...,.

D-;_..._. nnwodu~ obliczenie iloczyn.u skalarnego wektorn poło'"' 1r..._


-
.-....~ . , "let"SZ r-. 'J'- • h t•· - _... .. J ..,... ~ .
obiektu ora.ż wielmua 111~alncgo w1cnc o „a p~str-a:m '-"11tktu. Wyn_,k. llt'.ni :----~
w drugim kom_ROnc:nc1r- R:JCSffll rO: ~
doJ rO y. r2, •,J
. -. IIVl',oPl,TP wvko'P"7V!ltY""raną w o · W:ieUc:ni111 ?V.'ie:rciadlanvn.. W
taI3 C: 7 te,.. r-•'ta~ -
Zł\! •~·; • •·-.r ..,. ~

pr2es_ ,famy do kompon~nru ro ~:


--o .... r;,,
W O!camim rozdzi te podkrestili_:my zastOSb\\'l!ni in~·trukt,1i .11 do inn,~h ~łów
OŚ'li iedmii;. njoiej zy~ rozdZ1alc wyko"'o/ ilam ,. ~nstrukcJ1t do m . ~ j ~ O:i!
czeó OŚ\\'tel l4in ia. rnstrukCJlł l zakł-a da. że •~ocey~ skalamy ~ktorów normalnego
i ó.Ś ·ie1:lenia (L jest znpj ·• Il)' w komp mrncme I"eJl"S~ "'•~J -L~Wt:g,0~ iloc:z.yn ł '
\\'ckroir.J 11Wnn::1tnego · omz , _'e'kt~rn pot.o~·y kąrn_ (H) Jest z.ap, an~~w kotnponeooi~
natomiast putę-ga, klądow~j zwtercmdlanr;:-J Je t ~r•sana '"'' ~mponencic w. Jtżtti '-
Wiiono ie arzy wartości. wtedy w lm~1pom..-nc1tl_. reJe uu ~mkowego znajduje sję Vii'an~
Jfoczyrm k:d mego , ck107:6, • 1 L, _narr~·m•~t wan_~c 1loc~1J1u ka1 l?Dt:go v.-ckt
i ff podnie~rona ,do potii8J ·km~oweJ ~ 1c1 'Jffdlane~, Jest 1.ap1.sana w kompon.eacit 2 ~-
ji;slIU '''Yn,kowego. \\# p prt:;4,;dmm kodzie wykont1l1smy po~e:bne ope. a.rje ko:nugum.
eyjne, za1-.:m motem„ ler-M w -korzy t ć inistrukcję 1 1 :
lt f • •I)

wa cl za ie1a koh,r zwierciadlany nnszt:-go obiektu f>orużs~• wiersz powodajc ~


mnożenie składowej :t'll\'icrciadlanej o , ie•li.:nia pui.:7 kolor zwic.:-rciadła. V.' "' ·ę zoia
pnypadkó"'' kolor zw1!.!:rdadl~jc t bi.ał~•. ak nic je l tu koniecwe.
i r5. r z. c'/
1rwżymy sklado,,:ą ro7praszają....-ą os,v1etlcnia t rtl kolor o :i.vietlenia ~ją.
t ) p.r7i.:l
cego. Powoduji: to obleczeni~ warto~ci o~t ·•dlenfa m7Pras:tająi.:cgo <1111 wierz.cho\ka • •
r~pn ie tak ury ~kaqą_ ,,·anośe mnożym.) przez k lor m~praszaJący ,\ semholl-a i rui koniec
dodajcmj' kolor o wac1lcnia otac1.njąccgn {-.. ). ReJc ·tr r € ta\\ iera ~raz ostateezn~~ oto
ro?prnsz uący vncr~choł~a:
1 r". • J . ra
d 6. r6. ~5. ~

W oslalmm wief"Sn1 dodaj mny , arto;c o:" ie lk n, a /'\V Ierc1ad huti:go i t:il,YJl.lUjemy
os tateczny kolor. \\' cfokci..: OlrL f'llUJCftl} w1t;rzchokk. o wietlon pro,stym ' wmtli,m
kierun.ko"rNYm : ~ •
aod oOO. rS. ru

W wfol111 mił.:j54;ach lego . had..:ra •spornmalcm. ii: m któt 'Lal zawiernJą ol,.wśloo
Jc?Jory Jub at~hut„ obiektu. r miętajmy. że stałe ti.: mo- em_ u tnwic: pr,ed 11Cnd fOWfł­
mem \i.•szystk.ich obięktów. pr-l1.:d umdc:ro,,·aniern nie lury h bid;tów lub ~m-vet 1'0
----
iclk:ni■ kiffll
!klawisz J. Odpo,1i,1

SfUJder oświetle.nia punktowego


Pen.i~ op"~ !ihadC"r zawieraj cy i1nplt.mc-r11acj o ·w1cilcn11 punktcweg~. il-n st,~
I.IIYli"OIZOOO na pc,dslawje ·h.id~m oi;wi,:ll~ni.i. kleni" ()Wei;o. ale dO\bno efekt o.słabi ia
\\1?łior. wim-cilolek-midfo swiu.thi Kod sh· di:ra znajd ~c się " plil..1..1 P('J..,J~~-•"Jh:
1S l

rowad.złtmy poiycję:
~ oPoi X. I). ((I
~ i:fó~ 1 , O. c~
I cł\')s . i . , c2
• (#tJS. • '#V. CJ

Obliczamy wclcu,r \\' jt: :tCh(1~e k.-1,.) •m·i~•1cm~ I z,apiSUJtrn~ \1i n:jc51r.lt: ri), We wr ten
1

k ~ y w celu I.U j s.k;:ima ""aJ1oścJ odt-ćg.~o~d potrzebnej do cri:lm:J osfabi111i"


Podbił, inlCżi!:j niz "' prł)Jli.ldkLl oswk.1lcn :'! kie.nmkowcgo, dla ~wi.cdtr1iai punktowego
, mależć kirnrnck od w t!f"lchołka do iródla hit i< tL1 l1c'J lt■go c..1u ~ v,ykol""l)':StQ.
Jemy " " ~i31ly wck1or. ranu1rta.Jmy. ze scala ci:. zawicrll pozyc~ -fmdła M'. w~
'obiektu:
. . --..vt..· obliczcOie kwmdratu odlcgło4ci oru ~
.Pc,oi.f.ae WICl'IŻlt pu-7C-:u~ insuuk ji.ds do wygenc-mwllllia ~
Wartoki te wykorz hlJ
c1p3 tł w. r0 ro
rsq rZ w. r l w
. -d iemy do instrul--cji d-st. wylmrzyshlmy wa~ och,vrotao!Q adl..L. _
Zanam Pac.I z ie r 2 " ' w c;ęt\l znonrnalizo"v:mia wc1uom wie~bQj~~
zapisaną. \\' komponcm: . ~-....~
zapiSM080 \"'' rej rsff"T.i:: r0:
I f'IL f"(I, rl "'

~~
'żstt
·11 :t
ćl':SZC ·wyko~ ysmj~my do oblic.z-cnia wspóic2ynn.1ka. osląbianja fi:.~ .
ustawi~ rej~ IT r :n w~rto:ść
: dok:d•k rymi. kró,yob por~•!"'Jdffl)" d<> obl•~~"!a rów~a~,a ""!•bi.n~-~
~
( J. d. ci ! Id). Pie~•$;«: In)· ~ ~

rozdział I r.). Mraoźyffly tr wartosc1 p~z w.spółtz) n~1~1 osłabjam~ ~•saric= w~


clO. Na koMiet", in-su:ukcja rep g-en~ruJć ochnfromno~ 1 mamy WŚiJlÓlczyn111k osła::
zapisany w składoweJ l w;
st l. ł'l ,Młi°A, rl fi • "

~ rl .-. rl. clO


~'1 rl • i "Ili

Oblic7.alń}' ilo<:zyn skała.my wc~to m otwcerh1n1a °1:3~


wek.rara m.~nn;i;inego. l)'ffl ~
kierunek o,'wiei lcniil nme jest QDhC"'.lOny D~ pod~law te ~tałcJ. 2_am Last "---go jtst obt;l"larry
.ml podstow1·~ krr.irnoku wi crżchokk.-o:-tw11;dtnu: ptwkto,"'' '. \Vdttor lt n je&t rótny d~
pciszcn.-g.:ólnych wien:cholków:
ł.. 3. rO

P:cmiis7.C c~c:ry " 'iersze oblic-,...~li\ we,kior \\ rel"'L-th fek-,, 1.10k • n-onnal irują go w tta ~
spos.ób. jaki pozn1:1liśm:y w poprzednim ·hadi:!rLc-. Znormalizo,i ~ny vtktor j~ ~ PESiVI~
1,8,' ftJiesll'2 · 2:
sub l. C"6. {I
dDJ r2 •. r2. r2
rs. r2 -• r2 ""
1 1"2. rl. r2 "

P-odoQni~ jak poprzedmrn rn..z~ m ohl ~czam)' wckrur J)(•IL1,~ y kąta , Znomwli1.0\1tiafl}' ~
1-apis.ujcmy w n:ji: rrzc r J;
dad rJ, r2. r(I
<lpJ r4 . rJ. , J
J'S(l r• ł 4 _,
Rul r~. rJ. 4

Konfig1JnJjemy m "· konuJ~ln)' ms1rukcji; 1 L. rmdohmc jak op1s.ano to w :poprzednim


shad~ne:
j}J rO.y , 3. .,3
rnv ro.~. d ,.i
1 r.:1. rO

W tym m~i;jscu wy~orzy lam~• "'· pókz--ynnik oslabi~ni a. Poniż zy wisrSZ po\voduj~
pomnQźen 1~ wszy tk1ch składu", eh oś,.,·iel l.!'.flll p rl~l. w ?6ł zynnik o I hilania. In~
1
(
,c3
S, c9'
• r6,

Shader ośw1 tlenia e ektoro.....-go


Ostatni shadC'r :1.oscał opr:1cm, nny na pod:-.t~wic pópr.Lcdnu;go ym razem dod:rtJ,:m kod
dl toL.b o~wi„1lenb rcłlcktorowc ,o, Poni:r~zy shądcr 11ic: posi3~ moiJ1 i wykony-
ia niclin iowc-gi1 profilu 14'lmk.1 nili dla obs;r. ru pen umbra.. pon ie~ · Z moim zam,:urm
h)'fo_ ~lw mader b.·ł . tostar1km o pro ty. Dla 2:łożonych ~wia, ~ n:fu!ktorowych po!ccarn
lJł$łOSIJWaflir: k'Chnik per-pi ·~I Ni:,eJ c: p1s:m~ ~od moll'IB n'13h.-ić v.• pliku Spr,1ltg/J 1.. J,.
s 1l

W_ Ol'i:ad1.amy poz~i.:j~
o~ . o.
~ ofoi.)'. dl C
cf'os z. .o c?.
~ !Ji, 0. tJ

Pon~ bki kodu j~t identycmy jak " p0prLc:di•im sh dcr1.c. Po 7~?ńcu_niu dz. • ia
'11 re~Słl7.c r-tl zn ~duJe s1~ zn41m,t1 lizo\\ iln)' ,~ le tor wu:r~hołe •Os~ leni ~ M nna:st
, a l.Yi nwitro \'ii',:;p6łczynnik o. ł.Rbi11nia:
... lhader
C ,., V.,....... W)luld;■hlłP •H liz I,,__, MHU

sub rll. c~. vo


dp3 r.l w. rO. O
r.s rl w. l w
I dl, rO. r-2 w
dst rl. r .,,,,,,,_. r-1 w,,w„
dp3 ~: w. rl. ciD
l'(p rl "'· rl "'
Obł. ilt.'ICzvn skalam wektora wi1:rzch~e'k~o ·w1ctlcn1e z kierunkiem GŚW.1
p~=~~ ohiekłu. war1ośe ,~ ~v. ko:.l, st~Jem w ce~~• okfeślcnia., cz-y w ethnia
znaJ·duJe
· :s•~
· ...... ·•..,_ ~tożka
... ...w.,,"'D'Z • o.~w1ctlcrua reflektnro\\r.:go ~
. r5 . o. es
Pt> mprMiliu wa.rtO!ici Uoc.eynu skalarnego w kladowej r5 :,: odejmujemy j~ od ,,,.ano:fci
pókz)'Miłm urnbm ~wiette.nie refl ktorowcgo. Koą,pooau x łtj c \ q_Wjc,.,_ 1il .
~t.a umbra padzi~lony pr.leZ d\,;~. Z tego pow~u ~o~my pomwn~ dwi~ .....~ :
dr1i1,,-a iloczyny skahmw. J~~ch w_H~l"lchołck znaJd u~c •ę poza ob~rem umbra. w~
k.ładowc:j r5 je.i;• d datma.. w urnym przyp.łldku Jc.."St to warto ć tlłJ4."mna:
si.Il) )', tll ,,_. S 1<.

\\,' pooit. zym wierszu kodu przyjęto :zn!oż:eru..:, ź wiel"lchokk majduJe s,1,r wev.'11..t"'tn
obszaru pen1,1111bra. l mość składowej re- Yje I kalowana pnez 'W'Spókzynnik 0 war-
tości I '{umbza..pcnumbro.). ~ temu uĄ'Skujr.-my li~iowe .la.111~ w obszaJ ze perium.
bra aJe zanikanie t>dhywil si w złym kienrn.ku. Pont , wti;:rsz koJY(:."Uje ten prablcrn
popr-ze,z 2ru"1ego,1.·aJUi~ 1,.i,,•aJtośd 1 nalczE •ńic utup,clme-nia. Poniższy "' iersz ~
ks.ttBhem ob.s:taru 7..'.IJ1 ikanie .
.Ad r!'>.y, -c .l t., S y. eł

Jeźeli wait"tOl ć znajdow;Lhl :ię w ob~z ~i,.: umbra. , 'Y" ik d:oałanm popr.ler-dniego witr.;u
j t"St wartością wu;kszą mt J. rru.rrukc.;ja n p woduJi; obci !CLt: wartości dlo jedności dla
, szystkkh wi~l7...:hotków ,,.,.~u"Tiąll7 ob 1:iru umhm :
1n S y, r~ y. ~ l

\V poprzi.,dnrch wters,..Lch obltczalL~rn~•· '"',H1os.c1 dfa pu11k1c"n, m.uJduJący-ch si wewnątrz


obs1..aru rrmb.rJ oraz penumhm, Ost.itm '-' icrv pnwoclUIL! ohhi:1.cm • wnrtości dfa ~
spo~.a rożka o(\ icLlr..:nia rr.:nc 1orowcJo. \\'yl,,.orl.ysau, 41: 1,0(:,_. t.klJwą waność .zapj~
w ·ornponcnc1~ r5 -"i. msłnlk 1 . . pra't.\dz~ CZ) '\Her,c.:hnk·k 1najduj~ i;i.; WC\ T!;\U'l
słoika Jeżeh tt • jest, ,, artość komponcnw .w Jest u~L.J.Wr:ma rut jt.:dcn, Jcteli tak me:
j„--s1. war1ośt .w je--.l ustaw iana na zt:ro. \\ ~puk1. um i.. .1.{l 111kani (,.5 j , ·n ast~:t
rli11ożon J)ne!'/. wartOSI,,: rEJ. ,v \\' pótcz n n ik 1.amk!:u, ia Ji:st ll!>law i811y n~ z.ero dla v..
kich _Wilemlimlkt'mr na z''" TIĄtn srożk;:i_ Drą "sZ\. lk ,eh po,mtały ·h ,,·icr_zoh ·tkÓ\\· ·waru>Sab
wspof zynnika zanik -nia po7os~aJc n1i:.rm1~mLm.•
sge o . 1'5 ~ • c. l )'
łrS. 5, . r--
p .,I, • •
ptJ"1órz.enicm k dll z J>upr.11.:tlni h 'hader ,, a k ńclJ ~11:Str r"'"
ónb.,li'l.C WlCrszc
zawi ra w~pókcynml,a ~\\ •~tł rclzpra 1..aJ.ącego 4lrnz zw1erct Jlnnl!8,0•:
dµ? O • ~3. rO
SUb r2. có. vO
dp ·2 w. r2 .
-~24.•WłlilM~z._..-....__
~.,,.....•PiwnliMn~

• ci
• eB
• ri
-~

Kod aplikacji
l'c&ł,rue j w popr1,1,:dm~h cozi.'b. 1abch. fuukcJa Rt?nder'1J jut w dut.ej mLł:f'lC ooJClf'•
m b,grm-nl1:m kodu aphkacji. Jest jednak kilka innych mitjSt w kod.7.ii:, k•ón:
i'i3-1'6cić uw.,:. Apliłw.'ltj.a l'\l'Or7.)' H'ey ró~ y ·rt<:X. d fY . Jecyd1.lJ~. •ot)' $R:ldCf'
~ ~ ·. na podstawit: in11e;:oncj _K oryShaoer. Pońi:'-37..il f1.mkcja odi;:,owiw
2J Ra j kani? na kl3waaturL~ • di.-cyduje O [)'ID, który hu.di.V bifdzi.1.: 1J,l&\OSO~'311)'
~ pt· ję;:
_,V•,....... Wjłl&sĘłllll"9 •••■ llLCJJ __. ńoda

lil(IOl ~11kłCJ1T~1k
ł
- 1")

- - - ·2.·;
fllkł - ~ar~ _ '3•,
• (~. 2.
r'!rłl ł mk,a ),
, 1 lu.u,,~

Qmawiaji\C pOW)"i:SZ}' l'M. nalcfy zwrócić dit ę na •o~że motna byle po lkOAu
fimkcj~ St? erte er. podaj . ~() p~metr ucl't :'Y1
do odpo\\'i.ednicgo ~ ~
roZ\\ iąmnie ti_ łoby n·ci:,o b:udzteJ ~'YdaJrH:!. ale mmm ceh:m było• .aby furt~ T~
była Jak n J°bardzicj zrozumiała_ Kod funkcJ1 R nderuJ znajd~~ si~ pon~j: Ja '4!-~ •
· d 1CA1>l 1 ac :"Clm -~~ O
ł

IPom •z,: wi ~ \\,rykóntlją konfigułilcJę m Ctt:11t)' wicfdku , świat.a ora,t Pl"leb..un·


glÓ\\ nej Qlil,Cierzy pneksłJafc om do sbft<k.m: ic

O X1EtTa!4 P(J,,!() tO O. 15 01. 50 U - a.B l.


roo iOO :1 LH( "'.ac: erl . no u. 11{030)' EC.~3)Poztr. a
- i, 1rCTOR.3C0 Of. O O • O O ) .
X1, CTORJ(O O • l O • O O ) ) .

r1 otat er1~A1vta.
Get T11; Co G :
OJDŁUATRI)'. twc· er1. ~,1e ,.,. _,....v.:,~
0::i(.lAMa n ...TranspoS, r.s.ii:ade a. >.
li! zerr eOOD-> Słv.idc- • ti .::S łade a . ., l.
Poni~ :s~k pm-,.·odują Ui,I ~~·•t..·1uc wszy Lkich włi1~1wo ~ i o \, iell~n.i • NiektOh 11)\ry
oświc:J lc-.ni3 mogą nie korzy tać ze wszystk I eh pararnc:lrów oś,, it!dr:ma. ale wilm~
je m~,vo. Jnk zw łdc U!iit:Ji., ianie t. ich stałych :n Lt: s.amc ".irtośc1 dl bid~J ram it
jt. t zbyt " ' daj nc:. Zn czenic wano.~c I stałych j ~• do$c oceyw,st •. Do bardziej l:!Jm •
:-xy,ch n Jety pol~ga wanos.t: i oś, kil nia :1..,, tcr1;1adlan~nu uS1itiwiona w ost.atrum on,po-
ncnde t.alt:j o 11 e1Jeni11 7."•ierciodlariet;o oraz w-.pókZ} nml.. u. 1ahiema odpo~ ·ia ~
~artos.ciom opjsanym w rozd2iak 11. Pam i~tajmy. u potęgił "".arto 'ci o •etlenil Z'!,\ icr-
CI dlw'ltgo jest pncdmiotem ogram1.:,_t."11 m ·trukcji 1 :
.. [ rn.O . O;. O
o·, E O. -1 O .
0J0 t ld l 0. 1
oao re o 1o
O l','fCTOO~ 1~ O O
OOO'ł•EC ,! Os ' l Ot . O 2

- llaljj npisują-c.a zanikanie: jcl>t tlo~r.: t.:uc mm, 7,a. P 1l:n\' i,


komponent lA\\i i-em 'k nus
kąta umbrn podzidor.y przc.t. dwa Dn1gi kompon~n L to· pndohn wartosć dtn_obs~ll'II
pcnumbra. z,,
róćmy uw~r;i.:. ~l! mn1i.:J ljiltl ·qlom odpowi :dnJą ,,, ts1..; wlU'I m~ -
sów. Trzeci komponent to u.1.upclnien~ pjem>,lcgo ki.1mpom:n"-I mini dnigi KQJńf)O~t
ykorl. . stujemy ~c1 do skalow1mia w~pók-L~11nika lan1.k.1nia_ a konil}C, "' osratmm
kornponcncre zapisuj~y pr,ydau,· -. rto~ 1.0·
D... h. ldn , an ee O . o ~t , 2 5 . o1'-
Pfłd) łill'ł):)' 'J.\'$7.f'Slk!le [Łt~ do :hadi:ra·
. .: . •l
~- 1:
re 6. .l.lr"l!'l1'1• '•
~1~1.a_-r( , f

r 8
I 9': . l).
derl:a Q l
•:!ie, ~ i .
..
U$1i'-'iaJ[l.y s]mde m1 pOOSłilw·e ai.i.;~ ·za naci niętegop 112 ~wnika:
.. l- • ,eOOtl >~~ •.er <!~.S 4d• ' _'St--~ le ·!" el o t'SM«.łef JJ.
Rentkru,emy mod«:l w zi,, ykły !;po.wh:
• G,
ot

eo30·>:S.':!t [n 1 ,( a
e030 *~,l nde-' t o.

Oto kod aplik -Jj Ja],. 7,\ ·kic moz~m.;- ~ pel)'ffltffilO\ • • ;.i.: ,.0,1.n)'ITTI paramctl:tWJli d
li, ·edy wb. c1WiL! LrOZUfl11~ lY ~m;óh d:r.1e.łl!n1.a aplikacji

W-11Ja rodzajów oświ1etlenia


wjednym shaderze
aid)' z opisanyv:h h:ldc-t iu· 1mpl ma:n,ujt..: f.rodlo ~~ 1 da ji:dnego 'YfU. :J~ me ate- 5tDJ
na pm=s oozi~. ab_ zaunpl ·mcnri: \~.J. k,1 ·.a rod:m~6w c►.-.;.\'ii:tl~i w j~fl.nym h:m -
J~~m ogr.u1i mern J'!:St lu:1 a ::i,a_l) h i il'ls.trukcH.
Motna ria.wi: pot:k~J:Hl: • 111 •mo,. ''-" 2 płlletanu ~wi tlel"lia J>\i'u, Jdu~btli '~~k.:;zyra
O~JWUc:A'flicm oo li ,i,y do.:;1i;:pnyi.:h slłll y h Jt!il Uczb.1 dorL\\r0lm~yc,b • ~mkc:JJ, Nfotn:ł
b i.a.pi :ć ~•idc r l7;tjów o " ·ii!tl.mm w tal)'c□. :.1 n~ępi_ue- ., i " ,sc~t
fil~ w celu póbrania po1cji .łil.n_ Il npi u M\ .ictl~ni~ (X1)>0 1 daff~] "~"n'!u itk.•
UJ· 'J. Za d 1i:t~nii.: to :JlOn~tew ia.m efo s..1m~Z1dm_ ·~b e' pctrymt:nl v.,•,
Podsumowanie
Prawd()fOdoooie- najbardziej o c z y \ ~ ro~m tm_p1efi:im~j ~l'iwiet.Jf:nia ~
j~• mdiwość umic-~'Z(?lc-~ll f\ankqa oJmct~m ~m 1~"'~ l!ftlctclfl sbadc ~
c:z)lW~i. jdeli na8X'Jffljedyrlym pow~ • m p ~J• shadet-ajest t1o11W:, \li~
·a funkcji~" ·e11maa dosiW,lli)'Ch , 01rec1X. to Lepie~ wytorzy, r.M o.świet.1 . ~ib-
lne. -y., Melu spośród pop~nic~ 1111zdz1ałów ś\0$0wslem 6ardu, Pflmt~~~
po ro. aby móc kon,tntro~•a e _si~ n:t •~h efcklat::h. M~ pov,'t'ócić do ~h · ~
i dodać pmwdziwc funk~Je 0$1A tttemo. Oto pod umowru,,~ ~dniim tego,.-~
• Jeulm wyJmrey tujemy s.h:;ułer-1 nLe mm d0$.łq>IIIJ do wbtuJowan}IOb funk,::-~
oswicrli:t1; Dirttt.X~ J

• Ob1kzcrii " ·ekt-oro"'~ w pt.!CS~ obica~•ów są m aczni~ 2\lniej 11:~ ll!


obti'2enio~·o nit paek2i.Ztalcan~ "vszy.stkićb wr;l torów norm11hiych do inntcłl
p$str"Uj'll~
t Ośwktknme k.iemnkO\ t to najproitsz.e oświ ·nenie do i.a,mplmie-mto"~a11ia
o raz v,•Jlllllgaj t~ ooj rrrniejszej liczby ioo1rnkcji shader....

♦1 Stałe oświdl~i~ nl'lOtoa u.! ta"-1 j ~.tak t."~ę:5•?• j.ek_pio~a. Jc~eli ró~ □biL-kty
cha.r.dm:·ryzuJą s1~ rómymm ,v ~n ośc1am1 OS\\'1ellc111a► mnźna ,fklpo'Wicdnio
usta, r 11:mm1~"1f OŚ\ ielierua..
• rsmit=jt=. mo21i"•os.ć zaimplemenlo"'mlia wielu. rodzajów c,.';wu:ll~-nie 11 ~ ~ym
shwh:17Jc. JL'ld'yn,Y1n ogrooiczenje:m. są ogólne ogrnnLczcnia s.baderów,
Rozdział 25.
cieniowanie kreskówkowe
ra~ \\ ie1c 1 t alb
gł WOJ m ~elem k
'-
nsttul'torow kan rrr.:1ficzn'-'-eh 1.,vto h u
. c-· - 'Z ~· · ~ ffie'AJll' spf2.ęfU
ktÓ'i)ł: Ą~~-~ y ':,..,:Lstyczne .obrazy ~ czas,c i;zrezywi tym. farądok nie, 11,dy ~
• ~ty ' : 7~ey ~ 1'U u..1. .t.uc~ 1! "Yffl~ l a6 C fcł..1y graficzne. ldórt< \YCa,c nie były roio-
re31 I.} 1,:;ZTJ~. ,emowaau: kre-skó. km.\ i; ( ng. carioon 'Nhruimg, Jes.l jednym z ,~rd;tow
'kr.M}' ,1,, • • .zn:1-ffl. z filmów ana~ :-anycti dm d-Z1cci. l)'ln mmziC1k: om rię. nas~
pu.j c Llgadm~ma~
• , ikony 1)"1 a11i sbader · " ' i te . lur do re,11izaeJi z.łożonych aJg-0rytmó
mtn(k11 iQ.'ttnta.
♦ Teoria cicmiow nili kreskó\, k()\\,e o.
♦ [mph."m"nH1cja cic:niow:m;a kn;skówkowego w śhlld rze.

♦ Inne prl)ildacł)· \\'}'korr.ysl nr~ t~dmi "~,

,Shadery, tekstury i funkcje zespolone


Shader kre ków o". j1.: t j edn ·m .l p,L, ktarłiw,• ogólrucJsz~j kb • h:;1dt,-t'Ó\,', , kt rycb
zaimplementowano zloion blaczcma kolon1" L \\ orzy tanLem tekstu illiesu~:n; ,
Wiefe le hmk ~1·k rzystuje 1ekstury które k. uj "- iki o'bhczeń zJożonycłl funk ji
m ti...-rnatycznych x.amiasl ••,e tur" ~•iYu.alnych. Shud r Wtylw('lujc J;)ł;~'lł • pros;te oblicuni
v. -C(pne. a wyniki zapwajt: du ,, :,półr,~dn) eh rek. M)". ~ e re ą pun)uam1 od.nit•
itnu1 dla złotor.. da timkcJ1 matcn'Wll)'c- nycn. tt.ló~i,;iąc in ,:-.rej~ verfcx sbade:r "'.. c~
pe, me war14 ~c1 ~da . e p:uamclr..t.mi p:rzcka~'Vw':lD) mt do oordzit:J ~łoic:mych fu,1 CJł,
1

, tózych 1mplemcnwrj, w shadenc byłab trudm1 do re U1.· cji


slatd uodJa
W!obr.l2fity sobir:. ~ do ośw;eth:ni wi~rzclmhl<a °!am)' zan~ w,k~t'l)' · :1· \li
św,alła. aką sym 1~ Tt\OŻQ~ pnt."tiSlaWle ,,,,. posła 1 !JUlS.t "PUJ CC ,o l'ÓWiWHlir •

;; J, • \f +(/ • r

Pseudokod bad · Y.'Y, Iąd b n tt;pl.!jącn:

3 f-0 .ł IERZC 1
~ o y. l[Rl . JE
OOO,
Ryaunek 25.1..
K~\r;IRfL' ™"'l'
J1nkh 11tllffl' e.
" (, r,.,~
I

- · J. ·.
I
-

'
. .

Kti2dy u.-ksel za"~c,r-.i. sum't dwóch warlosci 0-ś,7,,j~~cnia- Ro-1.miar le~tllJY n,a dC'tydlJ-
j,ąey V.'JH)"'.,. na dokładność po~iczeg61n~fch wai1osc1 - _ wyż~ ro1.c:b:1~lc.zoŚć 10 wi~uj
piróbek "'afl(l'.ki fuokcjj T t;l"3Z, za ·_l~Jąe. _że rendcru;cm}· w1cr.l-cholkL \ve wlfi!Ścm,yl'!b
Slallilt:h tekstury, pc,Lądany c-fok.t osYtJctlcma mo;r.na 'li ygcrtero\..'fiĆ za pomocą na.stępu.
jąc4.-go ,seud-okadu~

~=
ap.3 o x. t. . ~-~
op3 oiO y. 1, ;.i
rv.Rza~ry~KA. , 1rnu· E, s a~ 1•
LfP.Zu I(.;_ .)[PIJ~F")t-; '1 L~'

Po""''Y-~7.}' firawncn L kod u shadera p17YpisuJe ~ spółrzędnym u i tekslt1ry wartośd po-


s:z:ezegó11'Jych kladowych oświedenm. lanow i ą one punkt odme Hmm - ria podslawLt
tych wru1ośc~ 1, ·orzonaj~ EkońcO\\'a 1eksrura. \Vsp,ólrz dne lej tek tury 2awierają~
poszc1.L-gó lnych skladO\l,')'c-h omriedenia. OczylJ\'1~ Je fK •dan~ fH"'ł.} • tad jesl baoaJn;- i nie
wymaga sto.sow.Hnia tego typu rnm11ąza11 . JCLlnak s;an1ą knnc,r;p,.;ję moi.na: l:Ut0SO\-\-liĆ dó
bardzi~j złożonych funkcj i. \ł yobraim;, sobii,;, 1,;1,; .tamiast prm,tr,;go dodawarua di,,vócb
war1-vśe1 lr.F.eh..1 wykorzystać n tępuj: ce ró"·namc:

C = sin(/1 • N} e;~tf2 • N

UTI je smu i kosini.ts omów1lem w popr.Lednich rn,dzialai.:h. wi';:"C z pewna c:iąpol:m•


fi~ib~ ·my naJliSać ko<l ·lmdera rcalizuJ~C _ p1,)\•1.1yi.sze równame. \ ym~gałoby 10 jł..,Ln ·
uzycr,~ !ip-O~J Ilości inslrl.lkcji. Zamiast ti.:go mo,L.~rn_y ,,·yg~ncro,,·ać leksrurę. los~
P0 "-'Y~zy fra~mcot kodu, a efekt końco\V}' n1,"' mcz hęd211; poprawny. Na rysunku lS._
pokai.mo, \\,' Jak, ·poSC:,b ¼')'Ili ki pow 7.Sł'A!go równi.n-u moźna L'iko<.lować ,,; wartrn;eiacb
koloru"' t1;;kstury, Obliczenie dwooh iloczyn_,u,i skalarnych i zwró-eenic wspókzędnyth
h:k lury ~aga o wieli;; mniejsz~j ilo.ści ins.trukcji ni.i aprnksynu1cjn za pomocą ciąsc)\'
aylora pokaz311a w pop:rz~dnich roz-dzia fach,
401

Ti ~o l)!PU ~ :jkie \\'}-nuga uzj:,;iil mn' CJ~11.;j !lośc1 iruAAJkcj1 w ~ :rie i j~Lru~·i-ą­
z;miem bard.1.1~J da.~y Zl.lym. PrLJ·~Jc '\! · rówmeż, sdy n.1łt!~~ ~,ooo..,.~c fim~ej , kcó
1

11 ic: !i.\ łat~ c d l„::t1mp1 mcncuwam ,~ (k)moc-ą pódst.av. O\\')•cl, in trukcJ•. j::!lm.• feruje::
drr. Zak , l~O ru;t"'lą;'. nm ZO~l.a•Y ,,-ylol"7.}' tlJ C W d~kck c1Cml.W.'3ni.J. lu · W•
kow~go.

Shader kteskówkowy --- częśc 1


P'okłwme dot 1,:ni m pr.ey kł.uł~ kod4m nia :l tu ~ "" h fun ·~J' " c1.'"kstut71!' ~ 1) i:.a!kO'i\<·ii;i.c
Abstrakcyjne. T !.!rdl pr..rL~t.btaw,~ ~had,-r kn::sku\, kemy. któf)' Jl.!st proc;tym pn:ykład!.!rn n
to, jak hm J)OID) ,;I \\. kori:ysl4 (- " pr..lł:l) i:~. ~ I) sun ku 2 ~. pt,kaz no c..1b-jt :t . ende-
ro \\ tm}' w obccnosc1 o;w, •J lc-111~ ·1cnml,.;(1\\ i;~t,l ,,. 'l'.14.r-,.ob re. I, L}'c.r. ny I z \\. }' ·orzystunrem
rmtody kres ·ó\1i·l,..o" l!_I• Na J) 'iunku 2• . t uu; ;,r:un.1 · 1•mo .1~s1'..:Li: ~onu.110, · obie ·tu
powroo do -~o nieba" t!'m.

. "d kol 0 rtl\\ zast o\\.'ilO}tł.'h ,,. obu rll o


Gd)'b„ 7}"m ~am iar~m było u,.,,..,orzi:mc ,~1 ma
IU!
dach, wy~tądałyh. OTll'.! w.J.; jak nn. ~ sunku 1}.4.

~nelc 2SA.
' ~ . K ' nttA
ltł~('Z,r~
..
.••"M •()
Shader kreskówkowy - część 2
Rysunek 25.S prl.eds1a~ ia mul ekranu aplika-ej i omówmorn;j ,, tym r, zdz,a le, id3 . na
1

nim obiek1 z :ZiłZm1c·amym C7~ą lin~ą kontwicm. Efel1 konturowam~ opit:ra i~ ró~lłi~
n_a. teksht~ odoie ·i1mi~ nie je-s• jedm:1k m·iązany z os\\·ietlcmcm cen ·-

Efekt kootumv. :mia symuluje kontury obic:ktu w laki spo · b, \\ jaki nary ·owałby Jr.; grar ·
1

pned pokofo'°' anfom. W 11as:cym przykładzie kra\1,1ędzfo l tcfim HA'ilD~ są z penpek1yv~1


widlza. Aby je ge□erówać. llłllety p-orówrtc11t lilonnalm dam:so u 1c-r..zchołla z ,...-d,to-
rrem lkiero"uym od tego \\1ierzcholka do ka wrdza (w prze trzc111 ob1ekm}. Jdli ob3
wek.tocy są do siebre podobne (czy!i ich iloczyn s,k;1larny Je~t bll~ki lJ, (mln za ·to. 2t
wJen:chotek ,nie fe.:ey na !krawędzi. JciU wektory zna~.mi _i od sicb1c ró 1fat (iloetyn
skalamy bti.ski ~}~ wicrzcholck stanowi częśt kra" ęd.1 i. Obic sytuacje zobraz'O\\allO
na rysunku 25.6,

Sforąc po~zy rysunc:k ?Jl porumnY~ mo,ż~my i.,.iykorzy:,'Ulc lc.lUi LUJ\i o~niesie-ni ~
zasto~, •~t _aJ~ ,skalamy wektorów jako i11dcks tekstury. którn modu low t-ab)' t~-
it\:Lrę.1crenruJą~. ekstum odnie-sj eni11 oludf0 J by kolor c?.a'lil)' dla ·1oceyn6,Y bUskich
zeru, kolor omty dla wseyslk'ch il!'l_nych \vanoki. Jcd1111ki~ może pojawić ię problem.
J li Uh~orzymy tekstur •• na której wy t~puwatby niewielki CzaJl'l)' obsw miałby on
wi~k zy niijest to potrzebne wpływ na wy:1~1..e poziomy mipmap. Mówiąc inatze§, nie-
które obszary byłyby 7.ocie-rnmom: nic:,god.nie z oczeki,1a•an1arn1. Rozwiąun•em łc~ pro-
blanu jest ręczna konfigura Ja po1.inmó"'' mipmap i pr-✓• pisani~ różnych Wil.g czarnym
obszarom :na rożnych poziomach. D:r.it;kl temu efekt konturowani11 docy,czyłby tylko tych
nie'lcvidkich obszarów. kt6n: milją do!itęp do Yryż,szych poziomów mip. Th.kie podtjkie
eliminuje dute ooszary. gdzie np. tylko jed~n ,,.iee'Zcholck leż, na krawędz,. ~ reszta
poza nitb przez ce., ~fl.!kl kcmlurowanis n.rLciąga~by się na ibyt dufy fragm-.:-nt obsznru.
RY$Unek 25. 7 po,ed:,taw,a nl.1.nc pozmff'I}' map tekstury konłurO\\·ani .

C
L 7
11111D


I
I
·.!!:_
: _ _!O!!J!!Gf!!V~•~!!!!~~~~•~...
!!!--~muc~!!l!•!!•l~!J,!\1111~-----~-~•!!•!"'!!..______
~

~ tebtulę ~ w erckcie krclikóWkowym ~loW8llyli ~


nVidiL P.opnzz modyfikac,ę wag lub kołof6v:' motna ~•cr11ać ~ kon~ '-t
WicbzY .-isk na czarne obszmY nit.szych prmo~ ~•P da w wyniku zn._~
DDola nicwidiim zmianom kolorów tub ich ~ ,u motia uzyskać ciekawe:~·
Motany mało aspetymcnto~- Pamiętajmy Jet:lna14 że naw,ec niew.clkie zrni_; ~-
powodować uzyskanie zupc1n.e lDllyd\ efektów. ~

- . .
Implementacja c1en1owan1a
kreskówkowego w alladerze

.s ! l
Jak ~ ~.,, kle. na początku wyprowa~m~ poło~~i . Shadtr kr kó""''.kovry mo-tn 3 \ \ ~
nystać j 11ko uzupełnienie dm.i.•olncJ mneJ techtukt. Na pr~ad. pom2$"1.e wu?~ moma
zasiąpi techn,ik.1 skinni ngu. UZ}'S.kuJąc postać z kreskowkL :r..cikł:Jdi!Jąc oczyv- iśete. łt
aplikacja. siatka itd. odpo~•ied'nio skonfigurow·otłni; do obu lt:dmak.
d · oP.os.A. \o, co
af'os '/. ·O. cl
oPos; z. •.1(1. c2
C,os ... . O. J

\\ r kol ~ny.n wii:rszuodwracaan;- k icnrm:k św1atb. 1:i.k :.1by wek tor był Z'-vrócooy w ])l"l(•
c:twną_ ::rt_mn1r niż
wier2 hulck oka• . n:l 1ępmL!' 0blic7an, iloczyn skalam. t~go ~ rora
i wekilO norrn.:lln ·go. Wynik jest pod ta'li'-I ow~ ,.., :.uto •~ oświetlen i;.:1 rozpraszaj~ c-go,
k(6rą J'}nt."t:howujem we w półiĄ;dnej x pii.:N'~Z~J Li.:k„tu ~. Tek ·tura jes1 JOOJlOW)ll'Ua-
10wa. wi\-C 1tvykorey8,ujem" l)1 łko p1ern ~✓.ą \\'Spót 2ę<l ,,ą.
(lpJ o o . .. -c.5

&St pnie \\yHlac"mmy znonnali1.ov,•any '"'"·ki.,r wrnr.1,hokk-oko w pr4-stra.'111 o e tu,


który znpi ujemy do ,~je. 1ru r 1.
l. c6. •.o
.lii, ' • rl
rs-a 1 . rl ·
l rl. rl. r-1

\\rynik iloozynu s h.uner~o -...duora nl.ł:nnah L'gu 1 \i\ektvra oka 1ocsi1:1jc- 1,api an ~,,re w;pó,1·
r:zęcfnr:j x drug~r;j te ·1ury. 2 IL~~"'~rienic \' la~i"~go puzi mu mip tek. mry ,ldpowiedzi:31M
Jt: rt urząd~m~ . Pan,j~tJ.jmy. le opcruJ~JH~ na te ~,une Jei:Sn ,,; _miaruw j. Tc: ·S1W'8
kontmowanmJe.st ostami ą fa,.., 1cks.tury i modułuj c poprzedme warto." i. Ze wz~tędu rlS
to 1 ?tarto. ~1 !e li ·ą l'ÓWJle ~ro lub Jeden, u 1nwic3j~ one k( r\tow kolor jako cl,,lfll)'
1

lub Po20SU1w1aJą go bez zmian.


p3 Oli .. lJ . r]
AP'ildlCJa cieJ1iowania kreskówkowega
pi.,dobnie j,flt pt)]'l"2le<ID•~• omM . iii \vyl'ąc:zm ~ ~~c-ję Rel'łtle 1. Jcd>"l'l)'m i1ne1~uj pym
~remje$'t ~~a.nLe d~h t~kstu.r_,,., funkcJ ~Poli1n1q fl'<lniu. Pcm,• kódUl)dm\\J'
~ ikAr:.ii ui3jduJe s•ii nBJ "Ziłlą 2oneJ plyc~i= :[)..RO · _
o,d ~11 aq i Te-.: fi :~ l)Ó{l :.1J( J

ł
. aJpier1r'' ·ol!'riig~roj ~m msdcnie widol.7.l i Ś\\:iilw. ~ 1rzeksz_cal~arm' j1: n1l pot~by
h3den1 Po_fo-:ten1c kni wyk r..eysliłmy JM)rlOwme: w dalsmj t?"~ · i apllkac:ji 1 gdzie pn,c-
btt.m •j~ do h.adcra 1t.~• r;rzh.J pr1:eprow d1.e11ia obliczeń kormarów.
!l.::Lł rEI; Ct,l4 .PoM a CO O. i O • -50 ,O • O Of>~
~'t)ł:a t ri loo' A L ' .. CH~f'Z Hf-O o. ~D3011/ECT~)'.P:ot a ,
DKVECi 3{0 O. O.O. O O),
roD .EC ~3{0.0~. 1 O. O 01 )~.
Jl'ł.i!tr '"'ot-!tl <•
<'• _l'-'4t1er.i:S l~t,;i. loaOGeti tc· Cou,itO J 1000.0 ).
[Bil'j/.2, ! ) · enSi· ~d1:r~ - ,11,
He'!, 1 ~r zS· 1ata "' :".d~, l!'I ~u .,. t'.;] )~d.Z u;
113:,.~tfl ~ird!ISj)C·!i~ ł &~c H~ l~~aera' !1a,: en5tlatler-!': - •
i~r:lzem~-,.Set1ier' !!'>=S ad~rCol s r!nt(O. c1erz5hadera }.

,hk 'i.li1id2:icli 11y w poprLe-doich 11:tzdzia.hłch. kierunek ś.,,,fatłce podaj.e-niy j ko rz«z) , ·54)'

i~'Tl.Dl(l'k.i z ktÓl'\."gO p;3da S\l iatlo. ruitomia~L $1,adene odwr:ic.amy go pO 10, aby ornyma
kit.-run~k odi wierzchołka dL1 i.'.lkll .
00 , t.CTCfl! ·ie :.a 'il(O li', LIJ . O o~. O O).

N'~pie przcks.xt.akamr wektory k1crun ku ~, ialła I oka do p~•ricnii obklru i ptz~·


~jemy je do shad,.;:m, O~r,11.Cjcło ta jes.1 polu..cbn ,do .,,,.,_,kona.ufo oblic:1.e•• c1cniowanht
i konfllroWilllLa..
mt. TlHX D:t""nxon,s"-~L
K(I,~
- r-,:.:Lnver '1n iolt. L.
,.
7-'ec~i rans !o 1., ► 1 wa.a Qrl,)1'5 na"',.
. ('i'~,1 f~r'IS :c .,_ 010 il . ,.,

Teraz, pr«kiIZUijem · do · rnuk:~ stałe. \'V n sz: m prr.)tpadku k,enrnt":k _'-i.ii,· i~lleqi 11 ci~
:unitoia się~ więc oblicz.·:nlic i pro.--s.yłamc prz,ek5,1:U1Jcont! ro we tora Ś-Vll lhL w ka~deJ
ramce je:st m:lło oiuymaloc. Jc~I i kod bt;d1j dl nM c3łkowici j sn '. mo2emy ;..a mn1i:o
ZOfl~maliz-0\ii.'ać:

... Jrzao.&n1 e03D•>5!1.t,"ett~&aderCOrtSlt:iin (5, t~1erSw· ~t a. l·


-_ ia4zen, e-OJD- Set Yer- e„Shad rConstanU 6. &PozO a. l J:
Ullawiamy \tCtteX shader, Tu-.; I d : ~ ■ił optymalizacja.
_lll(JrUQen ,e030->S@t.~rtexShader(tl_Sltadef'Kresk.cMlc l ;

Ustawianie tekstur jest dość %foton, o~ją, której, nic trz~ W)'konyw11ć w k
ramc~. w tym przykładzie robię 10 wyłączrue dla przeJr.eystołc;1 kodu: ~j
m ..Orzad2~teo30 >Set ell.tur,cD. _~lekst.1,1raK~es CJIMt );
- lilłl.-iadzeri,eOlO->SetTe,;( re< 1. _wt sturJ11<1•a·-.iedz1) •

lI tawiill.Ilie $Ianów faz t~kstury t; ramkę mo~ być k~n•~zne ie wzgJędo 00 dOść _.
wielką liczbę saa.oów, klólle ~$~je i _odtwaa.a klasa czcionki W)'koreyśtyv.•a:na"' aJ)lit'~
do \\'YPffiwa~ia inronnatj1 o Ila.bi~ mmek.~~anych 1;'B sc~dę. w cz.asie a(j1
maliZO\\lanią tCSf frugmenr lmdu nalct.y pannęrać o Jego pown\ZBl\.lu :t klas'\ Q.C-j ~ -
0
W kolejnych wicrs~cb usta,vimny teks.turę r.a~.. ~~y odPo~e~nio obcinałft w~~ d
z.a..ktdiu od o do 1 . Ma ło _en~_za.ró~o przy Clemowi~rn, Jak 1 -...~t.zaniu kOJ)t1,1rń'lll~
gdyt nie chcemy obecnotc1 "'rtośc.t spoza tego ~,atu. •

Ponadto~ dornyślnie pierws~ tek.mira moduluje: kołor 1o:zpro~~ a dru~ jest ""''}'~
Ponwze.wie~ u~qua1ą ~g_ą tek ~ ~ ~ e i ustav.:1en1e ope.r.ac1_1 lk.oforu łka kolor
modulacj1 oraz fil~ mrp na ~ltr h~J~"""Y·. 1hr hm~ry ułanv1a ~ . pn.ejść w mi .
sawb. w kłól)'ch wrnrzchołki zna;thuą się ml gra.n wy konturu podc:zas an u113cji, q.
i(Jr~iłd:!ell 1e03D-::.Set Textt,r-eS t.ageS a e (O. D3OTSS_~ESSU. DJOTADOR SS_Clłi.liP} ~
-~Urz~dzen1e039 >SetTe.xture5t~eState( • DJ0 SS_ADORESSU. OOOTAOORESS_CLAA~.
- ~r.!ad;roo'feooo-~~t Te&tu eS ageS ate ( , 030T-SS_tol.OROP. OOOTOPJ()OOLATE) .
_:,,,v lildlt!tl1e030-~S@t @,:tureS ageStaten. 030TSS_ PFlLTER. 00.0 ():F_LH,EA.~).

I ·~mny jl.lŹ wszy~tko s.konfigurowaru.:. t'if.'fldm.jemy więc ~ia,kę w. tandardov..-,y SJ)OSÓb.


Dla na zego konkrctm:go pnypadku konfiguracja co katdą_ rarnkę iródła strumienia
i indek_sóu, jr.:.. • uadmiłłfowa.
~ rzadl~ eDJD-~setStrea:llSotlrc~tO. m·..ł.i1at~at~1orl.:1er2coolk.
- s·zeot(~ RLCc;()LE~ S!AT [)).
, rzaozen1eo.7D->St-t rr.-d1ces ( '61 au.a&ufor nde soii. -O) .
r.1-11U~zad.~ieOJO-~ra;.,dndelo:.OOPr m 1ve<OODPT RJ.t\j Lfl 1ST. O.
- W~ l atk:a •~rn...'TilVer l ces { . , 0 .
: ws1a ka-:J""-.,et _ acesC}):
J
Za:pe,\•nc zamva~ · li =my. że w kodzie nit; poja, ~ła się definicja formatu ·" rierzchotkóv.
sit11lki? ie ma \.vspółnędnych tek ·tury w formacie- WJ1:n:chołka wejiciowego po1nimo
ti..-go_ 1.e heder "1YPTOwad1..a wspól1f7-ędnc kkslury. Pome,-i.•az nic kur.tystwn„ z w-artośti
wejścfo"')'ch. zawrn nie powodu ich definiO\\'Mia. Typ informacji "ri yjści , ej nie zal~ży
nalomra~--i od formatu informacJL wejścioweJ.

W kodzie· Hplikacji nie ma wiefo .r:niej~. w których rno:nm p0i.::kspe1y111cn1ow~. '"°rL~k-


liZOŚĆ zmiar1 można dokona.ć wewnątrz shndc-ra. albo w tekstu rach.

Modyfikacja tekstur 1

Z~tosow.uia przykłado,wa te tur-a cieniując-a nie tylko 7m1enia 1m•~2enie OŚ"'''ietlenia


waenchołkow. ale takte dodaje ni~bieska,.\'e zaban ie11ie. . hciafem pn'tz to pokai.ać, ie
Modflik~'"'anfo t~k..:;mt cieniujących umoiliwj~ ruzyskiw;J1nfe bardiw cie ~\n,.-Cb efolcio11 ,.
Motmt ap. zs.stosou-a Et:~111n; dwu"'}'łłliarou.ią, a w jej ~6'oych 'Wlit=fłlltCh wsmwić
r:óŹfle t,;b1m)· jednowymi;uowe Shadt:r 7.ll'llicniałby ,1.-spób-l.t;d~ 11 tek.<muy OO-~\lt,'ie
~'1!11.oc;ei pwmcj ~ - ~,;skan;, t."fcld polegało · rn.! zm_ia11ie ~ u ci.miowa11..k1 obicl.1U
~ z,.~o n kreskówkowy w mian: pu4X"hodzenb pr1i~1- poszczególne wiersze tć'k.snlry.

Modyfikacja shadera
z teduJ;ki. jak,i \\1ykc~r1.y~r11Jc shad.:r kreskowkowy ko~·sta wiele inny<:h sfmdrz,~.
Jdłi s:iegmcmy do pr-.J;t:glą.1.farki cfcktt\w nVidia EJTi:d Browser, zn3jdzienry wie1e sha-
dero\\'. k~ ,vy.korzptują u:ksnrr • oo kodo\\ama bardz~~i -.,fo:>.on)•ch funkcja. Na Prz)'•
·hd. ~f(kl membran) polt!l:!_.L nH wykor,ystamu (aktu. że niekt ,re m;i.cerii!ly są ba.rdzitj
pm:.-zroczysL,;~gdy p~r.l!,1 ~l na n i.; "prrn;@, a nh: pod Jak im; kątem. W anośt j loczynu
w1a.rn{"gCJi wcł,Jora oka i ,vckll ,riJ nnrru;;i lncgn jest ,, ykor,ystaoo jako indeks do 'l i!~lur
·ynn.1Jujących róźn~ m:1tr.:.ria~ •. Inne ,efekty ynrnl~LJ::it Jll."S7J;7.C tJard;.riej złożone d:z,alarua
pormędzy Wt:kto.ram~ ,

W otejrJym ro~ial~ rrmmii.:ż w~rAorz}:i.trtm~ pompł I rek:S,ur.1mi. j!.!dnak tym li'8l •~


.zamiast zwykłej lek lury " 'ykor.lyslam rnafkc s.o,:~c1~11m1. Podobn. i;>om~·s.ły b\°(1:z1e
mwu„"rac l'Ó\\ nh:i . hudcr ,., korzvstanv do t worµ;11i.L c:fokm od bida.
- ... -

Podsumow,anie
il\\'eJ. jeś]j
nigdy njc bt;d2ie1ny pisać gier c::z) aphki.,,Ji "'Ykorzystuj~1't_li s~I ~-~ów-
.k.O\li)'. wan(I iapttmiętac pomy~I przedsLa~,·iune ,.., 1ym rozdzu11c. W1efe fimkcJ• ~ub
redlnik kt6re fflOllyby b~ zaimplementowane z wykorzy11aniem illSll\lkcji Ji...._
-:-t...\ ...... .:,.. __._.. zakodowaĆ' w teksturze. Czasem bywa tak. te to7"11ri•--·'"~.
Q •wn;tllli ....~■-., IIIVAA- • I. ' • 1..J. - • • ~ i , e z lek
$iUl1I jcsl bardziej elaslY,CZfte, ie zamreśctłcm w,~..._szc:J hvsc1 pnykladów tego •
pc;,nicwat wszysdde op~Y się na tym · _mym pods~wowyn, pomył.le G d y ~-
• IUl'I\ --..a-i.ale zaAn-Anicnia ~tan~ stę dla nas Jasne, za.s.tosowanic ith w . •
wlOOC w „7 ... ~ " " ~ .. stan. od . d h uv1yc1i
efddac:h b(dzic pol1!pło W)'ll\.cznie na W)łłfl.017.)~.- iu_ ~ wte_. me funkej1 rna1
tycmyeh w rym samym podsta"•oy,-ym sb11dcrze. • kod.zn: r.tpbkac11 . 1:nia.

P~tawiooe pomysły nadają się równie.t. do "'rkorzy ~ra w _pi~I sb:1dt.-rach. Wiele
z ieehnik wykoriystuJących pix~l sbadery 11ó~1~1; t korzy~Jc ltk~ry jako tablice
_.,_,
VWUICSłfflNl.
w niektónmh
..,-
pn)o-psdkach
.
wmtoi:.e1 U:kseh z Jcdlłł:J tekstury są wan~ ---
. .d, A i.... .
--'łl01)
~ i punkiem odmesicrtia ~la mneJ _rę; ...s.tury.. ~"~ hm .;~osowaA1B •-=kstur w JIUttL
shadl'rach zajmł się dokładmc:J trakc1 on,awmn1 t:ec 111·1"' p1~..:I s,ludi:,a w dali,;l,r,:J
części ksi~i.

1
koni~. " 'atto zwrodć uwogę ntt znaVw nsov,il~c te hniki •. ~ lÓJ<C pojawiaj\ i n h01y•
.lOOCiC'. a dzifk.i którym pae<fs,Jwrr;,nc zaga_dD~m~ mogą hyc Jesze.ze. bard,,jc:j Przyda~.
Pm~podobnie w niedal •ku: · ~rL złoś 1. zetkme:m . sn: :,.. ma~a';l'J prus.un1ęcia_ T ~
stury •~ pn~uwaj poł<>funia wLen:cholkó": w opfil'Cld o \~artoscJ U:k~li. (hi · tem1,1
mo2:Da t\\·orzyć nom:. interesujące sb_a~ery.1ak op. m~luJące ~szary Reziec Wp~
wadzenie t~b tur o, ięk j dokm'!"ose~może Hd.oskonaht !zysk iw ane efekty, To j1:dJ1
jesz~ pm.-d nmmi. \\' mię<iz}'czasf poz1,1-·ofę sołm: n3 krót ·,c pod umowan ic rowzt:llJu·
• TekscW)' mogą h , c nie ~yłko -do tek turowanm obiektu. ale- ró ni.ez.
do pruicl10\\: "" ania wJJtości złożony h funk,.;ji. Uri ·ki 1emu s.tat1ow i· , 0111:
pot,;tn n:if'lędzie ~•_po~~cxcniu z odpo\loit.-dnnn shad~n:m I stanami fal:}• tekstucy.
• Tek rt11)' dwu ~')'m1ar<.n ve m gą k do\\'OC funkqc dwó łl t.m i~nnych •
.a j cdnowymja·rowc - funkcje jednej i.micnncJ tv rut tc;pnym rnzdzialc
do'Al·iem}~ 1ę„ jak ,v... kor2f.Uc lek ·Lury trójwynu~,1rowe.
• Ciimmw·anie 1klt~kó'l.1vkowe bazuje m1. f:.l ·,cie. ie cicn1owantl'. obick16' · w kres'ków~
nre j es( płynn~. Mo.ma 7.ah:m wykof'2)'~•a · I ·k · Lm, • .._,. kIór~J 1..1 koduj em
nie.:; iąg,łości W) ·tfipując ,\ pr xr.: ·i~ ci "'niowttnia \:V.!>pułrz.;dnt;! tek Lill)'
wykor:zy t uJą ten s.am iloczyn ka lamy, 7 kl<lrym J:ctl..n~lism) I\; v.· r,,. k.ł)'ITI
Q.S.w icdeifflj III mzpra zająi;ym ,
♦ Koniory obiektu ą rendernwan~ .r w_ korzysum iem 1ckscuT) . k1 r..1 koduje
cmme ,1,,•a11ośei ,naw pólr~~dn~ch u:kstury hli kich :leni. ianow1 to tabli~
odn14."Sienia dlil iloczynu k:dameg,<• "'''cktora oka i \\ d·..llmt nonnailne,tto.
• Tł: tum kootWllJ kod111jt: kr:i.w'tdzlc na kai.dvrn fX"mmic mir) w 1n1 ~· po b. DZ!~
ltm_u e:c~ k n1Urow1UUa jest \, 1doczny j t!d}'Dll' db 1y4,.:h \\ ier7 ·hnlkó'l.\'. kton; fuktyczmc
znaJdty; srę na krnw4r-dzi obid;lu i kL6re mw,Mdo"'•~'J' do,,.) lSJ eh poziomÓ\"" mip
• Zastosowanit: rÓxfl\Ych tekstur daje różne efi:kLy kor·,c \\ ..::.
Warto pooksp ·ryrncnlo\vać ! -

• Pod •~-."' Y h:ore1ycz~t,; omawinni,:j tec hnikt . '1. takie s;,mc Jak poru tawy innych
•~hntk ii „ kor:ry EUJ c eh teks ury jak tabli ' t..: odnit: i niL. ~- an po. ·ię ie
~hMr.rf1t cza u ?9 pr.lCjrzcn i i rmych h:ch nik 1 70)')( man 1c . ię z~ sposobami ich
m, pl!.!ment CJI po to, □by priekonać sii;.. jnk du.t..: mo'-"'"''ll"'ici daje tcdu;ika
p d ł wo,,a
2J: 11c Już sz~ ie więl(5i
,1, 1 re.ar istycznycli i:fcfnow g,rar. ki 30 •
dłicftniu obicklów na odpo1. icdnfo du1.ą iJo: ć wrerzc,holkó,v wykorrt::= · ~ ~po-
~;dl Jl'()di:li o -" ri~tk-..ii.a lub lek tur o 'tA: ·s 'ej w.icł~i. Daty.:-'bc~ ~ ak ~
: , mó,vdliśmy o odbiciach. Jr; h n zcj~z. i't wokół i4:bi~, lo z pc\\'1'!=r n-'=--~tt
LI • .... d ' -.Jb"" . 4
, ~ L~l5.2
\flJ, rm fali. Jl:~ _P m10 • uu IJ Ją_ !\w1atto bardziej niz inni:. 0o4an~ odbit
00
rrzNU)11ot~\, wprl,),j illłza. dodsGt~"'Y ~)tm•811i' 1 pn~ oduje. 1,ę ich giąd Jest hrdl.ic"
·too. do ~ o k i _RolA:hrał ten om ""'' ta ~ienia odbie, i :młenmnia wiat1!
i mwitra. nasręi, IJ te c-,~J::

ł .M pow ie 'rodowi kO\I. ·ima ' ześcienn,{:


t 0>·nrunic1,111e mąt v.eściennc-.

ł Eftl-,ty odbk1 ~ :r.:'dt11nt..U.nja z\.\ orz:ys'3n1c:m meehani w vene~ •der.

♦ \Vykói:-.z tania:: map ::,z:ll!s.cienliych do nakładania lr:kstur na mdowisko.


♦ • przykbdy w~1 km7)'~till'Lia mapowanllli ." rod,ow•!i ·owego i l1KlP ~ei nn1-ch.

Mapowanie środowiskowe
i maPY sześcienne
1

M pD\\ 111(: ~odowm 1-i:('lwc jest rm.l1'BJcm m:,pow ui a td.: tu • którego ~łownym ceh:m
je . zobra7iowan1~ wph'\-. ra\.::taJąccgo ~rodowi ka na ,, ·gl'l d obiek1hw. ej ~ j
i: fckt,c.'fll rodow1sko1i.-. . m ><t L'tClb ie i . J ·duak n.a konl!u lego rozdzialu opowiem r6wnicż
o mn ·eh ef~k1a h I s.t111eJ i: Yi. iclc cyp,6" map s.rodciwJsko~\ eh. j ~ l n:1Jpopul:1mu:j Zq,
1 na:jp1ost ~ w ut)·ciuJi.=st m p. s:r~śi.:itnnn.

Jd i chrxm. mówi~ o rri~p n _niu otac:t..ij~~t:go roclowi~:1 n::t obi~kL. musimy poi7.113ć
sposób~ w ji1ki to ~rodnw1:il,,:,, om.ze b;-6 repn:;,cntm\ a.ni:; K ooc:pcJ'1 rn.ap ~c:kńny _h
polep n tym, Jx rcpr.,;zcmuj mu~ ~rodow1~ko w pona i zi; ci nu.\\ 1':tórym z taJe
u 1csU"1.onr je<lcn lub 'f" 1,,:<:cj obPkuScw znaJduj4 rcll si · na „cenie. \V pmJ.;.lJC , mapa
5.Zefictrona jt~ pecj:!łnym bi~kk1n 1eksLUitlWym Dii'CIC'L'<. "-.~ó · rt:pNZCntLJjC kamą 1~
~an ~cianu w tomi 11! 0tld7. icln •j prm ic ,.chm h:: ·. Im)\ tuk j.ik :lO triło to wt~1ant
113 t)'flłJI u 26. I.
.....
+V
"'~

I ~1 Powllt....... ł ~ o "'°"""',~,
-X +Z +X -Z

~J

-Y

,,.,.AJ1'9..d rekS„ 1n.•. któn; istnieją_ po to. by moźh wy był dost1cp dn lej tckmury rno.bla

wi>fl""' ...'r... nt: ·- ~ ·1· ·1· nAlliP9,...rl • •.••Il-~
tn'.>1\\ymtill'O\Vil: w d io10r)", J~ 1 pomy:s ISZ O WSvvD +ni:J l!Li.· iutucy jak o tJfu.
A . . . _, _
1

traktOW.11\. j lll'- '.J - . Il~- r • k·" - •- •-


. '~orze kiemwa;nvn'i 00 ś[\.l!U(\4 -·~1,."SC 18QU W -•~ l UIJAU J~ • ,- ..!'w.1 °1• Z j. 8,0 ~ j'lln
"Jl
wymtlfll'O\\'}i'ffl \\i.t!l!i L · "· • • • • • • od · • ...1 •
m punki, w l"tórynt wektor pr~hijn śc1&n1 s-~sc•~m. Je"! lekseh.~rn ~wu1.daJ~'ln danej
"•spólrzędnrj. Omói i . ~o dokłado.Nj ,.,.,1eh 1h op1 yv.•arna matemnt k1 wektorowej odbić,

Tek mura mapy :reścienncj rcprezentow&n..'l J~s•_ pr~z i.n1crfujs rn, r_~t30CubeTe:. re6.
Jak zoooć:i'. z. dzięki fu nkcjom 030 tadowamc.: mapy zclcienneJ Jest tak pro le j k
ł do,vaniie ż!irykkj teksH11ry. aJleps;zym sµ sob .·m utworo.:n ia takiej ma~v jes1 skoriy-
.minje z młrĄ-dzia DireclX Texture Tool. nrz~ic .t ~zwala na z _Jadt,w~i~ 'ażdej
ze ścian PMP)' m-ścumneJ z osobnego obrazu 1 zapls.aru,.;. komplt.!tm.:.J map Jako pliku
.dd . Jdl · b d7Jie.sz ,vykorzystywać " ·łącznie tatyczne mapy ';r,C cienne i do ich lsd~
wania ui'}jesz bibliotek D DX, mgd nie będztec z mu ia~ p07nawać 7.all\\' aRSO\.\anYth
aspefdów związooych z mapą w:.śd~nną. Berlzi •--1. j edn(łk mu ·itd je pozna . JC.S h zec~-z
skorzysta · z dyn:imicznych map S7(~cienn ·eh

Dynamiczna modyfikacja
1
map sześciennych
1

'Wyobraź ·o 1e. ✓t: grasz"" ,,·~ścigi ~amochodowe i pn:eJczd.1.~-;? pr1i::z tunel. JeślL mnel
njgdy b)' st ni~ 2Jlntt::niat mógłby· utworzyć rnnp'-:' :-..1~~icnną tegn h.Jnclu, którą WCZ)tat•
b na f)«ząlku gry i poLCm cały czas z m~j kor') sta'. Diiat:mre taki~ d~łob · pr1.y1, ll1ty
cfdet odbijania ię · ·ian tunelu nn po" i~rzchni amocho lu .., s11uacj r. k1ed pr-zez tunel
pn:ej~żd7..itlby tylko twój srunochod. A kJcdy będzie :t m1Jal tnuy ~iazd'! \ll tym m1q tu
1. pon1ocą pr?.ychodzą d) amiczrn.: map}' .szcsc1cnm:.

ifiP mam zamian~ s:zciegó~owo omawiać w tym m1eJscu rendefm-,anla do ekstury,


g(lyz zagadnienie to przedsła-.-.~ooo ,rest w rozdziale 36., w któf','m znaJ(fUJą Się ró~'l'l ei
fragmenty kodu. pozwalające na dostęp do poszczególnych ścran map)' sześei@mne,.
W tej chwm pam ę u tytko, ze mapa sześcienna mole b~ć o nam,czna, le pełlly J
ct,narn,zm W}fflaga sieśch.1 prieb1egów w cofu aktua ILacji wszystl<ich ś,c an oraz dodat•
k ~ pue~ n elbędnych do rendero•.,_,ama scerty. Prooedu a ta moz macząco
mm,eJf.zyć w,daJriośł. ~ zaleca się aktua l,aąę tytko tych śc1a • które tego "!,mąflają.
01Jliczanie wektorów 1
odbić
~ h~ mówili. my o 01.ibie1ach1 jcdn~ tilk n prawd nie \\Vjtlumatcyłem. ~ , (mi;:
I• ~ i ' j l ~ map 57.I!'~ienn~h 00 ich plt:'XClll.OWfmilł, Poro wi C r1 trochę mil.U:ml~ki

\li,'tli.iOf{Q """(J.

Odbiti wykorLy-.)l}'Walcs JYZ we weztink:jszy,ch r ~ial~ h om!!\'ii'IBJąc)'Ch 0$"-'rct.'llanie.


~ ktl, 11ł!Z Klqlr'8SZ$jąee ".,• 4..lfZ}' 1ujc r~. f 'ii i!U!D ninównomitmie odlilijll s,i,: od
~;pow1111)•cn pm i,e-rzcimi, \'11 modelu ośv.•1c1hmi.a ro7.pra~ąGł.1;.0 ~, iallo pad1.1j,ącc filBI
JiO"'it:rz tmję odbij i) ~lir od nieJ w~ \1, ~ ey lktch k11!:runk eh. Pi'7.eci\\'1\ł '111 prqpa_d}:ien1
CM odbici n.'glJfarne. "' k1ócym kąt odbieia je-$t ro\\'ll}' kątowi pad!m1a. Mówi rnat1-( ,
0

I fk}m1~dry promieniem 'P3dając} m a "Wt.okrm:t'ffl rwnmdnym pawt-r:r.łlclmi j~e :r6wa


to\\ii pom i dzy wdtum:m rwrmnlD. 1 l'I pmmien it:ul odbitym, 00"2 •aro przcdSW'U.'i [I~
fi3 ')'Slll'.lku 2.6.:Z,
·cm pocnebować wck1ora. któt)' posluty jako wektor ~•..
.
OsłateCZJ1Je będ2i ~
. w pzypadku odbicia wektor ten oęd1!ic Odbic~~,;:h
,L

=:i:e:-:kton nonnatnego wieacholka. co pruds1awia ryJUnek 26 _3_ Wcld<>ti

..,..rillc 26.3.
Odbk_flt Ił/I ""1/}r Wlłll«~
l#liłLKY ~
.uckit,v,(l ~

Dla danego wektora oka P""i~ świata i wddora no~aln~o-pn~ni wiała we lor-
odbicy :ita00\\1i wł c:iw~ wspó~dną te~s.ru~ ~a ma~1e szegcJc_nneJ. P'otnebujl"&?. rov; _
IWllff. ikt · 'JIJ rozwliqz:miem ~ i e bć~średm • praecnv~ do mego wektor oświetJema.
mając jako dane nonualną wte~hotk.a m .wckr r oka. W Ld~lnym przypadku, równanie
to powinno ,vykor-lYSit.Y"'. t.1kie opera.eJt:. które :n 1e umow1łyby znacznego obciąteoi
jednostl..'1 shildera. jak np. ifoczyn kalamy. Poni~ ?l: równ me p"Clnia te"-. magam·
. wla.śc iwy wektor odbicia:
a jego wyniki m je~m
R E-2 (F., fJ

nri}'CJ'I roroziafach ksląiki wektor o a o:zt1acza &~ e 'ii' ktor zv.·rócon.)' oo 11-
~ Ck> oka. Ta~ orientacja m ~a sens po:yi'Jadku l)Ofóv.'nywanla ~-ektora z nor.
marną. Tym r.a.z.em \\-ektor oka r'Ozumlany ,Jest jako ,.-..-e to sk,erov.·.an~ od oka do lfi"!erz-
choJka. co Jest bard rej i ntu cyjne w rzypooku generowania współrzędnej teks ry
maJ:ly sześc łłt1nej.

·w wr lu pub] ikacjach i rut slro.na


h intemc10,, ych rnozna znak-że mmematyczn. • dow~,
powy-".lSzego równania. Mysi~. że bt;dzi~ lah, 1ej. Jt:'~ll przed! t~" u.; w tej ksi· rodzaJ ,.ce
...dowodu przez. prawd~'l'lie poprawności·• Jeśli zn· l si~ na IT\8{1.'.matyce, mot.es,( za-
pozinać ię z pełnym dowodem opartym na furlk..:jach tr~ gonometlj•c~n~·ch. ZwrM uv-~.
k 3by mÓJ dowód był słuszny, wektory mu~...:•t byc 1nonnali:zm ·ane. \.Vanmc · 1cn zro-
2timi 1. Prz}' okazji omawi nia refrakcji.

Mata refleksja . ..
OstaU11e baaanJa ~'Yk,a1Zafy, ze większość studentów unawersyt tó v myśli, że ludzie widzą ttzię, i
em towamu pev.-nego rodzaju promlen I ze s 01ch oczu. Oplsany w dalszej części algorytm wydaje
s być J:)Otwle ~ nrem tych domys ~ , Jedna1< Jest to c~o ,.-!ta n 1el)(aw-da. tlzlmy odbicla. ~l"l e-
wat ś a o pada na pow, rzchnie • OtlbJJa się od nie1, trafi;.iJąc do naszych oczu. Przed$ta , ,one
argo')ltfny są poprawne, Poniewa2 dokom.i emy anahzy zjawiska, tworząc •ektor. któ,Y rrecrt• ·
stym śwle~e Pfre(;hoaz1łby p,-zez nas.ze oczy.
26 · 'X'l~i prl~d La wwn ~• OU'l)liUllil~ -..~,e.ktLlJ cwfh·c Wektor tro J..CSI \l,,~a-
· lij LJID..'11
1', ~ w pófr-Ą'1ł ną rte · s,tlr) na llhtpli: :urcsc 1,cnaeJ. zakLJ(lij~ że: -.~~k">f)' wi:j ~ W\ •c: ~
ptlcSłrZrni 11i i_:1'a 1 ooo :,.normal i,w\li .une:. \\'i ~j 1\'\ 1a.1.anych z nim szcz.c:ga ó,-:
·~ ię w monteil ie :u1al izy kodu !Shi.Ltler-.J..

Obliczanie przybl 1,żonych


wekto,ów zala111an1a światła
i-t :ilgol)tm 7.osral qpi:!i-;łn}' n pcd.~rnw,f aprok rmu j L \\ ·s•'cp,•jElf:t:j w Jl!ldn m
Ól.\i nVid1i. -y,,r . ,,, ie-ci~ rLt!CX}'\\'lś[yITT promL~ri i tła, pr1e:c-~odz..: c z J.e lnc-
...,......n ..3 do dru,grc,g,o. u1~~ 1 1.al mani u na granicy ,: ·eh ośrodków Z a.wl5~ł:'I u, 1W l ~~w~
5

~k~ feefrakcjt - N2tj lal \J,i . ~j TllOl!!'ń'l?,,' Jt: .l-ONlCZ„ 1 ~dy -~amitmr ntJ b!'7li:-gU J ZIOlil
I ~itmy 00:Sr:fWOVta.-Ć ty~ pływaJ.tC~ pod lX)li itrzohn-1 - iVody. )-lU CJ II Ul~lł w ~al.J
J)l'Ztihu\MICHI n3 t)'Wl'lku 26.(,

\\'•~~ ry~ ~ jakb_ wp~ ~.pr.t.ed Tobą. ~z.;}S ga, 'Ił!-'_ rle
.ll1~jdllW3LiJ :;I · rut Z}~ L"
stoścJ J . ~rra \ HIOi.J1~innyn,11 ]Xlło2,c;niu: Dz1CJ~ s1~ ~ p01u~ $."'\11a'llo odbite
'!1 Qd_~~)
Zlłart:IUJt su: w mort'lt>1..C~i: pn hod,c;-111 pr~ m»11c,;: wód. • pow1e't ~- [)(>datk o.
------··
~Jwtoda
nag,,o,;k>' " ~
l~ ~ lr.m

WilmaDii: ŚW iatlil w rótn}'lm topniu p0woduje również Mn woda,. w 2'11~mosc·


bztnłtu jej powiendtni~ To jest whkśnic powód„ dla któr~go tak t.n1dno jest o'bstrw~od
cyby ~· fruuj cej wodzie.

Zazwyczaj wr::ktOI)' ZP.f1Hfflll!l.i11 są run c~ wlaściwo. ca po icrzchni i wspókzynn ów


znł:llnnnia obu olrodków. Jeśl~ chcL~ dokŁ~ie ~1oddo1,~•a załamanie (wialla. m~
u",zgJędni po1tvyżsu czynmkm. Jednak w wa~k.szości prz;p.a.dków ~ chci:al ary •
przybłi2ony cte.kt z.:tlam1mia sv i tla nit. j~J dokładne fi~ycznt: odzv•.-iercicdlerue, toic-:,?
zntem ut\vorzyć przybliżone z:Jw.~is,ko załamllni~h w„ korzj'i1UJ c równame odbicia 1 ~
kaJowany a.le nieznonn lizowauyl wek.tor norm.11h1y.

Skrócenie wektora normalnego nie odwraca ·w ~fck ie k1enmku wcktoi odbicia. R)'Sł.l­
nek 26.7 j~st laki am jak ry. 1,mck 26.5. Jedook 1 ·ra:r. wektor norm:alny mstal pnrs i-
Jowan . Jak \\~dzjsz. wek-tor :,-111lannmu1 m:i t~n sam 1,,,Lemn..:k co w ktor oka. Jestjic
trochę ~i ~y.

Rnam k 2-6.7 •
.łprnlrynr(lejt1
::ja'lłlisła :nlomunro
.m mltJ

Z mak malyczncgo punktu \ idz~llia ł two 7.'4łU\'\'ilZ)'Ć. ż~ Jeśli skróc-iHb ' ITT}' 'ik. • to~
normalny do zera. wektor załamania byłby taki sam j lłk \\:~ktor oka. Gdy będzl P
pnykfadowy kod, pock.<;p(cyrncmtuj z różnym_1 wrutoscianu !\tałt!j za.łnnumi11 Zau\,'llŻ)!Sl
wtedy. ie \ ięk ze wru1.ośc1 tafej (bliskfo I.O) puwodują powst nie CZ go.s ooJdm pO--
1

dobne~~ d~ ~hrcia_. podczas gdy mnicJsze \\ran0$i.:i (bliskie un•) powod,uj ~ te W( wr


refrakcJi SIDJ • st~ zbliżony do ,ve tora oka I m.uże wystąpić e fekl pt1wi'tk zen I Ja}( Zł~•
e~ perymen1uj !
EfeKłr. odbicia i zała111an1a
zwykGrąstaniam verlex slladera
~ ~ i o o y kod · rn nnpl ~UJC' ~\1/pf) ,t'dc4 · 1 J i z.1b:mruuri.
• tła \ • pojcdyr, :ai prl.i:b_i1.;H11, wykoaysruj r; diA·ai ?A..~tit"''Y ,,. ~~- h , 1,.1
v d,:r "' 1;l by 'tJ..Ji.: ·hi.,łk~ z.a'i!rłCfili}" i11r1.1rm:icjc a OJ~ ~ ~i i o 'Vr'rt , Il-
~ riorm:il11yoo, :spółr7~ni: tcks_rni)I · IJ~wLanc- \'I !-.hai I ra i 11i1: rnuw-4 b· •t ,e~iQ
dl wtJ' ~wych 'L't 1cr.1.cbo4 .l. ~oo~drn p :łjt,:ds~awiony ~h:utl r j Lpi~.::.zym. który
~ , ; i i Wt; tDry no:rmalnc na fl~~ń Al•i . Pr«~aJoon.a. m il'!n ~~:lUI i:n -.
li) umi~;'łl)J w q.ałych od {.~ da „ 7. b ·r tc11 ,,.-.11; jd 'J'= l:!l w R rfl:L-ellkfi acr.~~h.
LJ

1 a Ul 11Sta\'i 1::1 po.cy·c, , . ł oLt:~;G Jił! d!J'1:µ:z y dn _i~s.o ;. i:fi tów de form· · · pl7bJ•
u · • dl poprxcdn ich ro2<lz1:.1t;Jch · fi! 1 · odb-1c1 , z.,.I m:nlll.il dlin,aj~ 1. ~o · oł ~
mnym tft: ,; m, · ary gi:ne-rllJrt odpowcL'iln1c: po i-J • wic:r.ldt~ v. 1 n r:mnlni•ch..
ilr C
1l, cl
'il. r-2

' ~nc- gi;: · · lin ii ptltl,.,~,t.'l.ł,ca da przl~Lr~rn ~\\'W3 Zill'Ó\11. oo pozy J'= •..,,,,: Fle'h.ollow 1

· · ith Wit. ry nonnuh i: . pr'2' i ,cu n as~oru: lOSI..Jć utyti: w ro~nnJ1i~1 LJ(lb ciai P~
st1'1eru Ś'M, :13, RO.::wi'.li:Jl.:rn . 11,, ńt1!''1 ~rtj~ ·,t pokpJąoi: aa 7.llilk~ iu ;;o\\',: .
hlra odb" i11 przes.1neni obi-eklu I dnp1uo pok m pi.i· : ,t.,J ;eau: g,o do P~ tnł:m
· i. la. Jdli rui.dei w lm nywatb)r j •<lynu:: i,bhc~mia od i i:a. t 11: ~c-J~i~ fob!
~teJi=-dn. htb <t.Jw1i: m truk<:Jr:, ~ ) on}'\--1, llt:' p;tti rruuc pe,Jej_ś:icJ s-t \\r~-d:JJ-
1

n· ·~"Jl_(. gdy obli'l.:l,ilJJt; :· .zariu'"-, o wl!'kt(J~ bcci· , jak 1 ;oil mam·1• pcimt:'!i'I rm, a
pr7,~tszr Jł:Sl t~·lko 1117.. zan11MI pr...:;ck5z.t.ak:Jfl i~ dv, h ",-niku eh we
, ,0, c
I ,,iJ c:i
I --o t"6
I
dJ)3 r .• v3. t4
rl y ,;3, c5
rl . 1/.l. c

anim \\ ł ~ kob:jnc kioki. ow.1LSZ znonnałw,wać przelt5-7tałcóny


w przcciw·nym wypadku bowiem aproksymacja ułamania da uiesntwh~ IIOrntn.1~
.,-...__~cf~~.
d r.1 .• ~ • 1 ,
q rl . . rl"
f" 1 • •: • •1 rl

l{ocl ~en obli ~·c~or w ~~nlcu _od oka do wierzcholb w przestrzeni ~ia
SCtpme ~o norm J7.UJ~. Pa11u~CSJ, ie p l Io wektor pncmwny do wektora 0d • la
tł k:i. · 'OT"l}'St)'W,ancs!D W poprz:c:dnich rozdziałach. Znormahzo"""3fl,~
tac.nim \\')'nt.igaDym elementem w równaniu odbicia.:
1
v.;
,n«:)'1111L,&

•Qf
sub • rO i . t6
dp3 rl ", 2. r2
rsq r2 "• rl.
1 r-2. rZ. rl.w

Pit:r.,., ·eym zrufanu~m koiejoc ro etapu obliczeń j ł znalezienje ihiie:eynu !i'kal· .


t~ ob i Y.·ekl!im! t11~afn '~, (w ~~-n~ ~ ~taJ~ ~ ~llSt\'Pl'l_ ie: pocfo:ojerue ~ Vwv.
c1. D.z1,afam Io sumowi p1aws.zą czę· 1 mp1elń.CńłacJI fO'W'T'l3DLO odbida \\i mec1t?n·
shad ·ra~ Lm'Jt

~"'3 r'J r.2. r


3dd „3_ ir3. r3

Do pomnotem3 wektora no11mtl a.ego pri z tanego,1,·aną wan ~ "'3 lll)'\VMll}' ~


, c, otrzymaną wartos.ł dodajemy d „
d.-tor.l ołm pl"Zl!li!ho"' ~an~so w .-2 w "ffi
i!OSlani • Z;JpJsan„ do p1t."n\ szych 1r.1cch s'kłado,, c-h wspób'zędnych. p.1..:rws:«:J , cy.
\1 len po&ób •(ui -:7:IJ ję C'ł't~ programu 1.wiąznna z od.bici m;

oTD \ . r-. rl. rZ


Oblicze-n ia efb ru z.alam11nU1 rozpoczynają i~ skalo\! aruem n i:malm:j pr7rlll"lem ·
w:u1l1 · ·~ą znlJjc1ują1:4 si w cl O.... Różne warto ci dają nllt"ll Uwwici rÓDl(: [auł )
,·~ rl

Obhcz.cnfo zał.amania. ą ()Oli"- larZallc. ale k.1"1Z "'' korzyst~ wana J~ t skrócon)' "
num, In~ "'ieri:cholka W)'if'l Ik oolic~ ri lO ·tt1j ;,,~pis n}· w drug~m ljC$.til\vit wspMr!ęci-
ny _h rcksmry. l rs.1.awienia n w c~kstury ,krd~aJą„ w Jiac "im lopniu Ce- dwa tf fy
1

pn.enikaJą~
r r2. r.
d1d rJ r3. rJ
.(I QT Jl. l. • -rz. r:2
Aplikacja
~~Mi'a!m p.rzykradnw. pl i ·~1C'ji.! \'a 1k{ll?}',mlje "W1C"21!' i11tL'JCs:Uj~)•i=h ~ " ... -_"'"'""'
I

_l.aJ•)·cb poza WSCH •=-u·1__i~ funkcji ·enoe UJ , pll"ZC'(iwicńsrn ie: do p~ hdóu z po-
prudnicli ~diliów. pn:ll!11o, ~an~ pomźcJ od wykorzyslltj~ ~ sz i,:,l'lik Ziru\\'llO
w ttksllllr(~a.niu śrooowi),kfl. jak \' efe to.dl odtii("m m lru-11~ill, Jak ló SI~ odbyw ,
z.o t)1S.i 2'JI c-l~~ i lę.;. 0-mów!onc- i.o:sum.ą wttlniej fragm.c111y kodu. a .aJo prog.taaln'-•
maj.ml~ na do.ląc:r.on„ru n„RQM-i~.
~ · f ~ C}' t&::tiruujl\ forrrraL w~hQłkc~,, i ~ n e z m[r i de-kłam -;,i VI.' rihi i....
i:tc odbi" y~ (1, t)TJ11 przypadku jest to · fi:r..i) OIZf:Jltljemy fumu'.L.1 U RZOO)E _SIA l
dm rrer.idćn:llWmia sześcimm ·rodo-wis~s ko · m)1 z (ITTllStu IER2 E_
S . !'mały minimat'nJe, moWl OCI.) 'ł,i~ic d v.•i~ocj try Ił! _d
np. " ~n~~c-
1

1.Cbtt11;1 dl p,rllS\ych u:kstur htb olmy 'WicrachCMtć'i-'i . format ~ mi:~hol~ow :mwtk• nii:
--
d

. D? la!'&Cja{ l -
ll3 'SD STRf.Aił'ł( G) .
~O-r.łEGtoo:B' _PC5IH ,.reo•IS FtOA 3).
O~M'SD: tG(OOD'IStlE_~i1'lł.l'AJ... (HOAT:'.tl-.
OJ['J'-'$0... I ( ~

_ DDe ara~JaR ~( -
{
~ 'SO SfF!EA'łtO).
- rn--
o3D'lłSD REG iSlJE POS n r t
roDi'SO_EN U
}.
Poojżs7-9 mewidka~ furnktji PoZa1 1cJa.,,~r11u oopowiJ«ia :ca ladowańi~ t ~• ~
sze knncj. J:3k ZOO.aa.}'57. pó~nkj, łii.tłowimii; mapy jcs~ Eak amo łil't'We jak ładowan.lt'
7.1.ryldej t1..~mu.ry. \V rzeczywistości c,aJy pods wM\ . kod le'k LUT)' jl":$( L-aki sam.
B!D.. • I tkKJ" .:C~il\1'• Pol-~ ~Il CJ m LI{ J
r , etm ~~,~~r.?.ein'~-
.- \\ ~d1~\\ ~p.Ckłs · •
..,Ta ~:.-~r Sz scH)

Kn.lej~ frngtl'lr;nt kodu j~t funktj ink:juj cą ~-- c:iilll środnwi~ka )guruJ5 o
tworzy bufor wierzchołków oraz eścian, ltóry 1:J\'tł.t. 1e ,...,1,·!;rorż)is;tany do oorysov. ~
śmdowislra, Povititti.fflcs poświęcić chwitę na dopaso\.i.·ank: wi dkoś.ei s.2:eśda_mJ ~ -
do rozmfarn ahilkru. Na pr.q~klad. jdl i s:zcl fan btdzfo znac-1J.\i.:O ~'i~k'SZ)' od obLt~
1la k.Eó.rym chie:-i-Z ~nvować zja\\ isko odbi ca~zjDwitt..kCJ co mote 111i,e- b)1 Ć rał: ~'1Qmc.
1

jakby~ 1c:go QIC?'.tkiw t \Vtdzi i "\h·ię • .-:e z odbiciem nit: ma \\ iele prn ~ .

.r ll~~pnie ,utwór;my bufor w ~Hlnej par'ńt,: 1. Bby nlah,-ri ooLv.'snaoie u.t7Jl:dztnici


~s•nu:Je o len, wi1.-rlchołków~ po j1,."(!lnym d] każdego naro1.nika s.zc irum~
~ tt l [Ol z· 2.~;
er zthol lt{lJ .z- 21łf .
tn l l 2O.
er lz 2 Ot:
er: 1l • •2.0.
er2 :} z - Z {I ;
erz Jz • -?.~:
p~1c 1z- •2 O.

Bufi r wi,:n.cholków zawl.:ra I K pozycjiOziesrć z nich clefiniujt olcry isnr sz,!<:illnll


, p»l i pęsa 1r ~kątów. puzos1al" pozycji pr""'hc,wuje i11fcnnscj • o óm<j i dn!ll".i
;riallic ~..,scmm1, , których Jmzda składa si~ z dwCICh m łych mijkątiiw. Pa,dsmwia 1
r)i 1,1111! 26.9.
~wm E_FAIL.

ZabJi:lt~jm)' tel.'IIZ
~of,rue~rdyn~""'"
• -irmr(lł}' ~u: ~ I dl„ l& poey(;Jl , \ V ~ i •~
bu.,:?; J : ; :wtii=nimć, ti1lc. wi,ę-c s;a.ywnc 1.ch prn)1th11,!ll,~itc nic j: ~
~
ro~~1i=:m~
trr. ie • srzl?(JfC !::Wt, csm ) ~~ . 0
_ 4. S. 6 1, O. , 1. . J. 5. B. 2. ó, ~ )~
f ~f(Sł\tl l )).

obk rekstLuy tak, Jby , ~ eywi-Jly m b:, ~ teksturę nmpy ~ekiennej . MU'CIQ
\\lll}'
il! lJadnm)• d, cfc~. oba t)tdą wyk:Qnystywać tę sam trumr ·~
. ri~M1 l?030 .:-Set. r t uratO, _ Tek.s t l)r'a'S:re-~c t.
:111.!rz dt.ef,1e001J..:-SetT ..; re(l , _wTekst raS.resc.J. .
nic koofigum1, ~· są 5,IUW}' po57aególI1ycb az ld:.Slull)' w ren spooob. aby (»ł.'l\1,-'.Sr.ł!
tek l\ln'.I b~ \l.')4:0Tl„ tana bez modyfik:u;j1. z:-yli np. bez koloru rn1.pm7,ani tkimeg-0
w ~:ólt: n~ wykw..: ·cujemy ,. Drugai te tura jes.t nutmnja t p z,t:■ 1.toc:łl: ta. a jej l)Fa:•
1'.IÓC'Z)'ŚtltŚC okrdta_ 'i-vartośt lk:mmu alfu wspókzynnikil tek t~rry. 3kic ro-związani~ pozv,rafa
na n:plowani stopnia prz zroceyslości ob1ck1u. \?il naSz. 1ll przy kładzi~ -...·sp6kZ)i rm1
ti:ks1ury doorru1y j t 1 aby s1wor1.y wtlŻenre. że obiekt Jest b:3rd7.Jtcj pr~2roczys1 ,
n~ odmj:ijt\c)... a ry 1.mku 26.1O przcds.L:lwiono H:fY$l 11nt ~ fdny dl II ró:".m h ~ . ,
\ pó:f~nLka tck~ury,

Anunlk 26..10.
1:frhy .rltJ.ro~ "Rm
rM.N)'(ń ł\ml:t).tC'~
u,spiJI. ·1rnika
/J"~=}'Ila$cr
~. .... .b-m\ oii: ro7..p(l'C: niemy ud zcsdanu 00.iDWiska. roni1s~ , ___..............- ' ........
111,GfUl'o'!., - • . .,.L.. - . · ... 1... , -·;, !\UU U."IUIIWB [IJOłu.,..~
~ l)lSl~prue I~ ~J~ s~:tm1 J~ ~ - m'-ne PlS~ _tro)k_t~w. W kodz~ oą 1 jm):
\\~~nilillf.! m" !e Jest .to jedna _z ooJhardzit.t 'W)~dojnyćh ~rs.ii~ jedrt:IX mew)fklu~
ac hpjeJ b)ffflD usiaw1ć bufor mdeksów j ako listę. lló-j . tów i "-Y"'o1 ć Ora LI,.
p,,1 i 1 ·~ tył~ raz Ch~,;. ~r'l · to 1ylk~ ac:cyć. ż~ opt ~lh.!1cj jd'!'i:go
~ r u kodu f[u:,;r.c prowad~ć efo, ,l)O&OfS"L~nLa wydajności w da:1 1i;j c:zę i apliktJC.j;.
wp&S.1-)rffl pros-tym p~ykktdZlę nL~ J Eto tak iSU)LTII!, l!I,: być m()te 1 . . ~ poeksp?~
il)tnecitowa.ć z ffiŻJ:l)"mi wersjami k du
~ ł. udlen ~ •~• r"..~ •Stkl J(! r (
- ~.Md.Zen ->5etS '"t=-a~~--c.ern . .ooh.
s J )].
e(JJO->'Set I )'.:IJ'::; ( ):
~D-::iłr.a111Tnde~ (030? TR P. Il. 6. O. 8).
· ,i.:OJO :.Oci'111lnJt'.(t11Pr1 1· ,-.. r.:eroo? ~TP. o. e. a. 2~.
ClPflle030 ...;,{)ra"lriOC·;,,f'/JPrt t""L.'!1'(030PT_ Si iP. O. 8. P, 2).

Po,"'yreoderowanju srodo'IJ.'iska n:ldszedł czas n3 rendi:tOWilWe wfta\Cr\1.rego obi~kru. IPsefll •


~~j · zrob~m}. jest obrńc ohi1.:ktu -~l a:lu PQk12ilnia, i: nra1~1l'tat)1ka WiCi torow~
1:jofi.uje popra\\\i·mi~. W pr,ypacllru sfery 1rudno powiedzieć. te: coko\11 ·c &Lf ob a,
i1e je:m cfu:cs~ fflOt_csz pockspł!rymr,!lltmvać inn;fl'Li J(}(bajami ooi,1'któ-""'' Po USta\\it:11iu
macitr.cy- macierz shadcra zostaje u,:1kn11dnioua , ".,sl3M do shadtra:
OJmQtrDlci at On i & ~ 1 ri~ ... H! a, [ ~ ,G!tT1C C°o'Jl\tO , 10!10 O )!
1'~ 1 r ~ .·rr5' - i;-E!f'ł.S ~Hi • ~ 1 1 l 11 , . i.u • CH)r11tlu :u.
!00 r1 T ~!U;X!SE C)t:r ZSil3~"i!.-i.H,H:1 ~s ra).-
_ł(lrzi(Jz~1tOJO-;i.Se Yett ·:Snudf'rCom dnt cO„ 1'łlc1 r'.ZSh ri1 . ~ >•

Maact.t ŚY.lilłm ~Lil.je


lrmspooo,, na i YM'Y ·lam do sbadcrn~ dzie ~st _~c: ,vykorzy~~~
rti .~ltllcen,ia " {ekm nDrmalnego wierzchołka do pr7.es.lrLel!ll -wm la~ ':)pe-~t t~J
uaibfem ii rozdz1ałącb poświ ~ooyeh ~ .l' i'ftllu, ji:dtl w tym prf.. :.1d}n..1 takj~ dzn~latne
.łt5l'l!ZrisańnKme~
-6' V ♦ T--lld ~ffllOllanlllltr veltn .._..,

ioon l".Ai'Rl, Trc,llS-pom,wa~i.st.


x~ r, raP'li~fC&frar :;pollOlo3rti a •
_'łJ;Jrz ~ 1 ~ ~t\'e-1' i?11~rtohst.s

O tatni3 stała ddimuJe wartośó ~11m~ma. wył;orzy_stywaną do skalc.wari,ni w


nófflllłlńcgo w obhczenu.1ch za_lt4mao1;,1 śi.,•1a1ła. próbUJ l)Oekspffymtntcwa,t ,... ~
~~: ~\
• C. .4 ld tarr.ltl'łelO ' • Q, O , 0 0 • C O );

Gdy .marny jui wefinfowaoe wszystkie . tale, rn~D}Y v.ry !ał j,I! 00 ~lu.deq 1 v.
JOW9Ć obi~k• ~~ stanc:tłlnioW)' spo&6b. Tetstwy zo~ly ~C:t'ilJK)\J,'filif· o . a ~ 'Jfe~ Cjr
~ r-z-41dzemeOOO·>Set t e~ ~derturistant ta. ~Ol a . • l.
- Jrta ełlleOJD•~V<! t> ~r(.Ms. ~ (9. ~ - l).
!PiUr"' 1Hf.ił!nl e-02 >set 4!r.t eł, Shlllle rC.onStónt ( o- .&Za. l ~ n1~ . H:
r

'lł.fr-zc1dz n1e0Ja.:.Set ertex5 df.r( _Słt~ c-, eZil 1....11an ,e-1.


- rudzt ,eOJ8.;:,St't.Strta!"\Sourtf(0. _'16 r1 li.1Sufoni1E!ricrolk,
- 5-1leoHWIEfllOlN.E<' Sf/łT,;,U);
Z"4Zefl eD30->5etłoo ctSC _.-i,S) at c18ufot In&:! so... -0) .
za~2en1ei)J0-,-0t-a"'hlde>led;iri t,•,e(DJ.O T_TRt~.OOl'EUST. [),
-_~S1dtka•->Ge '• ler•lces.O. o.
~1dtka~~t• ~ces()).

Koli:Jne linte są .,produklffll uboc:mym•• u: •o, ze funkcje renderowania cz.ciontk_ ~lłł­


suj't ogmni(:-20:ną liczb!: s1ru1ó,, • Ognmicrenia dla biokó\,,' stanu stworzył<.'1l'I c~ · i.ov.·
umy.ś1nie. p)m'-~ a2 chciałem pokazać. ~ ró.tm; c:2 śc i k-Odu odd1.iał1.Lj ą na ~icbie cz~
w nkpncwidziM}' ,vc1.c niej sposób. W 1.1, m przypadku drug.a faza 1ek$!ury ~P~ -~ na.
kołor re[l.dernwanego tiekstu, o ile nic:- jest cm ustawiony na NU„L:
_ flc8lffi e0:::a-~~ e>tureStageSta e(O. 030 s~_ "Pl Tl (R. OJDTtYF E.
i.lrtd{llefl eOJD ">$etl e t1;reS ~Slil" e( 1. 030 St ~ 5Pr I i[.:' OJDT UF .., ','O .
Il'~1'11.h''li!<lzemeD30~>s.et e.x.tl)rl;! (l. · U• - ·

Aoal~}ll. kodu aplikacji dobi~"gła korka. · a rysunku 2h. l l zosrala pll'2eds1a.wio~~ dna.-
łając~ apl i.k..i.cjlł ckincui.s•rująci e:fekry ,,dhicia i 2.J.tamill1 ia ~w ialta.

lbsunek 28.11
ilplf!ar;a odhtt:1t1
~ :znlmnmua ł,,,,1afla
Pod•mowanie
Wtym rozdz:i le bar1h~a śzyhko I sk~tmN,~ pn:,c<lslm jłem ,v:i~lr; nowych zu.ga:druc,l. 11:
ia~wtem 1iJ.)'C2t.'.!fJ!)Ującego O()ISL! mterli.-j Il mapy SZl.!~~j„ półnil!WtlŻ Jl'5A tQ bZ~ll· n)lAlll(
~ j~ iMe ~~dnk-n,a opi~•mn~ wtz.dnit;j. ·temcrne , kti;n;:mu ~wi~ilcm
v. c-j U\\rilgi. byl1:1 'lcki1ura dynamn.:ł'.n(I. Pov.•roc do mi;:J w moffli'.-mciic omaii,viooi:a nm-
ÓB.OK'alllił do r~k lmy.

filnym DM!.')"lll gadnit::nii.:m j ~S4 mat.;m tyka ,osow~ma pcdc-z:is obi i..:zco(:il oc'lb1c ~ zał -
~ SULmłcm się 1t1i,· !i~lklc wz"rv moi.li"i~ do ·mdmi: zobrm:.(Hv::1c ,,. c1 f) unków4
jtd1111k niC"które d7„i l a~ f~ w,jąż mo~ by oi1!"Y01.llfflliih:·. J li cłtcesz, (11;('1:iJC'Sz us1~ t
z Gła1,dric:m i kartk p p,eru i spróho" a~ rozryoow sobie O.f'll(N iane wl!k!OI)'._Gd ' l)'ł~~
sam 6ooj1.~z wypro,1r łld:,j.; prA."Cl.slłl" i one "" :ery, w~•!i1ko powinno tll : tę bęid7.1CJ
llórultli:1!~ . .Podsunu1jmy zatem b3rdz1i::j intćn:Sując · i •· ~nicnir.1 przt:cl ta,. .'1Qlllt w 11iYI
r(lł,:jziaJe:

ł Mapy s.2-tici'ennc rc.J}nzerlruJą 1 f'Qdt)Wi ko otat-:znjące o~i~ ·L. ~io~~ z~ltm


lrakCo.wac obie uk. j,i;ikb '.lldj oo,, al :;1f w r-ndku ~c,arm • cdb1,~
P0wiff7.c;lmie jego czte~h ścian.
♦ lub
Mapęwięcej
......,iea!II~ ..aktualndl! """"'"" Rndcn,wlllie .......,, ~
z smciµ śc11m. • ~
♦ Wspólrz:łdne 1ekstury dla mapy ~(ciennej są tak llaprawdę lró,iw,yrn·
wek1onuni. skierowanymi ze: ~rodka s:teścfanu w Slronę p o ~ tny~i
6
♦ Kąt pomi~ wdct-0ttm odbitym od powitsruhni a P<>Wicm:hnią . . .__
jak. kĄl między wektottm pad11jącym a tą pOwil!'r.t:~hnią. Jest laki ~

♦ w prieciwreństwie do tego. ,c:o na ten ternar sąd2~ wiele asó'b~ ludzie . .


prommena ze ~~ich ocm. chociaż świat byłby naprawdę cackawy, gd~~C!liituja.
potrafi li Io rob1c t
t Załamanie jcs.t zjawiski~m_ ~ ·tępujący".1' podczas. pnccbod:t..mia ŚWJatJa
,z jednego os1'0dka do dnJgu~go. ·,a gramcy t~h o~rodków nasłg,uje ul _
się promienia świetlnego. a kąt tego zał.amama zalety nd wła&noś.el obu n:tam1e
1
ośi'Odków.

♦ Efekt zalnmania wiaUa mot.e z Hproksymować. WJrkorzystuJą~ równanie


odbicia ,ze skróctmym \,\'c-krorem nOffllalnyrn.
f Mapowanie rodowisko,we jest tylko jednym~ wie1u ~tosmva.t, map
szriciennycb.
Rozdział 27.
. - -
cienie - cz9sc 1.
cienie na płaszczyznach
w ost.tttJ im ro~c1..i~fe ~osl:ił omó:wioniy deHkamy~ k(Z bar; , . . .
odbi ie:. 1~□ rom :isł JHI p1c:n szym .z int.ich w ktfu)· h ~atny efi:kl. Jakim Jest
gćnefÓW3n.i cieni. będące dos ?2a""allS0\1;3~)'m c . . · ą _mówion~ \e.lthnalu
0

ti!dtruP cieniowru1; , ni· j1;5m lak n pr.lMicłę ,ee.hm , ~ n tn;ien\. Pir:r'\\•~ 0~11na
1

je&l:łk dwi~ pOZOS1ałć , rak w ii;c zdecydowałem s;ię on,~~~~ ~ą~


(11l()k ~iesz cht:ilłl d!od t cienie do innych rtc,c:'hnlk które 1_Je " Je~lnym m1~. Byt
-.-.,A.,..-: t w • • KOn}!SlaJ:i\ ~ m«łumi-.zmów
~-o.i. tym ~U<AU..l IJ Zó!ifł\rflą om6wmnc I\IISl~pujące 21\g,adnLCni.a:
ł Dc:fulio,vanme: cienNI oo pł11fixew_Alie.
• Dcfiniowcmic pbsze:ey:1.fly za pOmO(ą_ rown~ia płasz zymy.
ł Deliniowa11it: ma ierzy cieam na1 pfa!itt:zyznach.
• Stow~ mik ibufora :rruurycy.
t Ogmnic~nia eft"ktu.

2 o_~ ,j oych tf'lflch utchm ~ pierwsza JC!n u::1jhn, lejSZ3 impltmtn~ cji. jednak naj-
Olll1t;J dMl:ye'lD. • Pu!e~a ona na 11'7..Ulrn arniu ciem,, na pt ką powir:r.«:-hnn;.

Rzuto,w·anie cieni na płaszczyznę


u. I) u 27.1 :,ostał prn-<lstawlOn}' prosty pr-.eyldud rzutow:,mia dimfa na plas~ę.
LJ
gdy pomiędzy zródłem · w1 ::u h• ~ llł:1.Szczy7.11ą ~mieszezony jesc obiekt.

C" ffi pojawua ~ -,. Ó\'.vr;:r..as. ~d. obi.;kt blokuje a łwi11tla p,adająt;t."-gó na pl)\ ienchni -
wanmbda 117.eC'zy\\'lstych c Ier\ jesl obszarem, i.i.· którym na pm\ imchnii: n~ jest z.
po$mll'lio ern itowanc l~~ ~wmcłn (z dantgo bód.la}. itń met~ byt ~'1fl1tż lnlkr~
\lian}' jako 1Z1Jt obiekru z k1cmnkt1 ·~'l.riatfil [Padającegó na pl11S2..Cey-..nę. \V tym m m~ncie
IK}jawfa sic; kilka doda:tk owyc-h zag~dnieó. które musiin r<n!JlłlleyĆ.

Ws:eysLko. z c~yrn miał~: do czyn•,.m,.a do tej pory. koriczyt~ . i~ e~~ ' k~tej Pr:2
SltU{I 30 ritpT,emn\ow na był1:1 n=i. dwu'i ymiarov.•e.j pcmsz zyznLt: nu~mwra. ~ te_ ' u~.
2
ie tn\jrlrV)'miarnwy m . dcl mot~ zoSE1. przed t:1wLony na pt zczyżrne d\•;u\v~rirma.rowi:J ·
V• TeclllDd ~ ..■ohiiillWIY veax ....,

i zachow;łJlit:miafom:i1tllacji o j~-go k~zln~cjc. wielkości i w~dci\\"QŚcfa.t'.b pw-~ y~


Oprócz t4.'gO moksz JCdMk: ~oli;opęc lfikiego pnch-nakeuua. w l1órym ~taną 7.31racone
wiaf.dwości pn:cstnenne obLektu.

r to właśnie'lill\ID-Vi podstawę cieniow:tnill na phlSit:~yznę . \V ,ym rnzdziatc l?O~t


spnsób t~•ov.enma l"i-il plaszczyfu ie ciecn,i obi~ktcn z. wy ko~~stan1icm praw geametni
Pa:ygooę z cieniami ro~poczniemy od matcmatycrneJ defin1eJti plaszc:Z),zny_

Równanie płaszczyzny

Zanim będziesz mógł cokohviek Zl'obić z płas.2cz ..._.,~ musi&z poznać: !>JJOSÓb jej rn.a1~
matyc-znej repl't."1ienratj m. Plaszi.:zJ zn~ moma w przi.1slr7.en1 1.dcfinio,vat w następując)·
pos6b:
A"i. B. + i .::. D

Wartośc.i A. B ~ C ą •~ema skfadow mi wektora normalnego powit:r.1.chnj. T~-!IIl sa•


mym 2 wit.!r-.1j cm · j11Jfommcjr: na t..:mat ori t::ńlJłr;;f pła~lCZ)'Ztl. w prze-suzcmi. Ostatnia.
zntien.n~ (D) ok-re. fa, w któryi, t mmcJscu pr1.e~tr1~11i ta ptL z zy-.ma się znajduje. o«
by(- ona t.raktow:m.l j ako odleglosć phlszczyrny Li d poc:r,ątku pr.l)'Jętcgo układu wspól•
,rzędny,:h . Z!i7i,•ięk 1.a_nie łub ~mniejs:;,:anii: wan.os.ta h!J :,Jn1i;nn cJ p woduj4.:' pr7.e5l1\l,,'M.lr.:-
pl_ zczy;,;.ny w~dłui wckcoro opis nego ,,. ·pólcZ)'nmkam, A. B I C. Pr.:zedstawi11 w ry-
un~k 27.2.

T~k wię~ P~r.lA Z)'m krokiem w wyznaczc-n~u równania danej płfl."7C7)'ZllY J~• u ialcziC11ie
wekfcta 1rncrmalnego reJ plaszczy...11y. agaclnicn;c tu było km lkikmtni~ p(ldejmowruu:
we wc7..e&niaj zych ro1.działach. Do ,._.·,rznac-✓,c ma wektora nomullncgo łJ\"ćlzi · polrl
boWil t~ h ~nkło:\v repn.uem:ując_. eh plas:zt;?.}'7li •1• Punkty t~ ~ -'"".lll 1-ają ~ wekt~-
Każdy z nich Jest um ie:iZC¼Ony pom i ęd:1.:y po. zcz...:gó I11:t parą punktÓ\\'. co pne~ ~ i.a
l)"sllilek 27.3.
~

Wck'uw :(W)Trtlal'ny tak zdc;finum ej p l ~ y motoo ~ t e . ablil'!Z.3.- ilóc?;,m


\li ~ dowol ri~~h ~ óch z trztd1 podanych wtkt rów. N ~nb :n ilix--z)'ll
~ro·,ry- we:kml)T"{I l J V.~ WYżr . ~n w1.4ctQr aonnalriy pb.szc~}'. hJnięai
f.e istotn'IJ rolrę od~·~ knlcJnGŚc rr~n.oźentłł w.ę'ktor6w. Uoczyn wi!'ł..~ Vl1:. 1·\\r1
dJI , Vti' "')'Diku 'i.'i'Cklor 11 m1.&I ny. 11k ·el."01. ny w p1:2:~iwną !ill'fmę. Ji'r, ~tło się. t.c,
o ooliczcniai iloczynu wektorów~ \\.',ml„m;rne te- d,...,'f,l \\rektoey, pomię_dzy lctóryn'li
p 1U1jmflie1s_zy.
k.bdmve ~~ ntim,alnt.."go zdcfm10\vanc 5ą "vsp6ll."Z)'[II1ikn:m1 • B i C. W · ·•'TJ„
D ffl3jdzicsz, pocw.a, ilLją..: 00 ro~·n.311 i phl.S.:re-.ty.m}' wspóhz~'(filc d.owo1ncg-o z. tt'leclł
j1łlrlkt6w 111i1~1:źącycb do donej pta! l · ,y-my. Clly o,pisy\\ iln)! p«."ICeS, ,y7no.cza11iai w.spóh-
1

nynni1:-Aw róv.<nani.Q pl:u--.rexymy mo.rna p~~ta: ić l'l3S~puj eym, rówoonittm~:


By . C ;::; D
- Pl )~ ( PJ - fl _)
A=
l = N.
C=N.z
O ~ A Pl. · ) B{P 1.y} C(P LzJ

R: ' 'lll!lf plAJ:Szczyzn ~lano, i pod r.aw; wit1u ~11t~ych operatji mdJ)'Cmyrihr a
JWZiYkhd m ~ to ró~ naJ~ie! korqmtc ,IQ sprawdzenia ezy dany puuk, n~Leiy cło
obt.53o~c--j pl'a. cz.yzcy. Je-śl i pods1awi z. wspó~dne te :.-o punk.tli do IÓ\!m~
(Z)'2:ny, "' \"1)lnikJJ ilnymaS.2 zero, o:;mu i.a ,n.. te punkt . do pł'3! . ~- ~ .
:1"3~
~ rotriy od zera. j t:go 'f.1 ru1oś b\-dzi - okre. kt .odlcgł r~o punktu od pła ~ 1·
Macierz cienia
Katde r:ukszu.1«.nie ~ rzu.to"' ~:inie "'""')'11ilnga_!de(miow-an~11 m ie-rey _ nii:
~J Tym l"[IZffl) ~"'<Wemy pctncbo\va.b mae1~1Z)•. ·któro zmiruji: mun ~k~ 4>d tto
v,;''fflf .::-podstawie lokaliZffq~ trod~ ~alla. Bibliote~ D _DX ~f~jL'.' pot,,~
~ -ie OOD~ rl x5 a ... u.możhWt1JJ=l{"ą wyg..:-ner,owai11Uc ~kLeJ macierzy~ ~
.,..,_.......,. 030 H,3im1. G i!'flC efl.1 a .
Ceł r oJO» EnOR.;. ~ 02..:rcld 1a. 1a,
c' ooo • E.., ... 1anclytmC1 !:łni er..- i'\łl 1.

f uąfctj~ 13 pobic:ra jal-o a,gum . nry I k3.limcj • i.Fódl . ś, ·~at~ omz ró\\~~ic P')~'ltt"źdinL
i mi iefu podstawie -~,.'l!)i"ZY m11~1eiz•. kl6 spłas.zc1.:u otue~m na plaszcey1.n1e. tak. j ,,b)
l)ll m1towan z. ldenmku :imdla świath,. h\i'Qr-z~na m.ac-ierz może byc wi0łl3 ,,_~ ~
ooi:-b mru:jerzy l-ommtcno-;. any,ch. o prz:cdsta m pam1szy ł"ragnn:nt kod1.r
iio...U"' crnrzC1enia. &?oz}tJdSi ::itla. ~9laszcz_,rzrld 1en a™ .
detił ,1,c1ertS-.- .a ~ H&c erzC·en1d ...
l~rńi l cu • _:ti~,e~i lU U.

Opem.ej III taka r.mruje wektm-y n::J pta lt"l z.tlę. ~mm mac i i:rz :Ś.\\·iata dokona M.ta.tec.z..
,0::,-ch pruks.z1alcr.::ń „ wi-ali Macierz ienia możesz trnktow:tć Jako komponent macien:,,,
śwt!WL Efekl ,,spłaszczanie"" jt:St kotejnym po! c·1 'flicm QJ)Clidcji b1.mSlacJi. rotacji 1 , ·_
lm,.•anfa. wbmkm,-anych w kaidą i Mą mac iert.

a rysunku l A Z05t.'11 pokazany W)'nik d.iiał.a,ua funkcJ L gt?'nl!'ruJąceJ n-ul i~rz ciie-m,a.. JtSt
IO znut ~kranu z ;;splikacj~ demon. 1.ruj~"ej denio\\mue na pl=ts.?-t.Z}7.rtf. ale :2 v. ~·I nym
caikowjlł)'m e-[cld:em cienicm.,·ania. tnJc aby dobrze "Ldocz:n) by~ 4:fe'.kt spłaszczamill..

Ryaunek 27.-L
$p/(Jf:!ett:tJit:
o/JU:!k,yJQM efut
f;i:0'7fflU1 t ,rf~
NI~ l e
N ~,. ~-\'anajA.."$t półpr7J.!;,r..mc;()·· ~ tzamil ~ ~~ t~lko M ~111 ~ .
dla bó~go bufur mauycy ~ostał dwub:Qlfl 1c zw~ · ny. n•cttór)· 11 implec.ncal.il--
t:b moti1a spodc1i rozwią1..ai1ir.:. "' kEóry"m cJl1:11 pt,\ ·erliClmi e !lJU ~')w.an!! i~
~ ·stym ez.am~ in ~~\1t\"l-rokąti:1tL Omó~, ·my~ khtdnitj w 1lill, Ptl}'ID n;,~:i.b:.
Wnaśźc~ apiik cJi j~i p , pm..1slU powtóm1i: rysowana p~~ podł.óźa. T ldc :rm-
~1ic jes,4 dobrie dla Jt'dnł!'j pł.i"SZCzyzn)\ jt-dm1k w bauhle zto!(m h Jlr0 dk~h
l!!~l.e ma oka.zac 1ę mm; rozwi l,l!Pi , Nu . ' Untu .._.7j ;ml - ........:ny oml\ film)"
,orytrn. e1 rysUfl k 2 7.6 ~ rJ..cd taw1a ,tr}'llik jego dzi11l111iia.
.,....21.s.
KlfJld
~ a CtnllO
"°ph,.cn---,.n,~
-
~-...
~ ~ .I

ł!Ub'~
~
NaryM,IJtołitt;n;70l't'I
~-~
bUfo;'ua~
~~~
~ 1"1t"11afaj-
I . 'ttf,.o W łfvifM
,..,,,..~-~
b,jb~
lQIIW~
~~
~

- -

/ ,7
Ryslalek 27.6.
Ct i- m, pla: ~e:1,·;mt'

Aplikacja demonstr,a cyjna 1

\V aplika 11i lej z~tO.i;.(),Waoych zostało kilka nowych rn:rw1 Zilll. dl~l go ifość .wlfao-
, ancgo pontżt!j kodu będzie wi ksza nJ7 w poprzcdmch rO:rLlzialach. JaJ - JUZ w~ iq
wspomn1ak'D1, Jeś ri nic . ,·1~
z. na 1akicJ za.s;1d1i~ działa bufor m trycy, prxtd d ~ ·
czyi.anicm za1mi n~j 1i; z trdc 1 ą rozd:t.•~lu 40. :!\i1c rnusasz b~ ..- d .:!ip Lrt.cm1 ałi: dobru
byłoby. ~dyb ~ rozumiL t zasad~ działania 1c:go bu fora I P4H\ ody. dla któl)·ch został o
W)tmy lony.

:li. 2ówiąc u bufo ach mL tryc • po "'in ienem pl""1.ypomnk-ć nk~w1dk czę· ć z funktji ini-
cjaiiz.i.c n ny h, wpm\,.:adzonych w ro7.d7Jalc 7. Pn raz f)tl.!n, ~r.y t,~cjzj,: • ~sować bufOf
matrycy \Ir pełni św1 dorni --. jedm,k był m JW ·w1do ·rotm~ " · k r.l. .sr ,i.!any we migrncn-
iach kodu. Poniż :u rinia zo ·tafa" ✓1 ta z unkc,i uncJUJti; ych, znajdując-, eh i1c w '
bazo\v :i KAJ] 1•. C.J IHo~r G. Twor?.)' nna bufor gf~bi-n,~lrycy. " l"tórym 24 bil)' pru:•
zruteznne na g!t-;bi4c. 8 hitćm ~..are.7.cnvo'I/ •::iny ·h je~t na bufor malrycy. iem br~ • LO
· rtosc przekrncz..i.· ąca p()ITZeh} Ont'=ł\\ mncj ti..:cllniki. J1..:dnak ooJ<ltic-j ,.aa.wam wane-
ti:chnik i będą poirzeb< wały \ i~kszcJ i lus i bnó" m tryc ·
1

•. reze~u J1 I ot.i hS llForma· 03Df~ _02tS8.

'' le,. .s~ób bufor m ~ryc?' ~ <,c do!11'tpnr we ,,·~ystkich prrykłado\~ --:h .łphkaq~ll~
urno~ln..,ut:Jąc ~~h wanu.: dowolnej ~ nich. Jt: l i z.'-'·dicc z. nod fik .wa . pntd
c: 1~01 ,,.
Sła\.-i.,iom: w tt.:J ks1ą2ce aplikacje tak. b · za, ier4ły cieniowani1,;, musi .z p rn14t1at O t rrtl .
'A_Sle l.

Bufo wiencholków pr.wc h()" uj1e czt1,;ry " 1 icrx_choiki. !Do zde finiowilriiil. po,,1ienchnm.
i matematycznego punktu ,•ti,t~enia, potrzebujesz w~idn~ch tylko ln:e.c'h P.wikt6,,t.
jofnal płos.2c:zy-za , lepiej 11.vyglątla z czterema punktami. Watlle jest a.by ' liZ}:ml41 •~i.?:f
· nłry oolmły tł.o jednej plasicry:r.ny. Jcś~i warunek meni n~e ~z.te s.~~1uol'ly••~tci~
~ naryso\\1ane. jecb1ak mogą pojawić i'i błędy. np:. cum1t 11~,ą ~~~•d M"O.
:mfat1yw.1c -t; n kr wędzi pła5:tezyrny. Sb:Ln~Y1. i to glówm: ,ognmic~i:rue o111syw:meJ
1

erh:n~ cienfow-~Jllia n a pl11szc-zyz11y.


nC fLEOt ldft:etneOJO-:•tre~tel/e e &i fr( ...
- ~1 zeo (ltlERICHX _.SC~TK~ t
o. 030F F_WJ.EltZOól I.
OJDPOOl NAGEO.
lasZ{zYZIKI to eriChOl J ►)
Po ablokowlftiu bUfbN wierzchołka ~szy1~e W.:rtoki UllaWiane
w pamtszym kodzie nie widzi!% pnypisywan1a konkretnej ~ , . " na --- Je((.
2e wartość ta zosaala us111wiona na zero. ~~
• ooo. 4 • s zeot, lEaZCtklllK_sr~ 1)1, •

pa,nię~. ie olłafanle funkcji se połege rn.t ~IS)iWan u ~ł~oa....:....


otcrettone.l wartości, LlczbY :w,lennoprzeclnkowe są atterabeJtowo. tak ;~IJTll
e JeSt • n a ~ pn)datne Jed',nl · da l)rffl)ł~a tew, tyPu 1~ ~ " ' " "
Jero ~ a i moa,'fikoWaAe sąr wszystkie c;tt{}I)' bajty i@dnoe2etn1e Fun1(q;a ~
brć ~to ~ a . jedna na 'l.Y pan,J.ętać. te ~8'a ona n a ~ ta~

\\t kol:Cjnych ~n.struk<ljat;h ~e.tji= utwoao~a :.iatka, k~óra st11noW1 kwadrat


j~dno!ilek. ZaU\\..U. że defm10,; anc ~ w P'?ł.rzttdoc: ~ ~ pozycji Ontl \\' ~ ~
0

mcdricj y wckto a morm~~r: •o P'Q'''erzchm. _lnn~·ch wspolnędnychi nit '17.eba _ . -


,,'fiĆ. pomc~ ich wanośc:1 :s ~"' ne ~ero. , 1ekt.orey mogą ':' tym _m,_ejseu ~
ź'c tworze; ru~ctyteln. I.od. l'Blbch _pnykł!dó~ m~ma m11Jt-ić w sacc1 nm6st\liio_ ..
wit po,prostu zacho,\lać os.trotnosc nahzuJtc nu;ma.ne ltągmen1:,,· kodu.. Dla 1>
spo50b pi aruajćst o „ iele p11t:>slszy, choć mote być trudnfojs.-zy do odczytani . m:n~lltn
,,· e,r-:rdtOl [~} - .JiJ.0·. 1en:chol (OJ ny - o·:
łf lCl);)l [O] 7 JO O :
erzCJ10lk(lJ. ~30 or. ier~triol { J I.)' - 1 Of.
;. erze.not ·i J.z • 30 o .
e,zdlo1~[2J • JO O • ~~ ertcnol [,J ~ • 1.0 .
~ ~rzcriol {2] 1. • 30 O .
1erztho1~(3J • ~O O.~~ erlc ~1k[2] ny• - o~;
~ erz [!] - 30.0'.

a,.qtępnre kolm wier..l(:holków ust.awb.ny Jest n biały. a \ :ar1ość analu a.lfa ca Uto
z~ cz.3j au1ac--m 10, ie płas.zc:ey200 Jcs• Cłlllkow,de prlCzroczy ta i nic pokaże · na
ekranie.jeśli tylko \,.·iemholki mają_ usta,11,;•iony amrybut przczrot:r..) t~ci. Jesr w prawda,
alea po2a rym r kie rov.Hąz.anit.: pozwoli mi na .zastosowan ie 1' ilku szrucz~k w sbadcrz.e
Powr'Ócfi efo te op zy okazji analizy kodu rentiero,,,,·a11 ia cic11ia.
,.,;1erlc:tvJh:[OJ tel o „
')l,
1
",t, 1erzc · 1 {: 1 c:olor „
"',.. er1c11 ! [2. oolo - ,.,,.1 ·zeł ol • ,J color - 0,,,€,-J ·r "
_11"Pl s'2c:qzna9utonri erzctx>l' _,. r.loc . ) .
return s_ .

~al:iiZ kod ładuje ic!łfkt:, ,.\, txln;bn ia bu fory. Lworzy prost • s.hadC'r i I da.lej - na ra.ix
me nm · go i-ę me tlzicjt. Picn\•sza nn'i.voAe poJawt□ ~; • " funk ]1 Rendl'.Jrt.lJP. asz z~ ·
P"e f ~ 1 pr . Funk jJ ta 1...,jmu1c: 1i; rcmkr ,\, anicrn w z; ·tltt!'go oprrn;:, końOO\ c.:j wi~ej
si tkl obit!ktu ll"Zuc,ająeego cii;ń. TakJflk popr~ łniu. M \ ruó ,,., 1eJ funkcj i j-..-st wil"k m·c}SC.
któr. mogłyby zosta ~oprym.alizowam::
' 1d 1,acJ1Techn , Render JP.łaszc~yz~e c1~n{)

Gdy t>b~Z}'Zll3Je.st rysowana pt, ,,_.z picn" zy, rostaJ usta\, iony bufor MtLtryc ·• ~osU:
00 włąc~ny. · funkcja porównująca zdcfinitw, t111,a jest I łk. ab;i za, z.-c a~tua~m)~
" SZ.Ystkre rysowrui • ptks,c:le. Po t1at) ~0,·van1iu piks.cla odpo" iadaj~ :i mu. "'artośt buto:-1
1

matrycy z~l:.ljr.: ~ ilikszona. J.:st fo 11i er.v „ :1.a ope~ ja n11 nUlbj' y po \','JC'Z)'SZl2lel\lU
t Cza~ - ~ fl,;)!" }flet 1, r: Jn {) , 1000 01 •
1

[l~ . li : "Ol.re; ~s 1ti".1i;d5f.l o· " s ·n((lih.). ·o O ,
o t1 . J 1ł').
~k-m't( .1 erS atla • ruo 'iFCT Ul 01. IJ o,. o o , or., }
f>o7yc J ~S-·tl' 1a:
. ~ ;::e~ , 1 rS',"1 d 'a. ~~-.'' ~r~,.1~ 1d).
)l!tU-1 em~ -::--se- •.,-. ··e.-.'5:wo.r'Consu~t( • ~,t!r~-..,a L~! ).
Kotqną, ~no . i~JL~ w_ ri:n<i ,nlwru,mc pb.SZC7,)-l'XftY jak-0 _pa.J;B ttójkątÓ\l. to spo"''Oduj,ć
tawt:t'ci IJff'lP~srul1e w b11f OrL~ matr;1c r w11nos ~ jt.:dt:11 , ~ [~reh tni(jsr;ueh. v,, ki61J-.cn
~~w.lJla ~ pł.ł~cxyzńa.
- rl~ ~,eo30 5€! 5 re Stn,rceco. 2000 k
~1 /.t....-...•::;.,>, I ).
• U14ern eO.."'tł or.- r m1 "" 1•1f,tDJOi1l_ , ~

TNiz ~~:ecH •CllłS nY uP.,'■'Orl!!rlii.: ,nacieri;y ci ~•i~vnnia. f'l3 zcx}'V' , ml kro~ ~~-=
~• <>ieli, Ml.iioiow~na j e1,1 tak. aby D)•l3 -zgodna z pl\,•~"-.1 o~l n ..~ bo
lertt-,boł '-''· J t Co p1,osta pł:35:t.&ł..)'2Dtł1 kiero"•11na ' · gór" 1 um ~52Qa11.~ ~
o:
Po zdefiniowaniu stt1ly,c;h us1.awiany jest ~pusób rcnrlerowanma ~a.tki - w tym -
rne ma żadnych 00\:i.ości. ws-Lyslko odb)iwa si~ tak,jak ma ló miejsot: ~ p • ~·
się nalomi ~ bl'eslia Z"'iriązana z optymmlj zacj ą. Opis)•wany efokt \\'Ymflga. aby ·
rendero ·ana była dv.'lłłootnte. Jeśli obiekt ma złoluną ~trortlctri~. operacja 'Ul mo:t.r ~
:znacznie obciążyć s,:en1 g13fiki. Pe nym rn:r,,;viązamem te ~-0 p1obl1mm mogfob ·c
w-y.kor1.y~1:.1m~e ~o rJ.:utowa.nia ~icni ~,•crsj i i~tki o ni~ki:j ~1.dzfolcUJS4:i. W ~idu ~r-
padk:iicll ~w1 to dobre liozw~ązame. gd :2 1 tak w c1cmu m~ moma d:os~ '"·•-~ll<U'I
cktal1 obieb.1u. Je-st bnrdm ptawdopudobm:-"'j że nasz. algorytm pnyspir.iS7.)1 ~ ma~
pogorszenia jako..~!.: i rcndcro""'tm~j gr-afiki. ~ kaiMym natomm t pn~ypadku nakż.)• ta.
VtZgl,:<□ilic pamlftilĆ~ aby w fazie rendc:ro,11r·aJii cicru a bezw~tdn~e "'Ylącl}'ł ttkso.mY,;
nic. jcdnostJ..."ę cieniującą piksele. oś"~etlenie 0ta2 inne ckkty me mają.Cf b ( ~
~'PłY"''ll na k~tah cienia. a które mo~ą obniżyć v.,ydajnoM algory1trnu:
_·...u l(ld.::en eO:W.->Set S rl!!,::;'6:iurce, O. m_ S at ,j8i:fo1 ~~r1.crc l · ,
s· 'e-lH:.J!tRZC [r. $il.i i}),
-~' z3j1~me.~..O···Setlr~1cest _"--s,ai. a6utorJnde .s ..-OL

Pr.lCd fu:.r.ą rcnde-l'O\V!.łni,1 r,;:iema w~·~.ączamy równ I eż tesl ił b1. a tes• m:lb}'CY ~ll\l'Wll)
tak. aby nm :e pu· cle byiy rysowane jed~nic wówczas. gdy "-'!.U1o~ odni ·iem~ f:mv,
jest mnicj~za nit wano!łć matrycy dlD l}'Sowonego rnksd11. Jclii rys •'W'ru--.Y jest l!OW)' P ·•
zo f.3je zwięk.!Mona wartośe mau,,-c~. Wyłąc2enLf te. tu gł i eliminuje e'\\'en~u_a]M ~
dokładn,o.ś.ci. kturc \'I.' pn.ec:i,vnyn1 w„ pi;tdk-1.1 rnoglyb p . s.ti3Ć ,,~ mum 11c1C', ki~Y ~
~.J1 ~dm,,-alby się xby~ blisko plaszceyzny Problem ten mOŻlllll IÓWfl;eż• ..v;.elimtflO'iĄ a

popri:i:-l ustawir,;:nme 1u·t,~unię. ia z Jub modyfi.f.i.uj c warto~ , ~J)6łczynn ik3i D '"'' ffl'MN·
nju pfaśZCzymy. W Il... Zym p~kladzie najlatwi~j ł'J\."<t1i~ wyłączyć test Jlębi, 00 iIIOł'c
n'.iwniet znac7.ąco iw i ększyć wydaj,u>ść algorytmu ~
_ JrzGow11 eooo-3,SetRenderS o:1te(~ ZE..l E. fAl5D.
-_ f.Jnddzernero.D->Se e«ier tate{030R5-S l~PASS.
030SIE, ttOP_I ).
c.,};iq figUJtJ ji \', _m1!n@T _M unita nie a.khJ:ł_hzu~ iDli t-i
\ • ~'Die bufor rnruryc.y - 1 to LylkQ w t,·ch ohuamch. _. ~ 1t ~oru, iUn bcifQr.a
~ r-.} ,u - "'-"" ,...t-,..; - • g,11azie mstab rvc11.<o,
- ~ · ,,. roteJil",,.,....11, ~u;.,e l'}'50't118n8, J~C :$1 tka, !ltOŚ!.! \li,• buforze ......,~ -~-"".ma
SlJDJ ~r d • zv.1~-
1r~!dlt(11 ->Ora Cr.de e<iPr • tł'ff! tDll)? r
-s ~ C so. G.
-~s 111.
,11 k.JM11t1.iJ"I ttaj»e \")-'k orl}·st11my IK:"''l'lą S'ZILIC1.k'b lctónt nn:n,v.-.łi .
"' ~., - h e. r""- ' ~ na PQl1o\l.illc • , : :
t.1fu!'Ó\ . b«='Z' po,rzieb r mod. nkac11. Pod~, ""''O\lli'.)' shadefflntN'nUła.,:i-~ - 1.-
• ·,..,. · , ,- ł . - ·r r ..... , ., ~ □~s„omph-
t 'ł- obfi..,:zen,a ~..._ ~e~~•s ~~ra.11 ~«'90 pod koays1&11i ~ Ol,v,1C1t.1rnia •
• . KU?fll•wk swm. I Jt.~, tiu.. u ta, •JJJtf . ..t.by ~Yi iallo było ski,; ro\11,·,anc- ~ ki~ru~
~"'11yrn_ do ~!as-za..:zy rny. Ozna~za ~' u
plaszay1.n21 ~j~ \li~ndc:row. -. dko
~ -ialcn1e Otac'l'AJ.i~ U;_ tai.,v~ J s_~natom1a: t n~ ko!o ~ . 11.'CL parametrowi
1,Yl)!lllSU}l!IIDY 'f'C"'n~ mt:'-"t"L:I~ "'"''1utość. P'o'i.vód mkil!',go JJOS'~powani:3 JC!ll ni~-
- ., ; p.1rnrru.:11 al fa \1t.•1cr.n;ł ułkow pt.1.$1 l)'zny :t:Mffl.l tJśUJ.Wio, )' w pełni ~ 7Io-
~ l)', W picru.·szyrt1 ~tapic- pła57,.czp.cra oos13j1: ren•lfO"'' n:i 1. wylączoll} m i:f cem
p"lt■rJOCJ:YStokJl tak " ' Jfi!C w:}tt~i :.m••ązii)le z P ~ ) . loŚt:il\_n~ rrmj~ ~ o 7J:1 „
t'Zrłm- trrtkeii: dru~iego t1ap11 renderowania st•ł;ł.~ w; dl :ii"a1m rnz,n f'!0C ,c
~ v.iona j i: l na. ko for c ,amy. DQdrmc zoslaje OŚii ,~11,:riir: ,ola<:u1J~ ~. jm11nk j~ ono
r ~11~t czam~. Ze wz_,t~du na 1.0, że N)' •ir'lalria \"Yan'Ość parnmevu alfa~~ E'ZChołkó~,
ta.~ llro. li: z Y.{Jst3j • uc;,Li1wivm.1 l)J. ';.I; · o. rlLfil kład°" ej \l,,itt'tla n4acmji\C'C@O.
To V.Sł} •o VoZ" illa na ponowne wykol7.) t.:rn,c \'titeffi:hotkó~v ~7.)"lnY do FC11.d ·-
11w.-anin. ;zaf wno bial j. Jcdn0Htc1 pł-,.i,szc0„LDY- Jak ; półr, ·zr ,tj cznm-ej I'~ ..
tz)211t bez bi ,ov. iJnia , mt.'ldy'1 ttcj, wartoki w,er7.thołków Vłt' t.a ·,m pn:)-p.,dku
"'. Mt alflł s radowej ś,,· iatlt omrzaj:tc: go j ·t w ~r.um::i:c: r.r.eeey P?=hodną irik:ns~
~ j hu:lo\\·E:j 01\.\'1 1lcnia o•:-1c:1..a.j ąc..~o. Je ~łi ,;.kliuh'nł:. •~ ~~!\' sz _!tlft I .O. _'!)'(1~:
!O mpd11i,: czarnym. jak gdrb} w o~ók ni~ było ~ ł do1,, J o w•et lc~i:i t1 1 ~~Jtl_.:g
1Nli 'fl.IDlm; st "':lrtoś~ ,ilłfa bi;d~ii.: ''" na. 0,0. ozni,c2.3 co. z,.; o \ 1ctlcruc otat""Z J _r;,,; ma
~ imelti)"'rl06Ć i c,jcn DCC' '~ 1~pUJ<!. Oto kod apli . ji źWiąinn_ . f'O\\')'ŻSZ)lll., CJl}-)Sl!n1
ECTO!ł4 ~c : 1er-=,:ut1 (0 o O.DO.
O. o U.
,ECT ~ i t (0 O , o (I", D O • O 2SU,
- • od.e.er.1 030- S~t Jer · e · •~ · rtO!' li t(..,. ,• Ut'.!
... '.ldl11i;<i1 eOJO ~Se~ en. ,St~d •too~ rt {5. A
,- . .. . , 113 jes.1 cyllro Wll, pnie
eńlz ~staje 1w·li{CZL1ny Ili.! 1 m(łtr}'c}·. , '~--c płaszcz} zi19 I') att ić ni;1łfj'(
M .1.. ......i_ • . • • • • .., bJ...... ,..,,, wfU1ośt n1acey
i;,;)\i ""m' iem.a (Jeden) J I mrur.:J"ll..i.ł m" .. .t., L Q
jcłt chwJcromie ~ W obs:zan'.c. w_~ pojawia tię Cia\: ~
je$C~ l}'łko w tym o_
bt.7.onc. Panu~J. k 1.e:91 głębi j~ cwy"-eo ~
wi~ 004 przebiegi rysowu11,taszceyzny n,c powinny t.c ~ int~ ~ ;"'
zer,.1 -•5etlłeoderSC ~_$H~ ll C. - L $$) ·· flll
:..u 7 '1 $30· ~~ rSta e-(DJMS_Srt IL F - •

D o ~ ~ CłiC11lO\l'anla zp~ ~~ I \ ~
1r::,t.iy pn,epoczystołe,~ ~
>Set
li ;.,iSet S 1..E

Pet 1d1 !Ul"l\J.'jcniu doko.nvjęJ~lY ~!ido iil mu.tien,. a na.~-ie !\ft


_. !"""I\OWTI-
pł~ ~lJ':lę~

lit lRn.u,.
r :;:;1e ri!),
stal"IUO, er a
lO. i,.4Jlds2 zyrl"la~ •

,,iJ l • , ftDJ0•>5et .i.:·MU!r.i &tefDJCf!S ZE E. TRlF l:


- 1i!dle,n e,0.)0.,S,e~e<l(lerSt e(DJłNS-~TE C1 L m-~E. r: SE):
-- -urz.s~zem e03tl->Set li',erMr ta 1:C I.JlOOS- F-i'ł.JBl
- t~E,
- 'SE),

Aby n czy,., i ta · i.a.tka m rafa popra\\rn ie ....'Yre.ńdl:'rm•t11.Da. należy sa


krc-runc - · tafla•
~::or.;-S
1 . . O::c,,n,-5 'i ll ... V :: 1,e-· 2-S 1ilt il) :
O 'ił l i;!l, <!t'Sł,. · a • r1. ~.. ~ar y~1a L
. la. er.Slił1i:!1 " la}.

) - ~ law:001 - r d~rC<Jnstdnt1 ~. ~1e aa ld. lt:

Prz ·d oslat~cznym rendetOWilll;~ru siatki ftmkt:J21 ~~.de„uJ \")•wotuje funktjr; i e .l'UJ.


P szcz zn r en. FUrnkt:JB ea nie renderuje; j · ~ ~wLL"'C-llli:.:go obie rui. a j(dyme ~
C"Z}"ZJ i cji::o. fekE jej dział. J'J1a pn: :dstaw Ja .tysum..:k 2 , •.

f unkcja RE-ode ,~uJ przedsbm:m si1r rt~•~pująco:

l1C.St om1 odr,owi.t...'leł:zmlna :1,a u~HHv,,.mie macic; zy "wi11ma i mą iitr.r.y wjdzti o · ~


<::trmi wj c j~ natomj I nie- 1...aJmuje si4r di.:fintcv.-i,•ani ~m stiłly('b ttj jednostki. c-0 nm ~
dopiero po \.I,, ~onaniu ~, ojego ~r:da111a p :.!ei funkcją Rencieq J 1 S7.cz:yzr łC1~r:
OJ01~EC~4 PQ!D•aCO -O. OO . ·60 O. O01).
B-;- ~ r1,( ... 00' ~ l~C ' 2'" lm• u . ~(D30lVE.CICRJJPo. •.a. .
lOJOXJECTO 3(0.0 . o.or. OO).
DXITTOf<l(O.O , O, ~.U t) .
--

r. l .

nic'"1i~lką w ~ skJ:1dowc!J dla ·iliviil!t ~ j ~ . ~ para&~OŚ\\'J.!


'An'I)'
Elerii;i ~•aro zdi!fimow:nh w ;1mych funkcj'1ch. Jedyna "" cpłi~-nś(~ ~6m się ,.._. tym
rnii::j~ poj3' \i► l\\'1 J':3Jljl j 1,; I " r1.'mLLt:"knh:m kod□ detiniującqo i!P:dcnie pl~ttzy-
;my z 3Jl31ogie?.n)'m ·fKkrn do1yczącyn, ('lbicktu. Ou ·1L-hie I ilk-iy dayzji. czy zcdtct.'&!!
"cśc ·-: WSZ)' 1k11~ te fo nkc-je w jedn... m m11::jscu~ ezy po~wi z je lil.Jń, gduc q_
C l G l'. O! IJ<l,J.
~łl l. r~o,C::.t: i;'='r(cfis · odr (S. '!:1) • ].

Po ustav. ilm~u wszy~d~1ch p. rnmcLro.w 'IIS:,tępujic os.wtma fa.7,o re-fld~o\'1'B.1lia -otiriektll .


.RJ nd:" 27.9 pr.1.cctst;" ~a ·,;m fl\\'Y cfcki d:r.iał:rn1a n&.$lrr:j apli· cji, ldÓI),' poslu· · mm
i:-;:tmitj ~o omówieni~ oi;r utc, ·r. pr.,;1cn1nwancj tcdmi i:
l

.. _·:S•.:!lll;! ...:i - _~l.:!lc-1.er.'.S"u,~ • "'-41c1erzM1 ~rd , •


,... C:. l t: •

::ID- 1;1 •SI


_.. ~ -
••roo.
- 'rtadzp
-_
I 1
Utzadli!ńf ~;l.
HS-1 r!
l 1t.1

J
..,.. ••= 21.t.
~
~

ograniczenia techniki cieniowania


na plaszczyznt
Ry$unek 27.9 pm.-dstawia końoowy i,;fekl działania naszej aplikacJi. R.ótni si't Dłll od
sunku 27.6 cym tt pokazuje .li.)'tu3Cjł. w której cicn wykrat:7ll. poza obszar ~~y
Obraz został eo pra:1,vda \ yrenderowany popr3wnie. ·i;dnak mo~ na nim oostrzet , ·
f!d omay.•isncJ techn ik1.

Jedn\ z pt~i;b rzec'J:Y, lctór--t; mogłeś ?.auwv.yć. Jest io, :re zacieniony ootllr p.:c
bezposrednim wpływem o~wicthmia rnzpr.1.-;1.aJącego. Gdy żródło ~~ iatł.a ponm.asię 1
1114.-ł;Jie\ o~wietta pbszcZ)'Zllfi. włączając " to obszar ubj „ty c1enil!Pl, Taki efe ·tj~
poprdwny. Jeśli obs.:r.ar zn11jdu1e si,; w cicnm, Jcgt1 ja nos.ł nie ()QW11li13 się zmie · •
1,: :za 1,:-mości od ikicrunłrn~ z jat:( icgo to św imio pada. la1n i~t Lego. obszu ttll pc)'1, · _
być mpclnie ciemn , thylxt 1.c w ·~\"PłlJ ~ do&ttkowu OS\'t.'tetknic OUl(lajĄo:. tepop1'IVi
ośw1ei lcnjc 1icyY:11it:a z lt:30. że pfas:1.cry7.t1u zostaj~ o~wictlona . " iatłem r07pn15ia~
a następnie: 1es1 s.ztucmie przycjcrn n 1an.ą [1.•chmk.i ~ icnmw:;inia_ 1~akic rozwiązanit łi •
\l,•adę
wielu ~t<N:! ,ckniow.ama. \tożli1,,,.ym roz,., 1ą,anicm t~go problemu Jest~
wanie drugiej płas7.czy-..rny teicnia) za purr.ocą ·ha<ler:1, k•óry bi~r,e pod Ll\\'a&~ ·crotd
padaji.,cego św;ąlła i Jlr.tydtmnia ob zar i.:icni,1. Jo, zni\,dc,"ać cfckry pJc1w iego,..
~wi~daniL&. a p- zykład sh;1det mógtby pr1.cw~ć informacjt:, 7i:, dany kiefl.lllł'.k ś~·~Lb
spowodował ruzJaśfłumic plasz~;y:zit) 1 w dru~1cj fazie powinno na.siąpić o d ~
przyciemnii:ni~ tego ffU8mentu. ~ trakcie porus:.ranm sii; :i.rodła ~wiatła po rne ie
ehanim1 5ib.adcra _pm1r•ini,::n upcwni41ć sit;, źt: jn~nosć ol>s,.aru objetego ciep iem jest stah.
Nk DV:'ZSl1tdniłe1n lego w pre„cntowan.;j aplikacJ1, po:n,ewaz cbciafem Ją ffUih)'flWrue
uprośctć, a ~cm podkreslic ogrnnic~cnra pod bwowt!j wersji tej •echnik,.

8
J~~kS7..e ogr«il\icz,..'flie prezenrowam:j h„"Chnrki pol~ga n.a tym, i ma ona~~-
Jedyme w przypadku pfas,kich powierzchni. o~nac,.a ,o. i~ me nll.daje si~ do c:temO~ . IJ
ubicktó"-' inajduj eych . tfi na nicró"rnym rercme. 1e mot a jej ~z toso""'ać ró~ tU
11w łiN 27. • Cl•llle-~I. Ne
11iił
........... eh:
... -Ol}Ł:w

C.zęsto jcdDaJ,; b,1, \1 "°"


· , że, ;!$;re og.raf!,c7.cni:t ni sllmaw~ powodów do rnygnatj;
~ SUtSOwaJ1i om .wram::_, ~hn 1ki. D tyczy tu z,.via:szcu1 gier m j~. 't?.l órycll ~ Jt~l
dii-cj _pochJooi~y u11kan,._.m -przccawnilLl~ h)' prleds~wić go s:vwoj,t:J kolet.l31'1cc )'...
m.mi ·rue
· t, nii prŁyp:llJY'Y.llliu st,: 1,"Cndt.'1'1)"'Rlłyrt~ aa dmiom. icskompliko\1iiue
·,:uje: lli1 płmrt}~:-i h, pomimo swoi..::h. ogr..Hti Zt.'ll, sum.u ~wo, r,ajpro z . metodą
~LUl.lu· a. widzowi 1 . ,._.jak i~ od legio ~ c1 od ,iam.i majduJ~ i~ określon:y pr.oodm~L.

Podsum,owanie
~~ K pWrc,.,.,, aipin •it D .....,,_ n-■lnitn,~--......_
i .. pozyqi ~ -SO wcktorL
~ .
• Równanie ~ Y moma wymacz)'.'Ć, ZDJ~ w,p6Jrzędftc lrzecti
nald\cych do niej punktów-
♦ M■cierz cieni■ pnck.sztaka wierzchołki, blk ab)- wy)ł1ądaly na ~
i rzuto\\ ane na pł~·
1

ł Bibłjotcka DlDX udostępnia pot.ytcczną funkcję umotbwiaJ~ u i ~


• • le:
l1t8( itny CICflJOWIIPIJI.

• pfll$ZCZOD3 ~tlri11 nie jest w spc,sób bez~redni rysmvana na'dits_11ac,


J .-tona z:1pis ·an~ do buf~m rruitry~. _tw :&ąc tyin s: mym szablon dfa
pm1r·ierzchni l'C'prczc:ntuj ceJ obszar e,ema.
• \V p'ieru,-,._7'\Jffl
•~ ~ ••·
kroku n~uje

rn1ryww1U1mf widocinej pła~zyaiy i '-IIAm..,_
- ~~ID~~
bufom m3IJYCY jedynkami.
♦ w kolejny1n kroku do bufora ~błono'-'vego Wf)' OWJ a na Jest pl c;~ltl
g:c:omctria obk-ktu. jednak Y..apis doty('.ey ty1ko t4!go obs~ · którym wci~-
~uscai narysowana plau.cz, ;ma. Aby zap bre intetfcn.--ncjom po 11111~ . J
pł 2!;21\ą i modelem cienia. moksz "vyląc-~yc !est głębi.

• Trzcci krok pch:ga na .r erukrowaniu pólp ze7.roczys1ej w.afflt'.j Jllasi~~


3te tylko 'il.' rych 01je·s:cad1 . w których WCY.c~ □iej ~-o lafa z~pi,san11 pa~zc~
geomelri .
• ł\ła koru:u wyrc:ncb."Ttiwany zostaje: wł~dwy obit'kl z '"'Ykorzystaru(,n wotny•
"· branych pr.teZ pr.ogrami -•~. fc.któw.
t P-mxl t3wiona •~h~ik _ zaci~n ia J" ~2)·zn4; w po ób c~kowic ie niel.1 tilł)'
od fazy r.1i·or"2..:nm o.sw1ed1mm . \,. efekc 1c pl :t.e7.yzna n ~pierw :r.oSłaJe
,oświc,dońłł. a po1em j i= ~t JednoIicic przyciemniana. co nic jest poprawlt)m
roz-wJązaniem. I niieje możl iwość u Icps.z n ia lej techniki popr.r.cz z:. to~ow~uue
w trzecin, przebi~~ mechanizmu denm•1Ji\.Ct!go. który U"''-'2.glt;dn iłby topi •ń
o. wi tleni pł zczy~ny i odpuwiedmo ~ ·ol}'Sm, ał jasno\~· ob zaru cien·•
♦ T clmi :-a ta pozwala n worzenic c1e.ń i "., łączni.; na pfa57cz ·mtt:.
R •qderowanie- ciem pochodząc eh z w n;l u obit:k~ "W ~~• możl iw ,jectiw.
obiekt), te nrc będą m.u:-aily cieni na Slt!bie n.l\\'1-ołlJCm To, z, t n (niepop,ra~n )
~fck1 b ·dzic widoczny na \\•yrendero\\am;j enit:, zalezy od ~o nu~inej :~tt:aqi.
t Tc..-cńn ika ta me pon aia t:u;ż~ m to, :łby ob1t:kt rmca~c1i:111,~1„am go sicb~c.
Podobn1c jak w poprzednim puypad · 1, ti:kt tr:go ogm,i z~1,ir1 nic musi b)' ·
z.aw ·ze o, idocw .
1

• Technik-; tę moŻlla stos li ać w1ełokrot11ic dla , idu pła:-..;:r.;zyzo, ro może mieł


z tosowanil! np. przy rtuc.aniu cn:nm n,1,v1elt: 'iCi4m pt,koju lub d. .,_ j::Ikims
tt!renie znl'ljduje · i • wi I.! le pl~Z<'ł'fl'n
• Paro r..,aj, f smtk a nżyla do l\'t·orz,enia C"tt:'TI ia nit: mu I by · t k do ladn~ płk
ratka. fil podstawie k1órej ry owatt_ · e. l obn!'ł-. t \\' p~l$1czcgólnych
pr.tebicgach pot k.1 ,,·ierlchofk w i rak „ zniicnm.n.i;. ,vięc me nie Im.Cisz,
2:.•:unfonia·ąc t4; iatk · n sjalk'f \\ mn icJszej 1nozd~idcz c,.
fłOZdział 2s.
,n,e - c:zęsc 2.
111 - •

61
cieniowanie przestrzenne
C ~tt fi pbs:teZ}'2llUCb l\ ~,·r,:k:sZi b. di Rlflll:j 2@ '"'~~uc~•· matema
(.t(rf: ruje i. te: operucJe nJ mac1e-r2 h mo .-ZU\OVt ...,.,_. f)'e211\, która
[ ~ !\Il ,e
•• t~

~ hoi
•-w:,. • • 00 _1,1auCJ
.ł'.... • f11ZYC,1;m.,reb
ta nic .n1nir: il u1.1Ltkty 1121 ~
::.1"
"I: \l liiicin,...&-... • •
Jl L~""I) jCj Yli')•k-Orzta,t3-mc óg.raDIC:z.DI i lf Jtd'-)'DLC' d,o p1~n..m ·c . " ' ~ l CLern
IJ ,;i
··i;:' . ' • _ __. h .
• • •. -.T )~Ml,: 'P~ ~ q...
"n· ".tG fÓ1.111 , 1~ iem ns l)O\.VJe.t2-e m eh. pol'iLt:1'':U. ~~ . (. _ •
1,1iię,G nie'. ci~ńl mJ~~c ~fon}· ~ gm~,u iP~~trzmi, w zwi"~u z ~ ,= ()
lujll' I)] kilłd.Y obie :t BtaJdUJ LttY ~11; W kJ J' trzcnt. Rowti.:d tim podz;e-lil~ rnast:i:-
~ !,; ~~=
ł z~ ł\l'L'Jtz(-m~ ci Pl ~łrze-mu1ych

t M'1t'h„,111zm Vl!'rt'e°:it !,,'ln~dt=r y.·ykorl) ~ wany w ICJ tL"Ch_n,c ~.


• Kod 3pHk.::icji "-.. ~,rL) mjąc j opis,} -...'llny 11\Cthuruzm cłl!nii:;n anfa
• p~ ap i.::Lenio"·aniil pr"le 112.ennego nad ci~ni~11d plas. im1.
1

ł Og.ruait111.: niil te hmki i.::j~ 1ti0\, ~ ia pt'.Ze:s1n-:nnc=go.

Pod \ ~ funk\.!junaln k, or:11 moiliw('I. , 7. nosO\, ł.3i cieniowill'lie: p,.,,.n,~ :elll!e 11


...

r.moPio i c,gromn)' J;IC'ISl\1) " swsunl.:u do c;11i:oio1.~.an1 ru, p4aS2czyznf. eo niest~t "' ·~
1 . 2 \\'I ~7llJ złożono~ , lej ri;:chniki.

Zasada tworzenia cieni przestrzennych


t 1m tićn101i1iarmł pr.tt! trr.t: i'I fh.:go 11~7.gl(dnia ~ kt te .:.Vłi:;dJo zajmuj(: f>e'' ·en il)O!j;mJ:"
pllt'.!,trteni ~ rngl1 ~ dm f,n,.,•c, 4'10~1c.zy • ja • ;. ·intł4'l pad3j rellektotó SłlJJIO(bo,,, 1

llo -y-c:-h lworzy ~ pr.,.;e:;1r1cni ~\o;. • c,cnil! ,,. taj~ dokfadni ni 1'1kleJ ~ j 13-~1t
- 't,rtą pewni: o~:zary FFlt.""Srr1c1u. \'\ k-órych odd?i1h1j na umi~ 'Z@l!H: W1L 0 ~'1?··
w~!J. i-O, .:o ~llJdl~C ~•i; \ • pr.r.t:-:u-H"ni bj~j ;wiJ\km. ji.; I oświl!U~. a 00 _inaj~~J('
v. pn~~tm:ni u j~ki ci~n iern. oswietlont- ni je \. Ry5,unck 2 , l p~ed~~a ·t li)'-
waoą yf~ ej,;.
.._.ure!
...,,...

z felctury poprt:ednic-h rozdz1~ó1,v wiesz j ut. u _świallo ~enmkowe cdwtetla ~ .


obiekty znajduj~ ;;itr na .sct.·tue, bez . ~glijdU n~ mch ~cJ~ ~ub ~ rednic ~~
mnycb obicktói . ,. ialła pnnkto~ 1 n:~ektorowe ośw1etlaJą w~tko. ~ lllaj'1'c -o
w gra.ni~ch ich zasi gu. lie ma mi~o~•~t Wihudowan~go m~bani~mu~ktÓI)• ~ ~
..-.·alby. \\' jaki sposób obi~kty bl~ku ą ·w ,alło: ~echamz~ ta.Io mus, 1:00ać Ut\\o
prac-z progmn,i~c . kQZUjc się Jednak. ~e d:t.J~k1 mę,._"f.:hru1 izmom vertex ih:Jder rzec.,
ro nię, jest bardzo trudne.
Tradycyjn~· s~ób obliczania cieni p~u-zeon!ch był ~S1~pu1ący. ajpief\\;~
fokalizacji !;wiad jego kierunek oraz su1tkę ob1~ktu. mu m ch~ my W}'mac2fć: syl"etkę
obiektu z perspekt~"'Y itodia ·w}atf~. ~, ix:w1en spo. ób byto, ~o podobne do po$~
wania w przypadku knnstruowarua ciem na plasz ·zyzn.a ·h. •dz1e nrtilcż:ało okrdłić. ·
obiekt wyglądał od strony źródła śwratła. \1 przeciwie1hł\\'ic do tamtej 1eohrnu, •
jednak ,spł sxczen ie geometni obi~ktu nic było wy tarc~ającc. iatka. mu L ła z~
~ narizm\-an·, przez proce!ior. &it;ki e21..·mu wyznaczone zostały wienchoł_ki '"'~c
sy~"'~1ki obiekru.. [ tnml: okresfone algorytmy. któri..: pr,ysp1csz.ru • 1 311aJi,_ę,jed "'~
zajmow-dla OJ'lłł! sporo cza!i u

P,o wyznaczeniu syh,,·etki. otr.c mon„ kształt m~ł 10. tac ,.,,·yc1.'ni ·ty"' w przcstmt·
tworząc w tlm sposób gf1cbic c icnaa. Za.11 im prt.ejdę <lo J.oldad.n 1cJ rej anntiey tej t ·
wyjatni~. w jaki sposób opisana mt:1oda 2ostala udoskonalona d.r.i1i:'ki "'-
meohani~mów ,. rtex ·hadcr. Polem opi zę reszt · LCJ le hniki.

Mechani6my deniujące wierLcholki zm1c1.:nic uprościł', et-ap z.wiąz:m 7. WJ'11t.1czani


sylwe•ki i l\\'or2c-niem gł.;bi. Zam1~!it oblic1ania syl" Ćtki. a tMS:L~pnie •~wyciskania j~
i pueslr.l):ni ve"e .shatlcr potrafi v.,yknn:1ć h: d\liic c;r}•nn ~i w jednym ~ u , Najpier1
1
,

okre ł.a oo: kłóre nonnalnc WJeri:chołkón· :n1• są ·lneroy.ant: w stronę ~\lli1:nta, a ~
~esuwaJ.; w~łu__t wektora 'wjnU.t. w k1crunku p l[,."{'iwnym dn aódla wiatla. W~
kJe po.z tak ' ·1er1,chotkt poa>Smj 11rc zm1i:11 ,one. Jesłi sunka zostałti. prawidłowo pocmclo-
u:6J~
na n_.J. ty. '': wyniku dzi~ania mechaniz.mii cieniującego otreymamy prawidlo~ą
f
gf~b•c.; cu::~r '--śl I n.;itomi l pod.zi~len u:: ·iatk i na tń•jkąty nic b Io zbyt do ładne. ~o~
poJawu: się mcdokładności Zja,..•is o to omówi-: dokfadmcJ pod ko11ic."C tego rozdlrłłu-
~ rysunku 28.2 został przcdst.awion)' dcn prze. lFLcJ1nY otr-1yrnany i; ptz) ·tado" ~ 0
ob1eklu.
:2fódk, ś1o •illtfa lJfflic: ~~ jt~t W lłW}lln 80ffl)'łn ro JJ.
(>,-ls1owil,n)ln] eta.pic ~'Yll•~•
gł ~
l)ll' l}'l,7J!I dól ; le o. fl)' otr.l

~ gł~•~ ·ą oę
Jl! J<SI ' ~"' mósl : r o ~ - 1, ·orzerua bi. Ry,.B 2 .1 p .. i0
i,;. . i ~ , , kt6re s -i-•ne , · Pl"L<!c1v.hi\ s ni,; l ·<11me1<
.dlr ..,'• 0!2<~' ~ ~taj w 1ym kierunku pr:zcsuni 10. Pozostale wie111tb
•(1!111.1. 111<1-
_.., v • r.....» ~ mechanlznlr vettu lhlldlr

R,tliMIC:28..4.

\V drug m mpi l'Clldero1,\ ia V. •l,mn:y ww:m, Jt: t ' L"r1f.'X shJdL'r. lworz. ..~, gfębii; ~
_je ry ue
Oil n rant'.' W)'~'1_L"7.łlii: trńJl,..q_l) ,.n; JUUJąL • ~-~ L. przoou -Obi ktu ~
d~ń • ii: ~pjmJ~ on jcclna ' J\tcYCgo ani du bufor~ ·uJor, \\, ani do hufol"3 głębi. n-i ,
na1orn~:ist . troi- mateyc 1• • ~ ry unł: 2 • został pc;.oo17.3n t'~ckl po z.a..k 1ia.I.'1tiu 1ml
omar;i I n~ fazy. ZW16<: 1,1w:1 t na 11L\1i·on:uJI_ oMzar ciem •

W tr7.ie "im ~rap1~ ~ 1 ·me n-n t:rowru-i.a • t p~Lr2i:n ohj •ta l"ićniem Jl.'dnlk •)łfl~ Cil;lcń'I
d 'J'Y tó 't\ 'ŁłC"lJll~ . ;h trójk I \\ Sij_litk•. kt-0re xwrucon.,, są l'lr✓~C!L'l/1i\nic: a._\dt.J \\ . 1h,
r lak ~ak pcp~-dmo. ufor kolorów i "l --bi po2o,:; j . . mr1;.r.m• ·1u ~ ~~ n:1com1 bufoir ~
1

ZOS~Je Zl1ln1CJ~l01\}'. ary nku .2 6 2.0!litruy p e ~ r~ll :fm1i I \ taj ru~ tJ\OJ ~
(dl..i ~Ch4l.....,aTim pr:u-j~l:ltl i obm;ru pomin ifto faz,t ·sowruiil. p driich
= t 1 .LÓVt)
~ V • TNflnlld ~ machllnlnny Yłllta ......

RJlanek 2&7.
P"~"~ ~ C'in1
pr: rh':cnm

ODaał:t.. ~ fi

P-ozo:surl TI m wię~ etap► w ~•-ó.-y-:" 1.0:tran,e ńil,Ysm,r~~ ~ cie•~- \l osta.mim ro~


ntogla b)'Ć rywwan,a bc:~m:d._1no ph1,szceyzns. odn1esL-en1:a.. pomewa · cieri l"l~~.
W)'iąc:mi~ n_a ni~ eraz musimy oarys?w~ c~y _ezw~~t o ,..,{i~ko&cj ·e:alego ~ 1
L

"''ykorLyStlliJ,ąe
butor matrycy e_lo okn.-s1enuł p1ksch z:nąi:duJi\c:)'ch :s11c ,.,, obszat1.e <:i
a_~ ;n:'JZ\Yi~ie doorze fimkcjom~jc w przypadku zło~onyr;;:h deni, jednak n.ie w-~y.~
ono dnkonMia 'korckmy ja nośl: i it:n~:ai. o c'il:ym ws~omiriałcm w p,opr.zednim, ~
Na r,sunJ..~ 28. został pokalruiy drn.gTiłm obrazuJący poszcz,ególne kr(lki o~"'·lrle]
•~-chniki. n-atomiast ryi;u1m:·k 28.9 prLl."Sfaw jn ukończ.ooą -sc~rL~.

Rys1tna.k 28.8.
l-f'np_1• Ut wq Nr,iuJOll'l
UirpuJ a.ęi . Cil'rltlł
ffi '0'1'! c."IJUI c;'t r'lir(~
,I, - t,,'11 ~iCidi..
~ do 'fflltr,dlo
prze.'(/rtt•lfr,~go l)t,I

~.
~~'Q
l ~bu!tl'
!lull'I
iffl

RJ!Sunek 28.9.
ltw~co•,~y vbrar
/Jl't!Zt!nłU}~,
~JeJa t·rt•ma
pne.stammeg,1
• t;m ,oozn:i ~ oricz}' om, wian;e pc,d~l3w tochn i •L c,1-emuw.u.nl.!I pru> nn o
W Wd,rn, 2 wl,śći.,,. ·,eh L"Lapó\, c~eniow i i I V.Jlor,y:>1} •anr j L n am m~• n1Dn
· ~nruj:ący óri:gt, i,n!~LntL"rn JL":!JL " ,rzl!'mc g,h,;-b1 Cll!'mJ

Wykorzystanie mechanizmu
verte.X shader w tworzeniu
den1a przestrzenn go
V r: ·ti d ·r "' or.t .1.n · ~ o LW):JJ ~ Lt-cha1oc j ·~ł
111i1:n · , \\ b.;1i;11ól n ~ porównti ię: g do nu c-b I ·1..J1□ 1 k . _
tnxnnyd . D„ n) n~i ,. 4.:jścif'I\:\ :_i,m i · pę~zycj· i · ii:rune 1
,..m, · ""' a.1l
bic--hu 111.il p,~i \ ·I! I.) lku o eh du.·o rb ~, dk?:-.ci łt ~, ,i h·
p17r..-s.tJ7.c-ń i=1rm.1 • oo ~huJcrn U.11~ icsz 7.QTly JCSC w pl ~~ •
'li"iS l
lllC_SQ \\ .
Na ~ tku .,,..,~laJt: obli zon Iloczyn t1.m
r. ,crun u v. ~. H.1 \\1vnik 7.Q.Słi · • m' \'1,'
do \prav. dzeni· , cz_ \\~1icrte'bol,c u·
~wlctlcnia.:
r() . . • t· , i:r. ·h
Lt kfJ · ~n
I li} 11 °\\I
Jnswll.l cp s l 'l sp1'3\Vdm. CZ)~ ilOf.;~yn $1il:Jlarqy rtomwil~j \li,°kQCoołb i W,cktort •
l,\•iada j est uj,:mm~r. Sprawdllnie to odbywa się; pop nez poró\,'113nii: wa""-. . - -~
, , Z('f() znllJ'dUj.łl.~ll Slpt
z. ~'\i rtD~i . W~...o Y- Jcll"I "1.'rnik pc111.-.iWnn
....c. • . -.-.i;:1 •I~
.ma będ~ic \IJ~
r2 ·t zo«a.ni u.s-t3' io fl NLj~en . W przcci~vnyrn ~~u 2 lt pn jm•c
NS!?t-cprue o ~ " 'ill'lOSC J\.~ t mm1Qź0raa PT«.t odltstość, o j ale: Wiim
w::; - ~
$U"-·any, _p ~wr, aną w i:8 x, ~ v.rynik mDóteni.a zapi~ ·any ji:st ~· rl ~ ~-
v.:icłk~ pnes.unfąci'a wi.er,gholb mootorm jest prza ektoc sł,;,iL'fttwany odi tmdłą~.· .
do w1er.uhotka pó czym cal~ jest dodM~ do oryg,inrdnej pnzytji ' " - i i ~ Tl
temu~ • _I.i „ ier2Cltok·k ~ t e ~~:.my w strnnę ś.u1 i~ ~2 pr-0ijmit 'ili'ilJ'lOić ~
~ co 1n.~~CJa _i:3 me bę4z1~ m1 fa wpfywu nu pozy,c.i~_w1e:r2ch□•b. J~i r2. ~
uJi:mne. ~JB ~ 7~ " \ ! ~ W2dtu2 '\li((.-bo.ra ~ .śv.iaihi ao ~eh ~
odlcgłośe nw: rnus.1 byc .mana. pon1e'r1i,1l.t. wr=kwr tel'I r!J.e z.osa.I ii.r czdmeJ 700llllatiza"'
1

a końću v. lcory ~xiero,.,~anc p~ci,v~i do zmdlill ~wisJła zostają od r.iLt:go ·


o p wn odlt fość. Zdt-fmniO\ ana. odległość w zupcłnosci \l.j'Slare.l:y do o'bj«•
w zy~tkk:h ob~ek1ó1t,., wajd'ująey,ch si~ R3 scel'I i
s. r2 ~- O , ~dr
r2 ~. ~l X. ~8 X
-~ tj_ •2 . r?. vO

Ko1eJrt.e Im.ie mn.j~ :ro zadilll.i oddalic (pr.lesunąć) wi.::r.Lćhul~k od iródh śv. · lub
ka?-t:'LĆ jeg() nic:n111cnio1ti: \.\.'Sp~-dn , N~sL~t11 · dokonyv.'ill'J je.si ost rixme ~ ·
~nic:. ;a \'\"ierzchołek wstBje rumieszC'lQfllY w pra'Sll7.t.'llL ,,,; ~ , ;. Nic ~PT'Q\I;
~ dne oblic,z~ma kolorów. poniewa2 na cyth ~tilp.il.Ch aJnulJizow11ny jes1 jed~'nic błlb
fflflltf)'C) .

J~ oPos .• r1. cO
(li:,;·' (Po'.:.J, r-J, -cl
cp.! ~Po~ z. rJ, c2
d:' ~~s •· rJ. c3
Jak wid: ·• slosunkowD zfozont:j rnch 11;c~ townnysey ni<.-:skompliko..,lr'aD)' kod :s.lJ!.&la.
ajwii;b:r.!1 zło:oono ci cbarnkw:ryzuj e się J d11 - :.1m1.1 .H.pJil11cja.

Kod aplikacji wykorzyst1ującej


cienio·wanie przestrzenne
PCH.lobn~c: j w pnypn.dku p,oprat:dmi ,j tcchml:i. ~ cienio,.'l;l 11m pro.: rr2eanym \V) .
z rs'luje . t • , 1clc emp w rendeJOV.4lfi1 i , kl . re Ysllpi ·uj, ,... 1'10.Ści do bufo Pl:ffilfrt)'. J~
p .zckhJ.UOW i,~u LUCU wicacholków nailcl)~ Lltwort.) iJftH.'l_ o 1f•H 'i,\, 1crt~n o~·.
~lćrdJ y.--j r,11:-hO 1 1113SłJ p«::tnoc:kfa□ l\c\ ~"). L.ad.mic I 't i'}~OOf~~ CJt:Sł 'Pf"«l fun j
u~ "l. on 1a~i::l..l/ .C:ll'f. P:rlcdsla\1,,·oon pom:łr:J , ent I iej• L erl} yt; \\1~..
clw& ~ atc opróc Lt W~J~ od w, ·u.1mi u\lii"Tlici :,.a ~ rg □i;('(W.,~1111.:
CiyłfL) od111~u:ni o odbyw ~H;! ~ tak.i sposcą. ji}k. 111.1wv to mJ · w pop.:~un
t0zdz" I~.
.J-
,a.- ... r -cru ' ,.

'.lt.:flljoe- wszy.. , arlo.


buforze"
1~ \Io
J~k1s iJtr)·buL !Ut: z ~ ust:-11 ion . Prz>'.
ca,•e v • TNlnld w.,IODałJlłlJlfts 1211a111nl■rt:Y MtiA....,
okazałby sę za maty. ~ ~dzeme zostało u1aawione do pqey w .
czolc1. Nalciy :iwróc-ić na ID Uwaft podazas korzyatania i Włffiehoł~ ~
pr:zcksmJcor,e. utępujący kod tworzy pll05,1.0k!lł o wymiarach cba.nu= • kl6re ~
--
---
r,

]
--
- (fi

~r .zchOł .. N«l'S.t to icoior c.oo o or ~


am o ~r. -
(3 olor .. ~!tOOOO·
_ '1.!S ~E:ti or 1frit;Jl01k,, '
ri:!tli s_o· .

RówJ_tii: _,.,r.,., lej aphka.c~~ najw3hliej ~ u pt.'TI!C~ 'i. • kon~"' (}ł; _sq_ w f~cji ~ _r. 1
zm11u mahzoW1t dlug,Mt kodu. og.rnntc yić'm się d gerlm> t c,c:rua FUZ ryt o.1cdtn
z d~ócl, óbu~klir.\" ro.ajdujL ych .Liii.: 111a 5le1:nii:. 1iJ r d lsz~j c~ki ilMlizy 'kodu podpowicfll,
j łączyć cieniowł111ie dla '\li~~lldch obiektów
,'OHl pl i..:acJJTt:'(;h.111 , 1 ~--:iJO
[
()JD"'('.l'!(; ()P.• Di,z{J; i! ( Cf O, 0. ' ,.
[);JIJ• ~tq;, oo: ~~t ( "'M4) C! Z, 1""' .c.'f.tT ]) C:7 "il
!02tlX CTORJ({J . O Ił .. ).
,!))Oz Cil);iJ O , O G.-) ,

Żróclło 'wurtr~ znaj cl ujące ~•'t na · ~nić porusza się po tak1cJ m „j drodte ja.'k w p o ~
nim rozd7-1.alt.:, CLyli od Jc1,\ ej tło pr3v.•cJ kra't'r'ęti.Lt iómeJ e~ci ~~n~'· Kitrunek p,3danil
wiana -~ I zawsze ust \ ·ionv. n :<-.rodi,:k .!-tc~n, : ..
a t cas
OJO't Cl .~ [;;. 1.)t anso o· · S1n(Cz S . 9Il O , 0 Of • . o ,
DJ0 IJEt ~._, ' 'i! O D OO P.::~111 ~.li!i.
"!

Domy:;lni4; nie dot zyiem oswi!.!mlenia z jąc~go. j ednak i!itn1cJe rnozliwość )t .~la.
1'.ilCJ i 'Il [POd:sti."'®\\i'_m mechill'I ixm ie cienmjl\C)~m Podobni,c J:t · ~ .P prledn1e:J .flPli . .11~
1

- etapie l!~nd ro-wania ob1ekt6'l.,· w1doc:lnyeh 11 -se ·nie zo tarue , ·012), ~ O!,WI('•
• lt.-n1 rozprasZJj,ąc--1;;
EC'~4 'Ot'.'2en1P o o • {I.O I

TTZbtlz,e 1 OJD-> rt.,.-.-;""''"'tCons .an ($. 11 I


..

).

N ti;pni ~~' ·7;3ńa jest :''ano~ w pól ~~nn, a gł b; w ce-lu u.peYt1ucrm.1. ~,. , a tiP}
•~ raemlł Cłem b1r~, ~pu!, 'l cl3pam1 [) ·r.wi.·wlii.l ob"r,;:l.,1ó't, Gd_ p~ pro,,,.~da.l
'ilka iaz 1;.:nderowama. L J amcJ s.ceny„ błi,,:d)' ;l.lł rJ._glt:n lub il oe , da u z:r.e but r.i
t bi mo · po" odow~c H y t;.1Picn~e !!fok,u rhrvpowacosc1 'j,I. mi j ach. w któtydl
jednt.: p · 1,d!! b\-.d„ mo· t„ tali T.)'Ć k t gł~t,,. a inne n i ·, 071r,;k1 o ·, niu rz~ ·e 1;
z ~8.Jil~. Br ) możcrn) b~ć pc-wni. 1.c dan:a fa, ,a\,sr · , \ yra ·. mimo c w ~ i j
w,1 s~i.ą bard7.o ix..tJobnc \\ anośd _giębi , \V na L"! m pr1:yp dku m,odd 11„ s i:n1e it-
H ~do t •~ u1v.s..zc- .1 priodu pod1,,:1ac; prlt:bcc u fa2 c1icmowan1.3~ 1nkic rm:v.i ~te
zapobi ·ga pl'24; ł, nfaniu •1.1b1ckru [ł17A..·7. fazy 1c-niawan1a. co c.t~ pnw. t do po~ ~-
:n~ p()Wfok1"' ie-ni fi"d c;ily, 11 Qhu.•k11.:m. , il r}'!itmk '!1';_WI ~ id.z.in,y pll~a,:j,; z ~ ·łą-
czonym w półi:,y,m1t,. um\ Z. 7...au11·.w.... -✓.·~ tmaz ję_s, w dal 7>~m daru \\l"J_'. jctJn
ob11:k1 m1 J~~ ,en zn· j tluj -= si't ró"' 1 it:7. \\ ,:1cn1u. r h 11:111, ot;!}'\~ · -~1.:. J . ' mi 001 ·•
r.ach był) o e,c: n · c1c11i · (Kk: 10-rlząc~ od nicl arn h, al z za,,;łm\li nl4."lfll wrwuu.
ClfM V• Taełllllll ~ I I I J r JfJI Dhallti&.af WID ihadlf

Dzięki zdefm,owaaiu przesunięcia Z_ogruiczonc do ~~ ~ - - -


prxbijlmj• maz inne nilldokladnm01. kt6re mogtt PQJDWIĆ
ltę W ~ ..WQci~
kolejnych et8pl)Ch renderowal)1&•~_,,..- "
~rS a _z IAS lL

,.__,u t1xT ansla•1onC _l'Wt1er: ~ta • .2fJ Of, O O. O.O,~


Ri X Har::1 .rz'Sl'.111 er.a „ r:I_ :i.l~ er lS il tt'.!l .., m_ .{;'1 e... i HIO U ...
_~I": ll;'f"Z
_ ........,•• _.. 1 rans:,ose::{ erzSh,1~1'.i. riS aoe ai ;
emelllO·~•sei i:i..6,i 1aderCans . i!!"ll!'rńt dera. ,q.
- LX 00.,,:TOC.OOJ'°S I-ił t .
I t.
f :dfl'I rs.t-( rn on ,a aet. S,1111.a t~).
ranSf.l C'' rS·..,1a . 1e•·5"'1.;i oc ,ny$:rr1JU;
~ J 1...:>', , r'S.,.·1a •
rn· S il •
e030 ·Se- 'l'ert xSbaderCofi'S .;,n• '. t , ·,~-, er . l) .
i!IAS r~r c.&
o,rS,... aUG . ,Poz:S•,.•1 ~t I11:, O-i"" oc • 1 at). m--"" rz1lazem enYJ-
">Set\'1:1.rte,r.s.tt,ac!.:"rCo• SUr'1tl 7. 'PozS,n.i! tle,. . , •
..: l.lr i~dzer , efJ:!-a- ""~C.St r~ar;:t.oorce r O. 1 •
.
_il',1.Jrz~ .ze- 1eWO--·.).et.1 1r~">(m_r.-.~1 ...i, 0) .
~_wriil zeni~30->tr [ l(fe eJPnm1 aiLEl [ST. O•
.! lP1 1
er „ l(.of~ o ■ O,
_ et~,.t.rfaces{ ) ) :

Drugie Vii'}rwoł:mie 'flJlnkcji Dra"°lnde-xedf'r 1n1 • P sta11ow1 lak narpraWd( pieTY. Z)' etap
renderowania obtektu. który będzi~ rzucał cum. Obró ·Hi.:m g I umi~ ·ciłern trocrn; w
żeJ względem d n.łgu,:go obi..::kh1. tcby r.luc.:,u1y d1 tt t\ b ·I dobrzi.: wLdoc:my, G malw•Cf!
• ~"1iana 2o~ie zmodyf:ikO\-, ana.. niezbt.;dni: jest ponown · hherenic I m-setm ie ws_v; -
kich ~eklorów przestrzeni obiektu.
D->i»:1 '1.Rota ooY (&Obro , ( I Od\. )f'rf.: 1C~C~11U ) • 000 Of) ;
D lićitr xTranslijt1on(&Pr1e:s1n1ec1e. o u 20 o·. o O').
_p,ii...3cu~rrSw1a d "' c..tn·o• P'ritsu ,ee,~.
:ac e-rzSllaoe ru_ "'C.l~r lSwi:ft
J ... m_tt.ac,e-rz 1
m l'ł4Cl n: iWl ·
OJO~Hatr Tr,mspose( G er zSIH~e d, g :1c 1erz <ter ) .

->Set.:~r ~rCon$t,ntC(I
(M»itta.:onjSirrat t . We: ' ~ ł. -4).

,
at~.
.

.,jJ('l~eń~
„..c)(łwztn :w
•..
· • rt~ t(Y'IIP.'OOD
~
1
•...""
J~
.,acJZ~,~ ..,.,......,L._
- , - - . - ,.._, • • o.
1C':'~0, O,,
~() ) .

TeiSZ ~ ~ ) Q . s.1" już wł~ Lwc ~sap}' ~•rniłW.':lll N . .


1,11!0t -~Y· k•6TY mogli my r.l.wrtid. \~:,Y ~ ·~· ' aip•- "')w;ytl~ -j•
tillfild koloiłiw, ~l ~"M ,oslajo lffl mall')·C)°. ~~- : ~ · P'4' olo~i oq-.-.ia
r,z;t ,fnd . oWon, 'I bu Off,,il n,•~) >OS¼i .,,,/ilił od1oY"'11. si( w ficn.-.-ztj
"'""'!'·
oolfJ'l""l!dDJą(~ no,.,)ID p11tsclom: ięh,; 11C -.sq· • "'"d~
• ' 30-~
~_-_ ...,.,., >
~~~~ ~-
~ }.
._.•.,,,.._ur.) , $t)~

Na5ctpD•~ "'!°1 CżllIDY · pis do bufora gli;bi d1:ięł;i Q}mm .kam


&'Dlm cb cll,[lOW rurul row:mI : p,:rnojo ". ·m•s; .,ównUl'IL • I' ~""'" ~ ~
l,tSfLł n~an:Yt: r co J;JCY.'00'1.iJJC mi:znacmy ,.,...,..,:i'\'L,C,t wyd.a3n.osd: SJJł~" C' wyk.ooyv.-;anii:,
t_adlerde030-?SC Ref'I ,rs ~ {OY.IRS_ UtE U,.&.t. ):

' oft:jl'lych lmiac~i Y.:0&13.je ~it)łl':\CZC~}'- 73pfa ~ bufom lmktrm1a•. CO óokbdmc b


't1o LoełC ...~
popr.l00!_1'1l111
\,'\i • (Q:'t:OZI te.. _,,._
Ls.Uut:jt: p-:qatn [i]l23_ .......,,.u~.,,......,,•a. ·t..w
i~ i -111 ~ 5-.'~1.;
.
d)~
Offl

l)!łk0 \-'i,Jl~"'L"l1JefTI 1eg.L11°jlpl~tl, J\.~ ~ ™157,a mc't.oda ~;(}m popffl\\ffl dłia•ac 'R il \I,
. _b pfahfOmJilCh ·pr7-ę1.0ll ,yc'h:
eOOD·· se~~.rSt.ll~@toJOiłS
eOJ06,$Et.iłkr ~S':.att; ~o 9.5-
tR$lOO:S -11td roo;r~:ocs ·
Obic ~)' fl.~ndlcliO'i' 3om:1 c i,cn ia 'kQrl)' >tuJą łwdc:r [1 ra: 1,tęi»; c,irnia oli'.iil)M
oapoczt(lku tego r rl.r.iall1;

Połkm fa1..v. i,doczuej w rt'-1~ pr1.'eSl.lm ia Z je L rownajdl~. U a~ ,eok przcsUi'I· ~•O.


J1:1 wo powoduje. le ciei, nic bę,.liie i111t.-ńo ró"-'ltl z obicktCIII nic poj:iwi ·~ t1' PoP"'"'nic
z praod~ lą:Q
obi,:ktu t w ,~1uacji, kia")' oba. • l"'hitc Lv W mitjso:11:~. , pol<ryią_. ·,'!'-
~ wltlloii<:i gtębi bedą <•~ r<',żni i, . ci,;i f6,i; ni N ws1on;· e wysL, .GfO\'-;,D): ~ plm'm•:1
MOOyli~: ja Z ni< n,klóc• ~ ·,.d~n ,;po,;ób le ni~. ltull)' 11bi~k1 rm na. ••hl•. 111aw.•
nat:4mia'sm unilkni 'LI! b'c.:dów rt.-i-'f!derm, ariia:
-:;..~t ;<li:-rS'to(I i!WJff;tS_liS-"'5 . 0} ~

W piot\ 2ej. f:.m~ rrc;.ndc mwaniJ



cie'lli· ty (I "311C
• l. rł'.rv:.~ 1.·11 cylko imed•ic ma.i-~' •idoJtih
' c'hmlllby
m~lu. 'I,, -, ,,,:--.~
~
a tJC w 1cłokątow zusraJą Z\lii'l1tir,.il0n • wa. ~............ i;.iu " : .... ,...·
J:- ..· . . • .
01 h ci,:nio, ·a.nie pOCbodz. c~ ,, ·d u obiektOW. u-,b~ i to wlu!-n•• " t)'iil Rl!IJ:. "-
\\'PIDW!ld2.iC
Obie fazy c~nicrniani□ zmodyfikawalr ,W8rt~ści w bu fru:·~ m o;·cy~ n__aclsiedl \\"i~ C
aby 11a.y.so?t~:1ć c~rny .cz,. orok t-. , 1elk~c1 calecn ~kranu. \ tym celu,, jdl~ bi~
wana~ mmryey ;est wH~ksZ3l lub fÓ•WR? Jeden {co ~ac~ ~ w tym m1tjsc1,1 j~t cictr)i
w!ą_c~ny J; m t mattycy, któ ry:S-uJe cram.ą pow 1eru:h01ę . Operacja ta rut,....~,
oo warto C] małl:yćy:
~r,za!l'li!A1e030•>SetReooer-5 tił .~( 030\5 ST[Nct FU! :; .
- O OC -_t[S$H.t1:J..):
~ u~en1eD38->SetRendf:-rStJ eCD~.5 ST~NC[tPASS.
- D.JiJ~1( JLOP_\(ĘP),
_... 7AldZffl 1€00D~>SeotFle .... rS~te CD lR.S_ST r:c·tREF. ! >.

ffllZ "yłączarn test głębi


i ustawiam~: (Njpo"i~-dni lryb pl'ZCrn'JC"~Ości. Im [PO\"IUt.thnia
jesm bardziej przezroczysta. tym cicn je.~t ja:.. niej zy:
.,. iadz 1eoJD-:>Se Ren()!rS a c-C DJORS -L _ -. O IX'». L ~ 1,
-~rza11ze111 ~->""'tRer. ..~rsu.- fWJORS- CBl.E D. D'.;.IP ENO
L SRCA!.!)AA),
m- rzadZerneo.JO-:-.Set.Reooe rS a tWJ0RS-t:.S1BH\D. -
- OJOSLE',"J_: t,~·SRU. PHA),

R)'S\iijcmy czarny pros.tokąt s2>1'Stk Le obicby na t"enic- zost tją_ t k samo przydetllnfolit.
ie j0S1 to rozwi mnie <lok-ladm:. Ii.: .;fi.½t jes.t ,vystarczajqro dobry jak oo. i;ot.1"'leby li -
Tale uapmwd~ nic VJYko x 1uj~m„ w tej chwib shadera: prost •itl [)'SOWWł)' pt 112 e~e
.za po.mocą ~deJini® Slnych 'li,•cze~n,ej \ ranoici:
1

m_ii-tirzadzen1e0Jo-:>S-e e-- e Shador(0.10f r . ERZ ·U.


... riddzem eOO0-:i-Set Str-e.t~O'Jrtern . m - skaBufc,r ... ie zctiol
s1zeo (~IERZC (" KASK[)),
- r2ijdienłe030->0r~~r mlt e(OY-!- -'~ .;NGLtSi T .-o. 2).
IIWfTal&•Clllnle - -..ea fJI
• ldw,. . Pll•Mncacw

'l,lł8l'I i wady cieniowania przestrzennego

,~ Jj g ome-t~a obi,,;l-1 w j~st ~fożoi'I , doda1kou1f pncli,it:g mot~ ~m, owi rproblcm.
Mi u , 'ciąż rń sz mo1h ,.~·osć uhvoracn1 ~zej s.i~tk11 FO" l□ic:nr • b t oscru-.m ".
Oma"- i n3 k'fflJ1ik;.11 wymaga, y . i!l a był.a śc d kJa.dna. ~' pral'lti )'ltl \\')Ta
~ą PQjjwi ię lic:rni:: ru~dok,J;rtdnm:ci . Z tlrug1c,j suony. jest; $1a1 jl':St zb}1 z.fo: Ofl3.
obcią.1.epie j0ClnosLki grnfic-7.Tlc-j mot z zmui js:r.yć, optytnaH7.J.Jj c am rr c-ch.a11iirn 4!t -
iow.a.nia. rro Lem ze .t.byt proS1) mi si tkam~ xwi iany j~• z t m. ·i 'lbyt mal i'
1

merxbołków m że S:powodov. a zmeksztakeme s Jv.·dki o ~ w trokr ie pr.O.:SU\\Jllfa


~'eh wie:rzcltofków wLdh11 w ·tora .'wi· •fa- a rysunku 2 . 12 io~ ~ pok~,.an · ~fi dłll
sil 1. łnóri.=j :rozmiel czo · J~t nie"' }J . mcz.ają: .

J Ji sia · ,na kształt podubny do s:a:ści-anu i oie wyn13gJ. SfOM'IW.:lfil r,.\'l~ks.zrj il · i


1

tr(iJkalÓ\\'. probl m zbyt r11 · it:j rozd;,;ielcz~t i:!tk1 ro ies;G fOZ."""'·i~ć po~z ~ir;:i
zd enerowan. d1 trój ·a,{ ,v. Tró1kąt 't skie po:r.wul ~ 011 iprte.>U\1- a,me odpov. ~~~111,c_hi
wie-m:hołków z n. rus7llln ia s.pójn · i pozos.t::1'ej l .se1 O'biekru T In~ rt>ZMW,IDI!.;
5elbuje nVidia w 5\-VOJ,CJ ,mplc:nl ·nla ji c ie111 pn..estrLenny~h

r!uno v. tkidi ~•~, cit;niow,n ia pczcstrzenne.gc>. efo ~1 ten "'. ·1ąż poz.rn.•~ ni )ko,.
03J>. lednym z. problemów ·est fakt. ie w „ Lk• cienw pos-u 1~· . lffll m,~k521.a,~m~.
nim,'tMRe' k_ra"·~c. L ii; jest to joortak poobl.cm 1rudt1y do 'W:Z.~'~i\'l-Ui'llll. ron~wM:. ~ L~~,.
i~ te nier-ó,.-; ,oś.ci bior--4- K:r;J., ędztr; c;eni powstaJ~t w fDLe:J · :tł. w klory lit IJ:óJk~
418 ~Y•hallilłllWJMc.n:l:łlt'ID•••--~•-r Iw

R,■untk2&12
•~-,,,• ckli
~
-.,m.tajq,t';l' ~ :b)•I
nub(J m:Jil.tl a.łci
Jtadrl

twonąoe gkbię cie1:1;a ~-i-oi~j~ si~ il'l~ym• ~~mrn abe,: m~i 11 ~n~. l O w
linie c-ci~ii są odJ:10w1ed~1Lin~ :za TirL-erown . mkrnw't~ t1c1J; • w nasttti , łaui1t
dzi;d~ ~ 1edinik~ któta je.si ~wion,.'il ~~ '!I ~ • rL) l'IJ ~

Jnnym problemem jcst co., J~c"- tt.-du\iJ<il""1a, ~c~u_ie ł ~ poprztdni opiera się Tłil ~ - .

=
1

:nilllliu_ .ffilgi)Dt:.fttÓW ~ - !>ilwte zosta•/ 1• ~mieJ os.-w11L'i1on" pr.lOZ zabłoko""""I"";., . •


- • W d . -.ł~: .. 1 .. - . ...u..: !:."li.~o
Jl"St c-0 fi()'.7.WlqzlID1e popm"nivr;. · popi:7~ mm !I vii'.AUJ 4JC ffl6.W1li:n_11 o ~~ ·
• - [! _·
mma wj ~icd g ~ ~ z ; rnooyłikaej~ ,vo~i alt1 ~ł lld technic-; 11·e~
~ b , srl}i płflszc,1. :i slo5iCmrana do zac1L!!mnuunll pokrywa cą1 ~er-.r.ellni ~

lstnjsjc nto~J~,..,. •ć ~vyren~ernwa~ia. ~al:ej ~ny_mljpi.r:r-w t)'lko OŚ'!,1,,'Le\leti;ffll ~


cym. mntJs•ępm(' z m _m1rynu rod~Js~, o.~t u..:lcma. Po~rn nrus,ięl}0',,3Jyhy w~~k.ie ~
Z\V'l,ąY...tne Z twoncmcr'l1 odp,owrciin11;go bufora matryc_. , klÓC)"JIHlS.tęp-nic ZO"!.trtn,y 'I,~
r~aft}! efo pc;,łączi:i:11a efe1'1ÓW renderowanin Otoc2t:iltil 1 o~wiclli:nfa. ROZIMą7.Jlńit •
jl'$"t \Ili zasadzie podnbn1e do omar•,\, iai:1ej Wtym rol.d7,i:1li= lcthnik.1, 'Z iym że E!mll ...rnanau
~\\'l.t.-rakłby całe ot.oczenić. a nie wyłąc7..nic c;,.am} C;t\\'Ot'Oką1. D;r,i ·ki lemu istm~
mo ·H,VfJśl• wyg:md2:entn kraw~dz.i c1en 1. Tak.:1 tcchmka dałaby dobre re~uhat)·. jed •
stanowiłaby YIJIC"me Qbciążt.~1it: jcdnos.tki ~r.J.ti ,..ru.j. l?ock-LaS omawkmfa ~lmll»'l1i~
rozn1ycia ob,jeJ..tćw ruchomyc-h prz~'t):'\Cawi't kilka z t.:temr:ntów 1ej techniki w ~i.

Podsumowanrie
Potklbnic jak ,.,.. pr-zyp,aclłm jnny~ h L~..: h111 k. ;r.1mim L:łC:t.J)1c s2. ,; . korz)•:ny:v. ('fi
nim\;'fill ifi pr.2e~-;1rz..:nne-go. pow in it!'ne: l'\W:W;J2}'i.: \\ _lj stki(: argumenty ~ 1 pmr-iw. . ri.t~
r.en nic j r.: t do~koru1ly, j"-,:loak jego r1.?zultat:, są o \\'1e-le k;psz, niż w przyplliiku SA.Ml '•' ·
cien1o~nia nil pllS.ZCZJmę. 1i.i.c·i :-c h:p1cJ n cl Jr.: s1~ on do ~tc,s(iW;lJliJa w aplik~j3Ch ~
stav.•fają ych wint nec-zy-"'visLy Poza 1ym rnt."Clrmn izm c1 niując> jes• oo 1yle prost'/. e ruc
ob:;iąfa zb„ L mocno jed~t.k i pfi ZI\ej, Ji;,dn.ik:r.i:; ci~nie przt:sttzr.:nm.! m.. ~(l w ~ w ,OS
1

postriępion„ 4;:h luawędz~ r.zor ~mych ~ ieni, jt!ltb1ak nie j~~t to i..:fck1 1.hyt ud~U~ •,
- • łllł:!18.41. m----•••2.c1111rmd1• 111m 411,
f?Ozdzfał 29. _ ...
cienie -- cz.-e 3.
&taPY cieni
Cn:~i.t: ~kie ko ~ _m~r:mat i: ope:rat:je pn.d!_ata1e-ęa ma.ew:~• c·
11to\YM"t ~mCJ111is ~V.t?.ględrui)f(I ~l. u C:~ mj,r1ajc pmiien o b ~ ~~
w ~t1 torzdzisJe amćwtmy mapo\lJEl111~ (ir.mi - ~iki. w której po ~ pi~ w ~ •
. i i:lC _m 11 '"' k.Ol'2)'!;tano.~ł12i111~,y .~icni~'L'.i'ani:i piksett (:mg. pfż,d sh•). J'di
i~ per , ,cl ,g_m~zn~J obsłl\1!1,1.J~eJ tcg~ •·~ ~t'dla11·
kart ' n_iit IJędziC$Z ~ij

t.orn,c ~ 1;.H.w1cmc-J ~ tym ~~AZJ, le, tipli~c:JL tt: :bla.cey ~o OC'l,)'''•.;,sck, k n1t
l-ld1~ C1 do :UfOZIW11A 2: trc:~c•:t t :o rozd:m~lu. , k{Órym ~łan omówione- rut-
::;tt_Pllj Zl.l admtt'IJ' :

• Podstawy r~ r:;-«:n_i:a rn;,,p cii:ni.


♦ Reridcro~ n ie do 1.t:ks, i ,

t Pcf'rmiow.a.nir: tniloC'ier1.y t-e'k. tur dl~ t~ rur tworzą ·ych ei,cń _


+ Impl mc-J1u1cjil m~-ch 1n im1u cic-mm\rani \\!)'k~-smj go _ Wili ~ ębL

• Jmpl~JTicntaitj3 roe lu,nirm,~ d~n;owarri pik!S.tli.


ł De6n in1il .mee pos:-r..nególlilyc'h pr,A~kgów w aplikacji.
t ,v dy ~ 7,.ik• 1.t.~hnjki.
N.av.\.1 jeśl, brt.ui gmfi cz~"4:!. jaką pos1.adaS2, nie p0Z", A la r,a 'W korty tn.ni jCWt U.:.i
11;:[(nio\lil.mia :r,ik •I i, l"'ktura Lc-P:Q r(lzd.lillhl pozi,VQli i n3 ponranh: m'KlS/l31Jf map~ c~n._1
i ich rćmicy v. z.gl~dc-m P()zos.tał ~·en lcchnik cicniov. iil!l~

Podstawy mapy cieni


Pod. ~WO\: ra td1.:a wykor7.y ~~ 11a w maprt ·l cmcni je:sl rów~i4; .b:it~' d~ · _ mieni~ .itd:
w przypadku pozostalyt'h •t."Chnilk 1wor1.-e:mia citn1. M-ap}' Clił:111 ~łmJ ~~. m.1 fi , i;;:Lł', ~
odl~gJośc odi :bóc:Ha sw, ad11 do obi~ktu rzu~ają~SC cieli jc.M ,wsie IDmt:J n1'- od C'-
glo~ od ool do obiektu. n.i który ti:n ckn p:1d (y,,-zdhiź te~o samego 1!,V(klł;ctt,). G~-
fictniic zonalo t.o p~d5.1a ione ll31 l)'SUl'l ·u 29.1.
~---
1~--=
- ----+,:;,_........

lqlżtl kafCa lfflrlełna Ol,lafta .na ~ n\rldi • IMry o~Je Medtaałzrny


wan)a plk581 fong. ptml ~ . potWala równl&t na 'SPIZęlOM:!· generoYi, rR8JJ~
ProcesOJY nVldliJ rsndervJfi11mapy deni. ~aysKi!-ąc "'l'budGWany bu or _ ;
mu~ą1 00 tqo eetu ~r,;ystyweć dnofitłd clenlowen a ~~J łlębło. Jfdll T _
kana g,.e ćlJUI u111<'.lilw.fa ~rzętO'W:8 irn~PQWłlll')le i:: en • sła oYli to ~ le~:
m~ ąlan nlz :z.epr~ntawan-e w tym 102~lele. Z C?lu po'i'(Od6w nl-e WikOITJt'i~
51 pr2ętowegr;, lWOrzenla mapy ,cleni. Po IP ,wsze, tCtCłlli\1ka te n. Je,5;t ~ ·acia
•~re w proc.ęsoracti nVldlł. natomiast moim cerem Jes pokaza e j ~ e-1t1 : ;
1Pf'ZJ'Wi-'1l!fN8J1le 51[ę ćfio, kon emeJ __ tMclw~cl ktln'kretnego sp~ętu. $Jo ~~. om&.
1 leII - pocl~uw.i danej teCfl.J111ki ~me I _na a~~~ :zrnzu®enre Inny~ efektów,~
na oleJ bai.Vją . I w koń.(111, Je~I ~1)~1,JMIĘ!$.Z' IX)ć!S'ta'fllY 01)198fle ~ rtm:1iiate. ~ l)CD-
t,łiemt.r pm-adlfsz sobie r modytlkatją koou aP11k8e.JI, tak ab,y ~r.!;}'St\iWał4'1 ~ ca,
kr,eme w aściwoścl ofe1owane p~z pmceso,y firm)' nVidra. le po-'IQebuJ $Z"~
arty graftc nej . lctóra spnetowo generuje mapy c en.L Jecrnak mu ona posi~
rMcttantun cie-rilowanr-a pikseli.

Dla dowo]:m:go punk:tn w prz.e-słrł:el'li mot.na ,,y.znaczyc, ktor pomiędzy tym pt1okttm
a ll'Odkm ·\•.riatł~ a 1121~nit: ublic-:r.yć jcg dług~. DluSość tą NłZ)'Y,amy łleąoi~
odlegfoscią punk1u od żrodla :świalła. J"'tU na drod~ od żrodlil s ·folla dO, punktu d.ooc-
lowe •o n1c .-.najduje sii: tadt-11 ob1ck-r. omac l.3 to. ;re puokt ttll ji:S-t lx:zpoś1edmo OS:\'l,1ie-
1laoy p~z ,o ŻJ-ódio ; tym wnyn1 1t1 e :z1tJjduj~ stę w c1en•~ (w odniesieniu do L~e koo·
1-:n?tn~go irodła ~wi11Ele). Jd1i nalmni asl pom,i;dey zródlem ~wi ·Ltł11 a pu.nhem (kic-elowym
2naJduji; ::i i 'i Jaki · obiekt (czyi i 01.Ue,głosc od żród~a do Lego obie lu jest mniA:j ~ nit
odfc!!:głoś.ć: lbt:2pośn:dm11), punkt doecłowy jcsm \\' dc:1iu rzucanym pr~ei t('ln obie.k \~ ~
wi c. t.c mustmy po:zniłc ht:1.po · li'i=dnią ·i r/,ec0 ,·i~U\ odk~łość. jaką pokonuj11: $1t\ intlo n;ł"
1

drodze od ódb do ,fon •go punktu.

\V tym mie"j~u z pomocą pr~ychod· i rn.;c!h 11i:im ci ~n1ow n1 a lębi . cpi ::my rni·
d2jate 2 . Dow icd.xi1dc-s 1 _ \•i.rówc-zas. ~ me)i.ń.fl ut,'il'017.)' taki mechanizm d\:niov.lJl~
tóry rentknn, by odle~tość z.a pomocą różnych kolorów. nkit 1102Wiązanie d ·~~le
Mcllaije się do, ~orzys.t.ihia ,,,.f tr,;chnice m po, ~mia deni.

Pr~zenlowiłilla technika \-'l{YJ»aga dwóch pr:,i;~-b,cgów rt!.!nderowruiio SQeil'll}'. \\1 p;im\U,11'1


pr.r.clm:gu rendcrow.ina je • sa-:na z punklu w~d~e-fl ia żródla świ: Ha. jednak wynik~~
derowanja me jest umiesz~2tłny , butOTl.'e tylnym. Z.amias.t tego. ~ n remkto-,~lfflil. Jc$t
do 1-e:k tury. k1óra ios1ame wykorzy.suma w drugim prubh:gl!I. W dtu im prz-slrm:gu od·
b · ·e ·i _. rendcrov.•anłe ·t~lfllY do barorn tylnr:go, lym razem z "'Yl.""ruZYSfflfli~rn purtl.1\1
~. 13 kafM'Y•
M----..-.......
....i •
1-MWLU;A~ l ó l ~

otiltcza ~ •
..
~..... • k,alnen\, • ~PQ•e kod\aJe tę odle~ w -~ ,ll0l1liędzy kaldym ~ wiaz..
~~ do łCłJO edu 1echn.ikę cieniowania alęł,i. p~•nu z lc':Mlh kolona, wytco.
~ c,:ksrurq w generowmą podczas pierwszego Pfl.d>.;':=pokrywa ~
~-.,.
,ysutJl.'1 29,.. POibzanc na

~ ~~
.. ~ ff• ,
~.
O\,J.jt'łlM

,dal Z) nl c-Lapie :ws.taje ~korzy U.ny mechanizm cieniowama pikseli. łi,1 6ty porńw-
nllje odłeglo bezpo
· red111
· ł (_pt'2e w w:lrtości koloru pikst:fa) ... ,...,ł,1 1 •
ho......1,,
... _ ... ___ 'rlll
u ..,... cg o c1ą
pokon •an !rz~ •
sw~• _O rta w -UUL.C uu z:ódla ~o dan~o punkm (kł ro przechov.rywa-
M ,es-4 w ~ks!Y-rr2eł· J~-sl1 wartość ~ !oru J ~r w,ęk za mi.. wan _ tt>\slury, mecnanizm
cieaio~an•~ p1kseh_ ,,..,e, ż,;; dart_ . ptksel ~Jduje ~łę w cieniu, w 1~ rn ż. mu przyp; ć

• " " r1:d111ą .anosć ko!on1, Je:)ih natommst te dw,_c łłrtoSCi są równe lub pra,'V'i równe.
s.łano\\1 i lQ tnformti1cję. że- pik. el nie jt."St 7 ~icniony„ Cała procedura re ulacjt ·a~oru
p1 •1a w zależn •d od cł1eglo ·ci zo · rał a . 1.:C2ł! ółowo opi · n w rozdziale ...3'1 , tlC'I
jed□ak paini ro o paran1i.:1rac-h w n icj 'i.V}'Slępu.jąr:ycb.

fakt. że technika m~powan ia c I ni ,,1 maga d, óch pr2~bieg \; • stanowi j dn.1 z rn h•


\Iii"}' h z.akt teJ tt:c-hmk1. Jak p.ami~uimy► cictti pr.l 1t1.enm: ,rymi.lgały tnech przeb10-
gów do wyrendcrowa1rn1 gnlowcj sr,;eny. bmy \\m't"C rutaj j~"<ie11 przthieg mniej. jeti
zostało co okupione większą ilością r1:l< srur i b:1rdzLcj 1.tożon· obrób-ką pik.-;~li. Jdll two-
ll'ZOOa pf1.ez Ciehit: aplik,1 j a ll.ilkf}"'Vniti 'WLt:lc pl'OeeS •w te~•urowani(l widokrołnego lub
inreJJS}"\\'oic przcpn>\~·adzt1 c.l()CraCJ 11 na pik "cl eh, gen "ro1t eHie m tp ci •,ni LUOL ni i: być
majlr:p zym mn, 1ązan it: m T a.-chn ik.a ta jr..-sł równ;eż graniczcma spn;t;tcm, któr}' m~·
umozliw,, ć ,, •kor,ysty,... ~uue mcdum11.t11Ó\I' kniow:.mb piksdi lub pro;m h bufo- 1
. ~

rew c-i~ni.
Ta · w skro ie pr7.cdst~WL3- sri; idc.'ł . toJąC::J ;(_;.'l mapo\\ ::1mcm -~eni. \V rozdzi li; 2 · 1 m:
u(zyle · się oblic-:rnć wano. c1 I ·h1. hip \\'anie. ci~n~ kol'Z)•sta z k_1Hm 110" ·eh 11~l dz,
poróv. nuJ~C~fch 1-: , •anośc z wanościorn1 koloru p;ksdi. ko1eJJlj'Ch podrozdzi lac_h
1 ,~l
omówi~ kjlka n.o, )'Ch z~gadnień. któl"}ch 7.rozum,enic jest nit:zbędne "'' cełu ~l-OIDWallLII
on:1::1\\ ianc-j mech mk i.
.. O Q16 Y • T....... W)fłsU:W.b.11.,a ~ ~ ....._

Renderowanie do tekstury scen,


Z punktu widzenia kalrll81)'
Rozdt.iml J ilitlflwtnł mc.·dwulffl n:n r::~o, •::.nia. do 1eJcSłul)·. wi~c J)ofnj
.,vj,.,tc sz ~~gol w ~ lym Z\\'11\tUnycb, Cl1c-Lałb)1m Jednak w \) m rni ~~ 11~ l)~ ~
nit nrc ~ ogr:m1eztni I poll!ncJ lnel pllobltmy kt6re molł, ool~"CZ),. :r6'11; ~
ffl'\\ o.ni.a. J 11 ru . nic w it'.SZ o o~i.:~_ "h.. klem: ., · SłWJtwi.·it tel llel}~'Jlb ~
do rozdzr.ah! .3.l. L :roMC'~ ~ '""''OS.Cl n:n =mw:in,a d i tury: 1a. ~

T C'ćli.riib mflp(ll\'.I; 11fa e11.: ru ~. ·o • uje prL bieG, r:microwi.lnia d t tu ,


tcb~•~. k ra z~!Ulj . na kmi_:11. ~)fl.pl)\''Wltl ~ ~ ,;ał~ ~ m ·. Om.l_c-'il 10• że')~~
mlbt byt " odpu~ 'lL"drua " k:H."J rul.AWde2ot.ć,. !!,d:,iż motci po .fY"' urJ; tł
~ - Tcl<snv.· 11~ cL ur\, zcnia ~cm_ z ry w11'u 29.2 był::1 w rw.dzi..: i J~
Na ,ysunk 1 29 3 zosw! pokuizony pr~d _k: kiooy. •· sama set.'11.! .tostala " ~
z\\.' - r.&)'tt-•3IUem k t□ry ,...,. ba1idzo m k1eJ rozdz.eł .iOŚci ..!12x3 · pi~l,:,

Rf•uneJc 29..3.
r„ 'IT_ll'a· n ~ )
-......... _-

nu rj tro-:4:Jd<=&l--.
r.tl'tl't ,::DłlU %pll.lT~
ud:emu

Pl'Z} L'\\'\lrllniu obu r; sun ·ów d ·, ·~ ~ ~ll!f i:, o" ama ~ t~lll,i .ue był 'i.\: ;kol7}'S't ' :U'! 'TlltCh>.
nizm cienio..,,.anir• p1 ..;di - w1<l.a~ r1.1 nach tylh• t,;l Lur"· zrrr pł'\ '3r1ą n ~~- Wrhv.
1...b,t rus i 'J ro7.d.7. dt'zoś~; jt' 1 OCZ} "'~·isl ·• \V 11w1n ·ncu: po,o, ·nyYi-.ani~ lcglet5(1 n
mcdwl,m, ii:niO\\ :-Jni.a pik ~d1 utwmzt,n_ • ...:J...: i h} lb:- kani:1a.c;;L i pMLrb;f~ony. 1t: ' 1

Io CK'0"" i ·ie po1~d.1u~· ..: t'ckt. L"tin,1k " p,·;cy1-.:.11H„11 ni..·zb)i ..,.. }daj nr-go spr~u wb l:vm.k1:
'l;ij,•oln ·j pamk~• le ·r;fur ;,..i.a-sami tr:1..cb:1 1;iki n!.1ultJ1 lrt.:tki.:..:p1n.wać, \\f ~ ;m ·-•
le: · Lur.a J2x32 jc:!!i1 DUJ~ :rs:zyrn r,r7,}'(',Ldlw:rn. R~ ·un~. 29 pr1:oo.i;~ ·ia po m7. ,mci ~
·•alk :i:t:Jl.\:, wkrorL"I tym rJ.ti;rn w~k( r.1}~t.111 H lslur~ -i5~:-:_..Shp1l el1.

J "'id r:fc ·t kL Tktl\\') jcs.L prali ·1c I k 5ar no dohr) J · w pł"l.}1}adlru te ~ °"
r-0· t3ni::J :na r:> sun · u :2() 2. mim o A"" teru zo..,,~d..1 .r.:c-10 o\\ .ai a te · tum o rozm 31"~ lłli6
~ 1rn1lnl.!'go rol'.rn1.aru l.nuh:.a~mi.: d lni.:J grnmcy ruznuaru IC · UJ)'.. rPrlY ~r ~ · ~~ ~
zacbow:u,_ ko111pro111i pon• IXlt) ltdffloŚCi sc~r•s 1 ":rd3jn,os-.::1Q Jej n.md,!7(.''~ nt ~
kw Iii e ~ • m~JllÓ\\".
1enderawan1e do tekstury 1

\\r roz ~owii.;dl:tali: ~1 •• ": Jaki po cit.i prztp u\l. ,1 1.43.,; r,;nd(!ro\, ~nh: ~ e-ny
131,: :- •
;i: ru;. \ ami;m ,,dorn,, C:JI •l ·bt Z fl' 1.:7A'llluv.. !'IR) "-t:.i\~ ·.1....u. pt~-l,,lad pr,b„'P'fO\lo 7. I
rrodemv-nn1.: do ri:k,tul) . ,t pu r.?:i!dni ti trc,m,: d~ s ·u1c.n\. h ~m)' 1 a l~m· i 1..H.i,po1w\·,eo-
n1 o \.\, •boltl nu miai n kk I ury - \V 1...-J L"h\\,·m pci:fr das.i: JUŻ \\, S.l} Ll.,ti.: dt:11\i,;nty. aóre
01us..sl ,~• \.\ I :dm.1 c:11l .'

l',7,:\,'J)(lfflmJ bie · '-' o run ·13 1 · " P<" pr.r,..~mc-h 111 1.mł eh \ .' k,lf •
cowr:- fi · rt:111.lcro\\,. n i. uptL·ra.ly ~ie.; na pn. · sztlJ.ł ·c ·
łk1 na OOp.o'l.i. 11.'"1.i m,.... n1 1t " h5 arite v. · 71
• p- ~ ",d I i1.lr1..1 ta.:~ n· L:.1 ~ prLt:'k~zta Dt:J ni eh
ł°'\Lmrj m~1' ·mal_ c-1:n:'J :Zilft:-żm pomif to~"t111cn\ p „ 1e
'1 -~-m mu" prl.t.:-.Lr.1.~rii" rem, T<• S-11110 mnrnu. i10w1 ·d •
J v., ko Z} l:tua Ja
1 i1:kt JocduW) p r ·t•su r..:- d~cow tJ•:i K.u.d ll"ksd
n i.:, i: zm1JdL1Jt" .u; \'Ili' lon,>'111 rni...-jsru m.1n dtw;ki ,a tf1So\,\: 1u odpO\\ d-
ni fi 1k.:n rnall: 1,,. 11;-..: zn a..·li.

b}· :ttlY/Um1c 10. o c t ~,m rn JWI\: splbn :1


P 05ffl ~na :, punk t v. ,d:,,;i:n 1, kamc t) i }.11idl

;ry· n~ t • c..: "IL - L--~• ,p:i rt n m ierl}'. k1 re oopow•~ IJt\ . i _ ,.


'th10I7.t"
I ri Dla 11 k:um.·I)'' l'u ITI l dmy "7.)' \\ idl7 . u ?. P4U)'~ji 'l.f. {li V. IILtł.1l J..toru m.1łJ ~Je. rme
~ IL"\'tr-cj gómej a..·;,,: , t ·t ..,. 't:nr i kitr· '"1W"I • jt. . l na j cJ prnv.~ dolf1ą CĄ"".: • "1y łlłł. Le z
.,,.... • .s.
l"idotł'~..,.,.
i".... ~ &'łfł'lallo
"'1pmslątta(.

,.

Rpunak2'9.&
Wldbk.: ptr.,.w:Ji
' lo .mwrła

~-
~,.,, ip,.,Y htln)' na ·widó

W$E:j tkojtsl tak.j1Jk by,c powirrnu. o. p1awic .. '\\r pótrz~dnc te '· łury rnąiąWaftOKi
od zera do j„'t'len. :a 1.akrr.: ten me jes.t zakre em. w jak ;m odb. ·ają ię: przek natcenił
widoozn4:"j praes.trlln i. Mu.si:s:r 1 tern do ·c,n3 odpow,i.:dnreJ 11nod}f-fii~ji maci~·
•il.
pr~~"- M ,:i(.n wykor1.. .!łlaQlł '1VlW 1 odpcm ie :nim dzi&l~mij.'ffl m:darutycm)m.
l lutSi pr1.e ·1mąc I pr-..«: ·1k:3]ować p07.0Sl3.~t! pr.1.d.cs;ttiikenia Il~ odpowi dnie wspólrzęd.")C
rekstm. ~asti;puJ:tC)' m1(rr'rl(7iJ! kodu pokazujl"'.. v.·Jiilki • pt:l&)b rnożnll lak maoitaz utwOl4) ·:
301.wi. '. >wc1e z1~ ~tw.,•.
lo.:it Prz s O S1 • CD 5 f floa f\ D
Ze ri1C!.NG~1er1Te,~tJr. s~zeo•(03D~N
t1erz ~stur1 _1: • OS .
H - erzl f Sfory 22 • ·O Sf
HdCt\! I e!~ ry -:n -
l Of.
Hiac1et2T su .:41 - Pr7.e~.
:idc1erzl~k$tUr) 2 • P~t~s
-~~ •
c-1erzT stur. ... Ot · .
ftl8dl8RIZIII c1en1owm11a wierzcholkew
- - Ili •

poróWnu.iąCJ wartości głębi

•o,. co
,•O. C
of'o:, l, O. '!'1
S."'. ', 0, CJ

Kod t«- j~~ opio, any z shadcra [ ,r,1'e(lep • W••"'=-•"•i---'- l......,J,. ,.-· om. bc~poś,rcdt1;ą ndl~
pomiędzy f.n.'idJem v,•iatra a wLt"ilchałkiem• . ~ i e od jfttuje odl~ ad D,O\\'ej p4~
cqznr~a ,, n~k n:mo:ry pro!ł' współc-r-~nik ·k-:de,.,.a,nia_ P1as~ctyma i wspt',kz:)'lllll ·
·alow.ill1m muszą b · tak ie sa_ mi:: dla obu prze-biegów tendi t'O' acua. oovrism \\ pmciw-
ll}m '!,\')1)3dku rm; h<.,-d~ie poil-itaWY do porównyv.jW'lia- Kooc-<lWa \.vaftOS - glęm "l:3'1i )'\\' ilili3,
jw~ r l i:

~ rl.~. O. :·z
s r l, r: l, t ,
l rl.i!, l"'t !.. C OC

lkoh:jni;j linii m1stępt~e z3Pi„anie ;i.•yi-iiku do zwie1cioołano o re~e:st~ w jśc-io~-....~ -


• · • · ·••a ~~ n1 , c:h t otHegtok1ą
\\larn,śc ta będzu:: p,1:!'t'Ó\'J.'nyw na pr.wz m...
-chm11.P1 ,n ~~ r
Cli!L11Qr

1apisaną lt~kstur2e.

iJO , r UL2
Ołwiethmie na scenic nie jest zlo2one i slclada 11t ;r, ctęści ~
ołwietleniem otaczaj~:
dp3 ro, -es. va
!Md o00, '- r.lf. ,6
- •
!I~ i'
W ~ lej~}~h limaeb .oh!i~ są ~'Sp6łrądnc ~~rur w opi~y v . ~
śn.ieJ w JC'd:PIJS-ke (: 1emowam11 z.()Slnło wyznae:&one poloZcme wirmc:bot~· '\\'Cłt..
staniem pnek$:itakeń kamery zawartych "' stałych ci) do c3. W:s~ i "i)'~
naromium opaJite mi iiw.ck ztałceniach ~wietła. które mwicraf •ę w saa~: ~ '\
~le te _pr.l'A?('howuj!l mat'~erz kcmka1l:1owanl\ z mac{erzy świ;:nJaJOt:ąz ma •. t20 Qo tt.'3,
tekSłt.U)'- Om.iwii1ma j4,.-dnOs_dm Ct~iUJą_c.a dtik>onaje obl~ezeq J!l()pł'ilVt"llY{;::z ~~
tdc$.Wry ~ pc:rspektywy f.rooła ~m1tJa dh\ ~tlć@O obiektu majduJl\ćego ~
pod warnnkiqn, że od_pnwiednie wartości stałych nie rostały Z-modYiiko sir. na ~1e,
pierwszym a dnmgim pr~cbie,giem~ • wape l>Olri,~.
, 'l ,. 110, cEO
• r2 ~, vO. c:21
~ r2 ;_. "10 . ~
dl)4 r.2 fi . •O, e_l3

a cym żakończyliśm omaw i'ariie jednouki cceflillwanfa W)'konu.jąctj p,;,tti . .


Jej głównym cerem j~t ,1-·b&ciwe
pnełm:nmc do mech&11i1.mu
zdetiniowaru odpowiednich war1o~ci. tm~'A lllJl1a,
cc~ni~oi~ pikseli . Mccluu,izm •~n wykonuje
1..:i.drui ~WLi\ZaD}'Ch gt.-ne10WRmC,m ·Jerna.
'nli=
Pixel shader wykonuj.ący 111apowanie cieni
Tt'ńlZ JJi:"'.lejdziemy do oma.wi$11ia po mz pieliWSzy w tej książce - jodfł05di om· ~
nia pikseh (ang. pil(!I luuk1·). \ ·z ~~kie argumenty wy:niag:mc pm cę jednostk ~W)'
prl)1gotowane w pupr-ledzają_cej j,ljedr1ostce c1eniowan1a, ·ierzchołkm . Omawian.v pmt
sim r wykonuje tylko j1.'tlno zadanie - de-cyduJe. czy dan piks 1znajduje s._1~ w c~eo11.1.
Do icgo celu wykorayst)v.•ana jr,; l j1,,-dna t~ki;.tu~ Ora.7 składowe koloru: ~ i
1 zwu?rcfadlana. Pozostaje natomiast klika ,.,·o]nych 1;.u 1Leks1w;1, w których możesz si
zająt rzc.cz:,n,1i,•istym~ tek turami. kolo'.ldmi. czy też mapsmi (tSWi Ueoia. Orna"1a1JaJcd-
nostka 7.fl8rJduje się"' katalogu me,dia pL•d n=i.1.w~ ShadtJH·.JJcip.psh~
PS •

Pierw zą_ r.leczą. jaką fHi.lt:źy wykonai: 1 j i,;:!ol .zdi::fin ic.1,,,.-:-:111 Le s,ałych:. Pii!n,\·sza stab ~-
chowuJe w,n1ośc pE7.esuni"i ia. ln3trukCJa r-r-1 p ,rÓ\\'DUJC daną \\':.'u1o\i: do o:. l~k M,:C
istnieje p,otr,_eba !i.korygowania pc.lro\, nyw. nyi.:h wa,1osci o 0.5. Kolejne d~•ie 'St&te·w~•
czają Iub \'t.'}'łącznją \\'ill1~ć ~ wi..:-tlcnia dla danr~o piksdtL Je-dnu. tka cieniowł.lr-ua ptkseh
i;: •-.J-nl,
s;konf.1gurm" ana je ~ tik, ab)· całko\\'licie 7at: ieum iac obie kl mfljduj · i~ w cieniu,. j L'W~
może z w rym mtcjscu dołączyć j~zczc jedną stalą w edu 7,a ymulmvwia oiiwu,:d1..1lUI.
01aczająccgo:

oe1 cil. o ~95. 0.4 ~. o ~95. o.4%


de cl •• O, i O 1 O ! O
d!- c2. O 5. O5 o 5. O~
Pordllat a. • Ch111 -
~ __.I.Mlpj _,. •u
~ IC~"' ~tępUJ~ rl.l tym ~pic: jest tek~ UWI •
oi1~•W1•tla. t.ra,Rea ~ i odlea)ok,

tf tO
~ :r.atern rozwciąit p~es parówn)lwania od .
· .12.....Jc,5Ci tw,Zpl)§ri.-dttieJ. Wynik będzici wsie wa' 1C! '=J1;1'UJą~ 'PO"")'~ Odli;:gło~ od
~ ~ SZV ,ub nm.1ny tero;
rl 11. (I

N, ~a1qll}m ~pk J'O~WD}l'\\'atlm . "W'ynil.."lJI odcjmo"YilRLa. doda .


Cł)'ffl flO\\~ ~~ c mstt1 c zap1~ w rll a. Jedm;st3( . _ ~ Jest PR,eswtięci.c 0.,5
~t....ri~ \\' instrukcji nd wyl.;,(11?. tyli ać \,1,~,~'Zn•~ ,..oI c::.~~ p ~ w ~ I. i
~~- 1 uall'i Wł~ z!'.Llli ·
śW ,,..ldnae UVJ ~gQ 'rc!Je-5•, ~ , ł".rfl.~I uu 1'0, a 'i im.i lilódyti.1ca
. .at-.._, · ....,, -,_ • ..i...
-~ m~s1 ,odnywat
~ k i są t:a:k1c 11me, więc on: s~JJrn. i ,ą problemu. W3Jit 1'rn. W~ c ~
.~j ~dniltó,1r1mo,gł:yb pbhr~ wa dalu:cj obr:6b .. oścL ~h~ wykony5n1j~
. ~ • l D cl)

wk,;,I ·IKj ltnii ....,.,_Jl;,.


r1a.'ilęp1tje
'"'"'
l)Of.Ó\"'1Ufi.ii:
• •
,O a z war1oścj~ o 5■ J
9. •
•· ...t1 •
11 I V iJ j l,'"$1. '!J,7<" (: OO iii, ,t:
ta ~,:o\\ia wa1 L1m1r ~Sif.i:IJt u. mamona Di.I z.ero, czyli pi l . aj.d. 81 11. • • · v ,,-1„
rjl{31tł!JSĆ rO j~ rćn,Ynil O. - "'Yfitk km~cow jt:sl r1ÓWIW 1 0-m, ~ ·1ę w ,~~~u. Jeśli
~ ! , i®knia~ · ~ ~ a P1 ~UJt pełną

• ńi łJ. c2. l

a ·oaku wart06Ć rO 20 raj przcmli'loł~m prae ' W10$Ć oświe1.le1111~~ co ru..-ąo.a b,ądź
Vi, ł ~ o " ·ceclcnie dla mIDli:zowancgo pik-sdti~

l ril. 11!. O

Jf({nos-4~ ~i uiowania_~mksdi O~R:ruje na Wdym p1~.s~ln 1wonącym s nę~ tak wi


isfotn(' J~l. ~~ kod t ":J .Fdn~lk•. b ł . ~WilH ~ \1t ydfłjny. Jcdym\ lw~1i11, j is ~ah.
do ~m,6'\va~n1a. Jes1 kod 11mr.!J a.pl tkat.'J•-

Apli.ja
()JJ.sane: ,O'Ml} ej j ·rln~1lu ch.:niow:ania Y. _ ·om~łl: wi k zosć ni 1.będncj pr.lCY, jcdollk
pli'lrncj:1 fÓ'-'"'lliC7 w~·knrzystujic kilk~1. irtlm!~,ują_cycb fun tjL llo11thez:i nie obj:;1-
in:iaJf!l'r'I ' Willioś.ci p] ikó\\· n.,gtowkowych. j oon~k \Y OnJ:)WULł ,j k."tnnlCe dd"iniO\\'iln)'dl.
je$~ ~l~ka nn"- (:n składow,,•ch "·"·iątnnyc:h z rcnderow:]n1cul do te=ksrury. N351~ptij 1;)
1

łaDO\" • część ph ·u n.;Lg fó"'"'' ·o"'t: •o ort1Jiłi'i-\'iantj al]1ik~j i. P •,lny od Zlliajdu, si~ nn
zonym CD:
~ ~o~un~\t( >.
l'0\'1 1Q'C-U$t(IC[kl(elPl'O' J
~f Ut z ade O.
ast~ic buf« \\'ierzcholków R!ndauje nkwit!lki prostokJ\t. kto')' słuty do
tdl:stul')'; ~
I...P(HRt'.CJ fRlt. FfE est8u root ll!r? l

Koli=jnytb pif( Zltlittnoych ~ykoreySJ . art:)'Ch }esl pode~ OS)efaCji


iekśru,y. P i ~ z,ntenm, ~est wlaśc1wym ~1cl(Jem tekstury. J>ic:fW
"·krż.ctmiowa :uwic:ta ~~e1wc dan~ o J>'W:lfflCMi dht ~\ ~ury. Jm to ~lłQna IIQ.
~to...._.~
stm'IOWt cel ,endcrow.mJa. Jc::dnak momitru:1e 1ichturowill!lil8i objctMv,r ~ ~ . ~
~orzystsma u;k.srura mldrz,:dn~. .,..~., er z.en ze em jts.t powie ~c ~
11
....... .-... bufor z~· mom,:ncic renderowania do tekstury. W nasz,ei apl'•kri~, nią_. k,Óll ll).
~..,..,........ . dnllk ......1 lh.u • , ._ CJ1 P0w1~
Z nte je.si rak 11apmw~ utywaąo. J~ . ~'-'6". u;r :yi; ~ w Inmejsec b1.1r0ta ""1i;i
" ' pn.ypadku !tai~ g~fl~~ycll k~~ p~s•ad ,ą P!'·.-:~11owe maporwznie eir:ni. ~
d"i(o i)O\Yl~a.chnit: de l:ln~lJlJ~ b1Jfor 1tylJT1y • ~uro~ głębi__utwor~nc pr7,.et ~ , ~
Gcfy l)'fko m7~rue !;-tOJC :fli ~~ .' aJ)l b ;,ra połuc~ k~sc
b. ł pOpfflWfl. 100~ t Po znkońc:re~u aey ~de~n~ . . ,ebtID)r. Aptikatja ~~­
bufurów, t,- aoi~-
nmvycb wersji ~h buforów; mnuast tego lcdzi WSL~dd. tak aby m01.li'IMt 1Y,1 ~ ,
' . . d . . YJll()~-
zy .I1tftll,
tzrutl~ s;cę fK)ffil~ r· ~

LP(HRECTJO ES _-,,cf s rt{ 1C:1 la.


LPOJR!CT3DS FACE.S r.1_ Pa,,neric. ar s ut"yC , • ,Li,
~~IRECT~ .F~Cc8 rn ~1e lt ~~ZCl 11a;
tPOlł!E'"'l:ID!~ACEB -ń& orf.}'1 •
lPO(REC JOStl~:cf 8 : ..&dorl.

W ap3ikacJi ~V)ł-:ór.f.)'SUD~ . ~ ~~hani~ ~~i:ntcnvania (shadr:.ry). ~ r l)010'P.1t. ~ -


i,ostal mawrony \la"C"leŚm111eJ (\ maJ.eJ zym roz.dz1.ale), :a sl1ad ''T ootlt:'2.aj~ odlcgkit ~
t1pi'wiń_ w rozdziale· 23. Pi _-..-1~had~r równie1..jul był omi.ovhm_ ¼· bi~ym rrw.dlhle.,
,.~ s. .-pg ...-n.
'1il'09!J -91,J,. r0:l1~1o~C1,
~ ) 1 ,;,i;ElStlade ·;

To b-yły nowe kJadowc apJikacji. Ti.;rn.z pr.Lyjrzymy się L'liduórym pośroo funkcji '"1·
korzysta.D}'ch , samym kodzie. P,milcj YTl<ł1Jth1j c st't fmgment funkcji Ut rlSkla • 1,
Po urv ·on.cniu uwtM:b jedna~tek crenio\\ania wi~rJCholkt'~w n~ tęp.uje z.al1Jdęwamc: i 1Jł\\-o­
r"4en~,; j~dnosUd ch:niowania pi I< ·et; ~ r~xt.:: l s.hadr.,--ra ):

1-lRE~ - :t.pl dCJ1 l~ ·mJ 1, 1 : łJ "' PS.~tJer (


(
r ~oiBu e orSh~ ~.
fOlnY.B.; 'f~r· ńS1edySh~ . ra.
3

Pixcl oo.tlc:-r jcsi mrmlow;my dokładnjc \\' taki sam ::,,po~ób, jak był · monlOW-ll.llt:: " ~·
vertc;i,;: shad'.ery. ~, p~erws~cj J~n1i 7~ ·fi11Jiowany jest rod:z.~j hi!~.h~ra. a od kolejl.iłaj liii.n
rozpccx:yn się w~ ciwe monloi\lamc sh dera:
l (F lLED( □Wt.As~ leSrnioo Fr ··, p

1,a\\ aders\\Srniw.'Wil'\llp ~ -•
D. , L o-rSh~f~.
· ... t~ ,:.iSnaiie -a~
re lll E_fAIL,
{
Niljpieffl' .zosmaj e um'it orzona tek~rura., ktora będ.z.•~ celem renderowania~Jej rozn~ar po-
winien być roWI\ co najm111icJ .?5óx2~6. Ol.rulo11y jesL jedeu p01.iom mip,-m~.P{ffl':tnil..
7

poocB\.vaź tylko jtiden będzi4; \Vj'korzysty'\ ttny. Dziek~ 211ac:rniko,; i edu -renr:forowania
u('IJldzeme wr .• że dam1 1ckslura ma hyć celem rc11dcwwani~. ·eez tego znire:;JLUm rtn·
~erowanie do 1e·k~tury 1.akończ.)'«)b7 się r1icp0,wodzen~m. Jdt~ Two.is l(U:la graficzna
obsługuj~ jednostki cieii iovnmia p; ks.di m w;erz.cholkÓ\\.\ oic p,oy.1inny ""'Y~•ąpić tadne
p,abltm'IY poprawny111) ,,,•ybnrem celt'lW ri;ndc-rowanl'a. Zdefiniowany fonnat ies\ fonna-
•~m okf~lajqcym wyłil\Cznic.- kolor.
1t FA]LEO(OOOXCredl t?Te. • ., ~(m_..-.1.lr i:-,d1fl 1eD.1D. lEX_Dl~NS! ',
T-:·{ o• · s·• ••
1. OJOUS." 1E. 1t[•;U(R t/.P.CLi. OOUt IT_ l ~ -
DJ.OKO....rF tAULf. .. ·~T~~sturaCte, Ht))

1
_m ,1s1 •
lf ·
'
lt :,i.1: .
C ńl CU! id~}

if-e urn [ F IL.


-.. v.,...,.... . .fi..,...,•., -•btsala.l) ..... . . . .

Na Jroncu 3plikac,a ~ St( ~ ' ~.t..."\dWJia o ~1~ wskatników do d~~


tylnc:g-o I bufora gl~b~. Wsk"2111ki l ~dq W) kOTZy!i1ilń~ _wył~.m,e do ~~ ~
do bufurow dom 'lnych_JJG zakoliczmm r~ ~~ro" ~a do tebtury. Jeśli""Z:- !łe
,:.zasie· flro\dzcI1i~ z . cap~ zresetowane. v.,·s'k lltki b\_~ :ruepop,ra\\'fte. ~ -
• cFAr em -:>GE: 'łłe er.Ta P ln >
L,
, (f~f Ml 30->GM.[)ept Stenc lSur d~e( _ for.2)))
- l,

Zanim rozpocm oma"'i nie fu nkcji RenderuJ, powiem pa~ zdań o k;J ~ cłem
kr~ 3.1. st~Uflf.:o,wo wamc. t~z ni ·wym gają_cyt~waąi k odu ~ódJ~ ego. Po pkrv.~
n:tll!fy ,µ nuętać o c-qsz~nm ~'-l'Q~~nych obt~to,,.,._ podobmc Ja · to ro~my 1, a:idym
innyni obitl-.."tc~- ~ 11a.sz~J ~_pllk ~• Jt." t to r bmne w tand1udo"!' po$6b, s.osov.~
dot •chC'ZA!i Ji!ł1 t \t kw~1k1 ą poprawne. pm:-'k~~~ne "ą datef 'J, p~ypadku p' d
shade-m. jt--go uc,hwyt zos1n;,~ prac;:kazyu n y do funkcJ• D„ e eP, x.e Shade •
1

apJibrj; iwom.my .,es4 rów i.a: btifor wb.:r...-..dio1kó" w którym ~jc:my P~)"A-~
\'\l
nkwic::Jkk okno poJllO(...H przy d~bugowaniu. B1.e..Izie to prostokąt um· rzooy z P ~ -
ronyth wspoł-rxędl'lycb, Kod oo p wiedzi ln · 1..:1 jego twur-L~n ie jt:St idenl)'czny j óJa
pełnoekranowego czworo· 'la ;,, poµrtĄ..-d.111e~o rozJ;,J~łu. Jt:dnak tym ra;,r.crn jego ro1J11· ;
są mmcj~. Prosto ·ąt tt.11 bę<lzi~ pokA:1.}"' ał cek_turę bł,;;;, wpł~ 'U madr,;~• te lUr}' hlb
1fJ0$7.czcjóln„ eh ~nó, 1cks1my, oo moit: p ryda sit; '"' proci.:sii; IL'illwania e·w11.·ntualnyclt
bł dó„i.· w kodzie apl ikatji.

\\'•~ szos.ć opcrm;,:jl kon} \ '.111 ch 1est jak r." yklc: pt71.!'/. fonkcj · ender J.., P~1i.:
1

j k ,v p . pnedn ich apłika j 11cl1. nie ukrywcim, ii..· n ii: j ~~l to "cn.J:3 zopm ntahzowaM
Gd}' zrozum~csz ju.'l d:tii.lfar1ie pos.zcz ·g{1ln. (·h opi.:mcJL moz4'"-ii1 spróho'n-ać zrnoo~ft ·o-
wać •re~ć funkcji. prz , p2cszaJ jcJ dz i11łnni ~

•c1 e,..:nn , 1 ~~n J )

·11 poc;n1tku fim tji twn~1. n11 j~t mactt! z te · ·tu~ opi · tn) ,,-rz-'---sni j w spo b. W ·o-
r1.:y. tuji.: f'unkcjf qe deru J" • by fragn1ćnl h~1:1 hy~ dobrze v.•idoc1- r1y w k l'LC", joon:1k w.
napnnt tlę nie ma sensu tworz1,.;nic I j m:.1cu.:rzy ł'•.1 kai:d} m razc-in. b:-pJCJ bytoby I\\ o~·
Jq na początku aplikacji oraz tylko w l}'ch mcmlentad1, \, kl 1f} eh zrnu.:niaJą si~ rozrm.31)'
lekstury.
DJO ' TR]): ~ '""te r-. e •,SLU 1 ,
lP •OS T (0 5 I { lo )TE _Dl
zeou DJo~IR 1 )) •

DJ ;:J.oolcA L t ł-d. (030 1EC 'l)Poz. Btl&.


• oo oo .
O• 1 (ł o l
Opróo ou1cier zy w,doku zr · dfa . wiada du dalszych obli zeń ~wie•f b··"' . .: _
. -·-F- , • L \ \' , . ,._ ..,.., a: -w,Llłl 'rlLl'e :,; po-
1 .....•

U'lebowa kLC1 w~d swrntt~. t:r.. tor ,ac::runku ustawiMy J~t do ~lku uli:ffldu" pół-
ra~tl} Ch- a zamo1 _zo tam~ ~"') ł~) ~o bad.era pr.1.~pro\\·adzam j,;go n0t1maliza · .
Wt 'l11 samym l.:.1.S1c ddinnu ·m. mev. u:łką n ć oświetleni oraczają.cego: J
t O , 0 Qt , 0 0 -. 0 0 ' } • Ol "' at I d ,
a la}.
t(S er~.. 1a la. ~}:
C „ rn.oc. •O
_..4J1z~d2~1tJJO- t(6 oczen,e. !).

Do mworaenia mac 1cr.r. ,., 1doku dla ko1icow go rend~ro" ·:mia W) kortyStuj my pozy ·
J i ii ni~" 1<.0 r7}~l} ,.--1hhy,my anun:!cji, rna Lerz ta mogłaby ZOM~ uh\·orzona 7,am2
po rozpo<..'7 cm d11abnfri ap1•kacJ ~-
03D C : 5 O'. O
OO(J1 tr <l.! u A(OOO )Pe Q
o . o o~.
O· JO· , ),

ci ritt L:
~TRIII łiaelff.ż,Sh.111:teraT S 11rf • a •
1/Ji~l• •
e-ril'etst1R:,:
n..,.,.. ......... r, Jt.ans e," zSilader:.,Siiii;, I • c ..,
_ ; : r Jr-a,nsf)l)Sf.( t!f"l.t;mdel'-t! a . AMac !I .

D3'JX t , i,. r"nsp.lS -C&Kit"(l'".!:stłild aTetstur,. e ~,

W3'10ki wykonyst)'wa:nc 1ił.o skalowania odległo.sci P6mt\:gaj w optym'1


wyko~~ 8 bilów •.kl~N ą dosttpn.t _przy r.tó:S~&~u !:echniki kodow,ąnia ~ ~
y,r ~ale 23. ~wlęc,J~'tllł trod14; rnu;-~sca na W}'Ja~~ e,_~laczego te wartok, CglOł,;;·
isiom,. ble~ OTilC w ~ 1 ly : s ~ m.m. ad fOmlUIJ'Óu• Dbn:kt6w maiduj~cti.~ ~
SC'Cllte i odlcgfo ci Qbid.:tów od tmm'..-ry: 51 ł fit

030 Vl .. ~polCl rJl 1 10-0 . l> , Il 025 . i>. 0 • ! .Of).


ai:17.P.11 eOJO->St ertex~ r'Con-.. łl'lt r '1 . 1o;sr.io1 cz$ ~ li0dl(og1. l).

Podc7.as pit:ru;s~g~ ptze~egu 1-t:~tu~ j t.-sl nil--a1a)A'-na._Tsk itmsl byt„ rpt:Jl'lic\l;at_


mwW1l~ obit~tów vil czas,~ lrWwml teJ faz----y re~wnni_.a powoduje ~ c dan
0 lli~~ któłe zapisyv;•a__ne s~ do bufQr-d ,ko1o,ów alnek1u b\""<ląceg_Q ce1cm lfflde~~

'rlQdie-,ue030- St Ieitturern. ~L) ,

\\f c.7Jl5ic kW°dnja pienvsmgo przebic..-gu zo~Je wykor✓.)rstany tabz sbllder ·o cl~
rom fÓII}' w mzdljal~ 23;

_,. iZ~ozerneOOO.->s.et' ert ;.Shaderf _Sh -!'Oi1f:';losc ) ;

Pi~ni. :ey pr-zebieg rend~r.owaoy ji.: mdo tcksmury, k~óra 11ajprawdopoćlobnicj ma ca -~


ina~ ,vy,nrar;1 !li1iź stanclitrduwe okil'.' , jściowc 8ipltk11cji. W zwii\Zku z 't ym kolcjnt: lin'
kodu zapisują kopię baeźąttgo wziernik~ , il Dih1.ępnic ~\'\'Orafl nowy ·w1.iemik z uvr.7ilęd~
njeniem 1rc21ufarow tek.sh1ry. Te,n rrt1gmen~ kodu mo1.:esz umii:śd-ł w dowolnym nut~
sprl~cji" podobnie Jak to mogJ · zrobić z kot.h:m 1,'\loO'.fZą yrn rnacierz lekstw}f, Jcili _.
cydujesz się pn: ui~ć rt:n fragn·u..:JJI '" inne mU!:JS-Oe. pam~ęl.3j o pozo 1a,,1eniu ,ostał!riej
!mnii. która a ·tyMlji; nowy , -ziemi ~. P·o ci;:j operacji te ndt:rawanie oob~ a s~ę już (ki
tekstury o własc iliev)'·c:h wymkuacl1
tł · fEn 8 1em1 d ,onM V.
_ r zad~ "nleOOO-:;.c;e~\I pon .., l •. , k. r~ I ·, •

03.01, I T rrn .CH!O a•


• o.
O,
,c ml~'C'i th
l~f"(I~ C g • Tt. OJ
~l p~-1~c1e nl - o 01,-
C„ 1a r,łd:-:l • l 0 ,
, 21 emH:_
m l':1 1e030 =-Set , 1e-..,oo :-< ,, i erm C

era--1.: ruisl~uJe ba~ '"'arna faza rcnd1,;;m\ll; ani a. !\"s początku mu im określ tć: oo rtfl"
dero\"'ania. czyli LC~turę. - nst "pnie cz szc1:ł,.HłC s~ bufo - ~ :i~ ta w:ykorli} ;r.~ !l1
jesl prL;ed każe! r.amk{b ·e\1nak jest 10 czyS?tJ".Cmc domyś~go bufom t,ilnego, a nie -~~ m
c~ht rendeirowan 111. cl czyszczony jt!'S·l n,, kolor bmfy, który dlo sbadt"rai odleglo. c1 Jest
J"Orln•nozn _czny z najwięk zą mo,t liw o lkglo:kiq.
c1erz~~ a 1~. ~~ .

.-Jieru-.,,w Plas czy.we


Ae•N . Tfunkcją.
. • jcs.t ktćej zadanie ""
..--1qa na 'W\li!isndetow. ·
~cz,'211Y' odme:s1c:-r't1a. e 1'-"!fllkcJę dokładniej oma""° al
A. - •
·· l"'· • an,u na scenic
P I em w poprz.edn.,ch roumalach
ruJP. c!J_ ClYlrte. ) : .

p0,~ p t ~ • odni~~'-'Tii:a nale~ .ró,\fl"Lteż ~1'ftndermvać kaiAl . . . _


się doCtło.wo oa ~m.;. -~. na ~J aplikacji jes1 to tylk,o jtden !..::!~~ot.~ mAJ~m
~. i~J~w ,ey?ł{JUe pór inny zoslnć ,.vy~nd ~TOWan~. w . ~ -- . . u Gdyby~~,.,
,pro~·rlo~obnie n ie b)•ifby povmwne. poniewat map-a (;ie=:•~-~-~ku aemc
v1 .:au:, "'"oml-'. ttnn.
rta .zen, e0:30--■- setStreilmSaurcet O. •..61,;i. ;;.~łut(I l\,'1,e.rzi:ool •
~ł '@Of _ [RtE()).
z z ,eOJD~:.i-s.e lnchces(m_ s i!H. -orlnde SQ", O>:
- rzd z i eDllJ.;i-Ora 1 exe Pr 1 1 1 e (630Pl' ms Li ST
• -\•~r ;i;es l.
ffi6 ~- lc.,a-:,f.e. \I.
1

_.-s, ai a•>Get , fdc.esc n.

yek~m.. do ktÓrll,!~ nast~~ rr;ndcro~n ie. 7.awi~ tcrsz sce~ z mlc~o~~ą głębił\ utW~
r20rnt z punlmJ ~ r~m(ł ~tdl.a "' mth.1. Czas więc na wykor.eyStann:. Jtc~ da IUltwommia
d.eńi n ~ 1s.tt;J ce1rue. IPli.:n\' zą r.~2 " którą p{)\1 ~m ....~iz zrob"ó.j._-st Prz.)"Vll:'6cenie
dorn „ hii)·ch celów renderowan~ 1 domyślnego wziemika. Po tych d,,rffl:b opcrnc,ja.cb
urządzenie je l pr-itygoeo~ran • do ,vyrcndcrowania, ~1.r"y'kłt::j s.cen;a.
~ iiif.l{"!all";,~ru eroo- •;Y-- R.~a~ I a get{ ro\.~ or1y111 ' łoi tir Zł:
- zadzemeD$0 >St>t ~1•t(! ne-:11' , ln:;}. -

Drogi pr.r.ebicg rend ·rownnia wym1~. oo\V)tch m~cłlanizlflow icruow:,mia witr«'h.o&óv.·


i pH:.sdi- o,,,y pixd :,;hadcr rna zascos.o\\.raDH? do ,c tej sceny. Je \i pos,;ad.1.Sz obiekty
z rożn,yfflf Vl}rn1aigani t1m odnos,,i teks.\1Jll'(nvania lub oswii:t•ei:'lia. mu • z lO u\\rzgl~dnić.
dosloso„1i1 llłj~ o :l powicd n• me-chanim1.
r,; rzd zen, E-Dj{I- ,Sei. er LF:"'.SMtJet l St!~rflof " ) •
- rza., 1i?r11eD3□ ->S..,tJ 1 1 ,,el n;,3de (fil ?1 e-lSta~r).
- -
lamy razy 1ekstury lOSiały Lak ust.1wiom:. by obcinały ,..,,s rstlric wmtoścL \\rykfl!c2-3jące
poq.a zakres od i.:ra ao jed)rnki 1• Jakie-koh iek z.ow~j nit: nie ma \\' t~ m przypadku żad-
nego sen~.
- r,i rzi!uzen,eOJO-;,Se 1~1.turi:!S.lage tate(O. DJOlSS..:- .ESSU.
- DJOTAOORCSS U Nle}:
c 'rz3dze· 1e0:ill >Setl ,, t.~eStageState'D. OJOTSS_ADORESS •
- OOOJ~SS_CL~).
Clf'-6V•~'-,t.a.ą111~••Dm
·- •■ •..:.;mwxrlalder
···-----•
4'18

rn ~dz~1 ieroD~>SetS rec1.moorcecu, •.6l.!1. al3u1 r~h~n:c 1 .


s lZ€:OHP.: Slł ! RT[l)) .
...1.Jr.z11d.tm,e031.~ =-~tlu<l1Cf-S['"' ..-s~ aBu Orlrlde s • 0) ~
- :Urzadzerrl • .:.t)rd'.tl fl(fu· e,:!Pr I H "i •~(O:;-o?T T!H ,~ , F.li Sr. 0.
m ..S·a :a ~Lr~ldi'e 1c:s(). O,
m: S•a~ td >fr.l!tP~ ::fai;esO L

~n-a mi: je~L jes:,..czi.: kompletna. \\f )•lą·c-z.am_. pu.d shackr, ab; ni11: miał wpfywu ani rn
małe okno, o którym 1TIO\h 1lism "czc:rnicJ (:ł CÓT'C mt'l~ hyć rromo-rne prey U!UTK~JU11
1

cwtn1uaJ 11yeh bł~ów), am na '!,;\,yś,11,•ii;.:-tl;mit: prcdko-.śc L renderowania:


IT- "-'Ur'.'~r;t~en etł30 ,s~t ·1 L Sh1 !•):"' ' -L •

Rysujemy pomO\."flJcze okno w pra~'}'Til góm} 01 rogu gló" ,ie- o okn1.1 aprn<2cji. T~
je. L wył ,ezony. wi~ r,,md(:rnw.anc j...- t wv~ :;.Liw, cu 7.najduje ię 0:1 ~ mrie. Po ll3t)'5-0-
,,.aniu okna. $I.an}' rr.:ndcrn,.,·an.ia są prtywr.:lcanc ,.fr.> ,.i.•artosci ·tandafldO\,')' h~
_.. u za<12e 1eD30 ··S D,
_iJr-?~dl nteO:;:D- ·S El.
_1t,tJr„aClle 1eOJO S •
1_..,Ur1:,ad1.enf e000 >S • fZCI l •
l .- ' ))_
Zał12em ero ..;,,Df 1 •ii l U3DP • • O. Z} •
zod2e"1en~-jse tatecDJ 030"..ll.l
_ zadze- 1~30-,.Sf· a ff 030 · _ .UE), -
}

I tak stwtnżyliśm ap l1ikację , ykorz)'stując. M1powani..: cieni. Efekt koncowf


prudstawieny nary unku 29.7.
wadY i zalety tecllniR.i ••POwania Cieni

\Vatt0 rb\i,mjc z,.\,Tóe ił wA·agę lflil fak1-i że v.-ymagru il mmejsza ilość pm;bic~· ~w po,.
.rtiv,;mmiu do poprz dmch ·tccłm1k) n~ w pt~vnydi s tu c:jach l'\~1ęks.ryć \liJ)'d jnoś.c
rL-ndt:rcm ,a.11i;J C3~ko"•jt)' ,..L-. k1 ' zalety jodnak od itopnia złooorioŚici ~~ orJ.Z oó ~gp.
jaką t.-:J~c ffiOC)f p 7k~arlama pikseli mozem " korqst3ć.

P·odsumowanie
cicmiowiltpbsli (us.pwt8'»rwJ, flitle leCbnild ~ 9-
~~ w kólcjnyda rtmbialac~ Z.im jadnik PłR.idc do 1"'11111·• :":"'!I~

pozwolę ,obie oa .bółkJe podsumowania:


• Argo,ytm IUpcffl.'llllla ~ieni w y k ~ falą_.. k W)'5łępuj1Ge
blotuji. ~ j ~ Jwjado pokonuje: w prze~trzeni. na lertlie'
• Spra~i~ obe,cnoM:1 p~~ n a ~ P1'0lntmi iwiuJa dQk,-_
~ porównanie lie~'!"ICJ od.te~łośc-,_ od daJqo Punku. do ·z:o~ Jlllt
z odJcgłokią.jllką fa.kl~ pokóńUJC-śwtatło, ~~
• MDPC crimi uzyd.-ujc- islfr ~ ~·anie-~ ,ck.story "'~z
źródło św•~t.PA. Da rtp~lu w yb)l'2;) tywany J~1 sltadr:r 2, k o & , ~ ~
f Końlra"7 ~ t IDłipó\\~ia ~icni w dll1łffl :stopniu ml~ od '~Zd~'łl &IJbt,
tmruf)'~do t16Rj odbyw się Nnfflow'ani~. 1
~

• Do prztkSZlał~nia w p61w,,ę4flycij 1tk.,m~r 111.óh:1 ~ macie


\\~~n~IJ~ ~:Jdku ~~r,;:pcwa!o MW7.nrn'"'·gic
na odpo~ł1il'da,~~ Hn ~rto:śc1 , ·spó!rzt;ednycb tel;;51llry.
,:,.~r:~.
~

• Do PIZY towaflfa danydl. k1óre moją ~S'laĆ ~ -sian~ do ;iixd sh3dc


mołtla." •~rzy~tąt v~sx ~'1~e1;. a~cey jednak pam~, ie .;,,tł~~\
odpoW1ed2a~my JcSI .2.ii ~lZ.ilCJf algorybnu~ b.idtr
ł Cccl'! tt6t3 w OOjTJ.\11ifi!ks;qffl .stopniu Ogramie.za stOSO\\t:11\ie ti:cbni~,.
cj@:n i, J~s• lmni~ZllOSĆ posiadnni nowoa.~nej ~ &nlfLG:a:1ej, ~
cięść VI
feehniki wykorzystujące
pixel sllader
JMIIIROdlMl!j adci om6wilem lulka ~~ ~ l i 11' ~ 'WICQcllolbcia. opengtcb
...... r-,.. ttdllaiu . . . , t o ~ jcdaostkt puc• Widet. W nidc&Ql')'ch ~'IN ~VI
rcilikll1 ~JńWN ~ j a k . k atnymahb,YSm)', v.;yktoreyłtllj(l( \'e~ ~
_Jcdaoidc, aeniowuua pikit!II ofcru~ icb1i11 c-Iutyi;mo ~~
Wc'lł akcualt!t m(JJC' u,,i,aa, ZWl!IZlll'H: z fli~pit)\IJI nym lktM;lt-m b6cłtaW}łm.. Wr~o.łt
~ -,,lkJi nłC t,yb pntt: rnsi1e CJ11Hynu••~-0w~. J ~ ~ ~ t 1,1~ f;ę na 1..!~
w kri,fym optymlliDlcJII bę-drte ~o.tJ•'i'.11, hmt~J ,r6~1\.le-t, .tt ~ u, Die'16-rycn~ ~
~ a n e ~1'$j~ j<d~ C~flltM<ilff\łi m~~ by1., nt~nc ~ ~~ ~ l~c:~
pldku zaJecam ~bejt kodo. dla ~tcts!Mllb ~feRnC}!)lk,gą,. l:tól)t Jnt ~ ~ w ~ Pf;ey-
;i..~
p~ ~ r v nr.i: n ~ t . \ f ~ ~by~~~ -~r Llrl,uw ~. ~ n1C :taWJcn, illłl .
widu rrłha1 p~d sJµder.l Po'.I~' ~liC.'J '?1 d • ~ Plm'r~ : ~~ z rozdll~'.\ Opl11,a ~
w.i~cj mt J ~ t«h.rli'h. rak .,.,.,~ 11\,;'.lha f07.dzi_atiw! lll1ei ~ ró~ 11 :.i;b1 1:' Oll~}t!h < ' ~
drug.ć, J1111'4"C! cl'C'-kó' ~-arzysą,i~ t p1:i,;cl ~:ul,rrn '1m6,w?o:nc :5Ą tov.l"flsc1 w koltjJił'C'h e~ • Ptl
J~oak tlffl u'l\.ap rue lwpi 5-1ę wył et11,e n rntClurn17.Ma.t:h ~det, l«z:. q b.udti~ ogitil , ~
·h "'')'lw,rzj~d JlfX,:J ~!Ydt W łt:J ~ • Qmóv,,1ę t~UJ~ Ccmary; tlh ~
♦ Pri,.;blttn tlll'lpkfłlffl i °'""'1(:I 11:!laa rdkkl'.«il"'-'Cl!fl i pu~·c-g0 i w)'k(,rq-,.ł.;mlllCffl ,cd .
lffl- w.mia ·~otkó\ po 11:ii LYf"► ti: i wit:rlltooli,;0~ IUI.IM 1.t b)i ~ OOJ4ti
ufi~,. ,Mn)'mlln}' ~fdl b.:,·t papru\lt ~Y- Ili\,' ro~.ak O., •.O ·wic:tlefl,~ r-cfk toro\.i,•c per-p , ~
~ ·c: metod:,· per-f11:«:l, d~J wrdlow..-: dtkl) ,dl dowol:nych sa.itick. ·'
f r;Jicfu1ol'Ol\~ie nl'il'r WllO..-.CI poz:wn-1:i; oo łwOIUru!! J>Oj)lawme ośwttrloo:yth di=r:21~ M
poK' Ctzctu;i" b, be-z potrzeb),' deJm1o'\I..J11i::'J di_ g,comlftrit w post:ai=i !;JUU!L Jw71btat:;1
..O 1,1, wrJttJk ptr pjXJeł r.d\~Orcw.JJJil!' nierÓwllości''_ W)•j~nr.a spo~y r..mll'i;u~
i ttnatm~J.lli łbie t,Q\', L llf7.}~uf\11:ll'l ltj r«łtrnki

t W mzdzi.ili: J2. ..,rmpkm-=111..w;p li.!'Chnil per „mi::,;. _jnł;o 11źchnrk per p,xc-1 ... ~tln
1

om ',ll,' i9fle s~b rt.'11denml'ilnf:a ni$'kcw.k1,-v.-egr1 om.z odb, 1, wy '.On') taniQJ ce l'mili
JX"I"" ptxi:l P.ti~,la d.:llą~LY~l pr-..-yk dom ~-'"' 1..-Sl -s.i~, w ju:.:, :5-p0s6b 11-wo•na 1:ilil~"JIV
'll'..sflJ.e tm:ftni"1(, z (r "'1e'tkllŃ:li'r'I pi..-r pi:\t:], nhy 11Zysk:ac JC"V'A.:.te li:p:szie it:fę fy ~ o ~.
,rozdział 30. •
eśWVietlen1e
reflektorowe per pixel
',Ja' wm roZ(Ui.1k pora,;: O"Stalni z.ajmę ~,,w: 0 ·ę:tt.:o·~fll. "'""---
,l\\1~j :t ~wi,:Llffl itm.. o świafł.acłl \I, Dit~X ... r. .. ~L ~~~
1
· rnowt1cm o morii
•·ó . I,,. • ' '1:,1;;"\'1,r,;UCfll!J w J~•,.,,-b • . .
li, · 17'C□Ob, w I troc-11,: o mu.pach ~w i:tl'lt'IJ ~ 0 kt,6- h ~ c:1m1 LIi
,m -..i.r1U111 tL"JOO~lł t~go roz~· hl h..... , _ ~ d 1. • ry,: . ~\VIC;m łcilk-a sł \'Ił · rh"'·~lę.
w 0 :; •. . • •-.r..,..u.te J no... .Z:Lg;Jd uienH: dYltlm·... $ •
l"!ł,f° pixd { ' ~ • g;idmL"n z tym :zv.~~nuci] -liZ 7. . •- ,,.;me ·o Cr:,,\\~ r.=l1En1
J'•· .r , - .C.L.. I J :J'li.lX1',. [l3il.nmj::Lf4 □DW,: mob:J,a -...la.,-r A
~ n tętJUJ.l,C~ SJK)>t-1 ~ - ·~ l'lr

ł TW,Qmzcni~ pro~t}' nm. J.'I S.WI liny ¾a.


♦ Ti=-orfa zw~~na ż dynft rnk~.r.ll}'D'l M, i~deniern pe, ph-et
t ImplCITI nLilcJd ~ . w t;tli.:n i.11 rc:lliektOl'O\li,·,:go ~r p1x ·I

• lrnpłcflli."'"flL'!cJ:1 0~1., 1,e-1f.1mj punkcowcno pt."'r pixrl.


t ~ILCLC.:D~l: oma~ 1anyi!'h •echm~~

\\'i• S2'..ł e7-.,_:~c te„ o r 1d1. 1ał u zaw lt;J1J omó""li i:i1H!' tochllik ~D.d l'lrult:tu, j~nak n po-
~ I u opuw Jem Lrud1i: o OŚ\\ i~llen~u ~ pj!(el, kt(n,i: ~'-'JC' s r,r oru pows.11:..,,hmi:j:s:~e".
DJ k115Ję rozpocz:r1i.,: od map :,,\\ cetln ·i:h.

Proste 1Rapy 1
świełll n e

~ruka mi:lfl \,\ i.::Lfn_.:ch byłJ ~O!->O!IVBfia, 1V1 dłu_gl,} pr:,~d po.j11Ml!J11-tm !iL ukfadów \'!'.'rt~.x
i SNXCI łlildt<r. P mysf ~ ykor.f~ ~ł..a.JH[! map świt:Llnych J~r ~ ) pros.ty K~i'd · obi k1
ZAhti1je pclayi co 11aJm n icj tl'f.\'u111„1 ró-11lym.i tclu:ruram i. Jedna '" nich. 10 Z'J.\)k •r:k.5
ddi111uH ,;1 " . •l"'td ob l,;"~tu. r}ruga oatomJ t Je-54 mppą ~ j~LI I oolJ na1i;>.i.-n11! wi:i,łui
dla kaJ.dt.-go 1c:ksi:.: l.t. \\";lnoś --i 111~y ·u · t:tl ni.=J modulujq warh* 1 m P„ z ,,,( ~taJl\«J
z,~,yld ,t.'łrsrnnc. cz,l'l i po pro 1u a pn:~z ~11.:bjt ·mnoioflle. Dl..l\: i t~mu1 C! rnn, ob Z.V)'
mapy ·wrt:tlnej L11c'°ji:.:mni. ~ ro(ls1;.1wową u:ksturi;, o;1 j.tu.ni: - m;.i.:j.1s,11i a E~-- ~t młaej
opentcji j{"St zdc1,.!.yLlowan 11,; Ii:~1r nii. cfokt pł()!",,l:t.-gu, IJ6.\\' icdcm11 ~,· j ·ri:che>lk1.W•°"-"8-0·

M.apy zcś.cienn~ mo1ml t'i1ii'Or'.t.jc na wicie- "po~otiów. grat:h PP (np• •Quaki:),t.osujc:


I Cl.a.$a,ru tcch.nj k~ td ,osit~·. pioJe-gtq~ cą 00 obr Le i'.lfiLl.1 ~wi ~Io ~ -r~dilL~... Q. n,1,t'.~OO
~'gt., be~oonio Lit.1 xtód~ lecz oclbit~go od obii;któv.:. Obllcitn1 W, bardJ-Of:tO;r»llll!'
CllfMVl•hGllllld~~..,._

RJśłfflł,C 30.l!..
- ~ MJ
O.li l~HO '1GI •~J{J

Tceflni · ta :nic ote-n_tj • w 7)"·tkich m o~lhAiQ$Ci. Jak iie ['iOSiada pdna rna1)3. wie:Lll"la , •
"OflfilUł w E«hnolog.ii rac1~os1tir. jedn· k jt.~1 Letłun'k"wo fotii ~ do oimo\nm.iii. }il:,, Pfl)'•
kład, jt.-śli pz ~crz~li 1 • lampę (llkJ:lOk:,:;i-~ną ll3 ry unku). mofl!!:-7. sptmVI~. by lnafli
~" ·ieiln z~;;, f:ł się ·oł) a , dzięki odpowiednim p17c ·sll, lceniom re śtur_i,1. bili
.mi.szczy l~mpę. mut.csZ c..atko,, i · 1"1: w_ tąic:0·ć o wii!'Lfi:nic, u tawi.J.j , pó!n~c
mk~ · b)' ( i(:łllflY b&1. r map}' ·wi ,lm:j Ztl\?:,Lai n.1zt:iiJ~11n~1:,,- n:i ł-ą ścia.ni;,
1

bwiym pr..::yp,adku maro· Ś.Vi.'1edri · \\'}'11'1:1Jajr~ z;i >iO ow::inia prlynajrnni ·j d" oob ti..~
J li ~k:tń rue wmiffiwu1 mutm:ck:ilurm, ani::i, ~"(ł1t't. mu i l'L~ ,vyreod rowilll!l" d"' h
Jnxtbi ga "h, W pie-ri. ,!"_)'ffl r..:nd1.m1wan..: h) ł) h} tc:k, IU ~ poc.h.La.\un,.·..:. 21 w drug.im 2;0-
WI) b).f nam><int: H apy świedm~ i pr.1qm1" .:1dzo110 b_:,. opc cat1•· nmn:iłnia obu t kswr.
rawriu IPCZ)' mul 11 te-ks.l11rowrm•u, J21 · 1n łlr.r.yp.. dku d\!.'u-:..:h pr'l.-c'lnr-=go"' końoo"'')' e:
bl;dzit lilki s.im. Jł..-'flnJ \\ tym dru~,m prl)rp."lciklJ I l~)Ś(' 11.•; nde-tt,~ anych kl::iti=k ct3 $ ( ~
~nc (l(Z)'\'i,'1ŚC:1c mn1~j~ Spr.1...;rowie mulmi..' JotllfO\ł. .u,il' ,\ ;,.rn,1i.::tąc • pcNlb :t\1i·ię_b:z;a
w:,daJ~ EW,Ot'..ocni ~ny. umofhwi:-.Ją_C' Ft·ttrl rr ,.~, .amt.' ob11 [!!'k'.!,,,11Jr \\' tym · mym lu!3$ł('
z jedn ~ą modyll oej ą: koltm.1,111 . Vi'L ·k.:-tu,5(- k;i rl ~ rn fio· n,·d~ zgodn 'l"h tt :spec· li•
ka:ej.ą Dir('"lX 7 poś1ed.a fimki..:ję m uJt11 r:i,.;~n.H·ou.•.1m:.1. tł:1. 1ęl-.J , ...-~mu nutp)~~-·wic.-tln.c '
się do::.1~1me dI ·;1..t!ro.k1eJ nt.~.l) oobion. r·n-\ •

\\' Dj:n;ctX 8 wprowacb-on() b ~lugę jl'<lno~h.; • p1xt:I _i adcT. kturt! cunov.•ią kołi:jtl}'
niB r mc11i" pul::Jcj, na pozmm1 ~ poJeJy:m.::1 ·c h p1k~d1. ~i'il..i cmtu
1
v. foclwice os.wie1 lc:~ 1

pów~ia •~łiwo · ~ \i,,-ył:orey~Lyw:1ni III J C:t:t: b;nd.r1i::j 1trr)on ch i d nami ·zn) "h m1.1
1

oświr.:llania..
Oświ',etlenie 1
r eflektorowe per pixel
Oblic.mm= o ·wieti DIB n:flektorow~'IO per verte · jes,. mało \,')'d:ł.jnc: 1,: ,, zgl~u na &11}
Q~zarów umhm i JlćflUmbrd i wymaga zn 7.JleJ li zb '"ie zcholków, aby mer.ma b)~g
zauważy Oil\\' • tak cx:zywi t, d'c:ktjak obsz o ró-"mym n t :że.niu oś,. tetlenia. P~-
km<I z roLdzmłu l 1, pokAZal nam~ że k ncowy i.:t;;kt o · vit:tk-11 ca rełlcktorowi;go w dun:J
,mer.ze za_leiy od gc;sto. i -talki o ~wjetlancgo fragmentu. \V miarę j□k ,, . &j nost rt
_grafic-mycb ~ittljc: tę OQf:!7, ię 'sza iatki nhic tów robią c;i~ (,,'OJ'al ~ • tszc. jt."4.inak v. ni .
rtó:yeh prrypadkacb iatki zaw ze p02osłoną ra dJde.. a przykład pła'iika ściana labuynru
żtłwsze będi:ie utworzona pr.l'..CZ iatkę o n1~k1cj rozd71t::kzoscL. jedna rnu I a,y 1111cc mok
Jiwo:.;c \llfgc:nt.m,,ranm na niej zaawanstm:t!nydi efeku'm: oś,, i~llit!'ni~. \V takit:h sytua. Jxh
z pomocą przychndZI o ·WJ ·tł ~nie refkktmowe per pixd.

T~ hfljka o wit:1lema reflcktorm ·ego p!.!r pi:ii: ·l j ·st podoh-n.1 do mapow:mia cti.:ni omó-
wionego w po~cdnim rozdziale:, Podolmu.· Jak .rnllpy cLi.:n1. o~wiclkflic to pol1.-ga na
prtijckcjj 1ckshH)' .z k.iecnmku lródła viatła na sci:m;, · ym r-dJ,cm t ·kcurą lą n,c- je~• joon.lk.
'' ~nder wany 1: odditli obrai ceny, kcz ~Lm obraz,, ·wi ·L]cm. rnf1c:ktl'H'"'4.■go

eirc-em o~wunfcma n:tlektornwcgo per p1. el JC!)t tcks.n,ra o ·re ·In.Ją; a ks.zin.li wrn1ra
rzuainego ze i.rodła rieflektoro\\ ~go. cenarms7 metod~ p1.: \'e-rle~ "~ m~g1d 1.~blicz n
w 4."Crlil określeniia, r::zy wii.;~chołek znajdc,wal si w ubs1ir/c umbra czy ~rmmbra. Je ·1i
w ~numb:ra. to m1riali.:s okrcslre wart<,~ współczynnika Jamk:::i.nin. \Jeradll pt:J ptxel jt~
0
wr~te ~ , ~J zloźona, gd rz w~Lki • te obi icz~nio są bezpo~rt.-dn io "bud wam.· w le · ' t ~
,f fiiwierkmr1 f flcktorowc:go. Przykład '41k1eJ tekstu z1 1al pokazany n.L ~ $m,ku O, __
pamiętH:S~ macica r.rutm, aml::I dr:tiniujc stożek :ci~ ,, który '""'YZllaczon j4,,,-st przt:z
płaszczyzny ogrankzają1.:c i ·ąt patrzcnL, Gdy m Clt!'rz le zen.tanie"' ~or:eysUoa jako
nutuJąca m3cjcrz rcksluruj. c;-t, :ci~t • sto.r.-ek okn.{la kszt.alt i:-z-1.1to,..,11mt0. ~ przypadku
kdo\ ego 0;1,·i~th:nia ri..:fl .torow go. ok~ły pr,ck.rt\j poprzt:cmy definiuj~ toikm°lj
ol,szar rzulO\van ia. co .1 tało pr,cd~r.'l\ ion na ry:'iunk11 30.3.

Widać "" minii;: powód dla kt1.Srcgo ohnu :wiada rdlekloro,vcgo powmaen w :a!o: ci
pokrywać• 1ck. tu~ . Je fi" pokrrcie JCsl praw!dłowc. • r, .. ; wa'doi.u
!Uli •· maci~ny _ rzmc.,w· . nta .
\I.I\: - - b . bra J ·1·
...1-zna.cza iaI"aZl.!m kąt nbszar , w pt.'flUffl FU I urn ' e r- ~ _-.: •'1 =vi1'!. ·n zM
V odpów1

cdnm
.t. ~.
..... J~
· lY . ·r~ n,wruc
-~ · • (l .1.. \" f·1"n t''
. kąl ośwac:t fl!ll aa tt! 1.;~torowe go. ,., 1 -~ ... - o l 1n m..
lalc:an. ńlu\1111.\:
"t7~11 iei, 24; L- "'f J.e r u1...... -1.ł'lym el ~ktcm tek. rurowania roJIUJą~go. \l ·.zrs•k~,. «> mu •~z
~ "Af
1
~ - · k ':di t't na sciem
~br , to 1.J75Uto, ć Leks•ur~ śwmthi rełł1,; toro,v~ !O na obie znaJ tlJ~ • · ·
.... Ce,M VI • Teallnlld ~ ..... aMin•

JłyaUflekS0,4..
Oht-iirlłi'N~
rtjklafJTYJ.W
k pmb)u

"ii l1'.iłSXylT1 roZWlązu.niu brakuje jedn3k pewnej istolncJ o..~hy - 1arnbnia Śll'lillh"'
odlcgf śc1 od źródła ie SUVJ.owiloby to probkmu. gdyby oo1t.-gloici na scenie bylyu 1i1iide
mni :.fSh! w porÓ\! :ru:iruu z wi~lkością oś.wiellan~go obszaru. 1-·unkqa zanikania nie jcu
jednnk nrudnt1 rło :r,.aimpfem~•llow~11i,p "' nas?. :i ttplikacj;.

Aby j-ił dodać, mlls,imy zakodować w ,,.·,erzcoolkach ,.,,,an.oset odkgłosd i um02.liwit ith
infl!'rpo]~.cJ~ z pikse!an,i. by EU ~bić, koni~ ~~ Jc.-:r,;t "'C .rt:::.TI 1cJ::;.1c poi ii.;:zi;11 i~ w j~ce
cti:niowani:ct ,,.,w:rzc~ odleglo.ści od ka.aJ~ć), icr✓.ch,iłkH JL, J!J'ód.hl ~wi3lla. ~glłl­
odlegjośc ta musi 7.c,JS.tać 7nonnalizowam1 poprzez podzi-elem~ prze:, zas.i~g dzl:i.lanil re-
rlektó/3. Je~li fimkcj:i mnikahia yłahJ 1;niowa~ móglbys Ją łan,...o zakodować do \.-olaru
m;;,.pmszenia i wykorzystać do modulow,i1,11ia \\iar1ości t1.:kstury. Z::mm~st \\ kolor.xt mipm-
..,zt:nfa, funkcJę zan ilca.nia moma również llmit:śt;i ~ " ro h:kstu~. 4;0 ;:ostato pok~
na r-t'sllfi:ku J0.5. Piksele zn11Jdującc stę b~isko żródh1 ś,viar~~L są n,mh.1ki,\' 1m prl4.'Z 1.0;
pik!; ·k spoza 1..asi~-gu działania n..-flcktoTB otrzyrnyw·alylry :-.1ał~ w~mos.ć ,anikama rov..11ą;O.O.

Rr,iun.ek :ł0.5.i
Ti ·ksllfftl :amkama
vettex ~ • r .stosowany w technice
oŚ1fietlen1a reflektorowego per pixel
PiwJ sh der w lu:imtj~ operacje ~11 p~ksclach. jedn k w i ~ przygotowuń odb ~a
~ w vern:. shadi:rzc. O _ta1ec2m ·, p1 d h11de~ obli_c1.a v.•a~~ ,,.r oparciu O te ~
i k~r~ry a ~c:rtex sbader Ji.: r ""Yinag.a~., do .obhcfen1a wlaś •~-ych ,, póhzędnych tek-
M)' 1 J.oform • kt6rc :w:s~.ł'ną w <lalszeJ koltJ nośca do5larczo11 ~ do pi el s'h dera. Shad.:r
(k;\\ ictknia reflektorowego ku PcrPiJ.4!1Spn/Jigf1r.~'S,r:
umie zczony je~, " pl m

f\'a poez.ątku W)'JHOW~ dzam: są przeks7tałcon~ ·wartości poloteni~. Om1r" ·iana technika
jl!'SI zgodna ze w zy Udm i shadcmmj odi: ształcaJ ~cym i geom4!trię obiektów. Prunii;taj
jćdn k. źć częś · omłtwianego •cncx badt:Ta związ na 1:. tekstuTnw;;u11en1 rLutuja. ym
opie-ra i~ r1a z,ałotc.(niu. źr,; gemnetri nie je~t zoicks.ztak;:mą. Jeśli zmieri i t gc-ometrię
obiektów na cooie. up;wnij się. ż~ wcżmiesz tt'n fakt pod uwr1g • w f11Z1c eck.srumwaniai
rlUtującego.

-·"· O. cO
· oPos .y. •,O. cl
oPos z. r(I, a
~ Ot?os • vo, c3

1ut~pn blok kodu przeksnałco potozeTiii= w ien.thulkil wej dowego, ,, . Orz)' ~llj · c
ma(:rt.'ra! tek$tl.lf0\•'ania rzutuj ąc.:~-go or-'1.7 U.'i(awia wart~i ~•spóhĄ~ycb pi~"!V.'.S?.ł'J •~-
S\W)'. Operacja ta podc>bna je , ro ,,-czdnicj :; gn pneksziat „n,a ~ ~em ~1doczn:J•
lecz w tym pnyp:idku przekształcenia odw: orowują wi "'rzcholcł:. d~ P'7. 112.em Ił( sturr-
\\~a.r,ciwąnmcren Tekstury omówr~ podczas analuo" 1ja kodu aph~ ~1. Aby popra,i mte
lJiZu•ować rnacicrz. b~d.zies, pou·1ebować ws.zy tkich cztcr eh ws.porrzędn)'Ch.
i:4 o 0.:-:. 110. c~
~ oTO •• Jłl. c5
010 z. o. có
r-' o O. , ·,O, c7
W koJc b Jimach następuje obliczmK" odk-glosd ?cl
&6dla św~ "' .,.,._
~
cB do ~rz,dtołka.
Odnaleziony wektor odJcgJ~śca
7. póm~ 'llStnaktji il Clti~
( )o zosrijc podniesiony do kwadratu. .iisl~pmc s~adcr obhcz.a octw~._,_ ~
::!,dnitoW"llD, uzysbn wymk odwraca, o11rrymuJ'I<' w len 'POsób "'llltość .::::::::,.
~I.a rO • . IJ. C
ittł"ll r(l w.ro. ,1)
SQ 1 ,. . irO 'ił
l'CO r .,;. rJ
tła.druk rejestru c9 zaw'cra oo\l.'ml~ośe zasi~gu „wimhi. Zos1aje on Pl:lcfflll.oto
obliczorn\ powyź~ wW1o "ć od~cg:fośe1_ \li celu 1.1 • sk ma, llf1o~i %.anikarn.a. OsDy Pl'lq
war1os.ć zoscaj~ ZUJ)i n do prcrw '2.eJ kl dowc., v.•sp61r7,_ęd11eJ drugiej t e k ~ ~
m.tJk :i.kładowe .w,stają w zerowoo ": .~
: • r .,,,...,,;,,_ c9 •Jt

Na końcu :zos taJe wypro\,.':\'Jd7,.0n.ai war1nść koloru to2p1r0Qem J ·1i fnllkcja l.ari .
śwj.1tla bvi liniowa. alr'~,. man wal1oś mogłny w korzystać dlo modu~l·i w _Ił
I.. ana!<:1
ośwJetlr.:oi:a n:flckttu-owc.go, bez lkomcc:-znose1 stos,owama ru.xel $110.tłera. Doki.aa.,
• • • • r •

,obj my , ~ ponmisztJ li n ri: - 1t


«>O. 11'5

Kc,lej~a li~i je l altema~\1ą_ ~~r ·p1,1.j_r,; lcilka._~ tnich linii poprzedni~ shanera. Jt)
zadamem Jt=cS:L ,.a.kodC'l\Y ~u; ,,,,,_spół~~n_llrn ?..a1!•k~1a d? k-o!oru ~msZłZnta., to tw.aloia
rru,~ 1t · ·twy. Taklc rozw1qzame n:t_i lepu;J funk~Jonl!łJ~ % lmm~ funk(Ją zmihnkil. W'1t.(l:,t
odJcg!o \ci zos.ciJjc pr1:c ka!o,van:i p:rzei 1..a~1'tg osw1eilr.:nm. a ,1.')mik ooejmowa.n-)•jts:1:
od I .O {c9 . ... . Od tego momcńtu kulor rozpros7_enia p:.Lechowuj~ wartość ws~'tW .
xanikanra.
- cr ro. rl ~- c x c0
N:i ~unJcu 0.6 zo-.1:--1 fa pr71.:dsta\\.'10na apl I kac,:j ::! z zasmśOv.'.aną metodą kodowilflia zmi..
kania w koh ,rzc ro1.pn1:r,;7cnia.

Rntrne:k 30„6~Zamkartw „u mrf.t1

Przyk!::1do\'!. :i aphkat,;ja Jt:SLbanł.1u pwst:1, Jetlnak me nit: sEoi na pne-i.d::odzi • b w}··


~Q1"2ystać ~i~~eJ I~ kkstury do ulwurzcnm doddkowych dcktóv~·. u ch,vilę o~S~
Jedno lk\: c;1cn1owa111a p1kscJ1. k1ór::i znajtJzie i'.,a ·toso\\ anie w mer dzie \\ korż} ~łuJ~ eJ
cl\vic tek ·tury.
AfbŚ'•"WY shud~r Z3Wi r-a ·tylko dwi:i; linie kodu. · pterw$:kj Hni~ w,•koo.ywime j,esi m
V . wartości wiana rufli=kmmw~-go pr.(i,.'7. pok:z)fnilik W7mlOC111icnia w kaul ~:
1Cll~
1 • - ...,- • ....•. - -L.i- ~ - · e 'tlHa
4n1~j &zy t ~ ~-- S~Lłl:Jil uv\?,'J~D_l ~w_~e •vr-.uc 1o.c.,1 z róbrymi ,~pnlnędn)mi teks.tury.
1

()IJ'",l_?IJ17i8Il)~ wyri,k :ro ta3~ ~• drug1eJ hru~ pemn.oio~y prz~i kolor ro,lpTI)S1it."flliił. heder
i.J-H,: diziałat popr:awme ł)'11ko ' ówczasj gdy w J~tce ci~11towilń1a wk~cholk:6w
en ~· t· h =,..... •· .
lłie zosmła 'lh·lą_cz..(Jnil a rematywna ~c n~ wy.:.cuzy toJąea kolor nxliproszeni~.

I r0. ~. 1 il
-,i, ff). rO . ,,'{)

Rvsune :30.7 pm.."<łsraw~a ośwh:th:nie refldttorowe ~ W}~Oil.)•~taniem mnkcji 'Za1!1ik!inWJi


~ricj na meksu.1nc. Funkcja ta ~em;rujl! D~\vidlt:1i11tc~lklórego Ml.tężeni · do połowy za--
si~ jest mak~~ l~c. ~ polem_li~iowo midc:je., W ~zywistym świec.ie tego ty;p" za~
nikanie oczYl" LSCI~ n 1c 1,,vysl\"P~l:Jt!. J~dm1k przykład len J~'Sl dołr.1j1 m dowodem n.a bogate
rDQ2JiwoŚ(:1 funk('ji zan1lu mia ur-ykorzystujątcj h..\kShtry.

Opfsane jedno5-łki c Lenio\;i.'a nr~ wynwgtSj.a oczyw,. cie zdćl"iriiowt1n-a odpo\vi..,'dni.cl1 stałych
i maci~rzy w kml.1.ie ilphkai.:j i.

Apli1
ka,cja oświ1 ellenia
reflektorowego per pixel
VI ~ d .,...,.... ,,,_,, I
_._. ,,,,,
mcłl :ian
Jełll w· Twoja k.m1a ~ nie obslugu~ ~ -jcdnMtek. ~ • ...,._ ~
08 ~tcn)wnik re&rencyjny. Pamię~ Jednak. że ~e zmiany
.-
p0c:~..._
~:~Y
~
::.w(dii
dek wydajnosci rendcrowmna sceny. • ,ceruc n:ndeJow8Q.y ~J!l •
4 j ednostki, Oczywiście ~iana tcchrub 1Jie•-.
rowne.i
dfuao.ŚC, ń Jazaałt
na obiektów - wybrałem sZł'Śc1an, ~ wzgftdu na~.._
tactnych ogram~e ""'•Olt
w implcmentacJ•·
K<Ml ~towanej aplikacji. mkj~ w popr-Lcdruch pr.zyJdadach. nic j ~1 Opt:)'tnaln~; l1lałe
byc w wielu mic=Jscach zop1~tmahzov.•m1y.
vo1d l'J ,.acJ. T ir 11€ Re~ JO
{
Na początku u aa,i ~11m~.• reksrurt ih,viartla retlektomY,•~go dla obu faz. 01\lga f1tt.a wy~
ny ,~·alNl jese t Um w technic,c piL~e••.· huded~O. OOdlm\ OzyW5ą ta~_.~Q~figurowwie, a] 11
....,. . a... orto:sci wykrnJ zaj~e poza 7J1"-n!' • . . te pakselt Zllłl•du· .
o- da. •. ,...zy Ul.....~-
o~m11., w • • . • od li !)lłtC-c

Sli poza "'.o
- :2.Jtiem :.wi;adi!t ocreym
- .
!,fą wartos.c1 · pow,a aJ ce ....raW\'\uJ tek,Stuli'\.! b..=...
. •ł . •.J . •.il-lllW.,o
w.atne jest więc. ab)' 1e-~cle n;a JCJ kr-.iwęd2t b!f ·y czarne.
,,(f~d ,z ,eOJP-"Se e· uret tł. _ fi s urc15 a i o,t..- l e ~ r ).
- r"adie, co . > Te)( reS ageS a e(O . OOOTSS_A~E$SU, 03DT/.004<~5_C Pl .
""'w jrli! .liM1Ed10- S~tTe rut eSrageSt te ro, 03DTSS_A!XmE~ • 030T łlORt..S.S_C ).
- 2dd2erne0 ->SetJe.r,; yre U . m_ ife .stur a91111 at l0Ref e-•.t c }.
- ~r".UI ieoteOJO- SetT~x reStd~ Stat~( I. OJOTSS_· ESSU. O~DT~OORESS_C
r.,_ zadzff!1e03D·>Set ł?lt ur~Stogl?State L . DJOJSS _• $SV. roDT 00Rt.'$S _C. • J.

· kolejnej Hnim n:ISf~pujł! :,.afci\~Cnic pj · ~, hndera. Jeśli me chce. w orr.y ~ -~· go


w aplikacji. 02]) cz lę lini j ::iko k UlCl'll n;
,_.. r.zao.z reOW-->Set ·:;.:~1~, aoe„r -~· a. rO$ ldtnama J.

Dddarowaru1 zmienna c1JlSQ" j ·st pomocni) w unkc'ie „m1macj1, \V. koreysluJąc j mo--
ksz np. przemieszczać I obmcać żród fo ~wiatla. obs.~n1,•ując efekt · gene ,wan pr'b:z
ornawi:mq technjk ·.
l Mt Czas • { loa lGet , Col, te
astępnic: del7niuj,em>r mati4.:n:~ jedno ·tki
c1t:mownnia~ Akrualny 'kod me okrcsla zadnydl
prze :itał eń "wiała. jednak je:J i eh~ , , możc~.7. j4.: wprm. .·.i.dztć. Je~li zd duj'--sz ,ę
na zm iunę pofo~~ia oka. Ul"'l.4 dzcme . amo zadba i L• prawidtow1; n:nderowa...nic efekttlW
na cranach ześcbnu. kt ';re me ą be?pnsrcdmo widoc1J'lc. Je ~li rue widzisz żadnego
o ielhmia. pmwdopooobme : \...·iatlo odbiJa si· na ścr:u1ach n;cwid czn)•ch dla dooego
polozCJ'l ta oka. \V takim pnyp dku spróhtij ✓moci~• likowac poloźenie ir<Klla wiatła.
030.'!VECrcflJ Po1 „a(5 o . o o . o ).
030:Qldc lxLoo'fAtt H( m_ ae,e~z 1do u. Poz ~.
AOJOXVEC OR3(0 Of, OO~. O O• .
D3DX1 CT lCO O. 1 O, O O)).
D30~AATRI c1erz · dera - _ •.1 c1ę zS;,,'la , m_ . 1c :z
c er. R u•u.
ll30 tr 1x ranspose Clerzsr a, tleriShauera},
·-~ rzao,e-meOJO -·Se e· e·•SMdc• Cons ~ rn . . cie i de a. ~) 1

D~• zbió~ maci~ny ueyw:m j, l do rzulo\ -~min tekstury. fdy rcnd~rujesz mi e~.
ma terze widoku I m..cow !tli \\ ynmczaj na ekrame po7)' j · wier1.chc Hen. .. n~tomfłl! 1
1e:-,.-er. st ·r-y. s 2M'(D.3D •' ~ JX)}.
11 C 5f .
. 22• os.
-l-
- ·~ - 1 O'"
Pr.~s.
,r ~2 ., ! I ,l. ~ •
i' _

ur;t _.i1 • ! O

Nast amie ma~L~rz 7.4~taJą poi, czom~. a wyntk przesyłany j~"ł do s.h:uf(!1'n_ Z"1róf uw::,gę
m korejność mnożeni. ma~•~r✓._'i, :
ld(l r,ls.,. ~at l 1 • ,.-,c3 lo.,,. :. ., S,;ldl ~Ut.LI * ,.,~. c- •rt ,.s ur.,
000.t „ r nspo ( ' c,P--;S 1d' la, Mac1e:i-?- 1 la).
1
_ Jr,Mit1eri1e03D > _•t',er"'e:-. J,ort sta:1 C4. !Mdt1erz •a li. 4}.

ftraz pa:eb~lc1m o wri:clcnii: llo prlcstrLcn~ obiek,u. ·J'lOC!ai 1m,sz mplibcj~ nie
.PO I da przeks.z1ake-~1ia śwfaa... tu j~dmtk ragmePł ten h dzie: mezl"t-d'11Y w pt:""t:ypadku~
gd)' uchoesi: sam-odz1cl111 i~ dndL-te pr.tcks.zł lc,enie.
03llUtĄ'fłll Jt ~ S e , 1 łt.
OOO)Jl!tł" łJ.ln~.rs , ~ 1t . MUU• .._ltKletzSwl IU) ,
D»lY« taMf Oł"IM &Po:SvtaU a , l(~'llCroRJ -~zSw;•t la • &Odwf lX'órr,sw,~t. ) •
_...UrlddZef'll~?S.tVtł' t.xShide~toł'tl(ł, ~1-at ~. 1).

p itcJ definiowana ,i.ta zasięgu łwiatla zawiera_ od~ócooll_ warto~ zasięg


onh ..a--- na.. udos, ..pnia instrukqi dzielenia. Pam1ętaJ, :te ttścian ma krta.~~,ł~· gd~
W IU11.■,M. """ Y .1-fi • • • Ś: • , • "rW.c: O dłł.i
gości 4 jcdnoslek - wci 10 pod uw._gę,, Ulo 1nu11ąc zasięg o wmebenm. -
x 4 za~1egc o / s.sr. o.~t. o o. o,.
!riJ ~ -nt JlJ ;,.Se \ter e Sitddl.!fCOM~ a (9. &l.@ls1 !!9 • ł .

Jcs,~my gotowi do rwysowun~a ~ ,anu za _l_lófflOClt_vcrte:i( shad~ra ~""itllct)i. n:fl~ ,


i rowego, ~iłlP zbudowany Jl"St z pas~Ó\\'. lr()JkJ\lÓ\,\,'. Jednak me nic tot 00 p~~
U by b ·I on zdd'iniowany j ako obiekt smlb., wy.
der(
u:r401 ,
! )).
( ) .
d?. STR1'1. D. 3. 'J. EJ.
STR1P. ij, 10. 2) .
~~I,,cte\~ _ STRJP. O•• ·4 . 2).
-
Jdb wykoreyscuj~:r. J«ioostk cjenio, .ama pik~eli. m1.1Sa Oni.! rosmać W)'iącZQn3 PFLC'd
k nl)'111uacją. w pntci,1, n !ff1 rt1zie kod odpowiedzialny a tck!t będzie ~ I shadcr.i.
o.~wiellenr-91 refkłrtorowego .
r~aa tcO ·S P1 elStl ~r(NU. ).

Oi11ó, ion ~ trzy s ·ładniki a d:tją si~ na cały ~ fckc o ·, ietl ·n1a ri.:tk ctomwi;go. Aplika.ej
doST".Jn:Z'B dane: do j cdno. tkr cieni01r1.-ani~ ,,vief"IXholków, która / olei przygotowuje
i" •sylii do jdłn~• · ch:niQ1.v anio pik 1,;H, pa.eprowad:,,ające-J ko1icowe obliczeni Po•
dobn ro,Z\, iązan re może.s1. za lo ować d CJś:wi tltmia punktowi.:go.

10świetlenie punktowe per pixel


KunccpcJ:i ~elmik1 ~wt •lenia punklowcgo je. t ,,· z:ts.ad.ltC p0i.lob1ut Jak dla~,., 13\fa
rcflck1orowt:"ł;O. jednttkJt:j implc:m..:matja JC:St ~llpc ln ie inna O. wi llcn te punl-,.lo\i.e jt:~
dookoln t wi ·c jc:d„ i11)'m .,prawdzhvym~~ efek ~m j e ·1 jego 7..anikan ii? " funk! Jl odlt,;fo{c i.
rstnceJi.; kilka róinycb posohćw rnodelo" ·ania u:go 2.lnikania. ,-.· 'k~r;vce 1kup1 ·si· 1.)•lko
na ~)111. który,, korzyscuje na..-;,ępujłtC funkcj m,t~żenia:

D' f x: v· . , :]
l - l- 7 - •-LR+R li
!t:ksmm zanik:m ia dJa oswieEłen ia rd1 krt~rnwego posfaulłd hnio\'i y grsd; ·n, w • ·Iktl
Jl.!dn)m k\~nink11.1. ponic.:, ai 1.anillomi~ 11. tęp walo wzdlu.1. '\1o·c-ktora ś•w iad . refld ttoro-
w ·go. Oświetl mi.: punkltlwe ni · ptl$Jada wyromione~ \ dctora. wi grad1i;nt powmu:n
być d uk.icrunkoi,,i, .', co 20~tal0 przedstawione n ry UJ1ku O• .
Ta.k jak· · \Ili'• oś, it.:tf..:niu
t. I
reHe.k torowym~ 1c1kstu:rn l.Jlllkiłll,a t.ta'IH)\\ tn:.on i
.
"- 1....
ca, ąJ:0 l:ICM.\11
n.....niu•1 [ł; ;mm Ct!,r..S urn me wysta___rc_zv -
V'lrl.,J •• ■ ••v
nntnebne . ,_ · -~-z-
....nJ .-...,._ -..1po
'-",i WU!
dn.u: $1tm.1CI)'.
1..-.1

vertex shader stosowany w tech1nice


oświetlenia pun1
ktowego per pixel
Vertex sh deT u~w u;t k n i:.a punktowego J4..■st p oohny do had~r~ oświetlenifl reflc, ~oro-
wi:g~ nte wykor.1:ystujc onjcdnak 1.eksc~•row:mi~ .utuj tego. ~z u la~na wspl,łrzędne
fe:• tury na 11! • ·tt,m; .1:· nikaoi:1. Słu,1der ten zawarły Jest \V pliku Perl"ttefP'om.l.L.gJu.vl1.\·~

IS 1.1

a początku Vio' 'pruw.ad:1..;mt:' J1..Ltóit poloż~mr,; :


~ ~?r.tS • •, D, cO
~ Oflos • vu, t!
oPos z• •o. c2
os . vO . c7
Nas-4~pnre obliczamy długo wek1ora Lczyli ooleglo~_) porni ·dzy ~ 1e;2:_cho~k1:m 3 po-
fottmem źródła ~w i. 11a w pr7e~D"Zcni obi 1.:kru. lus1·1: u,.~ z;gl =dn1ć kud El\\ t'Illulllną
.zrman~ P<)łoieuia wierzchołka:
ro. ,o. cB
Il ... J...I& • - ~w ietk:n i W had..:rle o wt ·-
~ skladowtłl 1vd-torn zo łaje podzLcl na. µrzez z . •~g os l"' : t r,12 natomiast ą
Llen1a "1flek.toro"'.;go "')'korzy 1ywuli rny w tym m,i.:J. cu od ~s1t). c, e
Io ~t"'doweo wektora:
.. I rO. ro. dl ,,,

W ik uiclefli■ jest wektomn. z zakresu od - 1.0 _do t .o. WanMt ta 111._.


yn d za,kmu. od OO do I .ł, który odpow1ada wipilłn._~~ ~ 9tłia.
śkalow.ana 11~m)' dziel~ wartość katdcj sldadOWcj wc-k•ora Pl'f.Cz l ~ - ~
111.pr.ze,row -~~ ~
r'1. ro. d.:f1J.1 • c!:ł 1 Y:J. •

Następl'lic mapujemy pierwS:Ze qw'i~ s~owe ara ~~~łdnt JHtN·s~ ,a.,....


powiilda ro piA,rwa)'m dwóm w pólczym.1jkom :mnmkan~. ---wy, (M_

-a •• ril.~
to,uJi:ffiY trl';ł,Cl.i\_ ~~~wą do pie-l'Wszej v.: s~dnej drugiej leklnlry. Stana"A'i r,,i
w pólcZ}'RIJ~k zan•lmrl1 :
(I on 1<. rO z
koP'CLl wypłffl adiruny :z bia@m kolor JOZpm5.Lemfa:
ro . 5

~ ,,.~ona jedJlJosmL1J cteDimvania wierzchołków du~rcza do pbc~I sl:wiaa


$1'
wspó~e t,eks1ury. !o:'YL,:;zą technik\: ~~m_a s.to.i;_ować. bez plX:el sb~,:;:
ehcf "llpić nwSigę w~ ntt na. shad rac~, JeslL me ehcm~~ys "WYkorzy!iły\i.•ać s ~
musiałbyś utyć uz_ee~J tcksw:i lub kanaru koloru z w~~oś-t1' 1.0. ~ c ~,~
operncj', ootj111m~·am:;1 ~olorow do obl_1c-~o~.1 wmosc1 ·łmlrania. hni:tid ~ ~
~ww11n~ impkmcnlatJa w. konystuJąea pixd shader.

Pixel sllader sl'O&owany w technice


oświ' etlenia punktowego per pi.x el
Wykorzy tanie przez sh:ide ~aiyc-h eliminuje p 1tnc~· stoso1"1ania w fullkcji ldłle-
nin innej ,~ksrmy lub 101n l!ów koloru. Slrn.<ler cen prh'PT'uwadza operację odejl'Tl.(I~
:znwartą ,,,,. równan iu n. t ten i.a.
p1; L l

Sr.ala cozrm•kra '"arto • I.O "'~• ·puJqca_" nas1..ej fuilkcji. ln~tru.l::cje te ł duj po-
wioo'.nfo wartości tek~IW)' z lckslury J'"11n1kania. a smm.1 reks-tura jcsEt EOSOwat'l:J. "'-'
fazach tiJhtut;·.
. l O. 1 O. • O. l O

W kol;jnych I i1n:i:ich , ykonyu'ltinH j t!S;t OJ>C~ j~ odcJ mowania piem1s;zych dw _h ' t l i ~


c;i: 'nrl1k6w zanjkani c cl, an.oś·~ I .O z u , •l'td11ienicm w rtośc~ 'RGB Vt.' O. tę . ~t
ż tł a pobn:ranr jest ~ i ,~pókzyrrnik. który ~•aje odjęty od p,tiprz.edń~ "')11
Osr.at~aiy wyn.d, moduluj~ kolor ruzproszenm„ a kfl1, owy rezultat ś1IJj,: W)~~n)
Z ha~r-~. Je,II~ będz1e!>Z wykOr.L)'bi~ " at dad lkOr\v~ ~any tcbftl1')1 mbie JS ,ól\:ll
1

odp W1ed1110 zmodul°',,.ać.


..:.al(alCi• oświetl~nia
;;.-••~ per ~xe1
llotl~ • \yykor~ihlm ~IU'tull'\Wlania TbJfla.
8ft p~tawiDay poniżej ~~ doCfCZ)• aplik;l.\1-~~9? ~ p i ~nJJ j~ bardzo
~~
Wl~
p{Młsffl'\łOW}'C'n fun.kCJI koufigun■iD.rW'-h . ~ Ołwietimm IPu.nł:,o'&'l"llto, :.............L.
- "'IJ.-'IL'l"'..-,,,.. J~ 'laka RilJlj • ale: -o • J''·' Utaq,
to~l'-«=34'- · il J dla o~wfctli:n.j;a "·
,; d ;tJQI ·J' ecr.:m 1 •• fłF.- rujfl
f
TdSCU za.oikooiil - i~1fonia punktcJw~ •obeśli . .
·.., \vpfm\\•Wi • odpcml'tł!'Qllw l"-QZ.-\li,~llic dla c,f_.-. Z3Sl-ę·' tćg().o.świ.c11t~ia., \\ J\"'(: my.
$hu ,.__, • ..meat(l\ ZJ)a]CI.IJllt'rL :h .
,_jm1. _'B~L~ ~, re uzysl\ilj:ą w~sci majdl1jąc= ~ię Il , "T?;I'( ~l~ f>O:cl z.a..,
\\' prz,-e<:nvtc-~s•~••~ do tekstJ.Jry o~wu~llenfu n'!flekt(łll'O\lfe , ;:a~
L t:ek."turr za~~•e..
tł' ~jr:1 \l,tfjftQsc1 są ni.., ~ LO. Takie rOZ\! i.ą~ te J~ ~m ,11wn~ 30.9 widf1rr•)\
• w fimk ~i 11Mę-lenia 'W}'stęp1Jjc:: odtJrnó'W'llnie od J:Jiz naJ~LtJ l?OJit.r"'TJr:. po.a
' . . • • I ' 1. tę~ w:1;aJ~ 'lff'.tko
,tt11jdllJ ~'i! po..-.a zas1~Rme10 ó!iwtei t'ITI p12,jmic 'Wa-~o1ć ró'i\!Jlą l .O. · :.1 •• • C'ó

Z1i:.lo;'fllefl3D•>'SetT~ \lfe-(0 _ 1ełstur:a„ a lal,\. t; )


:Wln ~1en1flOJO• 5@ :r~ ,tureSu eS t~C!J. ~TSS_ 4lXN[SSV.
03iJTNllRESS • I

.,.łd~ 1 eOlO·:-S .' Wre-$ ageS~U!HI, 030lSS. •- ESS/:


D30iAOO!f5S ~ )
- l3Dl":111$3!J-:--Seti,e l1Jret1. -_ iT -5".PJ~~ au.Ji O .
-t11.l:--ziazer.i1eOJD-=-Set i(:xtureS~geSt~te-n. lllOTS~ ~$SU
-
- rzoG26'1'11 e030->Sc- 1:!'Xt .-~s Q "e5.tł)
ruor·OOOT$S
~(I'
ss c • };
- E~.'.
D30UDORfSS _CU .• ł:

\\' d.,Jszej kołejl'10S-C"1 t0s~j ustaw iooy p1>:..:l :i?ba.d~r:


_ .lrtd-!:1~me-03U ).~ P1 ł S .,1iert _Sł· .t~ lab, n a .

T.:r.112 ~"Olt:j rma konfigurację ma ier-L)":


mnt.fcroRJ Po~a uo. o . o o rn on :
~ •
r1 Loo~A LH(! -
1 dC,r!Zń 1 -~·u •
~Ol dPC

~0Cł01.\IEC. ,J(O Of. Cl • C-.Ort.


\ZCD •.~ :.Cr . 3(0 O.. Of. O Of}),
ro, ·TR~ Kac t ~r,.s.r..,c:e '"LI .. ....r.:--:: 1Prt!S-'1" ta • _Hac:ler ,•
,.. H.J.c1e-t·7. 2urn~
i. ... r;,i ·1i:Iposf-'r~ i<:C11.' .;~~it er,;1. iJ .JerzSh:\IP.!r.d) .
_ rzaazen1e0:ł0 :•S(-c. \·er+~- ~Ile --.co, star t<O. JeriSMtlerai. '>.
Tugz Ullłrmjemy OŚ\i\ icLft.."łl1(;; i przq,rowttd.1amy rcon~rsję wi.tillo. do Pr"~lr«ni obiekt\!:
1~ Udj • ( n~· }r,P. Ti-GrC :n c) / SOJD Ot:
· · 'Er:J~ Poz a ł1(.2 o,., o.o . D o . 0,0 ).
- CliMd VI•,........,....,..._ pint ,aet,,

LL. l!).
~ T , me;. ~
t:'i!l'lt4 i!I, lJ.

pnie ,astawiun parOJn-ell' Jt'1n~11.1J cy 7B~g oswiC!t.ltru.a. >. l'lnęU,1l t.e


knm ęd.t o bal:u l'Wl'P)'m 41 J 1• ~ . _ l'lłł

C et~ I s:: O O • 1 fl1 l.


za =-,:SJ:lliłfe L~, l ('9. S.lol 1~. :u.
-
Gdy..., SZ} s$.n~ p;iram • 5,ąjut lifkK. ~om; scl!:mil gotowa do n.--n«k.rov,aoi ~
,.. .-:}hd
:.,. 1 -
lL

• <1. a. ci ai.
. O. I. D. l).
e RIP. G. B. l~. 2).
zmny pi I shader.
vtl.rzad.z ·030· Shac,e
(
,.
J].
Ełf1 u~k,30.10!.
o· ~,Jem'•
pun.ram,'t-'

Gg,an1
iczen1ia prezentowanych technik
Głównym ogran i ~i..:mem t1mó,•1,1on}i.;h technik n. wic1 lcnia je~c i ~h 1.ale-.moś od pi I
•had ra oraz fak:L, ~ 'W}'lkor,y tuJą kirka fa1. n:ł: :tury. O ile Tll0"1.ć: pct.Srufyć sit Hm mi
lrdmdairni, które w mnieJ 1ym S1op11iu 7Jllt!:h\t: ~ od j~"(!m.~ cek pixel ~adeT, o tyl11r bardto
lrudrm będzie i ?rczygntH\'ltĆ z \\")'korzy ry,,Bn1.a wielu faz, . a obecni dost~nyrn
POllsuaowanie
Oś\11erlcnie per pixe1 pc.n:h:n1t,•1011c J , ,, itlu ogranic.i:,cń i wad oŚV\'tt."tlł!n;a pc:-r ertc ·,
Umoili\i\r1a równicz gę;-ncrowamr: dokfaumcjS1ych k z1ah6w zu n~ Mat~:t i !oso-
lllllr,; funkcji zam a.rui.l. Bez kom czności W)' on) 'Jma s ·runplikowan}•ch ub1ic:ir;ń
m . z dodać d~, cen 1:ln.1one dclct\' uswii.:tb:nia..
J •

· ma jednnk ni zn Llartno. s,~uj~ oś" it11'l'n1c ()t!'t' ,•i.:f'lC' mugle ~ umitśdć " ł i(ódd
światła naj1.;dncj so:mt. 1.!cly.i. ugranic11:;mi.: 1kwito ,, tnstmkcj~h dtex ha~. pr;:z}:•
padku o Mticrlcuia per pi x ·t ugram~ ;.eru~ ma r,.,. 1ązr.:k z 1lesc1 ilZ ,~ks~~ra, kt .. ~
jest D wiele mnieJ lmplcm~ntncjcł \\ Jedn.cJ se ·nit! , pojed}'l1 zym pro:b1 • , v.1elu 1!f!kt
opartych na teksturach jc:-.I b~rclzo trudn:i Jo rcali1. ej•. aw t dyb 110 przt.-bie~ '
nic s1ano1,•da og;ranicz~nia, ,., ciąż wano pemi~t~e. k kany grofic1.ne ob ługu,1ącc. ptxcl
shadcr n1e sąj~szc.t:c ✓.h) r popularne.
1•·
L.,.1mo pn tisw.wiotl}'Ch
·
1, ad o.:-.,,.'1t!tlcn,1• e ~r pnre-1

Jest n11prav. d bafflYl d.obl"!l
1 •
,''"1_ tt hni
1 w11rto rozumfoć mt..-ehamzm j ti d m~ nia. 0 " wiś ,c ,ue: Io Jc!d n~ L c:hmk.,, kt61'}te'1
rcalizacj umożl hvia p1 d h tł r. Pos.t,;p ,v dt. konakrnu ·art gr fit l eh 1 1' r1-emu
ł · fil i~rz rzultl\s.. nia definiuj~ . toz~ ~~, iatła reflek.tol"O\vego, określaj po !Jfost\J
c~ ć stot.ka "vyciętą d woffiłl irÓ'\.\.'OOh:głymi plas.z(' muni. Kąt pola widii:ni.3,
(FOV, ng. Fudd 0/llie•~•) ma icny r.lUtownma. d.:łiniuje k, t ol>~~ ?1,-'Dllmbra
poo WJrun!ciem, ż.e ci=k~u ra została pop1'!wnie urworzona Kąt oh.szaru umbra
J~s• zależny odjcgo wzgl~dnc-j 't,'i,•ielkosd, mt:kstur..zt ,
+ \Jcr1ex ·had"r ośw ictk-nfa refle,k1orowc o w~ onujl! Jhliczeniu Li.:k~turow::una
r1:u tuj ~ o oraz koduje \ e w pc',tn-~dnej LL-kslury Ollh,.Lgto.: od :iródla Ś\\·iatla
do \\'icrzcholka. Tli! · tum I okreslB teksturę '.i'łtnikru112 ~hnałła.
ł· Ośwjcdem refie tomwl.:', ze w:1. •l'iclu na s.wój ma.te-mat) CZ.tł) mcchaniirn.
zu11~e. wił',ło w dwóch kicnmkach. Gd · zd ·c •dujt:sz t · na sto ·owlni~ tej
tcchni i w. wojej apHkacjł. mu. 1 i uw2rl~dmć lę nicdo'" od11oś ~.
ł echmka ośw;iet.k-nia punk.tow go róWiiicż w ·kor.r,ysmjt: ti:btur ·• j~ak t~ks.rut'il
t~ okreśJ 'li artości nalę1..cn ia S.\1;,•i, tła d Is funk ji zam an ia ,\ b · otrl}m \\ arto}- :
t:..fnlkU, Il rl!fy od warhl C3 l;lpi □ eJ ,v lit'k~lurlt: <1tgą~ l .0.
f cnt::."C -hHd..:r o \vjcrlcnia punkt, wcgn koi.luje,, c ,.,1_ p(1lu dnyr.: h t~kstw)'
·
~ równo k1crunck..Jak i dtugo~ć wektnn odh;głoś~,. \\ spółr-1.t,:'dni.: t ~ te . tU]j'
w_ 1.n c7.ają 117-y wspói .zynniki funk ·Ji na1.;żenj~.

♦ Oba r dzajr.: o ,ę\\ n.:tl ·nia moma ·toS<lwae hcz ~ ,·kom·. 1 \\'ania 1edn 1„Jck
cicmiow.mia, Jednak Jz1ęki ich z;a tosmvaniu rn~yniant: ~~zult cv są tep z~.
a samo rozwiązani· - bardzi.:j elastyczni:.
Rozdział 31. _
0Slfietlen1e per Pixel
..- odwzorowanie nierównci-ści
wpopm=cnim ~ Je ])0%nałeś tecltni~ per piM.iel k 6m . .
Jl ,c!llłt kiU(:lego pfIt la osobno. jednak waJrtoki Le ~~ . oblicv..at ~ośd ośw1eUc~
(~ot.em,J SilID}rch wicr7..chołków. V.' lyrtl rozdźiale amó e~~ zależr,~ od_ lwnlt!trii
~ metodę, któni puzwate na definiowani~ wlakh,•o -wnę ~~wanie D1Cń\\i.11Dśei
,.-u-o C lu reL.INI I Mal'. ~ Ili[!! 'I icrzchQi~,6,: n-:.:,,.1
g._c:om~tllc~nyc:b, m;yi.,,lljąc do
Cl
· · Lłvl!, I ,emu mD:liiYli'r! Jest se . . ~
1 ...:, f •
'"'a , • n,::,•....,..,. • •
~1JOSCI na powierlthn,, kcora 'I. [P:UDFdu witheni:a wie bOŁk:ó ~ M'?\ltallJ~ np, me.
wrozdziuli: omówię n~lt'J'lllj ,re zagadnienia~ l"'LC w Jest ~de:abnc Mwni
' hł~ 00\17.0fflWanma nicró, mote,.
• T\ omunic i korzyst1m1e. z m.Jp nonnal'nycb.
• Dtfinjowanic ,v.ck1orow ,,,. p-r&e507.:er'Jj rus.tury.
• Odwzorowanie nii.:rowności z Vi1'knrzystanit'ffl jt.Jnt¼v ąz teksinry,

• Qdt,\ zoro" .tnie n1crównosci ..-. ykorzy.ffllnitm pi e1 5-hądera.


+ Ogrm, 1cz.enia i mod f1 kacJc techniki.

Pojfcie odwzorowania nierówności


ama l<lta udw..r-.nm'\ an I a nierówności j st bardzo prosta clo zroiumii:nia I lW.S'adoic-w
;<tlall'Owi rOJS:n~r.1.t:nii; konc<:picj1 oŚ'wi~Hcni per vcrt· , Sµójt'"I. nn a, um.ek ll .l. jcdn:ym
z paprzedn Ieh ru.«biulLJ\m. dow icdrialc ;ę. ja SĄ. ,vykon!(\W[lt Qblictenia oś.w,ttk-ni~
Z 11\\zg}\-dnie.niem v1~k1.ol'Ó'\1t· nom'Nllnych wiei-zchotków, \\t p-rzyp::tdkljl ~wiaieł ki~roa-
ko1.\~h wckto ~wiaUa J r:,~l porównywany z w~k,orem umm:ilnyrn. co '"~ilm daje
Yianooć nat~~oi11 swiad:,i '3 la kt1ide~o z tcu.cholków. J(_:uti:! w.ka "''rattośc wstajt 'l'in-
terpolm ana na ob-s/4'łr całtgo crójkąia. Wynika z tego. te końco" 'ek'kl u,świizlłmia
zaltz)' od rozdz:iekio. ci ' i alk i c onącej obiek'L.

IR zej jest na sunku .J • ·- · \V osi i-nieb kilłm ro~zicala ·h dorwicdzmtl;ś si ż.L■ \-e'kstu~'
ruht nic lyl ko do tworzenia I dl\, eh ptrwierachnt. y.,r rym pt%)'płłdlru ~t-k~ra ~ ~J ·
zmapo"1t!aoo na pow&l:17.dtni~ i ,-.uwiera dBne o ,-.,·ek.to ad1 Mnnaln~ch pikseli 1;1iillJdl.'!j -
c~b :si'f na t ·j ,pow ierzchm.
en li Vł • T. . . . . ., . . , .. ., . pluł ......,

lłyawlc3U..
1\.wz.tlllt!
olwłdh"Rłtl
: W,,~h'.Dfli'm
IIOr'lliuJn, -cl,
:tt'ta"U"'11fflK'

Rysunek U..2.
Q.,rn /1!'l/t-,i,r:
- ;;a, IMO'f.:Yl/1/t:ru
weborów
11ormuln 't11Pl rei•

a ry · unku J J 2 ~o taty narysowane nonnltlnc, które utwor.tą ni~ró'N'll ść "'Yhój~3


Br:unp) na powicrz-dmi Kształt dcliniowan przez le "'-'ektory determinuje kształt nie.
równoś 'J , Z-auważ, ze nic nalj'SL,wHl~m wła~eiwego wyboju na pm ienchm - j~ 0
cały czas t:;ladka. Tak n:,prawd~ hnwicm tej ,i;crówrn~i na tej powi1;;1'1.C'hni nie ma Od-
w--1.omw.m ic nicrównu.k·i j~~• trikiem v.r;1ko~ystuJąc;-m oswiclleni ·, ale bt...-z ing,ermtji
·i tk'c obiektu. \Vart~ m1tę.1.1;;nia os.widlcnia JC-51 \},yznaczami ja_k dl11 nierówno§(:·
aJe i rzocrywistosci nię,; ma .ża(j ncj znu~ ny "'' "; )(I o ci ,wicrzehołkó1t siatki . Rysunek
31. ~ prledst~wm pr.r.ybliżcn 1 e obie-l,.,,1u pochod7ąccgo .,_ jednej z aplikacji omav,i~ydt
w tym iro:zd7i le. \'w' idll na n im torc.nd. na k1óri:go pu"'i ·rzchni \1-'}' I puj oŚ\\'letlone
i fZlftające cień wyboje. Jednoczc:ś n·i: wy. '"'' icl Im, , j t: ·• s1.k ~el~l obiektu. na kmm;mi ni,e
11 jdt:1ć żadnych nkró\\ no~i!

Rye.unek 3:1..3.
ial u ohrcktu
? m1lolcmJ'fl11
mer6",wfr,am,
fhlii 1_. as. • Ołwłetlunle ........ __......
~ . •n1eror~w•a1
pą ,:;ęk•
~o~~ polega na \I.
••52 Jll2. J • ~ oclw
k naniu il~~an,c n;c,6wootc, w·
Im
wności pole . do ~ wtkt
ltładme ""•tła
n('SO· ()dWZOll'Owana m . •csz, ~e MWtetl
.,,ji j,....iq< jednak " 'iel" elementów ~ 6 .., •~m':,, , - . . . .,.;:::::
• I L ,1•-•nk·....... ""' ,,.. • re-
\\'tel Cfllll " ........ ..... ..... c ..... n e.tne Je t b . -.Ją omaw·
od"'"~n1•· • )'l'n. W "''""'- · ·
-..ueJ imp\emea.•
:-a na prt,stl.l oś." icrlemcm k1eru.nlm•~· • Y~ zapamiętał « 6dl:aną •ccnnikę ud l,Ą,"Vklca. 9
r-- r ,..ym ~ I . ! ~-
weklOr)' re r-vlC :nc ~ z mnpy Wektorów •.• ,.........yfiłcow.mymi ,.....c n1cr6wnośc1
.....J,,. " • W7.0JQ'IA.""'..,. ·z 0
noJ11J11łn'-'~h
~ • w k1C'JraJll1 "'----1
• •Vll•IIWJ nym1


flfot'Zen•• ~•P wektorów no
i l(ol'ZYstan1e z nich nnalnych
MBP>' "·e1'toroW nolTillllnyclł nic jllkinuś • _
s1,~ienn kh 7,.a~• rtość nic Jest jednąk zv. ~al~ym: te t\lrami. J imi b •tv
ctioWdJą 7_non11ahzowam; \'J.1 artośc1
• y ·I ')z WCJkna.t Kuno.I)' RGB k.af,h.un liKO"" z ,e ,knp._ffi3J>Y
f.eł1 ~
pochocl1.ą
UJl}::t\.l. or'l'lfUllllc.: lt; ~,, czai~ 7 Jt." -"a::b! ora nom,a\ncgo
1'11IleJ le sh1ru dh1 \(! •
o VJ"..re.~,oaego
··•· pt7,e■
P . •.... ,. tzw. rn pv v. • •
M"I'• "'I okośc,
• Je I · 10 naJ '\'>CieJ 1eks1u~
.a ''• -·-• .
uu tc:n,ach ·7 · . o c,
pqstac1 nalęicmn oś.wii.:tlcm:3 •aifnrrna.c-· . O arok1, k1óra pt"fA:w.tąwi
·
;zakodoWaI1 ,, !,

\\)kii rz)' ·() :i.•BJle są ' rc.mderowaaiu Lcr,.;nuw "di _Ję ~-sokuś.cl Map)' talcic t„:sto
.k t • I • ' e le- s-1anow1 ~ w od . """'
coi,;J;.l.Dlll v, ~ o 1 punll'i..t.ow nn ::;aa~ ~ w ,.,, ,i:k.'v'oś.tL ...._ . g l'I.) sposob repre-1en-
O
sci
. O. O( ololl' zam)') t odpo\"' iada .lero,,. i.:J. "~ ok ,. pr.r.yprulkov. ank'ns) ma
, - 0.SCl nad nnl\O.m~ n,, ,.- v."afto-
· LCnlB. oa1on-u . mleUS}'\\TIOSC fÓ\\'Tla 1.0 ... I b·· ty r„ m v·u~Z<., 711)' odnie-
f

. . ,. -I . o~or la ) okn:sla 'h..


w.artos.c J „ t JUJ. owana pr.le.l rzr.--c:rvwisty
-.; • ,d ...,m10\\a11 · J>Cu,· wy!;o'ke>sc
• ... • z kres\\ . anta
Jl.4 przedstnw1ono pr?)Uad mapy ,,. sokości i odP0 " ,·JJ.daJą
1 . J 'J ~ ·~ci. ar_ unku
powaerLdmi't.

lfł!1IIMIC 31.4.
jtJpolr,1 O ISCI

~-emo
pn, l:Jdo~ 'j
~-::n)

onnaln<! zawart • " mapie nonnaln_ eh ·ą iwo zune m, pod. ta\, ie ·1mi," w informacji
?wy okOSCi. \ rozd~ialc _ I, mówiłem Ir( ·hę o Jl'"'ub1e obb ·,,mi• k,\_\ll hylcnię lmii.
J<dnak nie podejmowałem ~ •~ ":li ."/.. nia t"l!'' na ·hyk-nia dla dow, łoi ")'brancso punk.Ili
Dl 'odwzomwan~a nicrÓ\\ ności jt:~110 1ylko kwesti:1 d iał,ui ~rytmct):CZD b.: 'a l)':sunku
3l .5 _lOSłala prl'.cd ·ta, riona ro~La jedno\\ n,,arowa n:pn:,.ent~ja \'il_ bram:go , ~ t ~ mo_p
" oko ci. achy len i~ I'° ·L zccó1nycb fragmcn\/," mu1cm)' w~ 111 ~z. c o-deJmUJ:'I
wartości jednego teksel a nd nast~pncgo K:,;dy Lcbd JC ·t lx,w,cm 'ów ma 7',tązanY
nachylonymi (K{cmkamj w przypadku jcdn<?w,rrnimowej 'repre:tentacji jest to od _
po łcwej i po prawej !itrOnce tekscla.. ~ch>'!en~ Pn>' ~dy.-n z Lekseli ~ ~iE
korzystając z n chyleń tyc~ d,,tóch ~ut.du!ą~b odcm~w. ~etoda maj~ PQdo\,na ,
us11ednicmia nolffl:ałnych wterzchołków 'li siatce_ Dla pro!i,teg.o Jednowym1a11owego d(i
padku wektor nonna.tny jt-st .skierowany w tyn) samym kieru_nku co wektor 11 thjif=r

Dla pr-.l)'plldku dwuwymiar-oweg;() spraw~ staJ~ si· ru~~-oordktl'ej złotana.. Motes2. '1.1!,•,
.w~czyc np.('ny~mia "'w-młuż dwoc1, osi. it;ez w celu \leySIWIIIII 'li e Ol8 normal1Mr"go nędii
pott"l,ebowal ob1i<:zyć iloczyn ~kalamy ty~h dw
eh w~iktoró\\' .. dy~W}rzna.ceysz V.'t ~
normaln , musi z go zn.om;1ahzować, wowc?.A będrz1,i; on w1crał waJ\ości z. m~
t:
od -I do r. Wartości ~ają, ?.o~t~ć zapisane w ka~tach kolorów: których zakr,~jes1
00 odol . wii't-t wczce meJ wartoscm le n lezy pomnozyć p.rz.ez 0.5 , dc,dać do nich os.
w· t n "posób ich zakres będzie poJ)Jlł\Y11 i będą one mogły wstać zapisane do •ł3d«,.
w 'Ch X. Y i Z składowych RGB\\' mapie wektorów nom1alnyeh .

Powyższ , opis mote branieć znie ·h~cająeo. Dostępne są jednak nan4ed:1ia. k'too: alJtQ.
matycznic wygenerują mapy normalnych za Ciebie. \V n.eczywislo~ei dokom.1.Ja ont
u~11edniama normałnych t,,:ksch z ,vykorzy ·umiem wri:lu ~ icdnich t~ eli. dzięki cze,n,
olrt;ymanc; norma lm: są bardl_icj 1 ladkic, Jeśli nic polrn h u.j ·sz. stooov.•ac d)-nllfflic:rJwc
map normalnych, go.rąt."O poJec-Bm \Vj'kornystanii.: jcdlflcg-o z tak1ch narzę-clzi .

ffe Jeśli jesteś ueytj<ownikrcm programu P otoshop,, możesz wy'.<orzystać


Jąqt tego progamu autor$twa nVidil, który u lOtlfwia ~•:ygencrowarne
na l)Od:stawie map W}•Sokości . Rozszerzenie to można pobrać ie
modu rozsreaa-
map norm n-dl
strony ·n ernetov.'e'j
firmy nVidia.

Ryrunck 31.6 pr~i..-dsta'llvm m~ wysokości i odpnw 1ada_1ąt.·ą jej map't '"~ktarow normal•
nych. Rysmlk1 są\'!,' sk;.tli swosc1. więc mogą me naJf p1cJ 1 lustrmvać. omawianą t.xbnik-.
\ idać J'-·dnak. że m13pa nomJ" lnych zawiera inform ację o\' daorni.:h, k1óra .lO. tnła od~r
lana i: mapy \i.,ysoko •c•·

~ys.unek 31.6.
.\łapa ~,~axovcr
• f1d;m~1adując~ it.·1
"14/10 ,un·11wl" •1.:f,,

You might also like