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
 
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: Tue Dec 06, 2005 12:37 pm    Mesaj konusu: Alıntıyla Cevap Ver

Alıntı:
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ı?


hocam ufak bi iki tane program yazdım 3ds dosyalarının adını yazıyorsun bi txt dosyasına, bunları açıp flexible vertex Smile formatına çevirip arka arkaya tek bi dosya içine kaydediyor her çevirip kaydettiği dosyayının adresini veriyor bunu kodda kullanıyorsun basit bişey yani . Aynı işi resimler için yapan ufak bi program daha var.
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Kullanıcının web sitesini ziyaret et
OsmanTuran



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

MesajTarih: Tue Dec 06, 2005 2:17 pm    Mesaj konusu: Alıntıyla Cevap Ver

Kusura bakmayin biraz uzun yazmisim Very Happy

@levent:
Biraz teknolojiden uzak kalmak zorunda kalinca foruma daha nadir katilabiliyorum Crying or Very sad Kodu direk OpenBSP projemin obspMath.pas dosyasindan aldim.Varsayimsal bir degisiklikle senin koda adapte ettim.Tabii delphi ortami olsa asil calisan "son" kodu gonderebilirdim.

Boyutu delphide kismanin bi yolu su olabilir.Ne yaparsak yapalim System.pas tan kurtulamiyoruz.System.pas ta tabiki delphi optimizasyonundan geciyor.Yani kullanmadigin kodlari olabildigince eliyor.Ama System.pas cok genel kodlar icerdigi icin ayni isi yapan ozel bir koddan cok daha fazla yer kapliyor.Kaba bi ornek vermek gerekirse: Move komutu normalde bellek "tasimaya" yarar ve guvenli bir sekilde overwrite ozelligi var.Ama buna gerek yoksa bir api kullanmak (nispeten daha az kod olacaktir) yada sadece bellek "kopyalamaya" (tasimaya degil) yonelik bir kod daha az yer tutacaktir.Tabi bu da ebleda nin yapmak istedigine biraz ters olur.

Diger konuysa C/C++ -> Delphi cevrimindeki gercek bir sorun olan pointer sorunundan bahsetmissin.Gerci sagolsun devreci insani bunalima sokan karisik yapidaki pointer kullanim örnekleri kullanmamis.Dynamic arrayi kucuk kod yazmak istiyorsan onermiyorum.Zaten sen de nedenini anlamis gorunuyorsun Very Happy

*float x;
gibi bir ifadeyi delphiye su sekilde cevirebilirsin (gerci sende biliyorsun ama)
Alıntı:
var x: ^Single;
(...)
x := ListeninBaslangicElemaninAdresi;
for i:=0 to n-1 do
begin
x^ := i * i;
inc(x);
end;
(...)
yada
Alıntı:
var x: ^Single;
(...)
x := ListeninBaslangicElemaninAdresi;
for i:=0 to n-1 do
PSingleArray(x)^[i] := i * i;
(...)
yada benim en sik kullandigim sekliyle
Alıntı:
var x: PSingleArray;
(...)
for i:=0 to n-1 do
x^[i] := i * i;
(...)

ebleda demiş ki:
Su da akilda tutulmalidir ki boyut ile hiz arasinda da direkt bir iliski yok.
Evet bu konuda cok haklisin.Guncel islemcilerin dokumante edilmeyen cok sayida gorunuste sacma optimizasyon yontemleri var.Cok bilinen ve gizli olmayanlar: Unrolled loops, hardware prefetch
ebleda demiş ki:
Koddaki 512 olayi, allignmenttan kaynaklaniyor. Onu degistirebilirsiniz.
Su meshur CIH (cok bilinen adiyla cernobil) virusu gundemdeyken exe headerlarini inceleme geregi duymustum.Bildiginiz uzere cih virusu bu header daki bos alanlara kendi kodunu yaziyordu.Header in bir bildirim alaninda exe boyutuyla ilgili bi bilgi vardi ve bu bilgi hep exelerin boyutunun 512 nin katlari seklinde olacagina isaret ediyordu.Hem isletim sistemlerinin hemde compiler larin bunu gozardi ettigini goruyoruz. Very Happy

@devreci:
Stack uzerinden islem yaptigim icin kodda bi hata yok.Calisan bi uygulamadan aldim.Ama dedigim gibi fonksiyon parametrelerinin koda verilis seklinde bi sorun var o kadar.
stroma demiş ki:
...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...
Ne diyim sana? Yine beni can damarimdan yakalamissin Very Happy Sen de bilirsin daha dune kadar shader asm sini ovup duruyordum.Ama gerek yeni cikan ekran kartlarinin gercekten cok hizli olusu gerek debug etmenin zorluklari ve gerekse soyle bir bakista kodun ne ise yaradigini cozememek gibi zorluklarindan dolayi asm kullanmak artik bana gereksiz geliyor.Eskiden Cg de yaz, ARB olarak derlettir, kodu optimize et, uygula seklinde bi yontem kullaniyordum.Sonradan eklenen ve donanima ozgu asm komutlari da arttikca bu yontem bana gore pek de iyi degil artik.Cozum Half-Life2 yapimcilarinin dedigi gibi "yuksek seviyeli dil kullanin!" da.Zaten driver lar gunden gune daha da optimize hale getiriliyor.Cg ise senin de dedigin gibi ATI de sorunlu.Sushi engine nin cozumu de iyi gibi.Ortaya HLSL&GLSL karisimi ortak bir dil cikarip bunu direk cevirip yapmak bence mantikli.Tabi iki platformu birden hedeflemiyorsaniz cok gereksiz.
levent demiş ki:
window'u kodla mı oluşturmak daha ekonomik yoksa resource olarak mı?
resource daha az yer kapliyor diye hatirliyorum.
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: Wed Dec 07, 2005 10:32 am    Mesaj konusu: Alıntıyla Cevap Ver

@osman:
cevaplar için çok sağol, ve pointer allocation kodlarının her an başucumda olacağını bil. o kadar işime yarayacaklar yani. belki de geçen sene yarıda bıraktığım 8086 emulator projeme bile dönebilirim.
system.pas konusunda bir takım *naçizane* optimizasyonlarım mevcut, dediğin gibi overload'ları vs kaldırıp sanırım 1kb kadar indirebildim. ayrıca cevabını gördükten sonra yaptığım kısa bir google araştırması bana ilginç ve faydalı bir kaynak buldurdu. eminim senin ve delphi kullanan herkesin işine yarayacaktır.
Key Objects Library denen bu derleme aşağı yukarı delphinin tüm unitlerine belirli optimizasyonlar getiren bir grup psikopat rusun çalışması.

@devreci:
cevaplar ve ilginç kodlar için sağol Wink
Başa dön
Kullanıcı profilini gör Kullanıcının web sitesini ziyaret et
someuser



Kayıt: Apr 18, 2005
Mesajlar: 22

MesajTarih: Wed Dec 07, 2005 3:54 pm    Mesaj konusu: Alıntıyla Cevap Ver

örnekler çok güzel ama bi eksik var.
Bence yazdıgınız kodlara açıklama (comment) eklemek lazım.
Böyle yaparsanız süper olur herkes daha rahat bir şekilde faydalanır.
çünkü algoritmanın neresinde ne yapıldıgını herkes anlamıyor.
Açıklamalı versiyonları bekliyoruz.

tebrikler
Başa dön
Kullanıcı profilini gör
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
7. 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.291 Saniye