Gönderen Konu: Tekniker  (Okunma sayısı 100831 defa)

Bilmediğiniz renkler...

« Yanıtla #15 : 04.07.2009 17:43:25 »
Hızlı düğmeleri aç

hannibal

İleti: 17

Çevrimdışı
  • *
  • Newbie
    • Profili Görüntüle
    • http://site.mynet.com/arcokyazilim/
Bu alev ve plazma etkileri için, QB4.5 dilini ve belli renk tayflarını kullandık. Peki ya 'PROTECTED MODE' da işler nasıl
olurdu ? Bu etkiler için, 32 bit lik ortamda nasıl ton ataması yapılır ?

   Bilgisayarda renkler nasıl gösterilir ? Aslında, yukarıda yazmış olduğum örneklerde bu konuyu anlamış olmanız gerekir.

Renkler, içerdiği tonlardan bağımsız bir şekilde bulunurlar. 320x200x8 lik bir ekranda, 0 dan 255 e toplam 256 adet RENK YAZMACI bulunur. Bu yazmaçlara, 0 - 63 arası değerde, KYM tonları yazılabilinir. Yani, renk yazmaçları ve bu renklerin tonları diye iki adet kavram vardır. şimdi büyük bir yanlış anlamayı düzeltelim. Dikkat edin, içeriği az ama bulunması zor bir bilgidir. 32 bitlik bir derinliğe sahip ekranda, Alpha tonları ekarte edilirse, 16,777,216 tane renk yazmacımız var demektir. (Ağlayasım geldi biz hala 256 tanesiyle uğraşıyoz :D) 16M ekranında okunulan bir noktadan 4 hecelik (bytes) bir veri döner;

  P = NOKTA(x, y)

  Eğer bu nokta siyah ise P  = 0, kıpkırmızı ise P = 255, sap sayı :D ise P = 65535 olarak döner, işte burda küçük bir yanlış anlama yapmaktayız;

NOT : ARGB yada ABGR şeklinde sıralanmış olabilir. Ben ABGR ye göre yazıyorum!

Siyah.......:     0 = 00 00 00 00
Kırmızı.....:   255 = 00 00 00 FF
Sarı........: 65535 = 00 00 FF FF

P = Nokta(x,y) ile dönen 4 hecelik değerin ilk hecesi kırmızı tonu, ikinci hecesi yeşil tonu, üçüncü hecesi mavi tonu ifade

eder diye biliriz çoğumuz. Bu uygulamada doğrudur. Ancak burda dönen değer aslında renk yazmacının değeridir. Yani,

kıpkırmızı gördüğümüz noktada 255 nolu renk vardır, sapsayı da ise 65535 nolu renk vardır ve dönen değerler sadece renk

numaralarıdır. IBM pc açıldığında, bu renk yazmaçlarına sıralarına uygun olarak tonlar atandığı için, 32 bitlik noktadan dönen değer ABGR olarak ta kullanılabilmektedir. Ama sadece renk numarasıdır aslında....

Alev ve Plazma etkilerinde renklerin tonlarıyla nasıl oynadığımızı hatırlayın. Aynı şekilde, simsiyah gözüken noktanın yani,

0. rengin tonlarını değiştirerek bembeyaz yapabiliriz. Ve dönen noktadaki renk değeri yine 0 olur. Umarım anlatabilmişimdir.

ışte bu ton değiştirme özelliğini 32 bitlik ortamda da kullanabiliriz. Böylece, plazma etkisi için, tek tek renk değiştirmek

yerine daha hızlı olan ton değiştirme yöntemini yine kullanabiliriz. Ancak, !PROTECTED MODE' da VGA portlarına direk erişemezsiniz ama eminim bununda bir yolunu DXD ciler bulacaktır...
c64 ile doğdum, amiga ile büyüdüm, x86 ile yıprandım...

Tekniker

« Yanıtla #16 : 05.07.2009 20:44:25 »
Hızlı düğmeleri aç

darkBLACK

İleti: 24

Çevrimdışı
  • *
  • Newbie
    • Profili Görüntüle
bu örnekler de belki birilerinin işine yarar...

hxxp://cyberdoomsystems.narod.ru/ripp.html

Tekniker

« Yanıtla #17 : 05.07.2009 22:54:07 »
Hızlı düğmeleri aç

spritus

İleti: 933

Çevrimdışı
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://resident.tr-demoscene.info
ben de zamanında efektleri öğrenirken yazdığım qbasic kodlarını paylaşayım dedim

http://s2.dosya.tc/efct.rar.html

Tekniker

« Yanıtla #18 : 06.07.2009 02:20:53 »
Hızlı düğmeleri aç

