Gå til innhold

Anbefalte innlegg

The OpenGL ARB unveiled the name and more details of the new version of OpenGL formerly know as Longs Peak - now officially OpenGL 3 - on August 8th 2007 at the Siggraph Birds of a Feather (BOF) in San Diego, CA. OpenGL 3 will be a great increase in efficiency in an already excellent API. It will provide a solid, consistent and well thought out foundation for the future evolution of the OpenGL standard.  OpenGL 3 is a true industry effort with broad support from all vendors in the ARB. The OpenGL 3 specification is on track to be finalized at the next face-to-face meeting of the OpenGL ARB, at the end of August. This means the specification can be publicly available as soon as the end of September, after the mandatory 30 day Khronos approval period has passed. Also presented today were the changes to the OpenGL Shading Language that will accompany OpenGL 3. For more details see the OpenGL BOF presentations here.

 

Man kan lese litt overfladisk om hva det innebærer på Wikipedia

 

Som oppsummering av hva det innebærer, så skal OpenGL 3.0 bli mer "objekt orientert" og OpenGL state systemet faller bort.

Prosedyre basert OpenGL programmering forsvinner også, men vil bli beholdt for bakoverkompatibilitet (men det skal altså ikke brukes lenger)

Teksturer vil bli immutable object, mutable data, man kan altså ikke endre størrelse eller format på en tekstur etter den er laget, men bare innholdet.

 

Hva synes dere?

Lenke til kommentar
Videoannonse
Annonse

Vel, spesifikasjonen skal være ferdig i november, så det er litt til å vente.

 

Det ser ut til å bli tre forskjellig typer objekter:

State objects(formater, shaders og programs), data objects (buffer, teksturer) og Container objects (Vertex array, Program environment og framebuffer)

 

Forskjellen er at State objects er fullstendig immutable, altså at dersom du vil endre på et state object, må du slette det gamle, og lage ett nytt.

 

Data objects er strukturen immutable, men innholdet kan endres (teksturer kan ikke endre format, men innhold) Container objekter kan endre egenskaper, men innhold er immutable.

 

Vertex arrays blir altså imutable på format, noe som er like greit. Innholdet kan endres.

 

Buffer er uformatert data lagring, størrelse og bruk kan ikke endres, men innholdet kan det. Et buffer kan inneholde vertex data, program data etc.

 

Et shader objekt er fullstendig immutable, men det kan inneholde både kompilert og ukompilerte shaders.

 

Teksturer bytter navn til Image, og vil også bli brukt til framebuffer (noe jeg synes er ganske mye smartere en den teite løsningen som var før)

Image har også et Texture filter object, som er immutable.

 

Det finnes en rekke andre state erstattere, som rasterization object, som bestemmer hvordan ting skal rendres (polygon mode etc) og Format object (som spesifiserer hvordan vertex buffers og liugnende er formatert)

Per sample object erstatter glEnable(GL_ALPHA_BLEND) og lignende funksjoner.

 

Det er derimot ikke noe eksempel kode å oppdrive :(

Lenke til kommentar
  • 2 uker senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...