obiekt

(x, y, z)

prosta rzutowania

! " # " $% & ' ( (

(piksela) ) *+ #" ( ,

#% %*' ,-.

& ' ( ( /( 0 ,

" $% "%(-

"" #-$ " $ 12

• # ( ( wzajemnego usytuowania

(),-)") 0)

• 3( %%(,-/ %

)() " " )

( (0)

• charakterystyki powierzchni obiektu ( odbijania,

"")3)" "")(

powierzchni ),

• 3( %%("3" * #

/ 0)

• 3( %%("" #,

• ( %%3

obiektów na scenie,

4( "%'+1"$ .

4( "%'*%3 "$ & "%1 & '

lub kolor punktu (piksela) ?

4(" (11 " &.

5 (-

monochromatycznym

• (- " )

• model dla obiektów o odbiciu dyfuzyjnym,

• model dla obiektów o odbiciu zwierciadlanym,

• model dla obiektów przezroczystych,

11.2.1.

6$ 2

1. 7 %*' ' % ""

(bezkierunkowe).

2. 8 "3 (- ''+

2

= ⋅ ⋅ Θ

gdzie

-

∈[ ]

,

! " "

obiekt

11.2.2.

"#$%"&

6$ 2

1. 7 %*' ( ,- '+

( "%(3( (3

2. 8 "3 (""/'

matowa).

2

* -9

Θ

= ⋅ ⋅ Θ

gdzie

-

∈[ ]

, !

jakiego wykonany jest obiekt

Θ - #

# "

badanym punkcie, Θ ∈[−

],

4 ( (1""%

() $"1'(

= ⋅ ⋅ ⋅

gdzie

- jednostkowy wektor normalny do powierzchni w badanym punkcie,

" "#

'

"#* %3"%(-

$ +-$ %('

Modyfikacja 1

(

: % %)(- '+ "

%% " " ( ,-

*+"

%(' # " #

modelu modelem poprzednim.

= ⋅ + ⋅ ⋅ ⋅

gdzie

-

przez powi ∈[ ]

.

Modyfikacja 2

(

6" )$ (%$ '

,-)+ '

%(' # " -"%(

.

= ⋅ + ⋅ ⋅ ⋅ ⋅

4(" $1-"%( ) #*"%

,- %( "3.

6"%()$

=

gdzie ' #+*"%,-

( ' "3

(% %$"%"- ' " % %3

wyników, bowiem:

• ' ' $ ) " * ""

($%3 "3)

• ' ' ) " * """

($%3 "3)

' **+" $1)





= 



 +



+



#" , , + %"

Modyfikacja 3

(

obserwatora

6" )$ (%$ '

) + " # '(

'

6'( "#* * (% #(

( ')%('+%""+"%%

" -%3 %1

*'+2

′ = ⋅ α

gdzie

#1 #( "3

od obserwatora,

α "%()('" #("%

na rysunku

α

11.2.3

""#$&

6$ 2

1. 7 %*' ( ,- '+

( "%(3( (3

2. 8 "3 ( '-$

-$%3( (3

; "

kierunek

obserwacji

Θ Θ

α

! % ( "3) *" "%

obserwatora tylko wtedy, gdy kierunek wektora

*" *(%"( ( ( .

%' * "( ) (-%

+"%"" '" "

"3*

2

Model Phong Bui Tuonga zwany modelem Phonga

= ⋅ + ⋅ [ ⋅Θ +(Θ)⋅ α]

gdzie

n ∈[ ]

,

(Θ) ('(+Θ )"*('*(Θ)

"*' *+ )(-" $%

$ %"1

=





⋅ + ⋅ ⋅ ( ⋅ ) + ⋅ ( ⋅ )





+*#%(( α

" $'+% %1 (

"3(+ 'α .

%'1$ '+" #(' α .

Przebieg funkcji α :

n = 1

n = 10

n = 200

(' *'+%2

n

!

$ n

!

4 $ → ∞ "%(' * "

))'*'+

"# $"&

$1 (- " "

,-)(- "''+*" (

Podstawy fizyczne:

8"%" '"' #(" ""% #

# # & % #"

Θ

Θ

η

Zjawisko jest opisane przez prawo Snella.

Θ =

η

gdzie

i + *(

"3" * "% #

(

8"% " ' " " " ""%+ %(* *'

-' " ) (- ' - #

" *

!- %"%" ' * %

" 3" " " (%

'"% +%("%%

/" ""%1 02

nieprzezroczysty wielobok 2

przezroczysty wielobok 1

kierunek obserwacji

= − ⋅ +

⋅

gdzie

)

*

- )

∈[ ]

.

= - wielobok 1 nieprzezroczysty,

= - )

11. 3. Algorytmy cieniowania (rendering)

! " '"" #-%3( "

%""#*

11.3.1. ,

Algorytm:

1. ( " /( 0 -"*%3

"%1 ( " '

powierzchni obiektu (x,y,z).

2. Dla punktu (x,y,z) "1 wybrany model

"%1 %1 I

punktu.

3. % 1 ( "# " "+

%+

Zaleta:(1.

Wada:""1 " &

11.3.2. Algorytm cieniowania jednotonowego

! (% % +'(( (-

5 " '% ( %"(*

+ %1

Algorytm:

1. # ( " ' % %"%1

%1 .

2. <"1*)% '+ (

+"# " "+ %+

Zaleta:( " &

Wada:' ( (-(%' (

" *+(*"

11.3.3. , " $

Gourauda )

! (% % +'(( (-

Algorytm:

1. ($ # "3( (- (

%"%1

= (

%>)

'(

+

% %"+ (- %3 )

(-%3 $% "3 (.

=

+

+

+

2. ($ # "3( ( '+ % %

"% = ( %>)

"%1 %1

3. % 1"%"%3 (-)$%'+

#%%('+ ')*'+%-

"#

−

−

= ⋅

+ ⋅

−

−

−

−

= ⋅

+ ⋅

−

−

−

−

= ⋅

+ ⋅

−

−

gdzie % " "

kroku.

Zaleta:#" " &) (%

aproksymowane siatkami wieloboków

%#+'+=#(>) (*" (

" '+ %1"

Wada: nienaturalne obrazy w przypadkach odbicia

"3"%3

11.3.4. Algorytm interpolacji wektorów normalnych ( algorytm Phonga )

! (% % +'(( (-

Algorytm:

1. ! "%1 = (% > "3(-

wieloboków siatki tak samo jak w poprzednim

algorytmie.

2. % 1 "% "%3 (- $%'+

#% ('+ ' ; ' #'+

' ( % " (%

; %1 ( '%3 ( '

"" #

dla punktu wektora normalnego.

Zaleta:"" " "%$" #

algorytmu.

Wada:1$ " &