Windows için OpenGL ve Java konfigürasyonu

Daha önce Linux dağıtımları için OpenGL ve Java konfigürasyonundan bahsetmiştim(https://oflazoglu.org/2015/03/ubuntu-icin-opengl-ve-java-konfigurasyonu/). Fakat Windows kullanıcısı öğrencilerimden gelen talepler üzerine ayrıntılı bir anlatım yapma gereği hissettim(Windowstan nefret ettiğim halde :)).

Önce java kurulumu ile başlayalım. Firmanın resmi indirme sayfası şu:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

Bilgisayarınıza uygun olan versiyonu indirip kurun( Not: bu seçimden sonraki aşamaları da buna göre yapmanız gerekiyor)

http://download.oracle.com/otn-pub/java/jdk/7u75-b13/jdk-7u75-windows-i586.exe
http://download.oracle.com/otn-pub/java/jdk/7u75-b13/jdk-7u75-windows-x64.exe

x86 yani 32 bit kurulumu 32 veya 64 bit işletim sistemleri için yapabilirsiniz. Bilgisayarım 32 mi 64 bit mi nasıl anlarım diyorsanız Bilgisayarım ikonuna sağ tıklayıp özellikler menüsünden bakabilirsiniz. Ya da  c:\ dizini altında Program  Files(x86) klasörü var mı buna da bakabilirsiniz. Sadece Program  Files klasörü varsa zaten işletim sisteminiz 32 bittir. İki adet Program Files klasörüne sahipseniz (biri (x86) dır) o zaman işletim sisteminiz 64 bittir ve 32 bit yazılımlar Program  Files(x86) ya kurulacak demektir. Eğer Bilgisayarınız 64 bit ve siz 32 bir java kuracaksanız birazdan bahsi geçecek olan Program Files\Java klasörü yerine Program Files(x86)\Java yazmanız gerekiyor.

Yukarıdaki uygun java versiyonunu indirin ve java kurulumunu standart şekilde yapın(ayar istemiyor, ileri/next deyip kurulumu tamamlayın).
Kurulum bittikten sonra program arama kısmına (windows 7/8 için başlat menüsü) cmd veya komut istemi yazarak konsola geçin. Konsol ekranına javac yazdığınızda

C:\Users\VMUser>javac
‘javac’ iç ya da dış komut, çalıştırılabilir
program ya da toplu iş dosyası olarak tanınmıyor.

şu şekilde bir hata alıyorsanız konsola kurduğumuz bu yazılımın yolunu tanımlamamız gerekiyor. Bu tanımlama için aşağıdaki adımları uygulayınız.

windows_java_opengl_conf_resim1

Bilgisayarım’a sağ tıkla “Özellikler” menüsünü açın. Resimdeki 1 – 5 arasındaki adımları uygulayınız. Eğer listede Path/PATH değişkeni mevcut değil ise 6 numara ile gösterilmiş Yeni butonu ile bu değişkeni kendiniz oluşturabilirsiniz.
Değişkende bilgi varsa sonuna ; ekleyerek verinin devamına eğer bilgi yoksa doğrudan aşağıdaki kodu içeriğe yazarak kaydedip işlemi tamamlayınız.

C:\Program Files\Java\jdk1.7.0_75\bin

**Java dosyasının versiyonu veya kurulum yapılan dizin değişebilir, bu nedenle kurulum yapılan dizinin tam yerini önceden tespit etmeniz gerekiyor.
Bu dizin java dosyalarını derleme ve çalıştırmada ihtaç duyacağınız bileşenleri içermektedir.

Yaptığınız işlemi test etmek için yeni bir konsol ekranı açmanız gerekmektedir. Çünkü girilen bu ayarlar konsol ekranı açılırken sisteme yüklenir. Bu nedenle açık konsol ekranınız bu ayar değişimlerinden etkilenmez.

Yeni bir konsol ekranı açıp javac komutunu çalıştırdığınızda önünüze kullanabileceğiniz parametreler geliyor ise işlem tamamlanmış demektir. Eğer komut bulunamadı şeklinde bir hata alıyorsanız yukarıdaki işlemleri tekrar etmeniz gerekiyor(path yanlış tanımlanmış veya tanımlanmamış demektir).
Konsol ekranı üzerinden path bilginizi kontrol etmek isterseniz konsol ekranınıza aşağıdaki kodu yazıp değişkenin içeriğine bakabilirsiniz.

echo %PATH%

**Büyük/küçük karaktere duyarlı değildir, istediğiniz şekilde yazabilirsiniz.

İşlemi tamamladıktan sonra kullanacağımız kütüphaneleri tanımlama işlemini gerçekleştireceğiz.

c: altına jarfiles isimli bir dosya oluşturalım(c:\jarfiles). Çalışmalarımda sıkça kullandığım openGL ile veritabanı bağlantı kütüphanelerini bu dizin altına yerleştireceğim.
Bu şekilde çalıştırma anında gerek duyulan kütüphaneler için java bu dizini de taramaya başlayacaktır.

Oluşturduğumuz dizin altına jar dosyalarını atmakla başlayalım.

OpenGL çalışmalarım için JOGL kütüphanesini kullanıyorum. Kütüphanenin indirme adresi(tüm versiyonlar):

http://jogamp.org/deployment/archive/rc/

Burada değinmek istediğim bir ayrıntı var. JOGAMP a ait kütüphanenin son versiyonu 2.3.x tir. Fakat 2.3.x itibari ile JOGL kütüphanesinde ufak bir revizyona gidilmiş

https://jogamp.org/wiki/index.php/SW_Tracking_Report_Objectives_for_the_release_2.3.0

Versiyona ilişkin paylaşılan detayların en son bölümünde şöyle bir ibare geçiyor.

“Relocating remaining javax.media.opengl.* -> com.jogamp.opengl.* to relax probable license issue while bundling JOGL”

Özetle javax.media.opengl.* paket isminin com.jogamp.opengl.* olarak değiştildiği belirtilmiş. Bu nedenle eğer kullandığınız kütüphane 2.3.x ise vermiş olduğum kodları derlerken
javax.media.opengl.* paketinin bulunamadığına dair bir hata mesajı ile karşılaşırsınız(bu ve sonraki versiyonlarda(2.3.x) jogl.jar dosyasında javax klasörü yer almaz)

Bu nedenle kodlarda javax.media.opengl.* -> com.jogamp.opengl.* değişikliğini yapmanız gerekiyor. Ubuntu 14.10 yazılım deposunda yer alan JOGAMP versiyonu(default) 2.1.x tir.

—- örnek kodlarda değişim yapmak istemiyorsanız ——
http://jogamp.org/deployment/archive/rc/v2.2.4/jar
linki içerisinde yer alan
gluegen-rt.jar
jogl-all.jar
gluegen-rt-natives-windows-i586.jar (x64 java için gluegen-rt-natives-windows-amd64.jar)
jogl-all-natives-windows-i586.jar (x64 java için jogl-all-natives-windows-amd64.jar)
dosyalarını indirip c:\jarfiles ismindeki oluşturduğumuz klasörün içerisine atıyoruz.
——————————————————–

—-örnek kodlarda değişim yapıp son versiyonu kullanacağım diyorsanız ——
Son versiyon yazılım deposu linki
https://jogamp.org/deployment/jogamp-current/jar/

linki içerisinde yer alan
gluegen-rt.jar
jogl-all.jar
gluegen-rt-natives-windows-i586.jar (x64 java için gluegen-rt-natives-windows-amd64.jar)
jogl-all-natives-windows-i586.jar (x64 java için jogl-all-natives-windows-amd64.jar)
dosyalarını indirip c:\jarfiles ismindeki oluşturduğumuz klasörün içerisine atıyoruz.
—————————————————————————-

Java Path ayarlarını yaparken uyguladığımız adıma geri dönüyoruz. 1 ile 4 arasındaki adımları sırayla uyguluyoruz.
Java dosyası ihtiyaç duyduğu kütüphaneleri CLASSPATH isimli sistem değişkeni içerisinde arar. Bu tanımını çalışma anında -cp komutu ile kendiniz de girebilirsiniz.

Sistem değişkenleri arasında (Path i düzenlediğimiz bölümde) CLASSPATH değişkeni var ise düzenliyoruz, yok ise yeni 6 numaralı buton ile yeni bir sistem değişkeni ekliyoruz.
CLASSPATH ismindeki bu değişkenin içeriğini aşağıdaki kodları eklemeniz gerekiyor(içerik var ise sonuna ; ekleyip aşağıdaki kodları ilave edebilirsiniz).

c:\jarfiles\*;.

Yeni bir konsol ekranı açarak ayarlarımızı kontrol edelim.

echo %CLASSPATH%

Eğer içerik son eklediğiniz bilgileri de içeriyor ise işlemi doğru yapmışsınız demektir.

taslak.java(https://oflazoglu.org/2015/03/bilgisayar-grafikleri-dersi-opengl-taslagi/) dosyasını derleyip ayarları doğru yapıp yapmadığınızı test edebilirsiniz.

Not: Java-2 dersinde kullanmış olduğumuz sqlite kütüphanesini de jarfiles klasörü içerisine atıp kullanıma açabilirsiniz(https://oflazoglu.org/2015/03/java-22015-6-hafta-swing-uygulamalari/).

Share