the scene > demoscene
Snapshot by Glance
skate:
@devreci: partilerde isteyen istediği kritere göre oy kullanır. genellikle kalabalık bir ortam olduğu için farklı görüşteki kişiler birbirini üç aşağı beş yukarı dengeler. yani sınırlarını bilmediğin bir platforma da oy kullanabilirsin elbette ki, ben de şahsen hakkında çok şey bilmediğim platformlara varsayımlar üzerinden oy verdim bu güne kadar zaman zaman.
EoD ile ilgili söylediğim şunu ifade ediyordu. Sen bir plazma efekti görünce doğal olarak etkilenmeyebilirsin. Hatta demonun en çok eleştirilen yanı bir sürü plazma efekti ve zoomer içermesi. Ama her birinin birbirinden farklı özellikleri var. Örneğin birinde fullscreen plazma gösterirken üzerinde bir de sprite zoomer var. Sonra sprite zoomer gidiyor, yerine side borderları da kaplayan bir plazma geliyor. Ancak B yüzüne geçtiğimizde bir tane daha plazma görüyoruz. Bu plazma sadece iç ekranda ama bu defa da sinusleri dinamik olarak değişiyor (ki bunu 50 FPS'de yapmak gerçekten çok zor). Bunların hepsi aynı trickler üzerinden yapılmış efektler. Daha önceki muadillerini bilmeden ya da yapmayı denemeden çok büyük bir anlam ifade etmeyebilirler. Ama bil ki her birinin kendi çapında bir "OHA!" durumu var aslında. Commodore 64'de 13h mode gibi her pixel bir byte'a denk gelip byte değeri 256'lık bir plaletin renklerini ifade etmiyor. Bunun bazı noktalarda avantajı da var dezavantajı da. 320x200 için 64000 yerine 8000 byte ile uğraşarak grafik çizebiliyoruz ancak bitwise operationlar devreye giriyor. Yani C64 ile PC'yi kıyaslamak aslında hiç mantıklı değil. Benim anlatmaya çalıştığım plazma efekti denince.
--- Kod: ---[FONT=Courier New][COLOR=#990000] while(!done())
{
time = getTime() / 50.0;
for(int x = 0; x < w; x++)
for(int y = 0; y < h; y++)
{
double value = sin(dist(x + time, y, 128.0, 128.0) / 8.0)
+ sin(dist(x, y, 64.0, 64.0) / 8.0)
+ sin(dist(x, y + time / 7, 192.0, 64) / 7.0)
+ sin(dist(x, y, 192.0, 100.0) / 8.0);
int color = int((4 + value)) * 32;
pset(x, y, ColorRGB(color, color * 2, 255 - color));
}
redraw();
}[/COLOR][/FONT]
--- Kod sonu ---
Aklına böyle birşey getirmemen gerektiği. Bunu c64'de yaparsak güzel güzel "render eden" bir plazmamız olur :)
Bu şekilde değerlendirmen gerektiğini vurgulamak istemiştim.
spritus:
--- Alıntı yapılan: skate;22865 ---Commodore 64'de 13h mode gibi her pixel bir byte'a denk gelip byte değeri 256'lık bir plaletin renklerini ifade etmiyor. Bunun bazı noktalarda avantajı da var dezavantajı da. 320x200 için 64000 yerine 8000 byte ile uğraşarak grafik çizebiliyoruz ancak bitwise operationlar devreye giriyor.
--- Alıntı sonu ---
skate'in belirtmediği başka istisnalar da var. c64'teki grafik modlarında tuhaf kısıtlamalar var. örneğin multicolor modunda 4x4 alan içerisinde 4'ten fazla renk kullanamıyorsun ki hi-res modunda bu sınırlama çok daha katı. ayrıca iç ekran ile border'a pixel basmak farklı yöntemlerle yapılıyor. normalde border'a herhangi birşey çizilememesi gerekiyor. çünkü c64'ü tasarlayan abiler border'ı sağ-sol-alt ve üstten kayıp gelen sprite'ları gizlemek için düşünmüş.
skate:
ufak bir iki düzeltme. 4x4 değil 8x8 olacak o 4'den fazla renk kullanılamayan alan. ayrıca 4 renkten biri de sabit arkaplan rengi. yani 3 renk de diyebiliriz bir bakıma.
devreci:
aslında aynı şey msdos da var. 640X480 ekran modunda var çünkü a000h adresi en fazla 64k alıyor. bayt olarak gönderilen değere göre anlayamadığım şekilde iki üç pixel koyabliyor renk olayıda garip. aynı zamanda a000 adresinde irq kesme isteği ile ulaşıyor cpu buda max 14mhz dir yani ekrana 60000 bayt göndereceksek en hızlı 200 fps de yapabliriz
yani 256b demolarda a000 adresini free ram olarak kullanırsak çok yavaş olur
spritus:
--- Alıntı yapılan: devreci;22868 ---aslında aynı şey msdos da var. 640X480 ekran modunda var çünkü a000h adresi en fazla 64k alıyor. bayt olarak gönderilen değere göre anlayamadığım şekilde iki üç pixel koyabliyor renk olayıda garip. aynı zamanda a000 adresinde irq kesme isteği ile ulaşıyor cpu buda max 14mhz dir yani ekrana 60000 bayt göndereceksek en hızlı 200 fps de yapabliriz
yani 256b demolarda a000 adresini free ram olarak kullanırsak çok yavaş olur
--- Alıntı sonu ---
bahsettiğin 640x480x16 renk ekran modu nerdeyse hiç kullanılmıyor. ben o modu kullanan bir demo ile hiç karşılaşmadım. kaldı ki bunu yapmak isteyen de vesa kullanırdı. pc'de seçenek çok :)
bu arada c64'teki çoğu ekran modunun scener'lar tarafından icat edildiğini biliyor muydun? ;)
bir örnek:
http://noname.c64.org/csdb/release/index.php?id=81153
Navigasyon
[0] Mesajlar
[#] Sonraki Sayfa
[*] Önceki Sayfa
Tam sürüme git