hannibal

İleti: 17

Çevrimdışı
  • *
  • Newbie
    • Profili Görüntüle
    • http://site.mynet.com/arcokyazilim/
ındirdim baktım. Demekki aynı yollarda yürümüşüz. Çok Güzel Demolar bunlar, umarım indiren çok olur öğrenecekleri çok şey var.
c64 ile doğdum, amiga ile büyüdüm, x86 ile yıprandım...

Tekniker

« Yanıtla #19 : 06.07.2009 11:33:32 »
Hızlı düğmeleri aç

spritus

İleti: 933

Çevrimdışı
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://resident.tr-demoscene.info
Alıntı yapılan: hannibal;20987
ındirdim baktım. Demekki aynı yollarda yürümüşüz. Çok Güzel Demolar bunlar, umarım indiren çok olur öğrenecekleri çok şey var.


teşekkürler :)

Tekniker

« Yanıtla #20 : 06.07.2009 16:00:15 »
Hızlı düğmeleri aç

hannibal

İleti: 17

Çevrimdışı
  • *
  • Newbie
    • Profili Görüntüle
    • http://site.mynet.com/arcokyazilim/
Hele o duman yok mu ? Alevi dikey değilde trigonometrik olarak dağıtma fikri. O çok güzel. Bence onun tutorunu yazmalısın. Kodlarımız 'yastık altında' kalmasın :D
c64 ile doğdum, amiga ile büyüdüm, x86 ile yıprandım...

Tekniker

« Yanıtla #21 : 07.07.2009 00:09:42 »
Hızlı düğmeleri aç

einhander

İleti: 55

Çevrimdışı
  • **
  • Jr. Member
    • Profili Görüntüle
Ölesine bişiler yapmıştım
download:
http://rapidshare.com/files/252766853/efct2.zip.html

Tekniker

« Yanıtla #22 : 07.07.2009 02:53:29 »
Hızlı düğmeleri aç

hannibal

İleti: 17

Çevrimdışı
  • *
  • Newbie
    • Profili Görüntüle
    • http://site.mynet.com/arcokyazilim/
Fişekler çok tatlı olmuş. Bir game-end scene olabilir :)
c64 ile doğdum, amiga ile büyüdüm, x86 ile yıprandım...

Tekniker

« Yanıtla #23 : 07.07.2009 11:21:06 »
Hızlı düğmeleri aç

spritus

İleti: 933

Çevrimdışı
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://resident.tr-demoscene.info
Alıntı yapılan: hannibal;20989
Hele o duman yok mu ? Alevi dikey değilde trigonometrik olarak dağıtma fikri. O çok güzel. Bence onun tutorunu yazmalısın. Kodlarımız 'yastık altında' kalmasın :D



heheh.. evet fire efektinden bozma birşey o :)

aşağıdaki demoda uygulamalı versiyonu var, ama çalıştırmakta güçlük çekebilirsin:
http://www.pouet.net/prod.php?which=11765

diğer prodüksiyonlar için:
http://resident.tr-demoscene.info/V2/Prods
veya http://www.pouet.net/groups.php?which=3381

Tekniker

« Yanıtla #24 : 07.07.2009 18:09:38 »
Hızlı düğmeleri aç

hannibal

İleti: 17

Çevrimdışı
  • *
  • Newbie
    • Profili Görüntüle
    • http://site.mynet.com/arcokyazilim/
Bu caret i sizmi yazdınız ? :D süper ya. Ben bu demoyu bi kaç yıl önce görmüştüm. Vay be gavurlara bak neler yazıyorlar demiştim. Zaman zamanda aklıma gelir dururdu tembelliğimden yazmazdım 3D ASCII li bir örnek. Tebrik ettim, anesthetic, decipher, spritus ve flexi ile ayrı ayrı gurur duydum.
c64 ile doğdum, amiga ile büyüdüm, x86 ile yıprandım...

Tekniker

« Yanıtla #25 : 07.07.2009 23:51:54 »
Hızlı düğmeleri aç

spritus

İleti: 933

Çevrimdışı
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://resident.tr-demoscene.info
Alıntı yapılan: hannibal;20995
Bu caret i sizmi yazdınız ? :D süper ya. Ben bu demoyu bi kaç yıl önce görmüştüm. Vay be gavurlara bak neler yazıyorlar demiştim. Zaman zamanda aklıma gelir dururdu tembelliğimden yazmazdım 3D ASCII li bir örnek. Tebrik ettim, anesthetic, decipher, spritus ve flexi ile ayrı ayrı gurur duydum.


teşekkürler. o demo daha çok anes ve flexi'nin eseridir :)