Ana Menü
· Ana Sayfa
· Dosyalar
· Dökümanlar
· Forum
· Günün Resmi
· Haber Arşivi
· WWW Linkleri
· Üye Listesi

     Forumlar

 strncpy ve strncpy_s
 Konu adi : Borland c++ Builder ile Amiral Batti
 Rady10 - YerliOyun
 Kabusta Kaybolmak
 Konsol da programı bekletmek
 Oyun programlama icin hangi programlama dilli ?
 flash! şanlıurfa bilgisayar oyununda(no rapid)
 Sevgilim Olur musun?
 Directx'e başlamak isteyenler bi bakın
 PSP programlama
 Flash tan php
 Bilgisyr oyunu yapmam için üniverstde hangi bölüme girmeliym
 www.arshiv.gen.ms
 Cimg.h ilgilenenler icin
 müttefik oyunu

Konu Disi
 Emraah
 Yeni sitemiz açıldı
 Kalp krizi durumunda ne yapılmalı?
 Oyun sektöründe hangi görevde çalışmak isterdiniz?
 Takım arkadaşı sorunu
 msn de renklı nıck
 pc hata veriyor ! YARDIM!!
 Gülmek isteyenler Buraya
 İnanılmaz hl 2 modu görüntüsü
 Computer Languages History

[ Forumlara Git ]


oyunyapimi.org: Forums

www.oyunyapimi.org :: Başlığı Görüntüle - ilk opengl programım :)
 SSSSSS   AramaArama   Kullanıcı GruplarıKullanıcı Grupları   ProfilProfil   LoginLogin 

ilk opengl programım :)
Sayfa Önceki  1, 2, 3, 4, 5, 6, 7  Sonraki
 
Yeni Başlık Gönder   Cevap Gönder    www.oyunyapimi.org Forum Ana Sayfası -> Konu Dışı
Önceki başlık :: Sonraki başlık  
Yazar Mesaj
devreci



Kayıt: Mar 04, 2005
Mesajlar: 256

MesajTarih: Wed Nov 30, 2005 3:26 pm    Mesaj konusu: Alıntıyla Cevap Ver

Aynı cipe sahip bazı ekran kartları nedense 200$ ye kadar çıkıyor.
geforce3 64mb 20$ ye bile var Very Happy . En iyisi ati9200 ve geforce 3 alıp shader kasmak Twisted Evil . byes
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Kullanıcının web sitesini ziyaret et
devreci



Kayıt: Mar 04, 2005
Mesajlar: 256

MesajTarih: Thu Dec 01, 2005 12:35 pm    Mesaj konusu: Alıntıyla Cevap Ver

ufak bi soru daha Embarassed umarım başınızı ağrıtmamışımdır Idea

Şimdi kartlarımız aldık eve gittik hiçbir farklılık göremedik Crying or Very sad ,
yanlız şu shader konusunda ufak bi sorum olacaktı

HLSL veya GLSL den asm shaderin ne farkı var bazı sourceleri incelediğimde direk asm kodu yazılmış bazılarında da bildiğimiz c kodu gibi yazılmış ve asm de yazılanlara GPU programming adı verilmiş aynı şey değilmi yani c gibi yazılanlar asm koduna çevrilmiyormu ?

bir de sevindirici haber, Ati ve nvidia da ortak registerler var zaten bunları kullanmak lazım tabi birinin diğerinden farklı olarak +register ve komutları var bunları kullanmamak lazım tıpkı AMD, Pentium arasında fark gibi
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Kullanıcının web sitesini ziyaret et
DG



Kayıt: Mar 06, 2004
Mesajlar: 351
Nereden: Eskişehir

MesajTarih: Thu Dec 01, 2005 12:54 pm    Mesaj konusu: Alıntıyla Cevap Ver

devreci demiş ki:

HLSL veya GLSL den asm shaderin ne farkı var bazı sourceleri incelediğimde direk asm kodu yazılmış bazılarında da bildiğimiz c kodu gibi yazılmış ve asm de yazılanlara GPU programming adı verilmiş aynı şey değilmi yani c gibi yazılanlar asm koduna çevrilmiyormu ?


