Şimdi Ara

Video oyunlari ve Shader surumu meselesi (Shader bilgisi olanlar cevaplarsa sevinirim)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
6
Cevap
0
Favori
919
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Biliyorsunuz oyunlar her gun gercege biraz daha yaklasiyor her acidan olmasa bile. Bunda oncelikle transistorlerin payinin oldugu tartisilmaz
    Her elektronik devrede bunlara rastliyoruz artik . Ister bir mikroislemci olsun ister RAM isterse bir grafik karti, transistorlerin onemi
    reddedilemez. Neyse, kisa keselim ama sorularimla alakali bir onbilgi oldu bu.


    Soru 1) Bu shader olaylari biraz karisik. Oyunlari uzun suredir takip ediyorum. Yine de su shader olayini cozemedim. Bazen elinizin altinda en guncel oyunlari test edeceginiz sistem olmuyor, pek oyunlar icin tavsiye edilmese de biraz eski ama oynanabilir oyunlara yeniden sans vermek gerekebiliyor. Fakat satin alirken, oyuna baktigimda shader bakimindan yetecek miyiz yetmeyecek miyiz anlayamiyorum. Hele bu shader 2 mi shader 3 mu ye
    girince is iyice catallasiyor.

    Soruma gelince, bazi oyunlarda system requirement bolumunde DirectX 9.c yaziyor baska bir sey yok. Directx 9.c illa shader 3 mu oluyor?

    Soru 2) DirectX surumleri ile shader surumlerinin baglantisini bilen ve aciklayacak var mi?
    Soru 3) DirectX denilen seyin surumlerini biz Internet uzerinden de temin edebiliyoruz. Tipki grafik karti surucusu guncellemeleri gibi. Ama
    isin bir de grafik karti(donanim) ayagi var. Bahsedilen eksikligi "internetten temin ettigimiz program sek.deki DirectXleri kurdugumuzda" oyun neden oynanmiyor? Eksik nerede?
    Soru 4) En onemli 2 sorum. Yine digerleriyle ilgili olarak,

    a)Su an dizustunde oynayabildigim "command conquer generals" oyunu ile bir company of heroes(ayni tur oldugu icin bi ikisini
    verdim) arasindaki en temel fark shader 3 ve shader 2den mi kaynaklaniyor? Transistorlerin sayisi da etkili mi?

    b) Adamlar transistorleri kesfetmis, sayilarini artirdikca chip de gelismis daha yogun hesaplari daha hizli calisarak daha kisa
    surede yapar olmus , peki o zaman ornegin simdiki bir MASS EFFECT 2 oyunu neden 2003te gelistirilmemis? Ne engel olmus buna?


    Not : Daha iyi anlamak acisindan teknik aciklama bekliyorum



    < Bu mesaj bu kişi tarafından değiştirildi Usak_Efesi -- 14 Şubat 2010; 0:30:15 >







  • Soruma gelince, bazi oyunlarda system requirement bolumunde DirectX 9.c yaziyor baska bir sey yok. Directx 9.c illa shader 3 mu oluyor?

    FX ve 9000 serisi Shader 2'dir. Yani 9 kart illa 3 diye birşey yok.

    Soru 2) DirectX surumleri ile shader surumlerinin baglantisini bilen ve aciklayacak var mi?

    DX9 : 3 -2
    DX 10: 4

    Soru 3) DirectX denilen seyin surumlerini biz Internet uzerinden de temin edebiliyoruz. Tipki grafik karti surucusu guncellemeleri gibi. Ama

    Evet ama eğer ekran kartın DX11 desteklemiyor DX11 yüklesende bir işe yaramaz.

    isin bir de grafik karti(donanim) ayagi var. Bahsedilen eksikligi internetten temin ettigimiz program sek.deki DirectXleri kurdugumuzda oyun neden oynanmiyor? Eksik nerede?

    Arkdaşım kartın DX10 desteklemiyor diye DX10 grafik çözümü sunan bir oyunu oynayamayacam diye bir şey söz konusu değil, DX10 vey 11 destekleyen tüm oyunlar 9'da destekler.

    Fakat ekran kartının Shader'i düşük ise o oyunu asla acamazsın.




  • quote:

    Orijinalden alıntı: Mert AYAN

    Soruma gelince, bazi oyunlarda system requirement bolumunde DirectX 9.c yaziyor baska bir sey yok. Directx 9.c illa shader 3 mu oluyor?

    FX ve 9000 serisi Shader 2'dir. Yani 9 kart illa 3 diye birşey yok.

    Soru 2) DirectX surumleri ile shader surumlerinin baglantisini bilen ve aciklayacak var mi?

    DX9 : 3 -2
    DX 10: 4

    Soru 3) DirectX denilen seyin surumlerini biz Internet uzerinden de temin edebiliyoruz. Tipki grafik karti surucusu guncellemeleri gibi. Ama

    Evet ama eğer ekran kartın DX11 desteklemiyor DX11 yüklesende bir işe yaramaz.

    isin bir de grafik karti(donanim) ayagi var. Bahsedilen eksikligi internetten temin ettigimiz program sek.deki DirectXleri kurdugumuzda oyun neden oynanmiyor? Eksik nerede?

    Arkdaşım kartın DX10 desteklemiyor diye DX10 grafik çözümü sunan bir oyunu oynayamayacam diye bir şey söz konusu değil, DX10 vey 11 destekleyen tüm oyunlar 9'da destekler.

    Fakat ekran kartının Shader'i düşük ise o oyunu asla acamazsın.








    Güzel yazmışsın. Son cümle hariç katılıyorum. Mesela Mx 400 ile Carbon'u açabilirsiniz. Hem de renkler cıvıl cıvıl olarak.
    Bizzat arkadaşımın koyduğu video:
    http://www.youtube.com/watch?v=E4W4xlE7WKU

    quote:

    Soru 4) En onemli 2 sorum. Yine digerleriyle ilgili olarak,

    a)Su an dizustunde oynayabildigim "command conquer generals" oyunu ile bir company of heroes(ayni tur oldugu icin bi ikisini
    verdim) arasindaki en temel fark shader 3 ve shader 2den mi kaynaklaniyor? Transistorlerin sayisi da etkili mi?

    b) Adamlar transistorleri kesfetmis, sayilarini artirdikca chip de gelismis daha yogun hesaplari daha hizli calisarak daha kisa
    surede yapar olmus , peki o zaman ornegin simdiki bir MASS EFFECT 2 oyunu neden 2003te gelistirilmemis? Ne engel olmus buna?


    a) En temel farklarına shader demesek daha iyi olur. Bu o zamanki gerek yazılım gerekse donanımlardaki kaliteden kaynaklanıyor. Shader oyun için daha iyi bir görsellik sağlayabilir ama önemli olan yazılımcıların oyunu hazırlarken grafikleri ne kadar önemsedikleri ve ellerindeki teknolojileridir. Shader bunlara yardımcı olan kollardan biridir sadece. Transistör sayısı derken tam olarak neyi kastettiğini anlamadım. Elbetteki o zamanınki kartların transistör sayısı ve performansları düşüktü, bu yüzden daha az poligon, daha az ayrıntılı dokular filan kullanabildiler. Fakat bunu direkt olarak transistör sayısına değil ekran kartının tüm özelliklerine bağlamamız lazım. Örneğin üretim bandı, GPU, bellek hızları vs...

    b) Bunun cevabı şüphesiz ki nanometrik küçülme. Şimdiki transistör sayısını eski bir karta örneğin mx 400'e koymaya kalksak ekran kartı için ayrıca kasa almamız gerekir. Bunun yanında sıcaklık, güç ihtiyacı ve maliyet de tavan yapar. Bu yüzden 2003 yılında Mass Effect 2'yi çalıştırabilecek bir kart yapmak mantıklı ve de mümkün değildi. Haliyle oyunu yapmak da...



    < Bu mesaj bu kişi tarafından değiştirildi adilazimdegilx -- 14 Şubat 2010; 0:47:14 >




  • Shader'ı Shader değilde Shader Model olarak olarak söylemek lazım. Shader Model Ekran kartının proglanmasıdır. Ekran kartının çizim işleminin programlanmasıdır. Şimdi zaten progranmıyor mu diye sora bilirsin ama. Bunun ayrımım gelişim sıralamasının ve ekran kartının nasıl çizim yaptığının bilmek lazım. Şöyle başlayım.

    Mesela 3 boyutlu bir nesnenin çizle bilmesi için gereken Girdiler Normalda bu nesenenin yüzeylerini kordinatı, yüzeylerin kaplaması(texture) ,kamera konumu ve etraftaki ışıktı. Bu bilgileri ekrankartına verdiğimiz zaman yani ilk aklımıza gelen hali ile programladığımız zaman o bize görüntüyü oluşturdu. Ama Bu girdi ile çıktı arasından kartı yaptıkları kapalı kutuydu. Aradaki tüm işleri kartı sabit bir fonksiyon şeklinde yapardı. Bir özellik istediğimizde mesela sis şurda sis olsun derdik başka bir hesaplama ile uğraşmadır. Bu durumda kartı üzerinde sabit fonksiyon hattı(Fix Function Pipeline) vardı. Asında hala bu var. Ama karta yeni bir özellik eklemek için mesela ayna gibi yansıtma karta ve direct ve opengl yeni ilave eklemek gerekiyordur. Kartı kullana yazımcı yeni fonksiyona parametelerini tanıtıp arkada ne oluyor ne bitiyor bilmeden kartı kullanıyordu. Ama kartın özelliği ne ise kart okadar cizebiliyordu. Hatta ilk başta 3 boyutu 2 boyuta indirmeyi bile CPU lar yapardır taki ilk GForce çıkıp T&L yani dönüştür ve ışıkladırma işlemini kart üzerinde yapana kadar.

    Bu arada eskiden OpenGL Direct X den daha yaygındı.

    Daha sonra Nvidia GF3 ile bu çizim hattının en son hattı olan pixel oluştumayı ayrıca proglanamabilir hale getirdir. Pixel pipeline zaten kartlar üzerinde vardı ama progranmıyor sabit fonksiyonlar render yapıyorlardı. Ama artık sınırlıda olsa pixel ler oluşturulken programcılar pixel shaderlara kendi fonksiyonlarını eklebilordu. Bunada pixel shader dedi. İlk pixel shader modeli böylece ortaya çıkmış oldu. Böylece gelişmiş ışık efektleri gibi efektler yapabiliryordu. Direct X 8.0 buna Shader Model 1.1 ve bununlar beraber HLSL diye bir dil çıkardı ve directx parlamaya böylece başladı.

    Daha sonra GF3 4200 le beraber 3 boyutun 2 boyuta dönüşümü yapan sabit işlemlerin Vertext pipeline programlanabilir yapılarak Vertex Shader lar ortaya çıktır. Artık vertexler yani neselerin gemetrik noktalarının dönüşümde programcı müdahale edip yeni fonkisyonlar ekleyeniliyor yeni efektler oluşturabiliyor.

    DirectX 9 çıktığında Shader Model 2.0 (Radeon 9800 - X600) ulaşılmıştı. Artık Shaderlar daha karışık ve uzun programlalar ile proglanabiliyordu. Daha sonra Dx9.a Shader Model 2.0a, Dx9.b de Shader Model 2.0b(Radeon X700- X850 GeForce FX) çıktı.

    Daha sonra shader mode 3.0 çıktı. Buda Direct X 9.0c dendi. Bunlar Radeon X1xxx ve GeForce 6-7. Bu model büyük hız ve işlem artısı getirdi.

    Daha sonra Shader Model 4.0 çıktı. Bun Direct 10 la beraber oldu. Artık pixel shader ve vertex shader yanında birde geometrik shader oluşturup bunları ayrı ayrı değil de tek başına programlanabilir olmuştu. Böylece kartlar üzerinde shaderlarda tek shader olup unified shaderlar oldu.Unified shader işin durumuna göre pixel,geometerik yada vertex işleyebildiğininde eskiye göre farklı bir programlama yapısındadır. Radeon HD2xxx ler le GEforce 8 ve 200 serisi bu sınıftadır. Sonra ufak değişiklerle SM 4.1 DX 10.1 çıkmıştır. Radeon HD3sxxx HD4xxx bu seridendir. GeForce bazı 200 ler ve 300 ler bunu destekler.

    En sonunda da Shader Model 5 Direct 11 çıkmışır. Radeon 5xxx ler ve geforce 400 serileri destekler.


    Şimdi sorularına dönersek.
    1. Evet Directx 9.c Shader 3 demek. Ama şöyle bir şey var. Seni elinde shader 2 bir kart var diye gidip direct 9.0 indirec diye bi şey yok. Direct X bi tanedir şuna gidip indirsen içinde dx 6 da vardır 10da vardır. (Tabi dx 10 ve üzerini xp ye kurmaz)İndirip kurduğun direct x geriye doğru uyumludur. Çıkmış tüm direct x leri içerir ve çalıştır. Ancak kartı desteklemediği için oynamaz. Sonuç olarak makinana DirectX 9.c indirip(Zaten adınada kanma içinde 11 bile var.) kuruyon olman ekran kartının 9 yapamaz. Mesela windows 7 de direct 10 var ama gidip oraya Mx200 takınca mx200 direct x 10 olamaz ama direct geriye doğu uyumlu olduğu için o kart ne yapabilse onun oyuna yaptırabilir. Ama oyun directx 9.c diyorsa kartın 9.0c desteklemiyorsa oyunda açmaz. Yalnıca şununda aklından çıkarma her directx versiyonun tek özelliği shader moder değil onun yanında başka özellikleri de vardır.

    2. 8 =1 9.0 = 2 9.0a = 2.0a 9.0b = 2.0b 9.0c = 3.0 10 = 4.0 10.1 = 4.1 11 = 5

    3. 1 de anlattım. Directx kurmak kartının özelliklerini geliştirmez. Ame geriye doğu uyumlu olduğundan kartının gücü yettiği kadar oyunlara kullandırır. Şu an indireceğin Dx runtime içinde Dx 11 bile vardır. Ama kartının DX 11 yapamaz. Dirext Eskiden kartın olmayan özelliklerini işlmeciye yaptırmak gibi özellikleri vardı. Ama shaderlar okadar güc istiyorki işlmeciler bunun yaptırmaya çalışmak zaten pratikte hız elde edilemeceğinden gereksiz bişeydir. O yüzden kartında o özeliik varsa kartın yapar yoksa oyun çalışmaz.


    4. a. Bir oyunun shader modeli öncelikle o oyunun yazıldığı yıllada bulunan direct le alakalı bi şey. Yazdıkları zaman direct x onlara ne yaptırabiliyorsa onu yaptıyorlar. Dediğin oyunlar yazıldıktaki tarihli oyun Micosoft Direct x geliştirirken NVidia ve ATI ile beraber hareket ediyor oyun firmaları ile değil(en azından doğrudan değil) Firmalarda ellerinde araca göre oyun yazıyorlar. Kartı üreticileri kartın sınırlarının MS ise yazılımdaki sınırlarıı biliyor. Başka bir etken ise şu zamanlar oduğu gibi müşterilerini elindeki kartların uyumluğu. Şu an mesela direct 11 var. Sadece Directx 11 oyunun yapan bir firma nvdia sahibine oyun satamaz. Piyasa verilerine bakıp piyasa hangi kartların hakimeiyeti olduğu bilmek hangi dx versiyonun kullanmak için yeterli. Tabi birde işin içine işletim sistemi var. Windows XP de 9.0c var ve üzeri yok. Sadece DX 10 ve üzeri için oyun yazamak. XP kullananlara oyun satamamak demek. Şu an bir oyun DX 10 11 olsa bile 9.c desteği vermektedir. Ama tabi bu ayrı bi geliştirme maliyetidir. Çünkü 9.0c ve 10 arası çok büyük farklar vardır. Transistor burda önemli değildir. Bazı üreticiler sadece 9.0c desteği vermesi, oyunun eskiye göre uyumlu olacak şekilde programlamamasından kaynaklanıyor. Ama günümüzde dx 10 yada 11 için bunun yapamazlar 9.0c için ayıra programlarlar. Satışları çok etkilenir. Ama zamanlarda yanızca 10 ya 11 desteği veren oyunlarda olacak.

    b. Burda trasistor önemli. Zaman içinde küçülen trasistor chiplerde daha çok transistor olup daha çok işlem yapmasının sebeb oluyor. Ozamanlar işlem gücü transistorle yüzünden düşüktü. Mass Effect 2003 de yapabilirlerdir. Ama şimdiki gibi saniyede 100 kare yerine 100sn de 1 kare oynayabilirdi. Oyunda kimse almazdı herhalde. Oyüzden kimsede yapmaya kalkışmadı. Mass Effect oyunun yapan matematiksel alt yapı son 6 yılda bulunmadı. O çok daha önce vardır. Ama o hesapları yapacak güc ve tecrube yoktu. İkise zamanla oluştu. Tecrube diyorum eski 3d oyunları 4-5 kişi yaparken, artık yüzlerce kişi tarafından yapılıyor.



    < Bu mesaj bu kişi tarafından değiştirildi IUnknown -- 14 Şubat 2010; 3:02:16 >




  • cok sagolun verdiginiz bilgiler icin. Bir okuyayim , yine yetersiz kalirsa baska cevaplar da bekkleriz.
  • quote:

    Orijinalden alıntı: adilazimdegilx

    quote:

    Orijinalden alıntı: Mert AYAN

    Soruma gelince, bazi oyunlarda system requirement bolumunde DirectX 9.c yaziyor baska bir sey yok. Directx 9.c illa shader 3 mu oluyor?

    FX ve 9000 serisi Shader 2'dir. Yani 9 kart illa 3 diye birşey yok.

    Soru 2) DirectX surumleri ile shader surumlerinin baglantisini bilen ve aciklayacak var mi?

    DX9 : 3 -2
    DX 10: 4

    Soru 3) DirectX denilen seyin surumlerini biz Internet uzerinden de temin edebiliyoruz. Tipki grafik karti surucusu guncellemeleri gibi. Ama

    Evet ama eğer ekran kartın DX11 desteklemiyor DX11 yüklesende bir işe yaramaz.

    isin bir de grafik karti(donanim) ayagi var. Bahsedilen eksikligi internetten temin ettigimiz program sek.deki DirectXleri kurdugumuzda oyun neden oynanmiyor? Eksik nerede?

    Arkdaşım kartın DX10 desteklemiyor diye DX10 grafik çözümü sunan bir oyunu oynayamayacam diye bir şey söz konusu değil, DX10 vey 11 destekleyen tüm oyunlar 9'da destekler.

    Fakat ekran kartının Shader'i düşük ise o oyunu asla acamazsın.








    Güzel yazmışsın. Son cümle hariç katılıyorum. Mesela Mx 400 ile Carbon'u açabilirsiniz. Hem de renkler cıvıl cıvıl olarak.
    Bizzat arkadaşımın koyduğu video:
    http://www.youtube.com/watch?v=E4W4xlE7WKU

    quote:

    Soru 4) En onemli 2 sorum. Yine digerleriyle ilgili olarak,

    a)Su an dizustunde oynayabildigim "command conquer generals" oyunu ile bir company of heroes(ayni tur oldugu icin bi ikisini
    verdim) arasindaki en temel fark shader 3 ve shader 2den mi kaynaklaniyor? Transistorlerin sayisi da etkili mi?

    b) Adamlar transistorleri kesfetmis, sayilarini artirdikca chip de gelismis daha yogun hesaplari daha hizli calisarak daha kisa
    surede yapar olmus , peki o zaman ornegin simdiki bir MASS EFFECT 2 oyunu neden 2003te gelistirilmemis? Ne engel olmus buna?


    a) En temel farklarına shader demesek daha iyi olur. Bu o zamanki gerek yazılım gerekse donanımlardaki kaliteden kaynaklanıyor. Shader oyun için daha iyi bir görsellik sağlayabilir ama önemli olan yazılımcıların oyunu hazırlarken grafikleri ne kadar önemsedikleri ve ellerindeki teknolojileridir. Shader bunlara yardımcı olan kollardan biridir sadece. Transistör sayısı derken tam olarak neyi kastettiğini anlamadım. Elbetteki o zamanınki kartların transistör sayısı ve performansları düşüktü, bu yüzden daha az poligon, daha az ayrıntılı dokular filan kullanabildiler. Fakat bunu direkt olarak transistör sayısına değil ekran kartının tüm özelliklerine bağlamamız lazım. Örneğin üretim bandı, GPU, bellek hızları vs...

    b) Bunun cevabı şüphesiz ki nanometrik küçülme. Şimdiki transistör sayısını eski bir karta örneğin mx 400'e koymaya kalksak ekran kartı için ayrıca kasa almamız gerekir. Bunun yanında sıcaklık, güç ihtiyacı ve maliyet de tavan yapar. Bu yüzden 2003 yılında Mass Effect 2'yi çalıştırabilecek bir kart yapmak mantıklı ve de mümkün değildi. Haliyle oyunu yapmak da...


    a)ya soruyla cevap : Yani temel seviyede(en alt katmanda) var olan transistorlerin sayisi o gun bir company of heroes oyununu yaratmaya
    yetmiyor muydu ? Yoksa yalnizca shader yetersizliginden mi company of heroes gibi daha gercekci modellemelere sahip bir uygulama
    ortaya cikmiyordu?

    b) Nanometrik kuculme etkili de, o yil mesela simdiki kadar simdiki manufacturing process(transistor boyutu)na sahip transistorlerden olusan
    bir grafik karti uretilseydi diyorum. O gun MX 440 degil de bir GTX 280 uretilseydi diyorum.




  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.