LWJGL üzerinde çalışırken bazı rotate işlemlerinde birşeyler ters gittiğini anladım. Mesela en basidinden 4 duvarı döndürürken bir duvar görünmüyordu. Problemin GL_DEPTH_TEST olduğunu sonradan anladım. Örnek kod üzerinde görüleceği gibi GL_DEPTH_TEST ile bir görüntünün arkasında kalan başka bir görüntü çizilmiyor. Dolayısıyla çakışmalar engelleniyor. Örnek kod üzerinde GL_DEPTH_TEST değerini kaldırarak i...

Bu yazı Java ile 3D oyun yapılmaz, yapılsa da yavaş çalışır, hızlı çalışsa bile beğenilmez, beğenilse bile devamı gelmez, devamı gelse bile… gibi bahaneler üretenlere bir yol göstersin. Üzerinde bayadır yoğunlaşılan bu proje jMonkeyEngine olarak adlandırılmış. OpenGL tabanlı bir 3D motoru. JMoneyEngine sitesine göz atacak olursanız ne tür başarılı uygulamalar ortaya çıkabileceği görülmektedir. Paylas&...

2 Yorum Faruk BOZAN Devam

Bu yazıda yine bir rotate örneği üzerinde duracağım; fakar bu örnekte bir kaç nokta önemli olduğu için yeni bir rotate örneği yazmaya ihtiyaç duydum. Örneğimizde kutu olarak da düşünebileceğimiz bir dikdörtgenler prizmasını random bir nokta etrafında rotate edeceğiz. Şimdi kodlara bakalım. package com.farukbozan.grafik;import com.farukbozan.jfr.opengl.JFRPoint3D;public class Coordinates { Paylas    ...

Grafiksel çalışmalarda lwjgl aynı zamanda OpenGL kütüphanesinde bulunan bazı çizim metotları ekrana farklı şekilde çıktılar üretir. Bu yazıda bu modlar ve nasıl bir çıktı ürettikleri üzerinde durmaya çalışacağım. Çizim Modu Çizim Mantığı GL_POINTS Verilen koordinatlara nokta halinde çizimler yapar. GL_LINES Verilen koordinatları ikişer noktalar halinde gruplayıp bunlara doğru çizer. Yalnız bu doğrular birle...

Bu yazımda oluşturduğum kütüphaneyi de kullanarak örnek bi rotate işlemi yapacağım. Ayrıca bu örnekte önemli bir  nokta da ekrana çıktı olarak verilen çemberin merkez noktasının ve yarıçap değerinin isteğe göre kod ile oluşturabilmesidir. Şimdi örnek koda bakalım. package com.farukbozan.grafik;import com.farukbozan.jfr.opengl.JFRGraphic; import com.farukbozan.jfr.opengl.JFRPoint3D; import com.farukbozan.jfr.opengl.JFRU...

Bu yazıda basit bir rotate işleminin temel adımlarını göstermeye çalışacağım. Rotate işlemi görüntünün belli bir nokta etrafında yine belli bir açı ile döndürülmesidir. Lwjgl ile bu işlemi basit ve hızlı bir şekilde yapabilirsiniz. Örnek koda geçmeden önce eğer uygulamayı çalıştırmak isterseniz, üzerinde yeni yeni ilerlemeye başladığım JFR kütüphanesini indirip import etmeniz gerekecektir. Şimdi koda gö...

Lwjgl ile çalışırken eğer görüntünün devamlılığını sağlayan bir döngü kullanmazsanız, verdiğiniz komutlara göre çıktı verilir ve sonra uygulama sonlandırılır. Bu konuda bana yardımcı olan Mert Türkal’ a teşekkür ederim. Şimdi aşağıda verdiğim örnek koda bakalım ve bu kod üzerinden birkaç noktaya dikkatinizi çekmek istiyorum. package com.farukbozan.grafik;import org.lwjgl.Sys; import org.lwjgl.opengl....

LWJGL ile çalışırken java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path hatasını alırsanız tek yapmanız gereken siteden indirdiğiniz dosyalar içerisinde bulunan dll dosyalarını jdk kurulum klasöründeki bin klasörü içerisine kopyalamanız. Daha sonra 3D ortamına dalabilirsiniz :D. Paylas    ...

1 Yorum Faruk BOZAN Devam

3D uygulamalar üzerinde çalışırken mevcut ekran modlarını elde etmeniz gerekirse çok basit birkaç satır kod ile işinizi halledebilirsiniz. DisplayMode[] ekranModlari = Display.getAvailableDisplayModes(); Paylas    ...

Arta kalan vakitlerimde ilgilenmeye çalıştığım 3D uygulamalarla ilgili tekrar bir başlangıç girişiminde bulunmak istedim 😀 ve araştırmalarım sonucunda sanırım gayet memnun kalacağım bir kütüphane buldum. Umarım düşündüğüm gibi olur. Buradan kütüphaneye ulaşabilirsiniz. Paylas    ...

3 Yorum Faruk BOZAN Devam
Hikari Spring RestTemplate Timeout
Java , Spring Framework / 29 Kasım 2019

Merhaba değerli Java dostları, Yakın zamanda karşılaştığım bir problemi paylaşmak istiyorum. RestTemplate ile yapılan requestlere response dönmemesi ve bir müddet sonra da Hikari üzerindeki poolda artık kullanılabilecek connection kalmaması problemi yaşadım. Bunun üzerine kullanılan resttemplate için timeout kullanılmadığını ve infinite beklemeye girdiğini gördüm. Tetikleyen metot da @Transactional olarak i...

VerifyError
Core , Java / 04 Kasım 2019

Uzun bir aradan sonra merhaba değerli Java dostları, Yine kısa bir yazı ile karşınızda olacağım. Bu yazıda Java’ da nadir de olsa karşılaşabileceğimiz VerifyError hatası ile ilgileneceğiz. Malumunuz Java’ nın gerek derleme gerekse de koşma sırasında çok sıkı güvenlik önlemleri bulunuyor. VerifyError, runtime sırasında verilen bir hata ve temel iki nedeni var. Class dosyalarını oluşturduğunuz Ja...

Sonar Community Edition Kurulum
Java , Static Kod Analizi / 23 Temmuz 2019

Merhaba değerli Java dostları, Bu yazımda static kod analizi konusunda çok sık adını duyduğumuz Sonar’ ın community edition versiyonunun bir makineye nasıl kurulduğunu anlatmaya çalışacağım. Adımlarımız şu şekilde: https://www.sonarqube.org/downloads/ adresinden sonar server, https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/ adresinden sonar scanner indirilir. sonar server zip dosyasından çık...

OpenJDK Project Valhalla
Java , OpenJDK / 18 Mart 2019

Merhaba değerli Java dostaları, Bu ve bundan sonraki birkaç yazımda OpenJDK ile beraber tanııtılan ve ilerleyen JDK sürümlerinde canlıya alınacak olan özelliklere ve projelere fazla detaya girmeden fikir edinecek kadar değinmek istiyorum. İlk projemiz Valhalla. Valhalla projesi 2014 tarihinden itibaren geliştirilen ve JDK 10+ sürümleri için planlanan bir özellik. Malumunuz Java’ da genel anlamıyla iki tip vard...

Linux MySQL Native Password
MySQL / 16 Şubat 2019

Linux üzerinde MySQL server için giriş için sudo kullanmak zorunda kalıyorsanız ve Workbenche giriş yapamıyorsanız aşağıdaki komutu çalıştırıp yeni şifreniz ile giriş yapabilirsiniz. Paylas    ...

MySQL Query Log
MySQL / 29 Mayıs 2018

SET global general_log = 1; SET global log_output = ‘table’; select CONVERT(argument USING utf8) from mysql.general_log order by event_time desc; Paylas    ...

Upgrade Linux Mint 18.2 to 18.3
Linux / 20 Şubat 2018

Merhabalar sevgili Java dostları, Bu yazımda kısaca Linux Mint versiyonunu 18.2 den 18.3 e nasıl çıkartacağımızı anlatmak istiyorum. Kısaca dedim çünkü gerçekten hem işlem adımı olarak hem de süre olarak çok kısa sürüyor. Öncelikle ekran koruyucu ve otomatik ekran kilitleme olmadığından emin olmamız lazım. Bunun yanı sıra bilgisayarımızın güçte olması ve en güncel olması da önemli konulardan bazı...

Java SecureRandom Linux
Java , Linux / 25 Aralık 2017

Merhaba değerli Java dostları, Bu kısa yazımda SecureRandom sınıfının Linux üzerinde çalışırken olası bir yavaşlama problemi ve çözümünü anlatmak istiyorum. SecureRandım sınıfı işletim sistemine göre değişen bir sınıf ve algoritma kullanmaktadır. Linux üzerinde algoritmayı işletmek için /dev/random dosyasına bakmaktadır. Fakat eğer bu dosyada yeteri kadar bilgi yoksa sistem lock atıp, dolana kadar ...

Java WebSocket Text Buffer
Java , WebSocket / 11 Aralık 2017

Merhabalar değerli Java dostları, Bu kısa yazımda bir ipucu vermek istiyorum. Java ve websocket kullanıyorsanız ve text mesaj gönderip alıyorsanız bunun bir büyüklük kısıtlaması oluyor. Örneğin default değerin 4 KB olduğunu varsayarsak, 4 KB’ den büyük verilerde hata alma, bağlantı kopması gibi problemler olabilir. Bundan dolayı buffer size arttırmak gerekiyor. Bunun için de web.xml dosyasına aşağıda...

Vaadin Eclipse CVAL
Java , Vaadin / 30 Kasım 2017

Merhabalar değerli Java dostları, bu kısa yazımda vaadin CVAL işleminin eclipse üzerinde nasıl yapıldığını anlatmak istiyorum. Öncelikle elimizde CVAL olduğunu kabul ediyorum. Daha sonra eclipse üzerinden window > preferences > java > installed jres menüsünden aktif olan jre veya jdk yı seçip edit diyoruz. Burada default VM arguments kısmına aşağıdaki ifadeyi giriyoruz. -Dvaadin.board.developer.license=y...