22.06.2008

OpenFrameworks ile Yüksek Performanslı İşlemsel Sanat ve Tasarım

OpenFrameworks yüksek performanslı grafik ve video programlamak için geliştirilen bir düzine C++ kütüphanesi. Sizi düşük seviye karmaşık fonksiyonlarla uğraştırmadan, tasarladığınız kompozisyona odaklanmanızı sağlıyor. OpenFrameworks sitesinde yeni başlayanlar için film endüstrisinden şöyle bir analoji yapılıyor:

Kendi filminizi tasarladınız ve bir film yapımcısı şirketle çalışmaya karar verdiniz. Yapımcı şirket çekim mekanlarını, kameramanları, ışıkçıları, sesçileri, ve tüm altyapıyı hazırlıyor. Herkesin aynı anda aynı zamanda çekim alanında bulunmasını ve işini yapmasını sağlıyor. Size kalan filmi çekmek. OpenFrameworks geliştireceğiniz programlar için bir film şirketi. Lojistik ayrıntıları ve idareyi hallediyor, siz de yaratıcı vizyonunuza odaklanıyorsunuz.

OpenFrameworks ile yapılan işlerden örnekler ve kullanan sanatçılarla kısa söyleşiler:


made with openFrameworks from openFrameworks on Vimeo.

Processing kullananlar bilirler, böyle yalınlaştırılmış iskeletler işlemsel ürünler yaratan tasarımcılar ve sanatçılar için büyük kolaylık sağlıyor. Processing Java programlama dili üzerine geliştirildi. Yalınlığıyla bizi karmaşık işlerle uğraşmaktan kurtarıp esas işimize odaklamıştır. OpenFrameworks arayüzünde, yani kullanılacak metodların ve değişkenlerin isimlendirilmesinde, Processing’den etkilenmiş. Processing geliştiricileri ve bütün bu programlamayı yaratıcı insanlara yakınlaştıran iskeletlerin anası sayılan Design By Numbers bu tür programlama arayüzlerinin temelini atmıştır.

C++ üzerine geliştiriliyor olduğundan OpenFrameworks öncekilerden farklı olarak yüksek performanslı işlere imkan sağlıyor. İsmi üzerine açık kaynaklı bir proje OpenFrameworks. Zach Lieberman ve Theo Watson tarafından başlatıldı ve dünyanın farklı yerlerinden kişilerin katkılarıyla büyüyor. Eyebeam, Parsons School of Design, MediaLabMadrid, ve Hangar Center for the Arts projeye destek veriyor.

OpenFrameworks kullanmaya nasıl başlarım?

Önce son sürümünü burdan indir. Mac, Windows, ve Linux üzerinde çalışıyor. İndireceğiniz paket tüm kaynak kodu ve örnekleri içeriyor. OpenFrameworks kullanabilmek için tavsiye edilen programlama ortamı (SDK) her işletim sisteminde farklı. Mac için Xcode, Windows ve Linux için Code::Blocks kullanabilirsiniz. Her bir SDKyı kurmak ve üzerinde OpenFrameworks kullanmak için adım adım takip edebileceğiniz yardımlar var, bunları takip ederek ilk OpenFrameworks programınızı çalıştırabilirsiniz:

Mac için adım adım Xcode kurmak ve OpenFrameworks kullanmak
Xcode, http://www.openframeworks.cc/setup/xcode

Windows için 3 SDK seçeneği ve OpenFrameworks kullanımı
Dev-C++, http://www.openframeworks.cc/setup/devcpp
VC++ 2005, http://www.openframeworks.cc/setup/visual_studio
Code::Blocks, http://www.openframeworks.cc/setup/codeblocks_setup_guide

Linux için Code::Blocks
Makefile yardım, http://www.openframeworks.cc/setup/linux-makefile
Code::Blocks, http://openframeworks.cc/setup/linux-codeblocks

Processing’den openFrameworks’e nasıl geçilir?

Eğer bir süredir Processing kullanıyorsanız ve daha önce Class –nense tabanlı programlama– kullandıysanız, openFrameworks ile rahat rahat çalışabilirsiniz. Biri Java biri C++. Sözdizim (“syntax”) birbirine çok yakın. API Processing’den alınmış. Yani rect() mesela ekrana diktörtgen çiziyor, setup() ile program giriş yapıyor draw() ile döngüye giriyor. Bazı farklılıklar var mesela programın derlenmesi Java’da ve C’de farklı işliyor. C’de gelişmiş hafıza kontrolu için “pointer” kavramı var. openFrameworks denemeyi düşünüyorsanız öncelikle “OF for Processing Users” wiki‘sini okumanızı tavsiye ederim.

Nerede yüksek performans gerekir?

Yüksek performans en çok resim ve video işlemede lazım oluyor. Mesela kameranın önünde el sallayarak kontrol edeceğiniz bir yazılım için openFrameworks kurduğunuz sistemin hızlı ve dolayısıyla akıcı çalışmasını sağlar. Kamera ile fiziksel etkileşim işleri en çok performanslarda kullanılır. Kamera vücudunuzu veya her ne kullanıyorsanız onu takip eder, hareketten yakalanan bilgiler geliştirdiğiniz yazılma girer, ve yazılımın kontrol ettiği dinamik görsel projektörden ortama yansıtılır. Bu tür etkileşimli performans senaryolarında openFrameworks ironik bir şekilde performansınızı yükseltecektir…

Vücut etkileşimi ve video işleme konusuna ne gibi teknikler var, nasıl kullanılır öğrenmek isterseniz Golan Levin’in yazdığı “Computer Vision for Artists and Designers” PDF kitapçığına bakmanızı tavsiye ederim.

İlgili bağlantılar:

Etiketler

, , , , , , , , , , , ,

2 Yorum

  1. onur uyar

    bu sabah vimeo’da ki inbox’ımda openFrameworks ile yapılan işlere gözüm takılmıştı ama c++’ı görünce ve gündelik hayatın gidişatından da dolayı hemen uzaklaşmıştım oradan, ama şimdi senin postundan sonra tekrar bir göz atma kararı verdim, teşekkürler burak.

  2. arikan

    c++ evet ismi korkutucu :) Programlama hiç bilmeyenler için tavsiye etmem. Ama bu işlere bulaşmışlar için iyi bir ortam bence.

Yorum Yaz