Bilgisayar Donanım : ışın izleme hakkında-2
merhaba arkadaşlar;
ışın izleme hakkında bir az daha ayrıntılı bilgiye ihtiyacım var. Yeni bir hesapmala yöntemi geliştiriyorum. Ancak bunu rastgele bir şekilde değilde renderleme de hangi hesap yöntemleri kullanılıyorsa ona göre geliştirmek istiyorum. Şu an iti barıyla sadece 4 işlem yapabiliyorum. Işın izleme yöntemini kullanarak mesela bir pixel deki renkleri ve aynı renklerin bir sonraki karde olan değişimleri için hangi hesaplama yöntemleri kullanılmaktadır. Mesela dört işlemin + - değerlerle yapılabilmesi sanırım sinüs açılarının hesabı yeterli gibi. Eğer açı hesapları kullanılacaksa sadece derece yeterli midir. Yoksa dakika veya saniyelere inmek gerekir mi? Render konusunda çalışmış bir arkadaş vardı yıllar önce. İsmini hatırlamıyorum şimdi. BU konuda çalışan başkaları varsa bana yardımcı olabilir mi? Veya yurt dışında kiminle iletişim kursam bana yardımcı olur. İlk olarak istediğim hangi işlemlerin kullanıldığı. O işlemlerin geliştirdiğimde nasıl kullanıldığını öğrenmem lazım.
- Offline
- Erkek
Abim, kardeşim Öncelikle merhabalar. Heyecanlandığımdan ötürü bu başlığı kullandım. Geleceğimi bilgisayar grafikleri üzerine hem yazılımsal hem sanatsal inşa etmeye çalışan bir bilgisayar mühendisi adayıyım. Öncelikle hangi yazılıma hangi yazılımla render motoru gelişriceğini berirlemen gerek sonra da kullanacağın geliştirme ortamı ve kütüphaneleri belirlemen gerekiyor.
Örneğin; "https://graphics.pixar.com/library/" bu sitede pixarın tüm render motorlarının ve yazılımlarını bulabileceğine emin olabilirsin yada kendi kullandıkları render motoru rendermanın https://renderman.pixar.com/pixar-one-twenty-eight sitesinde birazcık araştırma yapmalısın. Bildiğim kadarıyla tanjant boşluklarını felan da hesaplaman gerekiyor. Gerekli bilgi pixar dökümantasyonunda var idi.
Hesaplama ne kadar ince ayrıntılı olacaksa o kadar optimize edilmesi ve incelenmesi gerekiyor yani açı saniye de inmen gerekebilir. Daha önce javada kendi yaptığım obj dosyalarının yazdığım ilkel görüntüleyicide nasıl göründüğünü görmek için ufak çaplı bir tanesini yaptım. (Amacım modellemede yeni olduğum için basit bir programda bile hatasız çalışan modelin işime yarar olduğuna inandığımdan ötürü.) Örneğin bir yazılıma entegre bir render plugini yapacaksan o uygulamanın kütüphanelerini ve tabanını iyi bilmen gerekir bunun için dökümantasyonuna bakabilirsin. Eğer keyshot gibi bir tane yapıp içeriye input olarak vereceksen o zamanda dosya yapılarını ve RayTracing kernellerini iyi bilmen gerekir . Ray Tracing kernelleri içinde intel Embree (V-Ray bunu kullanıyor.) ve nvidianın da bir tane var adını hatırlamadım incelemeni öneririm. Yakında Görüşürüz dilim döndüğünce anlatabilmişimdir umarım. Başarılar Dilerim .Unutmadan bir iki link daha atayım.
https://www.alembic.io (alembic verisi için)
https://wiki.fileformat.com/3d/fbx/ (fbx dosyaları için )
https://www.embree.org (intelin tüm kodları githubda olan raytracing kerneli)
https://raytracing-docs.nvidia.com (nvidianin optix ray tracing kerneli )
Saygılarımla. Ulaşmak istersen özelden mesaj atabilirsin
- Offline
- Erkek
3d camiasında "normal" isminde bir terim var. Normal Bir yuzeyin yada vertexin baktığı yönü, xyz değerlerine çevirerek tanımlar. Örneğin nesnemiz bir yüzey olsun. Bu yüzeyin, X eksenine 0, Y eksenine 0, Z eksenine 90 derecelik bir açıyla baktığını varsayalım. Bu durumda yuzeyin "normal" değeri [0,0,1] şeklinde tanımlanır. Bir yüzeyin "normal" değerini kullanarak o yüzeye çarpan ışının nereye yöneleceği hesaplayabiliriz.
Işın çarpmalarıyla ilgili çok kullanışlı bir 3ds max scripti var. Bu script seçtiğiniz özel bir kaynaktan ışın gönderiyor. Işının çarptığı yüzeylerin koordinatlarını alarak line oluşturuyor. Böylelikle ışınlar gözle görülebilir oluyor. Scriptin kodlarını indirip inceleyerek hesaplamanın nasıl yapıldığını öğrenebilirsiniz ancak temel maxscript bilgisine ihtiyacınız olacaktır.Bende ışınlarla ilgili bir araştırma yaparken bu scripti incelemiştim çok faydası oldu. Yaklaşık 12 saat civarı inceledikten sonra scriptin nasıl çalıştığını anlamıştım.
önemli not: Ben bu işlerle uğraşmıyorum. Belki yararı olur diye yazdım. Bu işler yapılırken izlenen yöntemi kaba hatlarıyla biliyorum ancak arkaplanda dönen hesaplamaları yapacak kadar bilgi sahibi değilim. Tahmin yürütmek gerekirse, bence Trigonometri bilgisi yeterli olabilir. Cosinüs, Sinüs falan. Ama bunları bana hiç sorma :D bende internetten yeni öğrendim. Mühendis arkadaşlar daha iyi bilir bu işleri. Saygılarımla..
Ray Tracer Scripti
http://www.scriptspot.com/3ds-max/scripts/raytracer
Bu sayfa maxscript kullanarak üçgenin iç açısının nasıl bulunduğunu gösteriyor.
http://docs.autodesk.com/3DSMAX/15/ENU/MAXScript-Help/index.html?url=files/GUID-8FB870E5-823A-42FE-9A8C-70D25FF3B92C.htm,topicNumber=d30e89302
Bu sayfa maxscript kullanarak bir yüzeyin "normal" değeri üzerinden açı bulmayı gösteriyor.
https://help.autodesk.com/cloudhelp/2015/ENU/MAXScript-Help/files/GUID-1193B0E7-10DF-4D3F-A89F-29FF0A291646.htm
- Offline
- Erkek