Kısaca
- SDK, V-Ray sahnelerini oluşturmak veya .vrscene dosyasından yüklemek için kullanılabiliyor.
- Render, start() çağrısıyla ayrı bir iş parçacığında arka planda başlatılıyor.
- Interactive modu önizleme ve ayar denemelerine; Production modu son görüntüyü almaya yönelik.
- Belgelerde SDK’nın uygulandığı belirli bir yazılım sürümü belirtilmiyor.
V-Ray Application SDK (App SDK), üçüncü taraf uygulamalara V-Ray motorunu başlatıp kontrol etme olanağı veriyor. Chaos’ın App SDK belgeleri; bir sahnenin bellekte V-Ray eklentilerine çevrilmesini veya .vrscene dosyasından yüklenmesini, render’ın başlatılmasını ve sonucun görüntü olarak alınmasını anlatıyor. Bu rehber, mimarlık ve görselleştirme araçlarına render entegrasyonu geliştiren ekipler için SDK’nın temel akışını ele alıyor. Belgelerde belirli bir V-Ray ya da App SDK sürümü belirtilmediğinden adımlar, dokümante edilen App SDK arayüzü için geçerlidir.
1. SDK’yı çalışma ortamına hazırlayın
App SDK’nın temel bileşeni VRayRenderer sınıfı. Bu sınıf sahne yükleme, render başlatma ve görüntüye erişme gibi işlemleri bir araya getiriyor. Başlamadan önce kütüphane dosyalarının bulunacağı konumun uygulama tarafından görülebilmesi gerekiyor.
SDK’nın bulunduğu konumu göstermek için
VRAY_SDKortam değişkenini ayarlayın. Python bağlamasını kullanacaksanız SDK içindekipythonklasörünün Python modül arama yollarında olması gerekiyor; belgeler, bu amaçlaPYTHONPATHkullanımını örnek veriyor.
Belgelerde Windows için setenv.bat, Linux ve macOS için source setenv.sh komut dosyaları gösteriliyor. Bu komut dosyaları iki ortam değişkenini de ayarlıyor.
VRAY_SDK tanımlandığında bağlama, VRAY_SDK/bin içindeki VRaySDKLibrary ikilisini ve bağımlılıklarını arıyor. Ürünün klasör yapısında /bin yoksa VRAY_APPSDK_BIN değişkeni kullanılabiliyor; bu durumda ikililer belirtilen klasörde aranıyor.
Ortam değişkenlerinin kullanılamadığı bir kurulumda kütüphane arama yolu çalışma anında ayarlanabiliyor. Belgeler Python için vray.setSDKLibraryPath(bin_folder), C++ için VRayInit yapıcısını örnekliyor.
Bu hazırlık özellikle başka bir yazılımın içine gömülen veya bağımsız çalışan bir entegrasyonda önem taşıyor: SDK bağlaması, render başlamadan önce V-Ray kütüphanelerini ve gerekli bağımlılıkları bulabilmeli. Kullanılan dilin kendi bağlama belgeleri, ilgili başlatma yönteminin ayrıntıları için ayrıca incelenmeli.
2. Sahneyi yükleyip render alın
Temel iş akışı; VRayRenderer oluşturmak, bir sahne hazırlamak veya dosyadan yüklemek, render’ı başlatmak, görüntüyü almak ve kaynakları kapatmaktan oluşuyor. Sahne, V-Ray eklentilerinin parametreleri ayarlanarak bellekte kurulabilir ya da .vrscene dosyasından okunabilir. Örnekte Python ile dosya yükleme ve PNG çıktısı alma gösteriliyor:
import vray
with vray.VRayRenderer() as renderer:
renderer.load('./intro.vrscene')
renderer.start()
renderer.waitForRenderEnd(6000)
image = renderer.getImage()
image.save('intro.png')start() eşzamansız çalışıyor: V-Ray motoru ayrı bir iş parçacığında render’a devam ederken ana uygulamanın akışı bütünüyle render’a bağlanmıyor. getImage() yalnızca işlem tamamlandığında değil, render sürerken de o andaki görüntü verisini alabiliyor. Böylece uygulama, ara görüntüyü gösterebilir veya desteklenen sıkıştırma biçimlerinden biriyle dosyaya kaydedebilir. Render tamamlanmasını beklemek için belgelerde waitForRenderEnd() kullanılıyor; örneklerdeki parametrenin birimi kaynakta açıklanmıyor, bu nedenle burada bir zaman birimi varsayılmamalı.
Uygulama işini bitirdiğinde renderer kapatılmalı ve ayrılan bellek kaynakları serbest bırakılmalı. Python’daki bağlam yöneticisi örneği renderer yaşam döngüsünü yönetiyor; diğer dil bağlamalarında kapatma adımının ilgili API’deki karşılığı kullanılmalı.
3. Önizleme ve son render için modu seçin
App SDK, iki temel render modu sunuyor. Interactive, görüntüyü hızlıca önizlemek ve içerik ya da sahne ayarları üzerinde deneme yaparken ilerlemeyi görmek için tasarlanmış. Production ise sahne dikkatlice yapılandırıldıktan sonra hedeflenen son görüntüyü almak için kullanılıyor; bütün görüntünün hazır olması daha uzun sürebiliyor.
| Ayar | Önerilen değer | Etkisi |
|---|---|---|
| Render modu | Önizleme ve deneme için Interactive | Görüntü kalitesi aşamalı olarak iyileşirken hızlı geri bildirim sağlar. |
| Render modu | Son görüntü için Production | Yapılandırılmış sahneden nihai görüntü elde etmeye yöneliktir. |
| Render türü | CPU veya GPU | CPU seçeneği işlemci kaynaklarını, GPU seçeneği grafik kartı hesaplama gücünü kullanır. |
Belgelerde VRayRenderer sınıfının varsayılanı Interactive (CPU) olarak açıklanıyor. GPU tarafında CUDA ve OptiX, NVIDIA; Metal ve MetalRT ise Apple için listelenmiş. Bu seçenekler, her bilgisayarda her render türünün kullanılabileceği anlamına gelmiyor: iş istasyonunun ve SDK kurulumunun seçilen yolu destekleyip desteklemediği kontrol edilmeli.
Mod, VRayRenderer nesnesinin renderMode özelliği üzerinden belirlenebiliyor. Dokümantasyona göre render’lar arasında mod değiştirmek için sahneyi yeniden oluşturmak veya yüklemek gerekmiyor. Bu, tasarım sırasında Interactive ile çalışıp son aşamada Production’a geçişi aynı entegrasyon akışında mümkün kılıyor.
4. Durum ve hata takibini entegrasyona katın
Render arka planda çalışırken SDK olaylar yayımlıyor. Durum değişikliği olayı; render’ın başlaması, tamamlanması veya hata nedeniyle durması gibi geçişleri uygulamaya bildirmek için kullanılabiliyor. Son görüntünün hazır olduğu durum IDLE_DONE; işlem sürerken ara görüntüler de alınabiliyor.
Log mesajı olayında metin ile seviye bilgisi sağlanıyor. Belgelerde seviyeler info, warning, error ve debug olarak sıralanıyor. Uygulama bu mesajları kendi tanılama akışına aktararak sahne yükleme ve render aşamalarındaki sorunları görünür kılabilir.
Olay geri çağrıları render iş parçacığından ayrı bir iş parçacığında yürütülüyor. Bu tasarım, yavaş bir geri çağrının render süresini etkilemesini önlemeyi amaçlıyor; ancak yavaş kullanıcı geri çağrıları diğer geri çağrıların çalışmasını geciktirebilir. Ayrıca eşzamansız start() sonrasında renderer PREPARING durumundan çıkana kadar sahne veya renderer üzerinde değişiklik yapılmamalı; belgeler bu sıradaki değişikliklerin reddedileceğini belirtiyor.
Mimarlık ve archviz iş akışında ne değişir?
App SDK, bir modelleme arayüzündeki belirli bir menü ayarından ziyade V-Ray’i başka bir uygulamanın iş akışına bağlamak için anlamlı. Örneğin bir ekip kendi sahne hazırlama aracında .vrscene yükleme, render başlatma, ilerleme görüntüsünü alma ve sonucu kaydetme adımlarını bir araya getirebilir. Burada fayda, render motorunun uygulama içinden kontrol edilebilmesi ve önizleme ile son render’ın aynı renderer üzerinden yürütülebilmesidir.
Ofislerin önce kullandıkları dil bağlamasını, V-Ray kütüphanelerinin konumunu ve hedef makinedeki CPU/GPU seçeneğini doğrulaması gerekir. Kaynaklar lisans koşulları, fiyat, belirli bir host yazılımıyla uyumluluk veya donanım gereksinimi açıklamıyor; bunlar hakkında varsayım yapılmamalı. Sahne durumunu ve logları izlemek, kullanıcıya yalnızca render düğmesi sunmaktan daha sağlam bir entegrasyon kurmaya yardımcı olur.
Sık yapılan hatalar
VRAY_SDKveya Python kullanılıyorsa modül yolu ayarlanmadan SDK bağlamasını başlatmak. Kütüphane ya da Python modülü bulunamazsa önce ortam değişkenlerini ve klasör yollarını kontrol edin.start()çağrısını eşzamanlı bir işlem gibi ele alıp render’ın hemen tamamlandığını varsaymak. Çağrı arka planda çalışır; uygulamanın tamamlanma durumunu izlemesi gerekir.PREPARINGaşamasında sahne veya renderer üzerinde değişiklik yapmak. Durum değişikliği olayını kullanarak düzenlemeleri güvenli aşamaya erteleyin.Callback içinde uzun süren işlemler yürütmek. Belgeler bunun başka callback’leri geciktirebileceğini belirtiyor; ağır işleri olay işleyicisinden ayrı ele alın.
Sık sorulan sorular
V-Ray App SDK ne için kullanılır?
Üçüncü taraf uygulamalardan V-Ray render sürecini başlatmak ve kontrol etmek için kullanılır. Sahne bellekte oluşturulabilir veya `.vrscene` dosyasından yüklenebilir.
V-Ray App SDK’da Interactive ve Production modları arasındaki fark nedir?
Interactive hızlı önizleme ve sahne ayarlarını denerken geri bildirim almak için; Production ise yapılandırılmış sahneden son görüntüyü almak için tasarlanmıştır.
V-Ray App SDK’nın varsayılan render modu nedir?
Belgelerde VRayRenderer sınıfının varsayılan modu Interactive (CPU) olarak belirtiliyor.
Kaynaklar
1 kaynakKaynak metinler yeniden yayımlanmaz; kısa alıntılar tırnak içinde verilir, geri kalanı özgün özet ve yorumdur.
Türkiye’deki mimarlık ve görselleştirme ofisleri için App SDK’nın asıl değeri, tekrarlanan render adımlarını kendi araçlarına bağlayabilme potansiyeli. Özellikle önizleme ve son görüntü alma akışını ayırmak, ekip içi süreçleri daha kontrollü kurgulamaya yardımcı olabilir.
Bununla birlikte, SDK doğrudan bir render hızlandırma garantisi sunmuyor. Entegrasyon geliştirmeden önce lisans ve maliyet koşulları, kullanılan yazılımla uyumluluk ve hedef makinedeki CPU/GPU seçenekleri ayrıca doğrulanmalı. Ortam değişkeni hataları, eşzamansız işlem mantığının gözden kaçması ve callback’lerde uzun işler yürütülmesi de dikkat edilmesi gereken noktalar.




Yorumlar 0