Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz

  Gelişmiş Arama
insanın içinde varsa, commodore.gen.tr açığa çıkarır bunu.. bir nevi retro olaylarının dolunayıyız.(Arda)
commodore.gen.trCommodoreCommodore YazılımBronx'dan yeni Commodore 64 release'i
Sayfa: [1]   Aşağı git
Yazdır
Gönderen Konu: Bronx'dan yeni Commodore 64 release'i  (Okunma Sayısı 14138 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
vigo
Ziyaretçi
« : Ekim 31, 2006, 16:57:46 ÖS »

detaylar :

http://bronxwhq.org/bronx/news_arch.php?id=44&c=1
Logged
LW3D
Yönetici
*****
Mesaj Sayısı: 11.418


Günü Kurtaran Avam Hiooargggh :)


Üyelik Bilgileri WWW
« Yanıtla #1 : Ekim 31, 2006, 21:39:48 ÖS »

ilk linkten indiremedim...Ama diğer linkten indirebildim..Hoş bir çalışma olmuş. Aşağıdaki resim 3 kısımdan oluşan çalışmanın bölümlerini gösteriyor. 

Logged

vigo
Ziyaretçi
« Yanıtla #2 : Kasım 01, 2006, 00:04:28 ÖÖ »

sanırım şuan down olmuş yada sabahtan beri ...
Logged
nightlord
Uzman
*****
Mesaj Sayısı: 558



Üyelik Bilgileri WWW
« Yanıtla #3 : Aralık 18, 2006, 21:21:20 ÖS »

ilk yapildigi zamana gore super bi demo. bence c64 icin turkiyede cikmis en iyi demolardan biri. Ozellikle noktalar spirali efektinin hastasiyim. sessiz sakin fakat birgun okuz bi dunya rekoru patlatacagini bekledigim kaliteli coder endonun ellerinden cikmis bi part. Ayrica Skate'in vector parti da yine Turkiyedeki en hizli line vector parti sanirim



Logged
Skate
Uzman
*****
Mesaj Sayısı: 1.479


A Sinner Scener


Üyelik Bilgileri WWW
« Yanıtla #4 : Aralık 18, 2006, 23:29:02 ÖS »

yok be nightlord naaptın abicim "Türkiye'deki en hızlı line vector" falan iltifatına teşekkür ediyorum ama o benim yapana kadar akla karayı seçtiğim optimizasyon mahrumu ve şu anda source codelarına bakınca hiçbirşey anlamadığım bir kodum Ayrıca commodoredaki ilk 3d kodum olma özelliğini taşıyor.

Hazır yeri gelmişken belki birilerinin işine yarar diye o kodda kullandığım rotasyon ve projeksiyon formülünü yaziim buraya.

Rotasyon
Kod:
rc1 = c1 * cos(angle) + c2 * sin(angle)
rc2 = c1 * sin(angle) - c2 * cos(angle)

sin ve cos'u tablola

rc1 = c1 * cosT[angle] + c2 * sinT[angle]
rc2 = c1 * sinT[angle] - c2 * cosT[angle]

C64'de float point olayı kastığı için sinT ve cosT 256 ile çarpılmış halde duruyor olsun. Negatif olma durumunu ise ikinci bir tablo ya da code içersinde basit bir range mantığıyla halletmek mümkün.

Dolayısıyla son formül;

rc1 = (c1 * cosT[angle] / 256) + (c2 * sinT[angle] / 256)
rc2 = (c1 * sinT[angle] / 256) - (c2 * cosT[angle] / 256)

rc1 = (c1 * cosT[angle] >> 8) + (c2 * sinT[angle] >> 8)
rc2 = (c1 * sinT[angle] >> 8) - (c2 * cosT[angle] >> 8)

halini alıyor.

Sonuç:
------
                                                     Toplama
                                                        |
