Önceki başlık :: Sonraki başlık |
Yazar |
Mesaj |
MD-C
Kayıt: Feb 26, 2003 Mesajlar: 1258 Nereden: Dünya.Türkiye(54)
|
Tarih: Fri Dec 02, 2005 7:31 pm Mesaj konusu: |
|
|
Yaw bence Shader için yüksek seviyeli bir dil seçilmeli ve bu konuda da en iyi diller sırasıyla: CG, HLSL, CG dir... ASM ile kasmak bence gereksiz (Standart uygulamalarla uğraşanlar için)
(Sabit hat)
Shader != Geometri noktalarının (Vertex) Görüntüye dönüşebilmesi için Grafik kartı denen atölyenin şu kısımlarını geçmesi gerekiyor:
Not(e) : Koyu tonlu kısım: Vertex hattı, diğer kısım Piksel hattını ifade eder!
Vertex Data Girdisi -> Local Transformation -> Word Trans. -> Camera Trans. -> Perspektif Trans. (Projeksiyon da denir aynı zamanda) -> Frustum (Back Face, Frustum vs. vs.) -> Clipping (Ekranı taşan vertexler silinir) -> Işıklandırma -> Burada Doku olayları girer -> Derinlik testi + Alpha Testi + Stencil Testi burada yapılır -> Sonuç
(Programlanabilir hat)
Shader = Vertex ve Pixel hattında yani sabit hatta neye ne yapılması gerektiğini, Shader teknolojisinin izin verdiği ve yapabildiği komutlar kadarıyla Sabit hatt-ta uygulaması ve bu kodların Programlanabilir hattın belleğinde tutulmasıdır |
|
Başa dön |
|
|
DG
Kayıt: Mar 06, 2004 Mesajlar: 351 Nereden: Eskişehir
|
Tarih: Fri Dec 02, 2005 8:46 pm Mesaj konusu: |
|
|
DirectX Pipeline:
------------------------------
Shaderlar için bit tabi ASM optimizasyonu yapılıyor.
50 -> 35 , derletilen shader sürümüne göre bile değişiklik gösterir. Bazı sürümlerde bir HLSL Intrinsic tek instruction ile karşılanabilirken sürüm değişikliklerinde bu sayı üçe kadar çıkabiliyor.
Kaynak: "Programming Vertex and Pixel Shaders, Chapter 3: HLSL Shader Programming" |
|
Başa dön |
|
|
stroma
Kayıt: Mar 31, 2003 Mesajlar: 169
|
Tarih: Fri Dec 02, 2005 8:58 pm Mesaj konusu: |
|
|
DG demiş ki: |
Bazı sürümlerde bir HLSL Intrinsic tek instruction ile karşılanabilirken sürüm değişikliklerinde bu sayı üçe kadar çıkabiliyor. |
keşke sadece komut sayısı artsa, shader sürümüne göre bazen pass lerin de artması gerekebiliyor... |
|
Başa dön |
|
|
devreci
Kayıt: Mar 04, 2005 Mesajlar: 256
|
Tarih: Sat Dec 03, 2005 2:49 pm Mesaj konusu: |
|
|
shader 1.1 de yapabileceğimiz şeyler çok kısıtlı ya
atlama,adresleme,loop,iyi bi compare,trigonometri,call hiçbişey yok ve bu nedenle 1.1 'e tam olarak gpu programming adı veremeyiz . 4 işlem matamatiği koyacan hesaplayacak bu kadar. bikaç dandini uygulamam var yarin gönderirim . vs.1.1 den ps.1.1 biraz daha iyi işe yarar
shader 2.0 ve sonrası hakikaten inanılmaz gelişmeler olmuş dx9.0 sdk asm shader referanceyi incelediğimizde görüyoruz. harika komutlar+regler gelmiş ama eksikler var mesala 3.0 da bile atan yoktu . ama 2.0 ve sonrası harika fakat gelişmeye muhtaç .
işte bunları söyleyebiliyorsam ASM shaderin farklı ortada |
|
Başa dön |
|
|
devreci
Kayıt: Mar 04, 2005 Mesajlar: 256
|
|
Başa dön |
|
|
devreci
Kayıt: Mar 04, 2005 Mesajlar: 256
|
|
Başa dön |
|
|
levent
Kayıt: Mar 13, 2003 Mesajlar: 188 Nereden: İstanbul
|
Tarih: Sun Dec 04, 2005 4:16 pm Mesaj konusu: |
|
|
esas konuya dönersek:
ta ta ta işte karşınızda 12k.
http://www.lbbsoftware.com/gldemo12k.rar
ancak bu defa havlu atıyorum, çünkü kodlama olarak ileri düzeyde yapılabilecek optimizasyonlar dışında pek bir şey kalmadı.
Diğer kısımlara gelecek olursak aşağıda bir de vb portu var ancak zamanım olmadığı için ilerletemedim ve çalışmıyor (pointer kaynaklı sorunlar var). Sitede sağlam vb'ci varsa buyursun baksın (meydan okumaya bakar mısınız )
ha Cotanak, diğerleri?
http://www.lbbsoftware.com/gldemo_vb.rar
(uyarı: vb kodu subclassing falan yapıyor, vb ortamını uçurabilir. çalışmalarınızı kaydetmeden denemeyin, delphi portu taş gibi maşallah ) |
|
Başa dön |
|
|
vmeydaneri
Kayıt: Dec 08, 2004 Mesajlar: 583 Nereden: Ankara
|
Tarih: Sun Dec 04, 2005 5:17 pm Mesaj konusu: |
|
|
@levent :
hehe kodlari derlemeden exe ni paketledim ve 5.7 kb oldu ..
icinde Readme.txt var hangi programla paketledigim yazio ...Boylece hem derleyip hemde paketleyince exe 5.7kb oluyor ehe..
DOSYA:
http://mosengine.inativa.com/dosya/gldemo5k.rar |
|
Başa dön |
|
|
levent
Kayıt: Mar 13, 2003 Mesajlar: 188 Nereden: İstanbul
|
Tarih: Sun Dec 04, 2005 5:40 pm Mesaj konusu: |
|
|
@vedat:
ben exe packer kullanmayı hile olarak görüyorum (upx'le 6.5 kb oluyor. bu (Win)Upack daha iyi galiba) aslında sonradan aklıma geldi ama, exe'nin başındaki "this program canot be run in MS-DOS mode" kısmını da çıkartırsak bi 200 byte falan daha kazanırız. Bir de siz daha iyi bilirsiniz window'u kodla mı oluşturmak daha ekonomik yoksa resource olarak mı? |
|
Başa dön |
|
|
DG
Kayıt: Mar 06, 2004 Mesajlar: 351 Nereden: Eskişehir
|
Tarih: Sun Dec 04, 2005 6:39 pm Mesaj konusu: |
|
|
Boş mavi tonu bir ekran var. (Shader3.0 destekli bir ekran kartım var)
Profilleri yükseltip senin derletici ile (shadercompiler.exe) derletmeye çalıştım. .gpu uzantısında derlenmiş dosyayı verdi ama bu sefer de "bir hata oluştu" dedi. Ne açıklayıcı değil mi?
Dahası yazdığın assembly'leri DX'in Assembly derleyicileri (vsa, psa) ile derletemedim.
Kolay gelsin
---------------------------------------
Keşke en azından 2_0 profilini destekleyen tek kart alsaydın iki kart almak yerine. Bugün per-pixel diffuse yapıyordum, interpole normalleri normalize edeyim dedim: ps_1_4 profili yemedi (optimizasyonlar kapalıydı) |
|
Başa dön |
|
|
devreci
Kayıt: Mar 04, 2005 Mesajlar: 256
|
Tarih: Mon Dec 05, 2005 1:12 pm Mesaj konusu: |
|
|
ya abi ekran kartının adını söylesene ondan alalım.
shader ile uğraşanlara kötü haber pixel shader minimum geforce fx 5200
de çalışıyor int kafede farklı bilgisayarlarda denedim
bide şu vsa psa ya ait bir adres verebilirmisin |
|
Başa dön |
|
|
devreci
Kayıt: Mar 04, 2005 Mesajlar: 256
|
Tarih: Mon Dec 05, 2005 1:27 pm Mesaj konusu: |
|
|
levent hocam eline sağlık harika olmuş diller arası ittifak diye buna derim |
|
Başa dön |
|
|
devreci
Kayıt: Mar 04, 2005 Mesajlar: 256
|
Tarih: Mon Dec 05, 2005 1:42 pm Mesaj konusu: |
|
|
shaderlerimin resimlerini göndereyim de site renklensin biraz tahminim çoğu bilgisayarda çalışmamıştır
|
|
Başa dön |
|
|
DG
Kayıt: Mar 06, 2004 Mesajlar: 351 Nereden: Eskişehir
|
Tarih: Mon Dec 05, 2005 2:08 pm Mesaj konusu: |
|
|
devreci demiş ki: |
ya abi ekran kartının adını söylesene ondan alalım.
shader ile uğraşanlara kötü haber pixel shader minimum geforce fx 5200
de çalışıyor int kafede farklı bilgisayarlarda denedim
bide şu vsa psa ya ait bir adres verebilirmisin |
Ama ben sana minimum 2.0 profili hedefle, en ucuz kart da FX5200 demiştim daha önce. Şimdi ne yapacaksın ps_1_4'deki 8 instruction slot'uyla merak ediyorum. İyi "pass"lar
vsa, psa ve fxc; DX SDK ile gelen derleyiciler. |
|
Başa dön |
|
|
levent
Kayıt: Mar 13, 2003 Mesajlar: 188 Nereden: İstanbul
|
Tarih: Mon Dec 05, 2005 3:13 pm Mesaj konusu: |
|
|
devreci demiş ki: |
levent hocam eline sağlık harika olmuş diller arası ittifak diye buna derim |
asıl senin eline sağlık, böyle ufak ama güzel kodlarla uğraşmak iyi oluyor hem zaman almıyor hem de sonuç tatmin edici. bu arada shaderlar bende gayet güzel çalışıyor (kartım söylediğim gibi fx5200). kodu incelemedim ama her an musallat olabilirim
bi de bir şey sorayım opengl örneğindeki texture.dat ve vector.dat'ı nasıl elde ettin? ekonomik (yani az zaman alan) bir yöntemin var mı? kullandığın başka bir program ? ,kendin bir editör mü hazırladın yoksa direk binary dump falan mı?
kolay gelsin... |
|
Başa dön |
|
|
|