Hepsinde yazdığın programlar GPU üzerinde işletiliyor. Yani hepsi GPU programming. HSLSL, GLSL, Cg gibi diller ise o gördüğün ASM çıktısını yaratmak için geliştirilmiş üst seviye diller. Tabii ekran kartı anlamaz bunların hiçbirini, program gönderilmeden önce derleniyor.

Üst seviye dilleri kullanmanın bazı avantajları var. Tek parametre ile (yeterlilik gösterebilen) tüm shader sürümlerinde derletme yapabiliyorsun. Bunu ASM ile yapabilmek için elle her şeyi güncellemelisin. Okunabilirlik, yeniden kullanılabilirlik, vs.. vs.. bilinen şeyler zaten.
Başa dön
Kullanıcı profilini gör Kullanıcının web sitesini ziyaret et
devreci



Kayıt: Mar 04, 2005
Mesajlar: 256

MesajTarih: Thu Dec 01, 2005 1:01 pm    Mesaj konusu: Alıntıyla Cevap Ver

peki hocam Asm de yazdığım kodu hem dx gemde gl de çalıştırabilirmiyim
eğer öyleyse asm shaderin eksileri çekilmeye değer Very Happy
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Kullanıcının web sitesini ziyaret et
DG



Kayıt: Mar 06, 2004
Mesajlar: 351
Nereden: Eskişehir

MesajTarih: Thu Dec 01, 2005 1:03 pm    Mesaj konusu: Alıntıyla Cevap Ver

devreci demiş ki:
peki hocam Asm de yazdığım kodu hem dx gemde gl de çalıştırabilirmiyim
eğer öyleyse asm shaderin eksileri çekilmeye değer Very Happy


APIlerin görevi sadece shader kodunu ve ek bileşenleri (stateler, textureler) ekran kartına göndermek. Kodunu GPU çalıştırıyor. Ona APInin yapacak bir şeyi olmaz. Yani, evet.
Başa dön
Kullanıcı profilini gör Kullanıcının web sitesini ziyaret et
devreci



Kayıt: Mar 04, 2005
Mesajlar: 256

MesajTarih: Thu Dec 01, 2005 1:07 pm    Mesaj konusu: Alıntıyla Cevap Ver

oo çok iyi hocam o zaman asm shader öğrenelim Laughing yüksek seviye diller bozar bizi Cool
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Kullanıcının web sitesini ziyaret et
DG



Kayıt: Mar 06, 2004
Mesajlar: 351
Nereden: Eskişehir

MesajTarih: Thu Dec 01, 2005 1:19 pm    Mesaj konusu: Alıntıyla Cevap Ver

devreci demiş ki:
oo çok iyi hocam o zaman asm shader öğrenelim Laughing yüksek seviye diller bozar bizi Cool


İyi bakalım, kolay gelsin Smile

Bu arada "shader nedir, ne değildir" konusunda üç beş karalanmıştı forumda. Yeni aklıma geldi. Bir arat istersen.
Başa dön
Kullanıcı profilini gör Kullanıcının web sitesini ziyaret et
vmeydaneri



Kayıt: Dec 08, 2004
Mesajlar: 583
Nereden: Ankara

MesajTarih: Thu Dec 01, 2005 1:50 pm    Mesaj konusu: Alıntıyla Cevap Ver

http://www.osmanturan.com/

burda ornekler var bunlari bir incele istersen...

veya direkt:

http://www.osmanturan.com/download/dot3tutorial.zip

http://www.osmanturan.com/download/perpixeltutorial.zip
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Kullanıcının web sitesini ziyaret et MSN Messenger
OsmanTuran



Kayıt: Apr 09, 2004
Mesajlar: 210
Nereden: Mersin - K.Maraş gel-git halinde

MesajTarih: Thu Dec 01, 2005 5:08 pm    Mesaj konusu: Alıntıyla Cevap Ver

