Uživatelsky definované proměnnéUživatelsky definované proměnné V čase linkování je přiřazeno umístění (l k ) if í ě é Link time (lokace) uniformní proměnné. Programg shaderu Variable (hloubka) GLintGLint glGetUniformLocation( GLuint program, const GLchar* name) Installation time void lU if {1| }{f|i}{ }(glUniform{1|…}{f|i}{v}( GLuint location, …) Uživatelsky definované proměnnéUživatelsky definované proměnné Zpřístupnění dat ve vertex shaderu pomocí á á í i kéh í t ě void glBindAttribLocation( Link time navázání generického místa na proměnnouGLuint program, GLuint index, const GLchar* name) Program shaderu Generic location1shaderu Generic location2 … Installation time void lV t Att ib{1| }{ |f|glVertexAttrib{1|…}{s|f| d}{v}( GLuint location, …) Uživatelsky definované proměnnéUživatelsky definované proměnné Zpřístupnění dat ve vertex shaderu pomocí á á í i kéh í t ě Link time navázání generického místa na proměnnou Program shaderushaderu Generic location1 void glGetAttribLocation Generic location2 g (GLuint program, const GLchar* name) … Installation time void lV t Att ib{1| }{ |f|glVertexAttrib{1|…}{s|f| d}{v}( GLuint location, …) O ětl íOsvětlení Jak je počítána barva? ambient = ambient light * ambient materialg diffuse = (max{l.n,0}) diffuse light * diffuse material( { , }) light material - difuze nezáleží na- difuze nezáleží na pozici pozorovatele dif j j ětší kd ž- difuze je největší když světlo dopadá kolmo na plochu O ětl íOsvětlení Jak je počítána barva? specular = (max{s.n,0}) shininess specular light * specular materialg - spekulární odraz záleží nap pozici pozorovatele s=|(|c|+| l |)|s=|(|c|+| l |)|