Önceki başlık :: Sonraki başlık |
Yazar |
Mesaj |
stroma
Kayıt: Mar 31, 2003 Mesajlar: 169
|
Tarih: Tue Aug 09, 2005 1:06 am Mesaj konusu: End of OpenGL? |
|
|
yeni windows ile opengl in microsoft tarafından öldürüleceği söylentileri uzun zamandır var. performans düşüşleri, yeni extension kullanamama gibi bazı durumlar sözkonusu(1.4 e göre işlenecek). yeni windows ile grafik kalitesinde ve performansında artış geleceği belirtiliyordu aslında ancak bunun opengl tarafında olmadığı aksine opengl ile %50 lik bir düşüş olacağı bekleniyor. olayı ms tarafından açıklayan resmi bir yazı görmedim doğrusu(bilen varsa gösterirse iyi olur, ben 3dlabs açıklamalarına göre konuşuyorum). ms in adamlarının artık ARB de olmaması da bunun bir nedeni olabilir. ancak vista nın yeni WGF sistemi ile çalışacağı ve ekran kartlarının bunu kullanarak çizim yapması gerektiğini biliyoruz. opengl kullanılması için directx tabanlı "ms opengl" gibi bir layer olacak. ancak bu yavaş ve 1.4 sürüme göre olacak. haliyle yeni extensionları desteklemeyecek. kısacası bi halt yapılamayacak. bunları aşmak için bişeyler yapılır(ICD olursa desktop un kötü görüneceği ancak uygulamaların uygun performans ile çalışacağı söyleniyor) ama benim gibi directx e geçen pek çok şirket ve oyun yapımcısı var. zaten pc için profesyonel pek çok oyun d3d le yapılıyordu. d3d-ogl tartışması yapmaya gerek yok gerçi. d3d nin pek çok zaman daha hızlı olduğu bir gerçek. windows un da linux den hızlı olduğu...
siz bu konu hakkında ne düşünüyorsunuz? |
|
Başa dön |
|
|
3ddreams
Kayıt: Nov 28, 2003 Mesajlar: 352 Nereden: İstanbul
|
Tarih: Tue Aug 09, 2005 5:49 am Mesaj konusu: |
|
|
Windows için oyun yazılacaksa bence bu iş için en iyi araç DirectX olacaktır . Sonuçta Microsoftun kendi uygulaması ve teknolojik gelişmelerin anında entegre edildiği bir api. DirectX sadece çizdirme için kullanılmaz. İçinde oyun yazmak için gerekli tüm api ve araçları içerir.
Direct3D -> Çizim için kullanılır 2d/3d.2d çizim işlemleri için klullanılan [/b]DirectDraw->[/b] Direct3d ye entegre edilmiş bir şekilde kullanılıyor artık
DirectSound->Ses işlemleri. Ses kayıt,oynatma vs
DirectMüzik->Seslerle ilgili daha değişik işlemler yapar. MDI kaydetme/oynatma, filtresi olan hertürlü ses formatını çalabilme vs.Normalde [/b]DirectSound sadece wav dosyaları ile çalışabilir.
DirectShow->Video işlemeleri ile ilgili aklınıza ne gelirse. oynatma,editing,efektler. Yanlız DirectShow direcx sdk dan çıkarıldı ve Platform SDK ya konuldu. Oradan temin ederek kullanabilirsiniz.
DirectPlay->MultiPlayer oyun yazımı için gerekli rutinleri içerir.
DirecX içinde gelen D3DX utility library :
Animation Functions -> .x dosyaları içindeki animasyonları oynatabilme
General Purpose Functions->[b]Genel amaçlı birkaç fonksiyon içerir.Yüklü olan direcx versiyonun öğrenebilme vs.
[b]Math Functions-> 2d/3d de aklınıza gelebilecek tüm hesaplamalar için gerekli fonksiyonları içerir. Dot,cross,normalize, vektör,matrix,quaternion hesaplamaları,iki vektör arası uzunluk vs.
Mesh Functions-> .x model dosyalarını ile ilgili fonksiyonlar
UVAtlas Functions ->UV bilgisi olmayan bir modelin UV haritasını oluşturur. Bu haritayı değişik çizim programları ile boyayarak model üzerinde kullanabiliriz. Ve daha değişik işlemler.
Precomputed Radiance Transfer Functions->Işık,gölge vs gibi olayların önceden hesaplanıp shader aracılığı ile kullanmı ile ilgili fonksiyonları içerir.
Shader Functions->Shader fonksiyonları
Shape Drawing Functions->Şekil çizimi ile ilgili fonksiyonlar.
Texturing Functions->Texturing ile ilgili fonksiyonlar.
Vektör ve Matrix sınıfları da DirecX içine gelir. Ayrıca sizin yazmanz gerekmez. Ve daha nicesi. Sadece oyun yapacam deyin siz.
Olay budur. Ben bunun için DirectX kullanıyorum. Multiplatform bir işe soyunursam o zaman OpenGL kullanırım. Ki şu an başka bir platform olarak x-box gibi bir seçenek var. Önce windows için birşeyler yapın multisini sonra düşünün. Şu an devir microsoft devri ve bu devrin de kapanması çok uzun zaman alacağa benziyor. |
|
Başa dön |
|
|
3ddreams
Kayıt: Nov 28, 2003 Mesajlar: 352 Nereden: İstanbul
|
Tarih: Tue Aug 09, 2005 6:24 am Mesaj konusu: |
|
|
Yazdıklarım konu ile alakasız olmuş ama neyse. OpenGL hakkında dediğin olay olursa çok kötü olur ve olabileceğine pek ihtimal vermiyorum. Çünkü eğer bu olursa programcıların yarısı ayaklanır. Hehe. OpenGL gerek ekran kartı üreticileri gerekse oyun üreticileri tarafından kullanılıyor ve destekleniyor. Bu olayın olabilmesi zor biraz ama imkansız değil. |
|
Başa dön |
|
|
madprogrammer
Kayıt: Jun 10, 2004 Mesajlar: 290 Nereden: İstanbul // Üsküdar
|
Tarih: Tue Aug 09, 2005 10:55 am Mesaj konusu: |
|
|
öncelikle böyle bir şey olması durumunda profesyonel oyun şirketlerinin bir çoğu windows'a oyun çıkartmayı durduracaktır. Ki microyumuşağın bunu yapması durumunda kendini öldüreceğini tahmin etmesi gerekir adamların tek amacı sektörü ve piyasayı tekelleştirmek bknz. amerika'da nasa özel uzay kuruluşlarının önünü kesmekte ve aynı amerika'da microyumuşak OS geliştiricilerinin önünü kesmekte adamlar AB'den uyarı aldılar işletim sisteminde tekelliği bıraktılar şimdi oyun sektörüne geçtiler.
Alıntı: |
d3d nin pek çok zaman daha hızlı olduğu bir gerçek |
gerçekçi olalım istesen biz bunu 3ddreams ile defalarca tartıştık olay algoritmada bitiyor ikisi de (OpenGL, D3D) aynı şeyleri farklı iki oldan kullanıyor fakat ulaştıkları nokta değişmior. ben kalkıp bir objeyi ekrana kare başına 50 kere çizdiririm d3d'de ama gider ogl'de kare başına 1 kere çizdiririm sonra gelir ogl hızlı derim olmaz öyle şey ikisi de aynı tek farkları ogl sadece çizim için d3d ise oyun bazlı.
Alıntı: |
windows un da linux den hızlı olduğu |
yerlerini karıştırdın herhalde linux'ün ram kullanımının (bahsettiğim sürümler komple linux'tür kalkıp MonkeyLinux ile windows'u aynı kefeye koyma, aynı kefede olması gerekenler windows, debian, suse, knoppix, slackware, mepis ....) windows'tan kat be kat üstün olduğu gerçeği 2'nin 1'den büyük olduğu gerçeği ile aynı değerde. |
|
Başa dön |
|
|
devreci
Kayıt: Mar 04, 2005 Mesajlar: 256
|
Tarih: Tue Aug 09, 2005 12:59 pm Mesaj konusu: |
|
|
Evet tıpkı DOS'un başına gelenler gibi. yapılan programlar başka işletim sisteminde çalışmasın ve "dünyada tek olıyım" düşüncesi Söylenecek fazla bişey yok dünyada her yede kapitalizm rüzgarı var zaten. Tavsiyem rüzgara karşı yürümeyin.Rüzgar uçurur sizi Directx'i yavaş yavaş öğrenmeye bakın. Yeni çıkacak windowsda ogl ve dos'u uçuracaklar gibime geliyor |
|
Başa dön |
|
|
levent
Kayıt: Mar 13, 2003 Mesajlar: 188 Nereden: İstanbul
|
Tarih: Tue Aug 09, 2005 1:44 pm Mesaj konusu: |
|
|
madprogrammer demiş ki: |
öncelikle böyle bir şey olması durumunda profesyonel oyun şirketlerinin bir çoğu windows'a oyun çıkartmayı durduracaktır... |
bu ne kadar mümkün acaba? dünyadaki pc'lerin % 90'ında kurulu bir sistem için oyun geliştirmeyi bırakırlarsa kime ne oynatacaklar??? |
|
Başa dön |
|
|
stroma
Kayıt: Mar 31, 2003 Mesajlar: 169
|
Tarih: Tue Aug 09, 2005 1:51 pm Mesaj konusu: |
|
|
sen etme bari göksel, bişeyi karıştırdığım yok, iyi bilmediğin şeyleri konuşma huyundan vazgeçsen iyi olur. başına şimdiye kadar yeterince iş açmadı mı?
aynı renderer yapısı içerisinde (benim eski motorda da) DX GLden %1-3 fps daha fazla veriyor. benzer sonuçları, ogre irrlicht gibi gl ve dx destekleyen pek çok motor da gösterir, algoritmada bitiyor diyorsun ama onlarda aynı sistemler kullanılıyor çizimler için. (aynı sistem olduğunu kabul etmesen bile dx in "aynı sahne" için fazla fps vermesi senin dediğini çürütmeye yeterli) hatta ortak sınıflardan oluşuyorlar. hatta oyunlarda da belli bu fark. yapımcılarda da. carmack zamanında ms ile opengl yüzünden çatışmasaydı belki o da directx kullanırdı şimdi. doom3 küçük alanlarda çok yüksek gereksinim isterken half life aynı anda 8 pass yapmasına rağmen rahatlıkla oynanmaktadır. far cry da bir diğer örneği.. zaten böyle olmasa kim kullanır ki dx i? o kadar yapımcı çok mu meraklı platform bağımlı olmaya?
Alıntı: |
tek farkları ogl sadece çizim için d3d ise oyun bazlı. |
zaten bunu diyerek herşeyi mahvetmişsinn.. sanırım hiç d3d kullanmadın bile.
benzer durum windows ile linux arasında da geçerli. oyunlar linux de "pek az" daha yavaş çalışıyor, ben kendi programlarımla sadece 2 deneme yaptım yanlış bilgi vermek istemem, belki senin denemelerin farklı sonuç vermiştir) ve yaklaşık 4-5 fps düşüş olduğunu gördüm. (bu arada ram kullanımı ile hız arasında da çok iyi bir bağlantı kurmuşsun. )kaldı ki konu bu değil zaten, lütfen bu konuda tartışacak olan yeni başlık açsın. konuyu dağıtmayalım.
diğer yandan
Alıntı: |
öncelikle böyle bir şey olması durumunda profesyonel oyun şirketlerinin bir çoğu windows'a oyun çıkartmayı durduracaktır. Ki microyumuşağın bunu yapması durumunda kendini öldüreceğini tahmin etmesi gerekir |
diyerek ayrrı bir hata yapmışsın. ne donanım üreticileri ne de yazılımcılar Ms e karşı bahsettiğin hareketi yapamaz. |
|
Başa dön |
|
|
Ragnor
Kayıt: Jan 26, 2003 Mesajlar: 218 Nereden: Bursa
|
Tarih: Tue Aug 09, 2005 2:41 pm Mesaj konusu: |
|
|
OpenGL'e birşey olmaz. Sonuçta OpenGL windoze altında oyun yapmak için geliştirilmiş bir library falan değil. Bu tarz bir düşüncede aysbergin sadece su üstündeki bölümünü görmekten farksızdır. DirectX belki oyunlarda OpenGL'den biraz daha hızlı olabilir ama bunun nedeni OpenGL'in daha geniş bir kullanım alanı olması ve geliştirilirken sadece oyun yapımı konusunun düşünülmemesidir.
M$ OpenGL'i windoze'da kullanılmaz hale getirirse birçok firmanın windoze'a oyun çıkarmayı bırakacağı düşüncesi (düşünmesi güzel ama) saçma.
Zaten bugün bile windoze ortamındaki gerçek OpenGL desteğini veren M$ değil ekran kartı üreticileridir. Ve yine onlar bu desteği vermeye devam edeceklerdir.
Windoze vs. Linux konusunda Linux'ta oyunların biraz daha yavaş olmasının nedeni Linux için oyun üreten dev bir sektörün olmamasıdır. Oyunlar bu yüzden biraz daha yavaştır, yoksa bunun linux'un yapısı ile alakası yoktur.
Ve son olarak Rüzgardan korkmayın. Çünkü aslında rüzgar sizden korkuyor . |
|
Başa dön |
|
|
madprogrammer
Kayıt: Jun 10, 2004 Mesajlar: 290 Nereden: İstanbul // Üsküdar
|
Tarih: Tue Aug 09, 2005 3:15 pm Mesaj konusu: |
|
|
Serdar, öncelikle bilmediğim şeyler hakkında konuşuyor değilim daha geçen gün irrlichtte önce kendim saheneler hazırladım sonra test ettim opengl daha yüksek bir ÇİZİM HIZI verdi. Bence Serdar fps'nin tam olarak ne olduğunu bilmek zorundasın. FPS bir objenin a noktasından b noktasına ne kadar zamanda gidebileceğinin göstergesidir. Esas bakılması gereken şey iki kare arasındaki çizim hızıdır ki irrlcht'in kendi örneklerinde bile daha efektsel sahnelerde opengl'in ağır bastığını kendim gördüm üstelik iki kartta da (geforce fx 5200 ve 7800 gtx) bununla beraber directx'in sadece bir noktada daha iyi olduğunu kabullenebilirim ki bu da daha büyük alan teşkil eden yerlerin çizimidir. OpenGL'in 100 fps ile çizdiği terrain'i DX 110 ~ 120 fps ile çiziyor ki buna kesinlikle itirazım yok ve o konuda DX'î her zaman kıskanmışımdır fakat sen verdiğin örneğin doğruluğundan emin misin? OpenGL daha küçük alanı DX'ten kesinlikle çok daha hızlı çiziyor. Neyse ben bu kadar söyleyeyim ba farkında mısın bu konu yine OpenGL~DX kavgasına döndü. Ben de Serdar, senin dediklerini her ne kadar kabullenmesem de nedense inandığımdan motora d3d entegre etmeye başladım çok merak ediyorum acaba sonuçlar nasıl olacak. Neyse tekrar hatırlatayım ben yaşadıklarımdan ders aldım ve eğer bilgimin olmadığı bir konu olsaydı asla karşı çıkmazdım. |
|
Başa dön |
|
|
vmeydaneri
Kayıt: Dec 08, 2004 Mesajlar: 583 Nereden: Ankara
|
Tarih: Tue Aug 09, 2005 3:42 pm Mesaj konusu: |
|
|
Alıntı: |
FPS bir objenin a noktasından b noktasına ne kadar zamanda gidebileceğinin göstergesidir |
daha ders alamamissin o zaman FPS Turkce meali Saniiyede gosterilen karesayidir buda bize bir dt yi bulmamizi saglar ...Yani anliycan bir degiskene direkt bir ekleme yapilacak olsa
saniyede 200 kare gosteren bir bilg. ile 100 kare gosteren bilg. da hiz farkli olacaktir.
Hizi her iki bilg. dengelebilcem icin deltayi bulman gerek boylece her iki bilg. dada yaklasik ayni hizi elde edersin FPS budur .. misal
Kod: |
int hiz;
hiz +=5;
//saniyede 200 kez donerse 1 saniyede 200*5 yani hiza = 1000 ekleme yapilir.
//eger saniye 100 kez donerse 1 saniyede 100*5 yani hhiza = 500 ekleme yapilir ..
|
fark ortada her ikisinde 1 sn deki hiz degerleri farkli bu yuzden dt bulunup oranlari dengelersin..
hiz +=5*dt;
boylece her bilg. atiyorum saniye ~100 kadar ekleme yapilir..
//---------------------------
//---------------------------
Diger konuya gelirsek tekel olma kismina izin vermezler bu yuzdeen microsoftta zamaninda cok dava acildi ve genelde kazandilar bu yuzden bunu goze almazlar..
//-----------------------
Diger konus ise ircclicht veya benzeri oyun motorlari bunyelerinde hizi etkiliycek diger seyleride barindirir bu yuzden o ayarlarinin hepsini acarsaniz ... Saf bir opengl veya D3d ornegi ile arasinda fark muhakkak olucaktir ..
Birinde AntiAnaliz acik birinde yoksa FPS farki elbette olucaktir...Motorlarla Saf kodlari karsilastirma yapmayin... |
|
Başa dön |
|
|
madprogrammer
Kayıt: Jun 10, 2004 Mesajlar: 290 Nereden: İstanbul // Üsküdar
|
Tarih: Tue Aug 09, 2005 4:01 pm Mesaj konusu: |
|
|
@vmeydaneri: ben fps'nin tanımında siggraph'lardan birinde gördüğüm bir şeyi söyledim ve evet eksik söylediğimi kabul ediyorum. Fps bir objenin a noktası ve b noktası arasındaki fark 1 sn olmak şartıyla bu mesafeyi kaç karede kat edeceğidir. Bunun birebir ingilizcesini daha opengl'e yeni başlarken siggraph'lardan birinde okumuştum google'da Time Based Movement'ı araştırıyordum. Fakat benim asıl belirtmek istediğim nokta Serdar'ın söylediği üzere FPS'nin iki kare arasındaki çizim hızı olmadığıdır. FPS bir hız temsilcisidir. Ama iki kare arasındaki çizim hızı katiyen değildir.
Ana konuya dönecek olursak Serdar'ın FarCry örneğini şöyle çürüteyim
Alıntı: |
In FarCry, opengl doesn't render some of the grass and other textures. But, it runs faster than Direct 3d. |
farcry sadece d3d9 değil aynı zamanda opengl ile de çalışabiliyor ve her nedense ogl ile daha hızlı bence bu bazı çimleri çizmemesindendir deme o kadar ağır objenin yanında farcry'daki çimler hiç kalacaktır.
Bu arada tekrar söyliyeyim kavga çıkmasın ikinci mesajımdaki FPS tanımının hatalı olduğunu kabul ediyorum. |
|
Başa dön |
|
|
stroma
Kayıt: Mar 31, 2003 Mesajlar: 169
|
Tarih: Tue Aug 09, 2005 5:35 pm Mesaj konusu: |
|
|
konunun sapıtmasına sinirlenir...
@goxel : ne saçma sapan örnekler veriyorsun ya. yok küçük nesne çizince daha hızlıymış, yok çimen çizmeyince hızlıymış. ... noktalar arası 1 sn imiş... çizim hızıymış, fps çizim hızını vermezmiş... havada bomboş şeyler söyleyip durma. sanki millet 10fps ile oynarken "ama çok hızlı çiziyor" diyecek..
farcry d3d ile instancing yaparak çiziyor bütün bitkileri. kaplamaları atlaslıyor. tek pass kullanıyor, bu demek tek state değişim kodu oluşuyor haliyle çook daha hızlı çizyor bir ton bitkiyi.. opengl ile bunu yapmıyor. haliyle bazı şeyleri çizmeden, gerekli state değişimlerini yapmadan fake yöntem kullanıyor. çizilmeden hızlı olur tabii. boş ekran d3d de arazi çizen ogl den hızlı (çimleri hala sadece polygon olarak gören deli programcım benim)
bunları bilmediğimi sanmıyorsun umarım. kendi kendini rezil edip durma. başlıkta attığın her mesajda hatalar, saçmalıklar dolu. (siteye yolladığın dersteki aptal push pop olayları gibi(daha push pop kullanamıyor, benchmark edecek sistemleri ..)) başta dedim, tam bilmediğin şeyleri (en basiti şu fps konusu) anlatma huyundan vazgeç. rezil oluyorsun işte. belki bana karşı "rezil etme" girişimn olmasaydı bunları öm ile yollardım sana. kimseyi rezil edince aldığım bir zevk yok. ama sen gelip de beni kullanarak kendi kendini rezil etmek için uğraşırsan bunu teşhir ederim.
-----------
artık bitsin d3d/ogl kavgası. başlığa bakın! hiç sistemleri açıklayan, neler olacağını belirten yok! sonra "foruma niye saçma sorular geliyor?" dersiniz. nedeni belli değil mi? millet atış sahası geniş konulara ne çabuk kayıyor.. hala varsa tartışmak isteyen yeni başlık açsın.. orada kendine atışacak adam, sallayacak alan bulsun. böyle devam ederse cevap yazmayacağım zaten.
---
sakinleşip konuya dönüyoruz:
sanırım windows hedefine ulaşacak, baksanıza opengl i, linux u savunmaya çalışan göksel bile "d3d ekleyeyim bari" diyor.. |
|
Başa dön |
|
|
e5games
Kayıt: Mar 26, 2004 Mesajlar: 42 Nereden: ANKARA ( DİKMEN )
|
Tarih: Tue Aug 09, 2005 10:56 pm Mesaj konusu: |
|
|
Benim bir sorum var eger biz DirectX kullanilarak yapilan bir oyun yazar ve bunu para ile satmaya kalkarsak microsoft'a herhangi bir beder odermiyiz? (Kesin dalga gecen olucak ama.... )
stroma 'nin dediklerine katiliyorum,
bence microsoft kesin bir oyun oynayacak ama eskisi kadar kizmiyorum cunku onlarda herkezin istedigini istiyorlar...
Onceleri acik kaynakkod taraftariydim fakat su aralar staj'dan kaynakli(Stajda mySQL,ASP.NET Vb. uygulamalari uzerinde calisiyorum) biraz daha microsoft yanlisi dusunuyorum; adamlar belki birseyi alip(calip) onu allayip pulluyor ama daha kolay kullanilir ve daha az yorucu hale getiriyor (tabi bunun icinde cuzzi bir para aliyorlar )bu yuzden de artik kendi adima microsoft 'un .Net platformuna yoneliyorum.Bence gelecek microsoft uzerine kurulu ole yada bogle.(tabi bu dedigim baska Microsoft tarafindan gelistirilmis programlar icinde gecerli DirectX vs..) |
|
Başa dön |
|
|
3ddreams
Kayıt: Nov 28, 2003 Mesajlar: 352 Nereden: İstanbul
|
Tarih: Tue Aug 09, 2005 11:40 pm Mesaj konusu: |
|
|
e5games demiş ki: |
Benim bir sorum var eger biz DirectX kullanilarak yapilan bir oyun yazar ve bunu para ile satmaya kalkarsak microsoft'a herhangi bir bedel odermiyiz? |
Ödemeyiz. Ama "Games for Microsoft Windows Logo" sertifikası almak istiyorsanız biraz para isteyebilirler. Çok büyük firmaların oyunları için güzel bir etiket olur. Ama ufak oyunlar için çok da önemli olduğunu düşünmüyorum. |
|
Başa dön |
|
|
KePhReNZ
Kayıt: Jan 02, 2003 Mesajlar: 55 Nereden: İzmir
|
Tarih: Wed Aug 10, 2005 9:36 am Mesaj konusu: |
|
|
Merhaba,
Aynı konu ile süregelen tartışmalar ve bunun ilgili dökümanlara çeşitli linkler war.
http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=12;t=000001
Not: Linux Windowstan yawaş değildir, yada tam tersi geçerli değildir. Linux kerneli gayet hızlı bir kerneldir lakin OpenGL driveri geliştiren firmalar Win32 ye gosterdikleri özeni Linuxa göster(e)memektedirler. Linux CPU ve IO kısıtlı uygulamalarda gayet iyi sonuçlar vermektedir.
Saygılarımla,
Ahmet Bilgili |
|
Başa dön |
|
|
|