# Gràfics 3D per ordinador

Els gràfics 3D per ordinador (en anglès 3D computer graphics) són treballs d'art gràfic creats amb ajuda d'ordinadors i programes especials 3D. En general, el terme pot referir-se també al procés de crear dits gràfics, o el camp d'estudi de tècniques i tecnologia relacionades amb els gràfics 3D.
Un gràfic 3D difereix d'un 2D principalment per la forma en què ha estat generat. Aquest tipus de gràfics s'origina mitjançant un procés de càlculs matemàtics sobre entitats geomètriques tridimensionals produïdes en un ordinador, i el propòsit del qual és aconseguir una projecció visual en dues dimensions per a ser mostrada en una pantalla o impresa en paper.
En general, l'art dels gràfics 3D és similar a l'escultura o la fotografia, mentre que l'art dels gràfics 2D és anàleg a la pintura. En els programes de gràfics per computadora aquesta distinció és de vegades difusa: algunes aplicacions 2D utilitzen tècniques 3D per a aconseguir certs efectes com il·luminació, mentre que algunes aplicacions 3D primàries fan ús de tècniques 2D.

## Creació de gràfics 3D

Fases per a la creació d'elements/gràfics 3D:

### Modelar

L'etapa de modelar consisteix a anar donant forma a objectes individuals que després seran usats en l'escena. Existeixen diversos tipus de geometria per a modelador amb NURBS i modelatge poligonal o subdivisió de superfícies (subdivision surfaces en anglès). A més, encara que menys usat, existeix un altre tipus cridat "modelatge basat en imatges" o en anglès "image based modeling" (IBM). Consisteix a convertir una fotografia a 3D mitjançant l'ús de diverses tècniques, de les quals, la més coneguda és la fotogrametria que el seu principal impulsor és Paul Debevec.
Hi ha dos tipus de tècniques de modelar que són les mes representatives dins del modelatge
* Models representats per polígons: Un dels sistemes utilitzat per l'ordinador per representar qualsevol estructura són les polígons. Un cub té 6 cares, cadascuna d'elles és un polígon, una piràmide es compon de 4 triangles i una base quadrada. Però inclòs una forma arrodonida també es representa mitjançant polígons, l'exemple més clar de la vida real és veure un pilota de futbol, que es compon de 12 pentàgons i 20 hexàgons.
* Models definits per les seves corbes matemàtiques: NURBS y Patch: Avui dia hi ha altres sistemes de modelatge on l'usuari no treballa amb polígons, sinó amb superfícies corbes definides matemàticament. Imaginem una circumferència: podria representar-se com un polígon de molts costats però també podria representar-se com una funció matemàtica entre dues variables X i Y (el conjunt dels punts d'un pla que equidisten d'un altre). Evidentment l'usuari no ha de veure amb enutjoses fórmules, sinó que de la mateixa manera que en un programa vectorial (com Illustrator o Freehand) resulta senzill traçar corbes perfectes (no només cercles o el·lipses) en un modelador no poligonal es disposen de diferents tipus d'eines (splines, NURBS, patches bezier, etc) per crear superfícies corbes complexes.

### Shading/texturitzat

Definició de la forma que li afecta la llum, per a això s'usen materials shaders que són algoritmes que controlen la incidència de la llum, produint materials de tipus: Anisòtrop, Lambert, Blin… Combinant-les amb textures.

### Il·luminació

Creació de llums de diversos tipus puntuals, direccionals en àrea o volum, amb distint color o propietats. això és la clau d'una animació.
Hi ha tres tipus d'il·luminació que són les mes bàsiques i que trobarem pràcticament a tots el programes de edició 3d que són aquests tipus:
* Llum infinita: Únicament té informació de direcció pel que els rajos que emet són paral·lels, seria semblant a la llum que emet el nostre sol. Però és més útil per fer a justos i correccions.
* Llum puntual: posseeix informació tant de direcció com de posició pel que és útil quan vam començar a separar àrees il·luminades en l'escena.
* Llum spot: és la més útil, ja que podem intervenir exactament en les àrees que desitgem que estiguin il·luminades mitjançant un con de llum i així mateix podem controlar l'àrea de penombra.

### Animació

