Genel Konular : render temel mantığı

render temel mantığı
firketeyılmaz bağıran

merhaba arkadaşlar;

Öncelikle programcılık bilmediğimi yazmam lazım. Çünkü buna göre verilecek cevplardan anlam çıkaramam.

Belki burada bana yardımcı olacak birini bulabilirim. Konu her ne kadar programcılıkla ilgili görünse de aslında yazılımın temel mantığı ile ilgilidir. Herhangi bir render motorunda kullanılan bazı değerlere ulaşmam gerekiyor.

- tahmin ettiğim kadarıyla en ağır render oyunlarda oluyor. Daha sonra mesela vray gibi motorlarda. Soracağım soru daha temel mantık düzeyinde. Mesela render işlemi yapılırken bütün işlemler sayılara göre yapılır. Yani mesela ışın izleme mantığında göre düşünecek olursa ışın ilk çıktığında herhangi bir değer sahip değildir. İlk çarptığı nesneye göre renk -rengin doygunluğu diğer yansımalar vb. gibi bütün parametrelerde değişerek en sonunda hangi çözünürlükte seçilmişse ona göre pixelde renk üretiyor.

- En ağır render sahnesine göre en çok kaç haneli sayı kullanılır. Eğer doğru tahmin ediyorsam, 4 haneyi aşmaması lazım. Çünkü sonuçta her renk sadece 0-255 arasıdır. Ki 4 hane bile olsa son hane atılır demektir.

- Buna bağlı olarak ışının ilk çıktığında renk değeri olmadığında hareketle, en son ekranda oluşacak renge kadar geçen bütün aşamalarda max. kaç tane işlemden geçer.

- Yani kaç tane parametre kullanması lazım. BU parametreler 4 işlem yanında tahminen sadece trigonometrik değerlerdir. Ki en fazla 4 hane dediğim olayda zaten burada kullanılır diye düşünüyorum.

- Ve son soruma cevap verebilecek kadar konuya hakim birisi varsa, baştan tebrik etmek istiyorum. Çünkü Türkiye'de böyle birinin bulunması kesinlikle bir gurur vesilesidir. Sorum şu: En ağır sahnede bir pixelin oluşması için bilgisayar kaç işlem yapar? Bu sahne oyun da olabilir veya vray gibi bir render motorunda da olabilir.

İlgilenecek arkadaşlara şimdiden teşekkür ederim.

Saygılar


Söylediklerinize dikkat edin; düşüncelere dönüşür. Düşüncelerinize dikkat edin; duygularınıza dönüşür. Duygularınıza dikkat edin; davranışlarınıza dönüşür. Davranışlarınıza dikkat edin; alışkanlıklarınıza dönüşür. Alışkanlıklarınıza dikkat edin; değer
2020-09-28 00:28:13
  • Offline
  • Erkek
Buna benzer bir soruyu

Buna benzer bir soruyu yaklaşık bir sene önce de sormuştun.
https://www.tr3d.com/forum/genel/isin-izleme-hakkinda.htm

Orada offline rendererleri merak etmiştin, teorik olarak nasıl çalıştığını çok kabaca anlattım ama tahmin edeceğin üzere bu öyle bir kaç paragraflık bir mevzu değil. "Rendering" aslında çok katmanlı teknolojiler topluluğudur ve her bir teknoloji için tuğla gibi kitaplar var. Bu teknolojilerin de tek bir "en mükemmel" türü yok. Üstelik bu teknikler rendering tipine göre de değişiyor. Gerçek zamanlı ya da Offline.

Gerçek zamanlı ve offline renderer sistemleri birbirinden oldukça farklıdır. Farklı amaçlar için tasarlandıklarından en basitinden birinden diğerine materyal aktarmak bile başlı başına iştir. Zira malzemenin görünümünü hesapladığın shading modeli falan farklıdır. Offline rendering fotorealistik rendering tekniklerini kullanır ve bu ölçüde bir frame'in görüntülenmesi saatler sürebilir. Gerçek zamanlı rendering'de ise bir karenin günümüz şartlarında 16.6 milisaniyede yani 60 kare/saniye civarında kararlı bir şekilde çizdirilmesi gerekir.

Senin yukarıda sıraladığın listedeki şeylerin "rendering" teknolojisiyle ilgisi yok. Evet konu bir noktada piksellere ya da fragment dediğimiz piksel topluluklarına gelir ama bu "rendering" sisteminin bir parçasıdır ve bahsettiğin şekilde işlemez.

