Sol

Uzun bir aradan sonra uzay projeme döndüm ve güneş sistemi özelliğini getirdim. Şimdilik çok tırt, farklı boyda gezegenler çizmeyi desteklemediğim için böyle tırt duruyor. Güneşin boyunu gezegenlere göre daha büyük yaparsam kim kimin etrafında dönüyor daha iyi anlaşılacaktır. Ayrıca gezegenlere orbit te eklemek istiyorum. O zaman hepten güzel olacaktır. Bir sonraki adım da uzayda ilerledikçe random güneş sistemleri üretmek olacak.

Ayrıca bütün gezegenlere hafif birer renk verdim. Çok belli olmuyor ama normalde de böyle herhalde 🙂 Gerçeğini yapıyor olsam daha renkli yapardım.

p2

Ayrıca quote’nin sahibinin sitesinden bir parça, ilginç bir insan.

Game of Life (WebGL)

WebGL üzerinde geliştirdiğim bir game of life implementasyonu (hemen hemen kullandığım bütün platformlarda/dillerde geliştirdim sanırım :))

Güzel yanı tamamen opengl olması, çizimlerin yanında hesaplamalar da shader’lar ile yapılmakta.

Aslında tahtanın boyu 2048*2048 boyunda, canvas’ın boyu ise 300×300. Sağ tuş işe zoom out yapabilirsiniz. Wrap yaptığı için pek farkedilemeyecektir sınırlar, sanki sonsuza gidiyor gibi ama değil 🙂

İleride önceden tanımlanmış initial state ler falan koyacağım, bir de belki daha smooth geçiş verebilirim pixellere. Ayrıca ana sayfada birden fazla webgl olunca performans sıkıntıları başladı, belki aynı anda sadece bir tane oynatacak şekilde çalışmaları sağlanabilir.

edit: hayalimdeki haline geldi gibi, ayrıca tam ekranda çıkacak şekilde bir sayfa yaptım, buradan ulaşabilirsiniz.

WebGL

Bir süredir WebGL ile ilgileniyorum. WebGL & Html5 canvaslarını kullanarak bir çalışmam var. Şu adresten ulaşabilirsiniz.

webgl
http://enginmercan.com/webgl

Aslında çok eskiden yaptığım bir flash çalışmasının WebGL ile tekrar yapılmış hali. 3D bir uzay ortamı yaratıyorum ve blog contentini bu ortamda paylaşmayı amaçlıyorum.

Grafikler genel olarak WebGL ile yapıldı, ama GUI gibi şeyleri WebGL in önünde bulunan bir canvas ile çiziyorum. Mesela mor scroll bar canvas üzerinde, ünlemlerdir video gezegenlerinin play tuşudur vs hep yine canvas ile çizilmekte. Buradaki amacım webgl in bu şekilde high level çizimler için yetersiz bulmam.

Ayrıca web content i göstermek istediğim zaman da webgl in altında kalan bir div i kullanıyorum. Mesela boş beyaz gezegenlere tıklayınca linux fortune dosyalarında bir quote gösteriyor, bu quote aslında 3d grafiklerin altında kalan bir div içine konuluyor ve beyaz gezegenin ortasını oyarak altını göstermiş oluyorum 😀 Ayrıca video gezegenlerinde de video lar bu şekilde oynatılıyor.

Bir kaç ufak eklentiden sonra blog contentini oraya taşımaya başlayacağım. Kullanışlı olmayacak ama güzel olacak diye umuyorum 😀

BF Üzerinde GUI geliştirme!

Brainfuck için yazdığım bir eklentiyi kendi js compiler’ıma taşıdım. Bazı özel memoryleri system call gibi kullanarak grafiksel bir şeyler yapabiliyorsunuz. Örneğin hello world.

@gui@
>++++++>>+>->->>>>>>+>+++>+++++++>>>++>>++++>>>+>>>>++>++>++>>>>+>>>>++>++>>++++>>>+>++>>>>++>++>>>>+>>>>++++>++>>>++>>++>>++++>>>+>>>>++>++>+>>>>+>+++>>>>+>>>>++>++>>++++>>>++>++>>>>+>++>>>>++>++>>>>+>>>++>>++>>>>++++>+>++++>>>>++>++>>>>++>>++++>>>++>>>++>>++>>>>++++>+>>++++++>++++++++++++++++>>++>>++++>>>++>+>>>>++>>>>++>++>>++>>>++>+>>>>++>>>>++++>+>++>>>>++>++>>>>++>>++++>>>++>>>++>>++>>>>++++>+>++++>>>>++>>++++>>>+>>>>++++>++>++>>>>++>>++>>>++>>>++>>+>+>>>>++>>+>>>++>+>>>>++>>+>>>+>++++>>>>++>>>++>>++>>>>++++>+>++>>>>+>++>>>>++>++>>>>++>>++++>>>++>>>++>>++>>>>++++>++>>>>><<<<<[<<<<<]>>>>>[[-<+>]<<<<<[<<<<<]<<<<<<[-]>>>>>>>>>>>[>>>>>]<-[[-]><<<<<[<<<<<]<<<<<<[-]+>>>>>>>>>>>[>>>>>]<]>>[-<<<<<<[<<<<<]<<<<<++++++++++>>>>>>>>>>[>>>>>]>]>[-<<<<<<<[<<<<<]<<<<++++++++++>>>>>>>>>[>>>>>]>>]>[-<<<<<<<<[<<<<<]<<<<<---------->>>>>>>>>>[>>>>>]>>>]>[-<<<<<<<<<[<<<<<]<<<<---------->>>>>>>>>[>>>>>]>>>>]<<<<+>>>>>].