mboost-dp1

unknown

OpenGL 2.0 ude

- Via The Register - , redigeret af Net_Srak

I al stilhed er OpenGL 2.0 blevet frigivet. Den største nyhed er at programmerbare shaders (pixel og texture) nu er en del af OpenGL og ikke længere er en ekstension, der skal indlæses separat. Andre nyheder er dobbeltsidede stenciler og support for teksturer, som ikke er dimensioneret som en 2-tals potens.

For mere information om hvad denne udgave indeholder, og hvem der er medlem af OpenGL Architecture Review Board, kan man med fordel læse OpenGL.org’s pressemeddelelse.

Det skal lige nævnes, at den fulde specifikation tilsyneladende ikke er tilgængelig før den 31. August.





Gå til bund
Gravatar #1 - lean
13. aug. 2004 10:28
Tjaa, det når ikke DirectX 10 til sokkeholderne. Men det er også fuldstændig ligegyldigt, da hardwareproducenterne plejer at være flinke med at give adgang til features selvom det ikke er kommet i OpenGL specs. Hardwaren er der, så det er bare et spørgsmål om adgangen.
CG har været supportet i 1.4 siden starten (af CG), så 2.0 er mere en finpudsning end en revolution.
Jeg kan ikke lige greje hvad dobbeltsiddede stencilbuffers er - er det så man kan have flere værdier i samme stencilbuffer (og har det overhovedet noget med bufferen at gøre)? Og hvorfor så kun to værdier? Arbitrære texturestørrelse lyder nice, men siden alt skal være GPGPU nu ville det også være rart med valgfrit textureformat. Fanme skod at skulle sidde og konvertere rgba til float på gpu'en.
Gravatar #2 - guppy
13. aug. 2004 10:53
#1 : du har vist misforstået lidt - det med Pixelshaders går på at det er en officiel del af 2.0 og ikke en extension som i 1.4 og 1.5, dette betyder at man kan nøjes med at teste om kortet ( driveren ) kan OpenGL 2.0 hvor man før skulle teste hver enkelt extension.... Dette er ikke alene nemmere for programmøren, men betyder også at spil / demoer der bruger pixelshader ikke kun er nvidia / ati ( afhængiget af hvilket shader extension programmøren valgt at bruge )

Mht. 2 sidede stenciler siger OpenGL's presse meddelse :

"Two-sided stencil, with the ability to define stencil functionality for the front and back faces of primitives, improving performance of shadow volume and constructive solid geometry rendering algorithms."

... så er det jo op til den enkelte at dømme om det er nemmere end fortsatt selv at lave funktionaliteten...

og for 1,000,000 gang man kan ikke sammenligne DirectX med OpenGL, det svaret til at sammenligne bannaner med pærer. Hvis du vil ud i at sammenligne så prøv med Direct3D vs. OpenGL. ( men det vil med 100% sikkerhed udløse en flame war )


---
Gravatar #3 - stone
13. aug. 2004 10:56
#1 - hvad mener du med valgfrie texture formater? det er der da. alle grafikkort konvertere textures til raw alligevel. opengl naar ioevrigt directx til vaesenligt over sokkeholderne, og er nogle steder meget foran, som feks med platforms uafhaengighed. directx10 kommer ioevrigt ikke foer 2006.

/stone
Gravatar #4 - knasknaz
13. aug. 2004 11:54
Efter min mening er det altid godt at se noget, der ikke er proprietært og windows-only komme frem. Og desuden har jeg fået et ganske godt indtryk af OpenGL af de spiludviklere jeg kender, der har prøvet at arbejde med 3D engines. Så det her er et godt skridt fremad for 3D generelt.
Gravatar #5 - scarlac
13. aug. 2004 12:40
Det var sgu på tide :) men det er dejligt at høre. OpenGL er faldet langt langt bagud, lader det til.. ihvertfald når det kommer til spil-programmering.
Gravatar #6 - guppy
13. aug. 2004 13:35
#5 "OpenGL er faldet langt langt bagud"

