OGRE

De Viquipèdia
Dreceres ràpides: navegació, cerca
Per a altres significats vegeu «ogre».
OGRE
OGRE
Desenvolupador(s) L'equip d'OGRE
Versió estable

1.7.3 (Cthugha)

/ 8 de maig de 2011
Escrit en C++
Plataforma Multiplataforma
Tipus Motor de gràfics en 3D
Llicència MIT[1]
Lloc web http://www.ogre3d.org/

OGRE (Object-Oriented Graphics Rendering Engine) és un motor de renderització de 3D flexible orientat a escenes (en lloc de motor de videojoc) escrit en C++ i dissenyat per fer més fàcil i intuïtiu per als desenvolupadors d'aplicacions que utilitzen per produir acceleració per maquinari de gràfics 3D. La biblioteca de classes resumeix els detalls de l'ús de les biblioteques de sistema subjacents, com el Direct3D i OpenGL i proporciona una interfície basada en objectes del món i altres classes d'alt nivell.

L'OGRE té una comunitat molt activa, i és el projecte del mes de SourceForge en el març del 2005.[2] S'ha utilitzat en alguns videojocs comercials, com ara Ankh, Torchlight i Garshasp.

La versió 1.0.0 ("Azathoth") es publicà el febrer de 2005. L'actual versió en la sèrie 1.x.y és la 1.7.3 ("Cthugha"), publicat el 8 de maig de 2011. Publicat sota els termes de la llicència MIT[1] i anteriorment amb una modificació de la GNU Lesser General Public License (LGPL), el motor és programari lliure. La modificació d'aquesta llicència permet als usuaris enllaçar estàticament la biblioteca en els mateixos termes com a enllaç dinàmic, a través d'una distinció feta per la LGPL.

Com indica el seu nom, OGRE és "només" un motor de renderització. Com també, el seu propòsit principal és proporcionar una solució general per a la representació de gràfics. Tot i que també ve amb altres instal·lacions (les classes vector i matriu, la gestió de memòria, etc), es consideren complementaris. No és una solució tot-en-un en termes del desenvolupament de videojoc o simulació, ja que no es proporciona suport d'àudio o la física, per exemple.

Generalment, això es considera com el principal inconvenient de l'OGRE, però també podria ser vist com una característica del motor. L'elecció de l'OGRE com a motor gràfic permet als desenvolupadors la llibertat d'usar qualsevol tipus de física, d'entrada de maquinari, l'àudio i altres biblioteques que permeten que l'equip de desenvolupament de l'OGRE es centri en els gràfics en lloc de distribuir els seus esforços entre diversos sistemes. OGRE dóna suport explícitament per a les llibreries d'OIS, SDL i CEGUI i inclou un toolkit de Cg.