@levent:
Tebrik ederim delphi portu icin.Kodda biraz yapisal degisiklikle bayaga iyi dusurulur gibi geliyor.Ayrica Delphi4ten sonra denemelerden uzaklastim ama Delphi2 ufak exe cikarma konusunda cok iyi diye hatirliyorum.Install uygulamalarimi Delphi2 de ozellikle derliyordum.Bu durum tabi biraz yaygin unitelerin eskiden daha sade olmasindan kaynaklaniyor olabilir.Fazla zamanim yoktu ama delphideki fonksiyon cagrimlarindaki performans dususlerine ve sonuclarin genellikle extended modda yapilip sonra single a dusuruldugunu hatirladigim icin soyle nacizane "BELKİ" bir iki bayt tasarruf ettirecek bi kod degisikligi gondereyim:
Alıntı:
procedure Normal(var x, y, z: Single);
asm
FLD x
FMUL ST, ST
FLD Y
FMUL ST, ST
FADD
FLD Z
FMUL ST, ST
FADD
FSQRT

FLD1
FDIVR
FLD ST
FMUL X
FSTP X
FLD ST
FMUL Y
FSTP Y
FMUL Z
FSTP Z
end;


P.S.: Inline-Assembly konusunda biraz compiler bagimliyim ve bu mesaji yazarken uygun bi yerde degildim.Kodda pointer hatalari yoksa dogru calisir.

<biraz konu disi>
EXE dosyalarin header larinda kaynaklanan bi bildirim yuzunden exeler 512baytin katlari halinde kaydediliyor diye hatirliyorum.O yuzden kodda bayaga oynama yaptiktan sonra boyutta degisiklik gozle gorulur hale geliyordu.Yanlis mi hatirliyorum?
</biraz konu disi>
Başa dön
Kullanıcı profilini gör Kullanıcının web sitesini ziyaret et MSN Messenger
levent



Kayıt: Mar 13, 2003
Mesajlar: 188
Nereden: İstanbul

MesajTarih: Thu Dec 01, 2005 5:41 pm    Mesaj konusu: Alıntıyla Cevap Ver

hoşgeldin osman,
açıkçası konu opengl+delphi olup da seni göremeyince biraz endişelenmeye başlamıştım. Wink
normal'i dediğin gibi derledim, iki sorun var 1. derlendi ama çalışmıyor, 2.si boyut azalmadı.
1.sorunu biraz didikledim ancak zaman problemim olduğundan bir çözüm bulamadım belki haftasonu.
2.sorun da sanırım senin dediğin gibi bir fixed 512 durumu var. binary her zaman 512 byte'ın katları halinde oluşuyor. birazcık daha kısmamız lazım ama nerden? delphi zaten o kadar optimize ki,const yerine sayı yazarak veya apileri tek dosyaya toplayarak pek bir kazanç sağlamak mümkün görünmüyor. ancak ortada bir 9k sözü var Smile uğraşacağız...

eski delphiler gerçekten de daha ufak çıktılar üretiyor. ben de installer'ımı (dynamic array desteklememesine rağmen) delphi 3'le yazmıştım. Jordan Russell sağolsun bu konuda dikkatimi ilk Inno Setup SDK'nın readme'si çekmişti.

bir de bazı pointer işlemlerinde ciddi sıkıntılarım var, mesela c'de
*float x;
şeklinde tanımlanan bir pointer'ın dizi gibi düşünülüp her elemanına
x[1] vs vs diye erişilebilirken ben delphide pSingle olarak tanımladığım bir pointer'da aynısını yapamıyorum. oysa bildiğim kadarıyla pascal'da bu destek vardı. Dynamic array tanımlayıp da işin içine New(),FreeMem() falan sokunca da çıktıda 4-5 kb'lık büyümeler oluyor. Bu konuda bir fikrin var mı?
ben şimdilik (15klık kodda) şöyle bir çözüm buldum
Kod:

type singlearray=array[0..0] of single;
type pSingleArray=^SingleArray;

