|
Konu Başlığı: Pastel3d / 3d rendering engine Gönderen: fst üzerinde Ağustos 22, 2016, 17:47:11 ÖS Uzun bir süredir ara verdiğim C64 için 3d rendering projeme geri dönüş yapayım dedim. Şu an için çok ilkel ancak yine de paylaşayım ve biraz da deneyimlilerden yardım alayım dedim.
Pastel3d ışınları doğrudan geometrik objeler üzerinden izdüşürerek çalışıyor. Mesh kullanmıyor. 24-bit HSL renk uzayında çalışıyor. Tabi ki daha sonra dithering kullanarak c64 renk modlarına çeviriyor. Lores MCM ve Hires modun yanısıra Laced modlara da izin veriyor. Hesaplamaları 32-bit floating point üzerinden yapıyor. Şu an için 2 tip objeye izin veriyor. Sonsuz düzlem (tek renk veya satranç tahtası) ve küre. 1 adet de beyaz ışık kaynağı. Kodlar github'da mevcut: https://github.com/fstasel/Pastel3d Derlemek için KickAssembler'a ihtiyaç var. "settings.inc" dosyasından manzara ayarlamalarını yapıyorsunuz. Dilerseniz hızlı sonuç almak için text modunu kullanabilirsiniz. Grafik modunda hesaplanmış görüntüleri "display.prg" ile açabilirsiniz. Örnek test dosyaları da var. Hesaplama işleri için turbo modu olan C64 emulatoru önerilir (takdir edersiniz ÇOK yavaş). Kodda rendering ile color conversion modulü iç içe ve çok karışık. Bu iki modulu ayırmayı planlıyorum. FLI ve IFLI modlarını eklemek istiyorum. Ancak bu modlarla deneyim sahibi birilerine ihtiyaç duyabilirim. Hesapları için fixed-point aritmetiğe çevirebilirsem epey hızlanma sağlarım ancak bu hızlanma yine de çok manalı olur mu ayrı mesele. Yavaş olsa ne kaybederiz ki ;) Bir de 1st order yansımaları da yapabilirsem gayet güzel olur. Örnek bir laced resim ekliyorum. Animated gif yaptım ancak sanırım en iyi sonuç emulatorde görülüyor. Konu Başlığı: Ynt: Pastel3d / 3d rendering engine Gönderen: Levent (Lvnt) üzerinde Ağustos 22, 2016, 17:51:30 ÖS Elinize sağlık
Konu Başlığı: Ynt: Pastel3d / 3d rendering engine Gönderen: shotgun üzerinde Ağustos 22, 2016, 18:53:55 ÖS Gerçekten çok güzel olmuş tebrik ederim böyle şeyleri c64 te görmek inanılmaz bir his benim için
Konu Başlığı: Ynt: Pastel3d / 3d rendering engine Gönderen: eins üzerinde Ağustos 22, 2016, 21:20:33 ÖS Süper ...
Konu Başlığı: Ynt: Pastel3d / 3d rendering engine Gönderen: LW3D üzerinde Ağustos 24, 2016, 01:22:45 ÖÖ Elnize sağlık...Hiç aklıma gelmeyecek bir şey yapmışsınız... Render ne kadar sürüyor? Çok yavaş olduğunu tahmin ediyoruz ama standart C64 için bir zaman vermek mümkün mü merak ettim :) Zamanında Amiga'da ilk renderlarımız bundan daha iyi değildi...
Konu Başlığı: Ynt: Pastel3d / 3d rendering engine Gönderen: fst üzerinde Ağustos 24, 2016, 01:43:58 ÖÖ Amiga'da (68000) Imagine ile bir chekerboard bir küre yarım gün alırdı. Bu da aynı yarım gün alıyor. Ancak benim için süreden çok sonuç vermesi önemli :D
Şimdi Matlab ile fixed point denemeler yapıyorum. Uygun bir word size/fraction yakalayabilirsem belki fixed point math ile hızlandırmak mümkün olur. Konu Başlığı: Ynt: Pastel3d / 3d rendering engine Gönderen: ilkerficicilar üzerinde Ağustos 24, 2016, 07:25:57 ÖÖ Gerçekten de denemek hiç akla gelmezdi... Kodu indirdim, teşekkürler ve tebrikler.
Bir de nedense aklıma Driller oyunu geldi. Konu Başlığı: Ynt: Pastel3d / 3d rendering engine Gönderen: joker_ üzerinde Ağustos 24, 2016, 11:24:15 ÖÖ tebrik ederim, süper iş çıkartmışsınız.
Konu Başlığı: Ynt: Pastel3d / 3d rendering engine Gönderen: Alpyre üzerinde Ağustos 24, 2016, 17:08:14 ÖS Müthişsin!
Konu Başlığı: Ynt: Pastel3d / 3d rendering engine Gönderen: ibo1973 üzerinde Ağustos 24, 2016, 20:58:58 ÖS c64 için ilginç bir çalışma olmuş eline sağlık.
Konu Başlığı: Ynt: Pastel3d / 3d rendering engine Gönderen: LW3D üzerinde Ağustos 24, 2016, 22:00:02 ÖS Yarım gün sürmesi önemli değil...Sadece merak etmiştim :) Daha önce bu tür bir iş yapan olmuş mu acaba?
Konu Başlığı: Ynt: Pastel3d / 3d rendering engine Gönderen: fst üzerinde Ağustos 24, 2016, 23:13:00 ÖS Yarım gün sürmesi önemli değil...Sadece merak etmiştim :) Daha önce bu tür bir iş yapan olmuş mu acaba? Deneysel 2 tane örnek var: http://dwcope.freeshell.org/projects/c64/ (http://dwcope.freeshell.org/projects/c64/) http://csdb.dk/release/?id=68182 (http://csdb.dk/release/?id=68182) Farklı ekran/renk çözünürlüklerini desteklemiyor gördüğüm kadarıyla diğerleri. Bir de c64 de native siyah beyaz hesaplıyorlar. |