Com que en la versió 1.7.0 d'Ogre es comercialitza sota els termes de la MIT License.[1] Les primeres versions de l'OGRE van ser publicades en una llicència dual (un amb la LGPL, i l'altra anomenada OGRE Unrestricted License (OUL)), perquè sigui possible ser elegit per al desenvolupament de videoconsoles, ja que la majoria dels editors no els agraden els termes de la llicència copyleft.

Prestacions[modifica | modifica el codi]

Imatge del paquet de demostració oficial de l'OGRE, de la prova de "Reflexions i Refraccions de Fresnel". Opcions de renderització: Resolució de 1600*1200 píxels, renderitzador d'OpenGL, 16x FSAA i qualitat de color de 32 bits.

L'OGRE té un disseny orientat a objectes amb una arquitectura de connectors que permet l'afegiment fàcil de noves característiques, per la qual cosa és altament modular.

L'OGRE és un motor basat en gràfics d'escenes, amb suport per a una àmplia varietat d'administradors d'escenes, sobretot d'octrees, BSP i administració d'escenes paisatge de paginació, juntament amb un admnistrador d'escenes en fase beta basat en portals que és en desenvolupament.

L'OGRE és totalment multiplataforma, amb suport per a l'OpenGL i Direct3D. Es pot fer renderització del mateix contingut en diferents plataformes sense que el creador de contingut hagi de tenir en compte les diferents capacitats de cada plataforma. Això redueix la complexitat de la implementació d'un videojoc en diversos sistemes. Actualment existeixen binaris precompilats per a Linux, Mac OS X, i totes les versions importants de Windows.

L'OGRE també suporta programes de Vértexs i Fragments juntament amb shaders personalitzats escrits en GLSL, HLSL, Cg i assemblador.

L'administrador d'escenes de paisatges té suport per a nivell de detall progressiu, que pot ser creat de manera automàtica o manual.

El motor d'animació té suport complet per al "skinning", a través de diverses postures completes.

L'OGRE també té un administrador composició amb llenguatge script i postprocessament de vídeo a pantalla completa per a efectes com el HDR, blooming, saturació, brillantor, blurring i soroll. També hi ha un sistema de partícules amb renderització extensible i efectors i emissors personalitzables.

Les biblioteques també disposen de depuració de memòria i recursos de càrrega dels arxius.

Hi ha eines exportadors de contingut per la majoria de modelejadors de 3D incloent-hi el 3D Studio Max, Maya, Blender, LightWave, Milkshape, Sketchup i més.

Una llista completa de les característiques proporcionades per l'OGRE, es pot trobar en el lloc web d'OGRE3d.[3]

Esdeveniment del Google Summer of Code[modifica | modifica el codi]

OGRE va obtenir sis entrades per a la Google Summer of Code del 2006 per millorar el motor existent i afegir noves funcions. Aquestes entrades van ser les següents:

  • Eina per a la solució tot-en-un per als artistes
  • RmOgreExporter (v2), FxOgreExporter
  • Instàncies, Representació de multituds
  • Estenent, Testeig i documentació pel Sistema de Mapeig d'Ombres
  • Administrador d'Escenes
  • Núvols de fons

En els anys següents, molts altres projectes del Google Summer of Code s'han realitzat pel motor Ogre.[4]

Noms de versions[modifica | modifica el codi]

Els noms de la branca de versions és, Hastur per 0.15.x, Azathoth per 1.0.x, Dagon per 1.1.x i 1.2.x, Eihort per 1.3.x i 1.4.x, Shoggoth per 1.5.x i 1.6.x, porten el nom dels membres d'una antiga raça de déus temibles anomena els Grans Antics de la mitologia Cthulhu de H. P. Lovecraft.

Història de publicacions[modifica | modifica el codi]

Una breu història de OGRE, i les seves fites:

Al voltant del 1999
Sinbad s'adona que el seu projecte de 'DIMClass', un projecte per fer fàcil d'utilitzar la llibreria orientada a objectes de Direct3D, s'ha tornat tan abstracta que realment no només està basada en Direct3D. Comença la planificació d'una biblioteca més ambiciosa que podria ser activa i de plataforma independent.
25 de febrer de 2000 
Es registra el projecte a Sourceforge, es posa com a nom OGRE. No s'inicia el desenvolupament a causa de altres compromisos, però es produeix amb molta reflexió.
Febrer de 2005
Es comercialitza l'Ogre v1.0.0 "Azathoth" - revisió de recursos de sistema, tampons de maquinari píxel, HDR, CEGUI, exportador XSI
Març del 2005
Ogre és el 'Projecte del Mes' a Sourceforge
4 de novembre 2005
Es publica l'Ankh com a primer producte comercial utilitzant l'Ogre
7 de maig de 2006
Es publica oficial l'Ogre 1.2 "Dagon"
25 de març de 2007 
Es publica oficial l'Ogre 1.4 "Eihort"
28 d'agost de 2008 
Es publica oficial l'Ogre 1.6 "Shoggoth" (Actualment en versió estable 1.6.5)
28 de febrer de 2010 
Es publica oficial l'Ogre 1.7 "Cthugha" (Actualment en versió estable 1.7.3)

Versions d'OGRE i embolcalls[modifica | modifica el codi]

Hi ha una sèrie de "bindings" d'OGRE en altres llenguatges i frameworks incloent-hi el Perl, PureBasic, Python-Ogre per a Python, Ogre.rb per al Ruby, Ogre4j per al Java i OgreDotNet, GMOGRE per al Game Maker i MOGRE per al .NET.

Hi ha també alguns editors de nivells de programari lliure per a l'Ogre, com l'Ogitor[5]

Videojocs utilitzant l'OGRE[modifica | modifica el codi]

Videojocs de codi obert[modifica | modifica el codi]

Videojocs amb llicències de propietat[modifica | modifica el codi]

Referències[modifica | modifica el codi]

Bibliografia[modifica | modifica el codi]

  • Felix Kerger, OGRE 3D 1.7 Beginner's Guide, Packt Publishing, 2010 - ISBN 1849512485
  • Gregory Junker, Pro OGRE 3D programming, Apress, 2006, ISBN 1590597109

Enllaços externs[modifica | modifica el codi]

A Wikimedia Commons hi ha contingut multimèdia relatiu a: OGRE