Els objectes es poden animar quant a
* Transformacions bàsiques en els tres eixos (XYZ), rotació, escala o translació.
* Forma(shape):
** Mitjançant esquelets: als objectes se'ls pot assignar un esquelet, una estructura central amb la capacitat d'afectar la forma i moviments d'aquest objecte. Això ajuda al procés d'animació, en el qual el moviment de l'esquelet automàticament afectés les porcions corresponents del model. Vegeu també animació per cinemàtica directa (Forward Kinematic animation) i animació per cinemàtica inversa (Inverse Kinematic animation).
** Mitjançant deformadores: ja siguin lattices (caixes de deformació) o qualsevol deformador que produeixi per exemple deformació sinusoidals.
** Dinàmiques: per a simulacions de roba, pèl, dinàmiques rígides d'objecte.
D'altra banda, aquestes són les principals tècniques d'animació 3D que s'utilitzen en l'actualitat:
* Tècnica de Motion Design: amb aquesta tècnica s'aconsegueix dotar de moviment real a un objecte tridimensional. El procés consta de captar els moviments utilitzant sensors i marcadors que es col·loquen sobre persones o objectes reals. Aquests sensors i marcadors bolquen l'obtingut en els models 3D. Aquesta tècnica s'utilitza molt sovint en el món dels videojocs.
* Tècnica de Stop Motion: aquesta tècnica ens permet animar objectes estàtics mitjançant la incorporació d'imatges sense cap moviment. Una altra versió d'aquesta tècnica és el "go motion". En aquesta variant es registra l'animació fotograma per fotograma.
* Pixilació: aquesta tècnica té una gran semblança a la "stop motion". L'única gran diferència és que la pixilació no treballa ni representa objectes, sinó a persones. El procés és el mateix que amb l'anterior tècnica, es realitza mitjançant la captura d'imatges, ja sigui usant una càmera de fotos o una de vídeo. Seguidament, aquestes imatges es desplacen a una velocitat de 24 frames per segon (fps), però, la velocitat pot ser diferent segons en quin format volem exportar el vídeo. D'aquesta manera, vam crear el moviment.
* Tècnica Hiperrealista: aquesta tècnica pretén que els personatges i objectes animats siguin tan reals que costi treball diferenciar de la realitat. L'objectiu és que l'animació tridimensional sigui el més imperceptible possible.
* Tècnica de caricatura: aquesta tècnica intenta fer molt més simple la realitat per crear personatges i objectes ficticis que siguin divertits per a, per exemple, els més petits.
L'animació en 3D és un procés complex, ja que porta amb si la realització prèvia d'altres processos com el disseny i modelatge de la imatge a animar. Es tracta de la deformació o moviment dels objectes d'un model 3d al llarg del temps. Perquè hi hagi animació, aquesta deformació o moviment a fer ha de variar en alguna cosa respecte al temps: moviment d'objectes i càmeres, canvi de llums i formes, etc.
Fou creada en 1972 pel fundador de Pixar Ed Catmull juntament amb Fred Parke i Robert Ingerbretsen.
* La primera animació 3D: Hem de retrocedir uns 40 anys al passat, més concretament a 1972, a la universitat de Utah, on un jove Edwin Catmull amb ajuda del seu company Fred Parke, van crear la primera animació digital en 3D de la història. O si més no la primera de la qual es tingui constància. La pel·lícula va ser rodada en format Super 8, sense so i en blanc i negre.
* La primera pel·lícula 3D: 23 anys més tard s'estrenaria Toy Story, la primera cinta creada íntegrament amb efectes d'animació en tres dimensions, generant més de 550 milions de dòlars en guanys produïda per Pixar, sent Catmull un dels seus fundadors. Després de l'adquisició de l'empresa per part de Disney, va assumir la presidència de Walt Disney Studios.
* Actualitat l'animació 3D: Actualment el món de l'animació 3D ha evolucionat molt és un món molt gran, ja que quasi qualsevol persona té els mitjans suficients per a poder crear una animació bàsica a casa seva i això et dona un món de possibilitats.

### Renderització