diye statik tanımlayıp daha sonra
Kod:

       mva:=pSingleArray(GlobalAlloc(0,1000000));
       mvb:=pSingleArray(GlobalAlloc(0,1000000));

şöyle uyduruk bir biçimde genişletiyorum. bu konuda herhangi bir önerin var mı?
Başa dön
Kullanıcı profilini gör Kullanıcının web sitesini ziyaret et
ebleda



Kayıt: Dec 30, 2004
Mesajlar: 183
Nereden: usa

MesajTarih: Thu Dec 01, 2005 7:40 pm    Mesaj konusu: Alıntıyla Cevap Ver

Son gelen Delphi compilerlarinda fazla deneyimim yok ama (C'ye benzetme yaparak), C'nin standart librarysindeki memory allocationin islemine denk windows apileri var. Bunlar icin api yerine standart fonklari kullandiginizda, otomatikman iki lib'te projeye ilave ediliyor. Orjinal C kodunda boyle sorunlar var. Bunlarin hepsinin ayni library icinde es fonksiyonlar cinsinden yazilmasi gerek ki bu C exesini bayagi bir asagi ceker. Delphi'den daha da asagi cekebilmesi lazim.

Benim esas amacim kodu azaltmak degil. Amacim C compilerinin manuel olark yazilmis ASM koduna denk kod olusturabilecegini gostermek. Bunu yaptiginizda exe size'i otomatik olarak azalacaktir. Eger icine asm kodu ekmeye baslarsaniz, bu isin espirisi kalmiyor. Oturur tamamini asm'de yazarsiniz;)

Bunun icin lucifer'in onerdigi protel bu noktada isime yaramiyor. Kaldi ki C++ ta butun operatorlere overload yapip (misal) 0-63 arasindaki sayilari 6 bitle temsil eden bir array tanimlayip, + - / * gibi temel operatorleri bu array uzerinden isletebilisiniz. Bunun icin ozel bir compilera gerek yok. Su da akilda tutulmalidir ki boyut ile hiz arasinda da direkt bir iliski yok.

Orjinal C kodunun fazla tutmasinin sebebi librarylerin dallanip budaklanmasi. Oturup hepsini bir araya toplamak gerek.

C kodu uzerinde calisanlara tavsiyem, WinMaini ortadan kaldirin. Direkt bir entry pointten programi execute edin

Bu aralar odukca yogunum onun icin bu koda ayiracak fazla zamanim yok. Ama bir ara oturup, asm'ye port etmeyi dusunuyorum. O zaman gercek sizei ortaya cikar. Boylece compilerlar ne halt ediyor daha iyi anlariz.

Koddaki 512 olayi, allignmenttan kaynaklaniyor. Onu degistirebilirsiniz.
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Kullanıcının web sitesini ziyaret et
devreci



Kayıt: Mar 04, 2005
Mesajlar: 256

MesajTarih: Fri Dec 02, 2005 11:28 am    Mesaj konusu: Alıntıyla Cevap Ver

Alıntı:
procedure Normal(var x, y, z: Single);
asm
FLD x
FMUL ST, ST
FLD Y
FMUL ST, ST
FADD
FLD Z
FMUL ST, ST
FADD
FSQRT

FLD1
FDIVR
FLD ST
FMUL X
FSTP X
FLD ST
FMUL Y
FSTP Y
FMUL Z
FSTP Z
end;


hocam oralarda FADDP kullanmak gerekmezmi. bi de fasm derleyicilerinde 256 bayt lık artışlar görünüyor. c++ da ben izledim 5klık artış oluyor vc60 de .
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Kullanıcının web sitesini ziyaret et
devreci



Kayıt: Mar 04, 2005
Mesajlar: 256

MesajTarih: Fri Dec 02, 2005 12:39 pm    Mesaj konusu: Alıntıyla Cevap Ver

tabi registerlerle beraber FADDP ST1,ST

yani

Alıntı:
asm
FLD x
FMUL ST, ST
FLD Y
FMUL ST, ST
FADDP ST(1),ST
FLD Z
FMUL ST, ST
FADDP ST(1),ST
FSQRT

