Hirdetés

2024. április 24., szerda

Gyorskeresés

Útvonal

Fórumok  »  Videokártyák  »  Mi a diff d3d és opengl között? (téma lezárva)

Hozzászólások

(#1) Caparzo


Caparzo
csendes tag

mi a különbség a d3d és az opengl között?

(#2) Ger|


Ger|
aktív tag

ami az egyikben 40 sor az a másikban vagy 8.

PCI-s IDE kártyát vennék amire rá lehet kötni vinyót vagy cd meghajtót!

(#3) pilóta válasza Caparzo (#1) üzenetére


pilóta
nagyúr

Pontosan 6284353 különbség van a kettő között :D

Annyi különbség van, mint mondjuk az angol, meg a japán nyelv között. Teljesen más, de ugyanarra használják...

Aki él és nem boldog, az téved!

(#4) Ger|


Ger|
aktív tag

ha látsz egy képet, nem tudod megmondani hogy opengl vagy d3d, de 3 éveel ezelőtt meg tudtad volna mondani hogy opengl vagy d3d. röviden ennyi.

Na jó, openglnek kicsit szebbek a színei, cserélbe többet kerregteti a vinyót, nehezebben swappel. Egyéb?

PCI-s IDE kártyát vennék amire rá lehet kötni vinyót vagy cd meghajtót!

(#5) Egon válasza Caparzo (#1) üzenetére


Egon
nagyúr

Erről könyvet lehetne írni...

"Bonyolult kérdésre egyszerű választ keresni helyénvaló, de ritkán célravezető megoldás" (Wayne Chapman)

(#6) Egon válasza Ger| (#4) üzenetére


Egon
nagyúr

:Y:Y:Y

"Bonyolult kérdésre egyszerű választ keresni helyénvaló, de ritkán célravezető megoldás" (Wayne Chapman)

(#7) _cirmos_


_cirmos_
őstag

úgy nagy vonalakban engem is érdekelne a dolog. valamit azért biztos el lehet mondani pár sorban is. mér van ez a két izé? mért nem csak egy van? opengl-ből miért nincs újabb és újabb mint directx-ből? és ilyenek. hülye az ember, hát istenkém, ilyennek születik. tessék már írni vmi használhatót is...

(#8) Ger|


Ger|
aktív tag

dede.

Váltsál játékba opengl és d3d között, látni fogod.

PCI-s IDE kártyát vennék amire rá lehet kötni vinyót vagy cd meghajtót!

(#9) Ger|


Ger|
aktív tag

az openglből is van újabb izé, ugyanúgy mint a driverc3d-ből, csak ezt nem verik nagfy dobra, mert a driverekben van benne.

PCI-s IDE kártyát vennék amire rá lehet kötni vinyót vagy cd meghajtót!

(#10) khalox válasza _cirmos_ (#7) üzenetére


khalox
őstag

A DirectX az alapvetően egy Microsoft kezdeményezés, amivel a Windowsukat kívánták játékplatformmá tenni (sikerült...).

Az OpenGL az egy régebbi szabvány 3D megjelenítésre (tervezőprogramok, 'komolyabb' szofterek használják, orvosi, mérnöki területeken - akár HW-gyorsítás nélkül is).

Játszani is jó mindkettő - amióta ilyenek a játékok, azóta rohamos fejlődésen esett át mindkét szabvány. És egyik sem fog kihalni, mert mindkettőnek vannak előnyei a másikkal szemben... (pl. az egyik, hogy OpenGL szinte minden platformon van, DX meg nincs..., a DX-szel kevesebb a szennyezés, de nem jó mindenhová...)

[Szerkesztve]

(#11) faster válasza khalox (#10) üzenetére


faster
nagyúr

Mindkettő 3D-s megjelenítésre való.

(#12) khalox válasza faster (#11) üzenetére


khalox
őstag

A Direct3D való 3D-s megjelenítésre... :D

(#13) _cirmos_


_cirmos_
őstag

és miért van az hogy szemmel is észre lehet venni hogy melyik játék melyikkel készült? mert tényleg, legalábbis az esetek nagy többségében.

(#14) khalox válasza _cirmos_ (#13) üzenetére


khalox
őstag

Az a driverek miatt van... - a 3D-s bácsik csak megmondják, hogy mit hová toljon, a többi nem az ő dolguk. Kinéz, ahogy kinéz.

(#15) Raymond válasza _cirmos_ (#13) üzenetére


Raymond
félisten

Nem lehet eszrevenni, csak azt latod, hogy az OGL-es jatek Q3 motorral megy. Nem azt hogy DX vagy OGL...

Privat velemeny - keretik nem megkovezni...

(#16) mcs


mcs
veterán

Az Unreal Tournamentben igencsak meglátszik a D3D és az OpenGL közötti különbség...........OpenGL-ben sokkal világosabbak a textúrák, és egyes részeknél szebben képes száguldani, de ettől függetlenül eléggé ingadozik a sebessége, és néhol hiányzó textúrák jelennek meg, így nem olyan stabil, mint D3D-n.

(#17) Raymond válasza mcs (#16) üzenetére


Raymond
félisten

Azert mert az OGL implementacioval nem foglalkoztak annyit az enginnel mint a DX-el. Semmi mas oka nincs. Ne marhaskodjatok mar, milyen kulonbseget akartok latni ket egyforman piros pixel kozott ?

Privat velemeny - keretik nem megkovezni...

(#18) Egon válasza Raymond (#17) üzenetére


Egon
nagyúr

Ezt nem értem én sem...:)

"Bonyolult kérdésre egyszerű választ keresni helyénvaló, de ritkán célravezető megoldás" (Wayne Chapman)

(#19) Brae


Brae
őstag

Nem két izé, hanem API (programozói interfész):)
Egyébként szvsz a topic f@szság, olyan, mintha vki azt kérdezné mi a különbség a Linux és a Windows között, hisz mindkettő oprendszer.

(#20) rudi


rudi
nagyúr

Hú ez jó kis téma lesz :D

Az első és legfontosabb:
A DirectX (garfikus rész a Direct3D) KŐBE VAN BETONOZVA VERZIÓNKÉNT, olyan szentírás jelleggel, mígy az OpenGL kiegészítésekkel (extension) állandóan bővül.

Az OpenGL alaposabb profeszionálisabb, a D3D kommerszebb. Jó példa erre, hogy a LoD (level of detail váltó) OpenGL-ben 8 bites, míg D3D-ben csak 5. Programozás tekintetében most a shaderek világában már nem olyan nagy az eltérés, de korábban az OpenGl sokkal kényelmesebb volt és a Microsoft HATALMAS pénzeket fektetett a D3D népszerűsítésébe a játékfejlesztőknél. Mivel a D3D M$ tulajdon ezért (és még a rugalmasság, pontosság és társai miatt) a profi alkalmazók maradtak OpenGL-en, az megy Mac, SGI meg mindenféle platformon.

Szemre eltérés nincs ha ugyanúgy van megvalósítva egy efektus, de sok függ a megvalósítás módjától. Általában OpenGL-ben több lehetőség van mindenre mint D3D-ben, de a D3D-s lehetőség megvan OpenGL-ben. Példa erre a bump mapping, amire D3D-ben van 1-2 módszer, míg OpenGL-ben több, sok olyan, amit csak bizonyos hardverek támogatnak.

És itt van talán az alapvető eltérés:
A D3D úgy készül, hogy megszabnak követelményeket (X shaderkódhossz, Y regiszter, Z utasítá, W bitmélység stb) és ehhez kell (érdemes) a hardvergyártóknak alkalmazkodniuk. OpenGL-ben fordított a helyzet: csinál a gyártó egy hardvertének egy tulajdonságot és ahhoz egy OpenGL extensiont, amivel ez a tulajdonság kihasználható.

Persze ezzel megérkeztünk egy újabb szintre, ahol az a kérdés, hogy hol is helyezkedik el a D3D és OpegGL a programozó és a hardver közötti úton.

Induljunk a hardvertől
hardver
hardverközeli mikrokód
driver
API (openGL és D3D)
programozói felület - HLSL, CG, ASHLI, RenderMonkey stb.

A szintek között fordítók és értelmezők (compilerek) vannak. A legtöbb programozó valamilyen felületet használ, ami egy magasszintű programozási nyelvre (jellemzőne C++ jellegű) támaszkodik és abból egy beépített fordító csinál az API-nak megfelelő kódot, amiben aztán optimalizáln lehet.

Resistance Is Futile. You will be assimilated!

(#21) _cirmos_ válasza rudi (#20) üzenetére


_cirmos_
őstag

köszi szépen, valami ilyesmire gondoltam.:)) azt áruld el még nekem, hogy akkor megmarad az nvidia előnye opengl alatt, vagy be tudja hozni valahogy az ati? csak driver szinten vannak lemaradva a kanadai fiúk vagy egyszerűen hiányzik néhány olyan ''hardvertulajdonság'' amihez bizonyos progik használják az adott ''extension''-t? bocs ha hülyeséget kérdeztem, de számomra elég zavaró, hogy a régi gef2mx400-amon is remekül elszaladgált a CoD, és most az egyébként sokkal gyorsabb radeon 9100-on nincs az a látványos sebességnövekedés a játék alatt, a United Offensive pedig helyenként nagyon belassul, pedig annyival nem szebb mint az első rész...

(#22) rudi válasza _cirmos_ (#21) üzenetére


rudi
nagyúr

Azt mondanám, hogy a válasz is. Az említett 8 bites LoD precizitás tudtommal egyáltalán nincs meg a Radeonokban, de a legtöbb használatos extension megy ugyan az ATI kártyákon is, csak lassabban. Itt két (vagyis inkább három) komoly pont van, ahol D3D és OpenGL eltérhet, és ezek a fordítók. A programozói felület és az API közötti fordító az első lépés. Ha optimalizálnak a fordítón, akkor az jobb OpenGL vagy éppen D3D kódot csinál, ezzel jó esetben minden kártya gyorsul. Ha az OpenGL driver értelmezésén javít a gyártó, akkor csak a saját cuccai gyorsulnak. Mondhatnánk, hogy a driver is egy fordító, ami az OpenGL-ből (vagy D3Dből) fordít a hardver mikrokódos nyelvére. A harmadik javítási lehetőség amit említettem az a mikrokód jobb feldolgozása hardver szinten, vagyis a chip fizikai optimalizálása. (lehetne még egyet csavarni, mert a chipet is egy szoftver segítségével tervezik ezt is lehet optimalizálni).

A Te kártyád azért lassulhat be időnként mert feltételezem, hogy 32 MB memória van rajta és a komolyabb jelenetekben ez már kevés a United Offensive-nek, mert azt a mai nyugati igények szerint 64+ MB memóriára tervezték (több és nagyobb textúra, stb.).

Resistance Is Futile. You will be assimilated!

(#23) L3zl13 válasza _cirmos_ (#21) üzenetére


L3zl13
nagyúr

Sokan azt mondják, hogy az Omega driverben lévő OGL támogatás jobb, mint a hivatalos Catalyst driverben lévő. Te melyiket használod?

Aki hülye, haljon meg!

(#24) Raymond válasza L3zl13 (#23) üzenetére


Raymond
félisten

Es ez szerinted hogy csinaltak ? Mert szerintem sehogy.

Privat velemeny - keretik nem megkovezni...

(#25) L3zl13 válasza Raymond (#24) üzenetére


L3zl13
nagyúr

Állítólag valamelyik dll-t lecserélik. De mint mondtam ''sokan mondják'', szóval nem személyes tapasztalat.

Aki hülye, haljon meg!

(#26) Christoph


Christoph
aktív tag

Ha jól tudom az opengl elődjét anno az SGI feljesztette ki, és kizárólag professzionális célokra szánták, ezzel ellentétben a d3d-t kifejezetten a játékoknál használt 3d hez fejlesztették, így talán erre ez alkalmasabb is. Bár az opengl-nek nagyobb múltja van, jelenleg is fejleszti egy társulás, nyílt a kódja, mindössze a hardvergyártóknak kell licenszelniük. Még 1 különbség az opengl és a d3d között, hogy míg a d3d kizárólag MS Win-en megy addig az opengl számos egyéb platformon...

''...mert minden hazugság az igazsághoz vezet!'' by Dana Scully

(#27) rog válasza rudi (#22) üzenetére


rog
addikt

:Y
hogy micsoda? milyen fordító van mire optimalizálva? :)
hol?! a programozói felület és az api között?!!!! jesszus..
a driver meg opengl/d3d-ből csinál mikrokódot? :))
huha.

(#28) Raymond válasza L3zl13 (#25) üzenetére


Raymond
félisten

Ja, arra gondolsz. Az csak annyit jelent, hogy amikor csinalnak egy uj Omega csomagot, akkor nem az aktualis Catalyst-bol hasznaljak az OGL meghajtokat, hanem egy masikbol. A dll amit cserelnek maga az OpenGL IDC.

Privat velemeny - keretik nem megkovezni...

(#29) L3zl13 válasza Raymond (#28) üzenetére


L3zl13
nagyúr

Aham, de gondolom nem unalomból cserélgetik, tehát (legalábbis szerintük) a az a másik verziójú dll fájl jobb, mint az aktuális... :U

Aki hülye, haljon meg!

(#30) _cirmos_ válasza rudi (#22) üzenetére


_cirmos_
őstag

aham, kapisgálom... de félreértettél, már 9100-em van ami 128 mb-os. és azt akartam mondani, hogy CoD alatt nem tapasztaltam azt a sebesség-különbséget a két kártya között (gef2mx és radeon 9100) amit egyébként a többi játék igazol.

ha jól értem akkor az ati optimalizálhat amit akar a driveren, a hardveres hiányosságokat nem tudja ellensúlyozni, ergo ezek a kártyák mindig le lesznek maradva opengl-ben az azonos kategóriájú nvidiákhoz képest. (gondolom az x-szériánál már nem voltak ilyen spúrok, legalábbis fura lenne)

L3zl13:
gyári catalyst-ot használok, ímmel-ámmal a legújabbat.

[Szerkesztve]

(#31) mcs válasza Raymond (#17) üzenetére


mcs
veterán

[L]http://www.tar.hu/mihalycsaba/utd3d.JPG[/L]
[L]http://www.tar.hu/mihalycsaba/utopengl.JPG[/L]
Nézd meg a két képet, és látni fogod a különbséget:).Ne a hős karját nézd meg, hanem a textúrákat, sokkal világosabbak og-n, mint d3d-n.

(#32) sky77 válasza mcs (#31) üzenetére


sky77
aktív tag

Azt ugye tudod, hogy ez programozási kérdés... Vagy a játékon belül nem ugyanazokkal a beállításokkal ment D3D alatt, mint OpenGL alatt. UT-t nem igazán ismerem, de más játékban külön settings van attól függően melyiket választottad.

Szummázva, nem OpenGL miatt világosabb, hanem vélhetően ilyenre írták meg az OGL kódját.

[Szerkesztve]

''Emberek, vessetek a mókusok elé!''

(#33) Raymond válasza mcs (#31) üzenetére


Raymond
félisten

Ne farassz basszus. Az nem az OGL vs. DX miatt van. Az UT nem egy jo pelda, mert ott a DX implementaciora hajtanak.

Nezd meg a Serious Sam-et pl.

Privat velemeny - keretik nem megkovezni...

(#34) rudi válasza _cirmos_ (#30) üzenetére


rudi
nagyúr

Nem ez a helyzet, vagyis nem éppen ez! Ajánlani tudom ezt a cikket [L]http://www.digit-life.com/articles2/dx-next/index.html[/L] bár már régen olvastam, asszem ebben van jól leírva az alapvető eltérés az ATI és NV chipek feldolgozási folyamata között.

A lényeg, hogy a hardver adott, azt valami alapján meg kell tervezni és utána már csak a meghajtón lehetet csiszolni. Az NV régóta benne van a profi OpenGL bizniszben is, az ő agyuk inkább arra jár; míg az ATI inkább játékra gyúr és a DX igényeinek próbál megfelelni, annak a megszorításai alapján készül a chip is. És itt a pro biznisz a mérvadó. Ha ott hibázik a hardvergyártó, akkor a nagy animációs cégeknél @nyáznak a grafikusok, ott nem lehet ''optimalizálni'' ott trilinearnak kell lennie a trilinearnak stb. A gamer piac sokkal veszélytelenebb, lehet trükközni és az igények sem olyan nagyok, no meg a Microsoft tolja a fejlesztői toolokat és korábban volt shader programozó nyelv is.

De a lényeg. Az ATI hardvere nem rosszabb mint az NV-jé náluk inkább az OpenGL meghajtóval kellene valamit kezdeni és éppen ebben van az NV előnye, hogy náluk már jó régen megy az alapos OpenGL fejlesztés és ott van egy John Carmack nevű emberke is a közelükben...

Resistance Is Futile. You will be assimilated!

(#35) rudi válasza rog (#27) üzenetére


rudi
nagyúr

[L]http://vganfo.uw.hu/ddd.gif[/L] ez egy irományom egy része amivel jó lenne többet foglalkoznom. Még alfa állapotban van csak, de kb. válaszol néhány kérdésedre és jo sok továbbit eredményez (szerencsés esetben ...)

Resistance Is Futile. You will be assimilated!

(#36) rudi


rudi
nagyúr

A dll amit emlegettek lehet, hogy optimalizálva van, de szerintem ikább olyanokban, hogy valamiféle képminőségbeli megszorítást tesz, amitől egyszerűsödnek bizonyos számítások, ezáltal gyorsabb lesz az alkalmazás, de valamit gyengül a minősége is. Majd utánanézünk.

Resistance Is Futile. You will be assimilated!

(#37) rog válasza rudi (#35) üzenetére


rog
addikt

nem igazi kérdések voltak, hanem a hozzászólásodban lévő kisebbnagyobb fogalomzavarra világítottak rá...

(#38) Lord Zero


Lord Zero
addikt

anno a halflife-ban megvolt a lehetőség, h olyan render módot válassz, ami a szívednek (értsd: vganak) kedvesebb volt
(miért kódolták be mindkettőre és a maiak miért nem teszik ezt? értem, h szűkebbek voltak a lehetőségek és a ''járulékos fícsörök'', ezért gondolom kevesebb meló volt vele?)

persze a 4 megás S3 kártyámnak halál mind1 volt, de aztán beszereztem egy csúcskategóriás 16mbSavage4-t, ami ''tudta'' az ogl-t, - álomszép volt :))

nem, mindegy

(#39) rudi válasza rog (#37) üzenetére


rudi
nagyúr

akkor nem sikerült... szerintem ezek így vannak. Szerinted mi van másképp?

Resistance Is Futile. You will be assimilated!

(#40) Raymond válasza rudi (#39) üzenetére


Raymond
félisten

''Itt két (vagyis inkább három) komoly pont van, ahol D3D és OpenGL eltérhet, és ezek a fordítók. A programozói felület és az API közötti fordító az első lépés.''

Szerintem ezzel van gondja, ami ertheto, mivel nem egeszen igy van. Majd kesobb...

Privat velemeny - keretik nem megkovezni...

(#41) rog válasza rudi (#39) üzenetére


rog
addikt

sokminden :)
elsőnek talán, hogy a programozói felület lánykori neve az hogy API.
de a magyarázatként kapott doksiban szereplő a mikrokód ill pszeudókód elnevezés körüli gondolatok is elég neccesek számomra.

(#42) rudi válasza rog (#41) üzenetére


rudi
nagyúr

És ha abból indulunk ki, hogy az NV-s gC (vagy Cg) crossAPI, vagyis OpenGL és D3D kódot is tud gyártani, és hogy aki render monkey-ban kódol, az HLSL kódot generál csúszkák tologatásával és mellette kapja a shader ASM kódot is, amibe szintén beledolgozhat, akkor nagyon szétcsúsznak a határok az API és a programozói felület között. Persze az API - application programming interface, de ez milyen viszonyban is van egy SDK-val?

A peszeudokódos és mikrokódos fogalmak egyenesen ATI doksiból jönnek. Természetesen processzorközeli peszeudokódról van szó, ami rögzíti, hogy valami regiszter kell, de majd később a mikrokódban az éppen aktuális ''környezeti viszonyokkal'' konkretizálódik, hogy éppen melyik regiszter lesz az.

Ha Te másképp gondolod/tudod lécci magyarázd el vagy oszd meg velünk a forrást, ahonnan másképp tudod.

Resistance Is Futile. You will be assimilated!

(#43) burgatshow válasza _cirmos_ (#7) üzenetére


burgatshow
veterán

Opengl 2.0: [L]http://xmods.uw.hu/plugins/news/shownew.php?newsid=72[/L]

(#44) Ijk válasza Lord Zero (#38) üzenetére


Ijk
nagyúr

Az én Savage4-em vajon mért nem támogatta akkor?
Emlékszem még amikor felraktam a Mohaa ''demóját'' és a konzol kiírta, h. a videókártya nem támogatja az opengl-t. Ekkor vettem meg anno a gef2-met.
Egyébként az véletlen h. pl. mi a haverokkal lanparty-n túlnyomórészt opengl játékokkal játszunk?

/人◕ ‿‿ ◕人\

(#45) rudi válasza Ijk (#44) üzenetére


rudi
nagyúr

Nem vételtlen, mert quake motoros FPS cuccokkal nyomultok (CS, Quake, CoD, Mohaa, RTCW, SoF, SS).

Resistance Is Futile. You will be assimilated!

(#46) pukk válasza rudi (#45) üzenetére


pukk
csendes tag

itt hozzászólné ka témához, ugyanis a Sof (az 1) és a Counter-Strike nem Q3 motor. a SoF 2 már Q3 motor de a CS az még mindig Half-Life motor még a mostani 1.6-os verzió is csak néhány pálya textúráját tupírozták meg.
amúgy arra leszek kíváncsi hogy tényleg lessz-e 30% plussz teljesítménye az Atiknak Source motor alatt :) még vmi: a Valve vezető engine programozója azt nyilatkozta (hivatalos közlemény nem én találtam ki): ''a régebbi DX7-es kártyák 200%-os teljesítményt fognak nyújtani a Half-Life2 és a CS:Source alatt.'' hát ha ez nekik összejön akkor érdekes lessz :U

(#47) pukk válasza pukk (#46) üzenetére


pukk
csendes tag

amit kihagytam: akkor viszont lehetséges hogy a Source motor végleg eldönti a PC-s OpenGL vs. D3D témát? és csak D3D egyeduralom lessz? akkor viszont nem fog rász*pni az NVidia?

(#48) rudi válasza pukk (#46) üzenetére


rudi
nagyúr

Senki nem állította hogy Q3 motorosok lennének. Arra reagáltam, hogy Ijk kérdezte, hogy miért van az hogy ők lanon túlnyomoórészt OpenGL-es gamekat nyomnak. Általában quake motorokról volt szó, ugyanis ezek mind OpenGL-esek. A Half-Life is quake motort használ (számszerűen Quake II), de azt használta a Red Faction is.

Az a +200% nekem nagyon neccesnek hangzik, különösen egy régi DX7-es kártyán. Az sem világos, hogy mihez képes lesz ez a 200%...

Resistance Is Futile. You will be assimilated!

(#49) faster válasza rudi (#48) üzenetére


faster
nagyúr

A HL motor a Quake motor igen erőteljesen átírt változata. Elmondásuk szerint az engine kábé 20-25%-a van a Quake-ből. (A HL ugye tudja a DirectX-et is)
A Quake2-ből állítólag összesen 48 sor kódot vettek át, valami javítás a Quake 1-hez képest.

[Szerkesztve]

(#50) rudi válasza faster (#49) üzenetére


rudi
nagyúr

Hát ez tényleg igaz! Inkébb Quake 1. Azért írtam a Red Faction-t mert annak is csak a váza quakeII, de van hozzá új fizika (visszapattanó lövedékek), sérülésmodell, bontható pálya és még sokminden. Lényeg, hogy ezek a motorok jó rugalmasak, tudtommal sokkal rugalmasabbak mint az Unreal motor. Lehet, hogy ez éppen az OpenGL miatt van, de valószínűbb hogy a jól elvégzett munka gyümölcse a rugalmasság.

Resistance Is Futile. You will be assimilated!

Útvonal

Fórumok  »  Videokártyák  »  Mi a diff d3d és opengl között? (téma lezárva)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.