rc1 = ((8bit x 8bit = 16bit) (işlem yok highbyte'ı al)) + ((8bit x 8bit = 16bit) (işlem yok highbyte'ı al))
rc2 = ((8bit x 8bit = 16bit) (işlem yok highbyte'ı al)) - ((8bit x 8bit = 16bit) (işlem yok highbyte'ı al))
                                                        |
                                                     Çıkarma

Projeksiyon
Kod:
proj = coor / (z + dist) * zoom

dist = 256, zoom = 64 =>

proj = coor / (z + 256) * 64

         coor
proj = --------- * 64
        z + 256
       (z - 256) <- eşliniğiyle çarpıyoruz

         coor * (z - 256)
proj = --------------------- * 64
       (z - 256) * (z + 256)

       (coor * z) - (coor * 256)
proj = ------------------------- * 64
         (z * z) - (256 * 256)

       (coor * 256) - (coor * z)
proj = ------------------------- * 64
         (256 * 256) - (z * z)

       (coor << 8) - (coor * z)
proj = ------------------------- * 64
            65536 - (z * z)

       (coor << 8) - (coor * z)
proj = -------------------------
            65536 - (z * z)
            -----   -------
              64       64

       (coor << 8) - (coor * z)
proj = -------------------------
         1024 - ((z * z) >> 6)

sonuç:
------
                                                         (çıkarma işlemi)
                                                                |
       (işlem yok, coor doğrudan high-byte olarak kullanılıyor) - (8bit x 8bit = 16bit)
proj = -------------------------------------------------------------------------------- (bölme işlemi)
                     1024 - ((8bit x 8bit = 16bit) (6 bit sağa kaydırma))
                          |
                   (çıkarma işlemi)


Eğer 6 bit kaydırmayı da optimize edersek;

                                                         (çıkarma işlemi)
                                                                |
       (işlem yok, coor doğrudan high-byte olarak kullanılıyor) - (8bit x 8bit = 16bit)
proj = -------------------------------------------------------------------------------- (bölme işlemi)
              1024 - ((8bit x 8bit = 16bit) (2 bit sola kaydırma ve byte switch))
                   |
            (çıkarma işlemi)

Bunları hala arşivimde saklıyordum

Tabii artık matris hesabı kullanıyorum ve özellikle rotasyon rutinim kat kat hızlı bundan ama bu da commodore'a uygun rutin yazmakla ilgili fikir verebilir ilgilenenlere.
Logged
nightlord
Uzman
*****
Mesaj Sayısı: 558



Üyelik Bilgileri WWW
« Yanıtla #5 : Aralık 19, 2006, 01:10:33 ÖÖ »

abi yanilmiyorsam tensiondaki line vector hem midnite movie/bronx'takinden hem de color of code/accuracy'dekinden daha hizli. ama gozlerim + emulator benim aldatiyor olabilir. henuz tension'i dikkatli bi sekilde gercek makinede izlemedim.
Logged
LW3D
Yönetici
*****
Mesaj Sayısı: 11.418


Günü Kurtaran Avam Hiooargggh :)


Üyelik Bilgileri WWW
« Yanıtla #6 : Aralık 19, 2006, 10:58:11 ÖÖ »

kaç gündür vektörlere bakıyorum. Kafam kaldırmıyor sanırım. Nightlord'un notlarını yeniden okuyup anlamaya çalışıyorum. Ama sanırım sizden canlı bir ders almam gerekecek NightShift'te bir yere kaybolmayın Kahkaha
Logged

Arda
Uzman
*****
Mesaj Sayısı: 2.326


I'm *the* guy from Argleton


Üyelik Bilgileri WWW
« Yanıtla #7 : Aralık 19, 2006, 14:06:28 ÖS »

kaç gündür vektörlere bakıyorum. Kafam kaldırmıyor sanırım.

Ama ondan önce trigonometri ile de mucizeler yaratılabiliyor, boşver vektörü ilk aşamada Sonra Lineer Matematiğe geçersin.

Bu arada Nightlord'un sözü geçen notları nerede? Bir göz atmak isterim.