Es diu renderitzat (o render) al procés final de generar la imatge 2D o animació a partir de l'escena creada. Això pot ser comparat a prendre una foto o en el cas de l'animació, a filmar una escena de la vida real. Generalment es busquen imatges de qualitat fotorrealista, i per a aquest fi s'han desenvolupat molts mètodes especials. Les tècniques van des de les més senzilles, com el render de la malla (wireframe rendering), passant pel render basat en polígons, fins a les tècniques més modernes com el Scanline Rendering, el Raytracing, la radiositat o el Mapeig de fotons
El programari de render pot simular efectes cinematogràfics com els lens flare (aberració d'un feix de llum en la filmació), la profunditat de camp, o el motion blur (desenfoque de moviment). Aquests artefactes són, en realitat, un producte de les imperfeccions mecàniques de la fotografia física, però com l'ull humà està acostumat a la seva presència, la simulació de dits efectes aporten un element de realisme a l'escena. S'han desenvolupat tècniques amb el propòsit de simular altres efectes d'origen natural, com la interacció de la llum amb l'atmosfera o el fum. Exemples d'aquestes tècniques inclouen els sistemes de partícules que poden simular pluja, fum o foc, el mostreig volumètric per a simular boira, pols i altres efectes atmosfèrics, i els càustics per a simular l'efecte de la llum en travessar superfícies refractants.
El procés de render necessita una gran capacitat de càlcul, perquè requereix simular gran quantitat de processos físics complexos. La capacitat de càlcul s'ha incrementat ràpidament a través dels anys, permetent un grau superior de realisme en els renders. Estudis de cinema que produeixen animacions generades per ordinador fan ús, en general, del que es coneix com a render farm (granja de render) per a accelerar la producció de fotogrames.

## Aplicacions informàtiques
### Aplicacions 3D

Resum Aplicacions 3D
| Nom | Companyia | Enllaç | Versió |
| Autodesk Maya | Autodesk | http://www.autodesk.com/maya | 2020.2 |
| Autodesk Softimage | Autodesk | http://www.softimage.com | 2015 SP2 (descontinuat) |
| Autodesk 3ds Max | Autodesk | http://www.autodesk.com/3dsmax | 2021.1 |
| LightWave 3D | Newtek | http://www.newtek.com/ | 2020 |
| Blender | Blender (OpenSource) | http://www.blender.org/ | 2.83.1 |
| Cinema 4D | Maxon | http://www.maxon.net | S22 |
| Houdini | Side Effects | http://www.sidefx.com/ | 18 |
| Rhinoceros | Rhino | http://www.rhino3d.com/ | 6 |
| Pov-ray | Povray | http://www.povray.org/ | 3.7 |

### Renders basat en Renderman

| Nom | Companyia | Enllaç | Versió | Sistema Operatiu | Comentaris |
| Renderman Pro Server | Pixar | http://renderman.pixar.com | 13 | Windows, Mac OSX, Linux | L'original, inclou gestors de renders i és àmpliament usat en els estudis de postproducció nord-americans. |
| Render Man Studio 1 | Pixar | http://renderman.pixar.com | 1 | Windows, Mac OSX, Linux | És una integració limitada (quant a facilitat d'ús no a potència) dintre de maya, inclou Alfred (gestor de renders) i Slim (editor de materials) |
| Renderman for Maya 2.0 | Pixar | http://renderman.pixar.com | 2 | Windows, Mac OSX | Ofereix part dels avanços tècnics de Renderman Pro, però a més aquesta especialment bé integrat en Maya. Cap destacar el seu rapidíssim desplaçament |
| Pixie | Universitat de Texas (OpenSource) | http://www.cs.utexas.edu/okan/Pixie/pixie.htm%5BEnllaç+no+actiu%5D | 2.1.1 | Windows, Linux i Macos X | Especialment usat en universitats per a renders amb caràcter científic. No aquesta de cap forma integrat en Maya. |
| 3dlight | Dna Research | http://www.3delight.com | 6.0 | Windows, Linux i Macos X | Té uns plugins que s'integra al Maya, la seva característica principal és l'excel·lent maneig de molta geometria. |
| Gelato | Nvidia | http://film.nvidia.com/page/gelato.html Arxivat 2006-04-26 a Wayback Machine. | 2.0 | Windows i Linux | Originalment es denominava BMRT (blue Moon rendering tool) posteriorment es va denominar Exluna de l'empresa Entropy, va ser comprat per Nvidia i optimitzat per a treballar en conjunció de les GPUs de les targetes gràfiques de la pròpia companyia. |
| AIR | sitexgraphics | http://www.sitexgraphics.com/ | 5.0 | Windows i Linux | Aquesta especialment integrat en Houdini i Rhino |

### Renders no basats en Renderman

| finalRender | Encebes GmbH | http://www.encebes.com/%5BEnllaç+no+actiu%5D | Stage 1-R2 | Windows | Plugins de 3D Studio Max, especialment usat per a arquitectura, exteriors i interiors. Gran qualitat però a costa d'uns temps elevats de render. Actualment disposen d'una versió per a integrar al Maya, bastant avançada. |
| Vray | ChaosGroup | http://www.chaosgroup.com/ | 1.5 | Windows | Plugins de 3D Studio Max, especialment usat per a arquitectura, exteriors i interiors. Gran qualitat però a costa d'uns temps elevats de render. Actualment disposen d'una versió per a Maya però no gaire estable. Extraordinaris shader, qualitat excel·lent (en Max) |
| Povray | | http://www.povray.org/ | | Windows i Linux | És una opció per a renderitzar al Blender. |
Malgrat haver-hi molts paquets de modelar i animació 3D, els quatre més populars:
* Maya (Autodesk). És el programari de modelar més popular en la indústria. Després de l'adquisició de l'empresa fabricadora, ALIAS, per part d'AUTODESK, la versió vuitena de Maya va ser publicada. És utilitzat per multitud d'importants estudis d'efectes visuals en combinació amb RenderMan, el motor de render fotorrealista de Pixar. Última versió és la 2020.
* 3D Studio Max (Discreet). Va ser originalment escrit per Kinetix (una divisió de Autodesk) com el successor de 3D Studio per a MS-DOS. Més tard Kinetix es va fusionar amb l'última adquisició d'Autodesk, Discreet Logic. La versió més recent és la 2021. És el líder en el desenvolupament 3D de la indústria del videojoc i és molt utilitzat a nivell amateur.
* Softimage XSI (Avid). El contrincant més gran de Maya. En 1987, Softimage Inc, una companyia situada en Montreal, va escriure 3D, que es va convertir ràpidament en el programa de 3D més popular d'aquest període. En 1994, Microsoft va comprar Softimage Inc. i van començar a reescriure 3D per a Windows NT. El resultat es va anomenar XSI. En 1998 Microsoft va vendre Softimage a Avid. La darrera versió va ser la 2015 SP2.
* Lightwave 3D (Newtek). Va ser desenvolupat per la companyia de Kansas NewTek Inc. en 1989. El programari consta de dues parts, Modeler desenvolupat per Stuart Ferguson en 1986 i Layout desenvolupat per Allen Hastings en 1989 per als ordinadors Commodore Amiga com a part de l'editor lineal/no-lineal VideoToaster. Més tard va evolucionar en un avançat paquet de #modelar animació, VFX i render per a diverses plataformes: Amiga, PC Windows, Apple Macintosh, Silicon Graphics, Dec Alpha, Sun Microsystems i Mips. Actualment disponible per a Windows, Mac OS i Mac OS X. La versió actual és la 9.3. És utilitzat en multitud d'estudis per a efectes visuals i animació de cinema i televisió com a Digital Domain, Rhythm & Hues,Eden FX, Dreamworks, Flash Film Works, Pixel Magic, The Embassy, JPL-Nasa, Zoic Studios, Cafe FX, etc.
Altres paquets menys populars:
* Caligari trueSpace. Aplicació en la qual totes les fases de creació de gràfics 3D són realitzades dintre d'un únic programa. Proveeix característiques com simulació de fenòmens físics (vent, gravetat, col·lisions entre cossos).
* Cinema4D. Motor de render ràpid, càlcul de radiositat.
* formZ. Ofereix manipulació topològica de les geometries.
* Blender. És un programa lliure de modelar, animació, il·luminació i renderitzat, amb simulació de partícules i física de fluids, cossos rígids i suaus en temps real (necessaris per al seu motor de jocs), amb possibilitat d'edició i composició d'imatges i vídeo. Pot importar/exportar distints formats d'imatge 2D (bmp, jpg...) i models i escenes 3D(3ds, obj...), i a més ofereix la possibilitat de programar scripts en Python.
* Rhinoceros 3D. Un potent modelador baix NURBS.
* RealSoft3D. Modelador 3D per a Linux i Windows. Inclou render.
* Universe per Electric Image. Paquet de #modelar i animació amb un dels motors de render més ràpids que existeixen.
* POV-Ray. Un avançat programari gratuït de Raytracing. Usa el seu propi llenguatge de descripció d'escena, amb característiques com macros, bucles i declaracions condicionals. És completament gratuït encara que no va ser llançat baix GPL. No inclou modelador.
* Moray. Modelador per a POV-Ray.
* Kerkythea. Programa gratuït que fa renderitzats realistes a partir de les propietats físiques de la llum.

## APIs de gràfics 3D

Els gràfics 3D s'han convertit en alguna cosa molt popular, particularment en jocs de computadora, al punt que s'han creat APIs especialitzades per a facilitar els processos en totes les etapes de la generació de gràfics per computadora. Aquestes APIs han demostrat ser vitals per als desenvolupadors de maquinari per a gràfics per ordinador, ja que proveeixen un camí al programador per a accedir al maquinari de manera abstracta, aprofitant els avantatges de tal o tal altra placa de video.
Les següents APIs per a gràfics per computadora són particularment populars:
* OpenGL
* Direct3D (subconjunt de DirectX per a produir gràfics interactius en 3D)
* RenderMan

## Referències

* ↑ Nom de l'enllaç, Escola Superior de Disseny de Barcelona.
* ↑ «blender.org - Home of the Blender project - Free and Open 3D creation software». Arxivat de l'original el 2009-01-07. [Consulta: 13 gener 2009].
* ↑ «Web de Kerkythea».

## Vegeu també

* Animació per ordinador
* Disseny assistit per ordinador
* Infografia
* Renderització
* SIGGRAPH
* YafRay