FLD1
FDIVR
FLD ST
FMUL X
FSTP X
FLD ST
FMUL Y
FSTP Y
FMUL Z
FSTP Z
end;
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Kullanıcının web sitesini ziyaret et
stroma



Kayıt: Mar 31, 2003
Mesajlar: 169

MesajTarih: Fri Dec 02, 2005 6:29 pm    Mesaj konusu: Alıntıyla Cevap Ver

osman hocam exe boyutunda değil de, şu shader meselesinde bişeyler söylesen? asm nin kötülüğünden, aslında o kodların da ekran kartında derlendiğinden, direkt asm nin farklı hardware ler için yapılmış optimizasyonların dışında kalıp performansı düşüreceğinden, 50 komutluk asm nin hlsl de 35 komuta indiğinden(asm ye çevrilmiş halde, gdc de göstermişlerdi sanırım, rakamlara -+3), debug işinin zorluğundan, hlsl nin ciciliğinden, cg ye üstünlüğünden Very Happy, cg nin ati kartlarda sorun yaşattığından, glsl nin daha kolay olduğundan, ekran kartı özellikleri için delphi3d.net den.... bahsetsen de yine biraz ders alsak? Wink

shader işlerinde gördüğüm en büyük sıkıntı çok iyi bir matematik tabanı gerektirmesi. ancak anlaşılan devrecinin bu açıdan pek bir sıkıntısı yok.Wink programla bağlantısı, dilden dile çevirme.vs işleri çok zor değil.
bir de glsl programlarından asm çıktı alınmıyor sanırım. arb ye çevirsen de pek anlam ifade etmez. bence api tabanlı dil şeklinde motorda kullanmak en iyisi. ben gl için glsl, dx için hlsl kullanıyorum. cg ye kanım kaynamadı hala.. veya özel bir dil oluşturulup aynı kod ile glsl/hlsl..vs çıktı alınabilse (ati nin sushi engine de yaptığına benzer) tek dil üzerinden de yapılabilir. ama ben tavsiye etmem, performansı ister istemez düşürecektir.
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder MSN Messenger
MD-C



Kayıt: Feb 26, 2003
Mesajlar: 1258
Nereden: Dünya.Türkiye(54)

MesajTarih: Fri Dec 02, 2005 7:11 pm    Mesaj konusu: Alıntıyla Cevap Ver

devreci demiş ki:
çok sağolun FX5200 alacağım
...


Bu cümle için her zaman kullandığım denklemi kullanacağım:

FX5200 = MX440 - DirectX9.0 Desteği

Bence alınabilecek en kötü kart orta seviye olarak adlandırılan: FX5500, Radoen 9550, GeForce 6600, RadeonX600 ...dür!
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Kullanıcının web sitesini ziyaret et
Mesajları göster:   
Yeni Başlık Gönder   Cevap Gönder    www.oyunyapimi.org Forum Ana Sayfası -> Konu Dışı Tüm saatler GMT +2 Saat
Sayfa Önceki  1, 2, 3, 4, 5, 6, 7  Sonraki
5. sayfa (Toplam 7 sayfa)

 
Forum Seçin:  
Bu forumda yeni konular açamazsınız
Bu forumdaki mesajlara cevap veremezsiniz
Bu forumdaki mesajlarınızı değiştiremezsiniz
Bu forumdaki mesajlarınızı silemezsiniz
Bu forumdaki anketlerde oy kullanamazsınız


Powered by phpBB 2.x.x © 200x phpBB Group
Türkçe Çeviri : Onur Turgay & Erdem Çorapçıoğlu
Türkçe Düzenleme: Alexis Canver
Version 2.x.x of PHP-Nuke Port by Tom Nitzschner © 200x www.toms-home.com




Web site powered by PHP-Nuke
Web site engine\'s code is Copyright © 2002 by PHP-Nuke. All Rights Reserved. PHP-Nuke is Free Software released under the GNU/GPL license.
Sayfa Üretimi: 0.158 Saniye