OpenGL est une sorte d'outil qui te permet, par le biais de langages de programmation qui vont l'utilisée, d'afficher des formes à l'écran, bref des trucs 2D, 3D, ...
Sinon tu peux aussi utiliser DirectX mais ton jeux ne sera compatible qu'avec Windows.
Pour le Java il y a pas mal de livres que tu peux trouver sur internet puis commander chez ton libraire, il te suffit de faire quelques recherches sur Google avec par exemple certains des mots suivants :
"java livre apprentissage jeux programmation"
Un très bon livre pour les principes du Java, c'est le Liang (Introduction to Java Programming) mais il est en anglais.
Il y a bien sur aussi beaucoup de site qui aident à commencer le Java, à se perfectionner, ... (Developpez, Site du Zéro, ...)