Rendering nedir, nasıl programlanır falan öğreneceksen temel 3d matematiği (vektör, matris, doğrusal cebir, trigonometri), render pipeline, shading model, shader programming nedir gibi soruları sorman gerek.

Gerçekten çok merak ediyorsan ve ingilizce biliyorsan sürüsüne bereket kaynak var. Benim sana şiddetli tavsiyem kitaplar edinmen yönünde.

Önerebileceklerim:

3D Math Primer for Graphics and Game Development
(Çok kapsamlı bir 3d matematiği temeli oluşturmana yararı olur.)

Foundations of Game Engine Development, Volume 1: Mathematics
(Temel 3d matematiğini kavradığında bu kitapla üzerinden geçip yeni ve oldukça değerli bilgiler edinirsin. Benim bildiğim en güncel ve sağlam kitap. Çok kritik olabilecek matematik trickleri de içeriyor. Şiddetle tavsiye ederim. Yazarı Eric Lengyel çok çok iyi bir programcı ve matematikçidir, C4 oyun motorunun da mimarıdır.)

Real-Time Rendering, Fourth Edition
(Bir klasiktir. Üçüncü sürümü, hatta birinci sürümü bile iş görür. Rendering nedir sorusunun kısa özeti niteliğinde tuğla gibi bir kitap.)

Foundations of Game Engine Development, Volume 2: Rendering
(Eric Lengyel serisinin ikinci kitabı, tümüyle klasik ve yeni rendering tekniklerini anlatıyor. Elbette sıkı 3d matematiği gerektiriyor.)

---

Not: Türkiye'de bu sorulara doğru cevaplar verebilecek insan sayısı düşündüğün kadar az değil.


2020-09-28 02:38:41 Edit:2020-09-28 02:39:19
  • Offline
  • Erkek
Render motorumu yazmayı düşünüyorsun

Render motorumu yazmayı düşünüyorsun :)


2020-09-28 08:52:41
  • Offline
  • Erkek
cevaplarınız için teşekkür ederim.
firketeyılmaz bağıran

cevaplarınız için teşekkür ederim. Ama derdim render motoru yazmak veya yapmak değil. Render vb. çok yüksek şekilde hesalpama gücü gerektiren işlemleri kısaltmanın yolunu bulabilir miyim diye düşünüyorum. Var kafamda bazı düşünceler. Ama neyi hesaplatacağımı bilmeden bir şey yapamam. Mesela 4 işlem 4 hane sayı + trigonometri gibi bir hesaplama olacaksa bunu yaparım. Ama neyi hangi sırayla yapacağım ve bunun bilgilerini nasıl alacağım bu defa onu bilmem gerek. Yani anlayacağınız işin donanım ayağındayım.

cevaplarınız için teşekkür ederim.


Söylediklerinize dikkat edin; düşüncelere dönüşür. Düşüncelerinize dikkat edin; duygularınıza dönüşür. Duygularınıza dikkat edin; davranışlarınıza dönüşür. Davranışlarınıza dikkat edin; alışkanlıklarınıza dönüşür. Alışkanlıklarınıza dikkat edin; değer
2020-09-28 10:14:56
  • Offline
  • Erkek
Arkada çalışan matematiği, sistemin

Arkada çalışan matematiği, sistemin nasıl işlediğini bilmeden nasıl yapacaksın bu işi pek anlamadım, sonunda erke dönergeci falan çıkmasın.

Kolay gelsin sana. :)



2020-09-28 13:51:11
  • Offline
  • Erkek
işte bende onu öğrenmeye
firketeyılmaz bağıran

işte bende onu öğrenmeye çalışıyorum Ama temel mantık üzerinden.

erke dönencesi demişsin. Ama bilimin temelinde de var olan bir şey...

önce hayalinde çalıştır sonra gerçekte...
ya çalışırsa.. çalışanlar icat oluyor çalışmayanlar sırasını bekliyor ya da çalışacak olanlara bu yol yanlış deme görevini alıyor.


Söylediklerinize dikkat edin; düşüncelere dönüşür. Düşüncelerinize dikkat edin; duygularınıza dönüşür. Duygularınıza dikkat edin; davranışlarınıza dönüşür. Davranışlarınıza dikkat edin; alışkanlıklarınıza dönüşür. Alışkanlıklarınıza dikkat edin; değer
2020-09-29 11:38:03
  • Offline
  • Erkek