eh... Doom 3 er da så vidt jeg har forstået lavet til OpenGL, mon ikke Carmack havde valgt Direct3D hvis den var bedre? Jeg mener når han nu aligvel bruger DirectInput, osv...


[mad rant]
og lad os så lige for 1,000,0001 gang slå fast at DirectX er en komplet multimedia API, hvor Direct3D kun er en lille del af. Man kan der for ikke sammenligne DirectX og OpenGL - eller man kan men det ville være dumt, OpenGL tilbyder jo f.eks. ingen funktionalitet til at håndterer lyd, input ( mus, keyboard, joystick ) så hvad skulle sammenlignings grundlaget være?

Og hvis man sammenligner Direct3D og OpenGL skal man passe meget på med at lave hastigheds benchmarks - for det har *intet* at gøre med api'en.
[/mad rant]



---
Gravatar #7 - lean
13. aug. 2004 14:21
Jaja, okay. Så Direct3D. Men jeg fatter ikke hvordan i vil sammenligne det, da Direct3D kommer med _mange_ ekstra features, som man selv skal downloade til OpenGL. F. eks subsurface scattering (og senere hen fysiksimulering og konvertering af formater). Grunden til dette er at Microsoft vil have en størrere del af engine markedet, og vil derved presse algoritmer igennem ved at inkludere dem i Direct3D.

#2
Dvs at alle eksisterende kort ikke kan køre OpenGL 2.0???? Man bliver stadig nødt til at tjecke profiler - ellers kan man jo ikke vide om kortet kan udrulle loops og hvor mange instruktioner det supporter. Det kan godt være at OpenGL 2.0 giver let mulighed for emulation, men det vil køre langsomt - ligesom det allerede gør med OpenGL 1.4.
Det korte af det lange er at OpenGL 2.0 ikke kan ændre på hardwaren i eksisterende kort. Så hvis OpenGL 2.0 har nogen stærke minimumskrav (mange instruktioner, ingen udrulning af loops) så er det selvfølgelig en glimrende base at starte nye grafikgenerationer med.
Men så kan man sige 'hvorfor så ikke gå hele vejen' og få fjernet pixel og vertex shader, så de ikke er uafhængige trin (som er den ultimativ vigtigste brik i Direct3D 10, da det sætter krav til hardwareproducenterne) - det vil også gøre det nemmere at implementere et ordentlig stream library.
Og det med at andre vendors nemt kan følge standarden - så har ARB været ude lige så længe ATI har implementeret CG, så der er ingen undskylding for at andre ikke kan følge trop (hvilket 3D Labs også er uden problemer).

#5
Dette er ikke sandt. Den største ulempe ved OpenGL er ikke manglen på features, men at Microsoft er bedre til at markedsføre og pakke flere shaders og middlevare produkter med. Der er intet der mangler i 1.4 specifikationerne, prøv at se på spil som Doom3 eller Unreal 3 - som bruger OpenGL.

#3
Jeg mener at man selv kan vælge at overføre et array af f.eks. normaler til grafikkortet. Lige nu skal man overføre til en texture, som man så kan læse værdierne ud fra i 4 gange 8bit. Herefter kan man konvertere dem til flydende normaler, lave sine udregner, gemme i en texture (i 4*8bit) føre tilbage til den normale ram, og så fortsætte derfra.
Gravatar #8 - guppy
13. aug. 2004 16:37
#7 "Dvs at alle eksisterende kort ikke kan køre OpenGL 2.0???? [...]"

Nu skal du ikke spille dum! Du ved sq udemærket at alle kort på markedet der har hardware support for det features der er i OpenGL 2.0 vil få officiel OpenGL 2.0 support i deres drivere.


mht. resten af dit indlæg er der kun et ord der er dækkende; "flamebait"


---
Gravatar #9 - lars bjørn
20. aug. 2004 09:49
jeg ved ikke noget om openGL og direct3D/X men doom3 kommer til linux og der findes directX ikke til... så istedfor at skrive både til openGL og direct3D/X så skriver de vel til openGL som både er til windows og linux ( og en masse andet ).

Lars
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login