Nisam nikad radio u OpenGL, ali ne verujem da je mnogo drugacije od Direct3D-a. Napravis 3 texture- jednu za izgleda zemlje, drugu za tu tamnu stranu i trecu masku za odredjivanje koja ce se od prve dve texture videti na kojem delu. Znaci ta treca textura ce biti pola bela pola crna (sa mozda nekim sivim nijansama na sredini pa ce izgledati kao da se svetla strana pretapa u tamnu). Kada renderujes frejmove svaki put podesis koordinate texture za tu masku i tamna i svetla strana ce ici u krug oko lopte. Sad, kako se racunaju koordinate textura za vertexe ne znam :)
Ako postoji neki nacin da sliku u texturi maske pomeris levo ili desno za nekoliko pixela to bi mnogo pomoglo. Onda je dovoljno da samo pomeras masku i da te tri texture stavis na objekat i gotovo. Mislim da ne bi trebalo da bude preterano tesko.