- Megérkezett a Poco M6 Pro 4G
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Redmi Note 9 Pro [joyeuse]
- Xiaomi 15 - kicsi telefon nagy energiával
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- iPhone topik
- Brutál akkuval érkeztek az Ulefone X16 modellek
- Honor 200 Pro - mobilportré
- Fotók, videók mobillal
- Magisk
Aktív témák
-
rudi
nagyúr
Még nem volt időm elmélyedni az OGSL-ben, de hétvégén (vagy jövő hétvégén) igyexem időt szakítani rá. Nekem eddig tetszett a HLSL, hogy bele lehetett nyúlni ASM szinten, így aki még régről ismerte a trükköket, az most kamatoztathatta tudását. Kíváncsi vagyok milyen lesz ez profi OpenGL megközelítésben.
-
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.
-
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%... -
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. -
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.
-
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... -
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.). -
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.
Aktív témák
Hirdetés
- BESZÁMÍTÁS! Gigabyte A620M R5 7600 32GB DDR4 512GB SSD RTX 5060 Ti 16GB Zalman i3 NEO Enermax 650W
- Intel Core i7-8700, i7-9700 CPU, processzor - Számla, garancia
- ÁRGARANCIA!Épített KomPhone i5 14600KF 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Apple iPhone 14 Pro 128GB, Kártyafüggetlen,
- AKCIÓ! ASUS B460M i7 10700 16GB DDR4 512GB SSD GTX 1080Ti 11GB KOLINK Observatory TG TT 600W
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest