package Ġdev . j atz uk . snow wall paper . opengl . programs Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . opengl . GLES 2 0 .* Ċ import Ġdev . j atz uk . snow wall paper . R Ċ Ċ class ĠSnow fall Program ( context : ĠContext ) Ġ: ĊĠĠĠ ĠShader Program ( context , ĠR . raw . snow fall _ vertex _ shader , ĠR . raw . snow fall _ fragment _ shader ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġu Matrix Location Ġ= ĠglGet UniformLocation ( program , Ġu Matrix ) ĊĠĠĠ Ġprivate Ġval Ġu Texture Unit Location Ġ= ĠglGet UniformLocation ( program , Ġu Texture Unit ) ĊĠĠĠ Ġprivate Ġval Ġu Color Location Ġ= ĠglGet UniformLocation ( program , Ġu Color ) ĊĠĠĠ Ġprivate Ġval Ġu Point Size Location Ġ= ĠglGet UniformLocation ( program , Ġu Point Size ) ĊĊĠĠĠ Ġfun Ġset Uniform s ( matrix : ĠFloat Array , Ġcolor : ĠInt , Ġtexture Id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Normalized Coordinates () ĊĠĠĠĠĠĠĠ Ġgl Uniform Matrix 4 fv ( u Matrix Location , Ġ 1 , Ġfalse , Ġmatrix , Ġ 0 ) ĊĊĠĠĠĠĠĠĠ Ġgl Uniform 4 f ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġu Color Location , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . red ( color ) Ġ/ Ġ 2 5 5 f , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . green ( color ) Ġ/ Ġ 2 5 5 f , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . blue ( color ) Ġ/ Ġ 2 5 5 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 f ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġgl Active Texture ( GL _ TEXTURE 0 ) ĊĠĠĠĠĠĠĠ ĠglBind Texture ( GL _ TEXTURE _ 2 D , Ġtexture Id ) ĊĠĠĠĠĠĠĠ Ġgl Uniform 1 i ( u Texture Unit Location , Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Point Size ( snow flake Radius : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġgl Uniform 1 f ( u Point Size Location , Ġsnow flake Radius ) ĊĠĠĠ Ġ} Ċ } Ċ