Bir de, skate, paylaşım için sağol, bakalım bu hesaplara dayalı çalışır bir kod çıkarabilecekmiyim spectrumda.
« Son Düzenleme: Aralık 19, 2006, 14:20:30 ÖS Gönderen: Arda » Logged

LW3D
Yönetici
*****
Mesaj Sayısı: 11.418


Günü Kurtaran Avam Hiooargggh :)


Üyelik Bilgileri WWW
« Yanıtla #8 : Aralık 19, 2006, 14:23:39 ÖS »

Ben 3D ile ilgileniyorum. Renderman Shading Diline biraz baktım (aslında çok baktımda pek anlayamadım belkide). Vektörler ve matrisler bu aşamada çok önemli. Ben bu nedenle vektörlerle ilgilenmeye çalışıyorum. Amacım bir taşla birkaç kuş vurmak
Logged

Skate
Uzman
*****
Mesaj Sayısı: 1.479


A Sinner Scener


Üyelik Bilgileri WWW
« Yanıtla #9 : Aralık 19, 2006, 15:31:31 ÖS »

Arda: Aslında bu formülleri fikir sahibi olun diye verdim. Eğer gerçekten kodlamak istiyorsan sana matrisler üzerinden yürümeni tavsiye ederim. Spectrum'da kodlaman çok daha basit olur. İngilizce sorunun yoksa sana tavsiye edeceğim yegane döküman:

http://www.ffd2.com/fridge/chacking/

8. ve 9. sayılarda 8 bit makinelerde (commodore'a özelliştirilmiş anlatsa da kolayca diğerlerine de uyarlanabilir) 3d hesaplamalar için matris kullanımı çok güzel anlatılmışdır. Tavsiye ederim.
Logged
ozkano
Uzman
*****
Mesaj Sayısı: 3.514



Üyelik Bilgileri WWW
« Yanıtla #10 : Aralık 19, 2006, 17:47:05 ÖS »

öss sınavında zar zor 5 tane matamtik sorusu çözdüm, 5 yıllık üniversite hayatımda bir tek dersten oda matamatikten kaldım benim programcı olmam biraz zor olacak galiba
Logged

A500,A500+,A600,A1000,A1200,A2000,A3000,A4000,CDTV,CD32,A1,MacMini,R2HV,C64,48K,Ps,Ps2,Ps3
Xbox,Xbox360,Nes,Snes,N64,N64Ique,Gamecube,Wii,PcEngine,PcEngineGT,PcEngineDUO,TurboGrafx,NeoGeoAES
NeogeoCD,NeoGeoMVS,NeoGeoPocket,MegaDrive,SegaCD,MultiMega,Saturn,Dreamcast,Jaguar,Lynx,Cps1
Cps2,System11
nightlord
Uzman
*****
Mesaj Sayısı: 558



Üyelik Bilgileri WWW
« Yanıtla #11 : Aralık 19, 2006, 21:27:03 ÖS »

@arda:
http://nightnetwork.org/c64/main.html
Logged
Bakkada
Deneyimli
*****
Mesaj Sayısı: 935



Üyelik Bilgileri
« Yanıtla #12 : Aralık 19, 2006, 22:21:24 ÖS »

@ozkano
Farketmes abi benim matematigim iyiydi ama ben gene de olamadim
Logged
LW3D
Yönetici
*****
Mesaj Sayısı: 11.418


Günü Kurtaran Avam Hiooargggh :)


Üyelik Bilgileri WWW
« Yanıtla #13 : Aralık 20, 2006, 10:55:26 ÖÖ »

ÖSS sınavında yapılan matematikle konunun alakası yok. Çünkü eğitim sistemimizde sorunlar var ve bugün ulaşabildiğimiz kaynaklarda konuyu bize çok güzel ve açıklayıcı anlatıyor. Skate'in yolladığı linke bakan ve ingilizcesi olan birinin zamanında bize çok karışık gelen, formulleri kolayca anlayabileceğini düşünüyorum. Gerçekten çok zor değil...
Logged

Sayfa: [1]   Yukarı git
Yazdır
Gitmek istediğiniz yer: