You are on page 1of 522

ARQUITECTURA, ARQUITECTURA,

URBANISME URBANISME
I EDIFICACI I EDIFICACI

Simulacin visual de materiales


Teora. Tcnicas. Anlisis de casos
Simulacin visual de materiales. Teora. Tcnicas. Anlisis de casos

La simulacin de materiales tiene una gran importancia, terica y prctica,


desde mltiples puntos de vista y aplicaciones profesionales. Es un requisito
fundamental para la creacin de escenarios virtuales y est imbricada en el
propio proceso de diseo. Pues los colores, texturas, reflejos o transparencias,
modifican las formas y espacios que percibimos. Las posibilidades que se han
abierto a partir del desarrollo de nuevos recursos de interaccin virtual, abren
vas que solo desde hace pocos aos estamos comenzando a asimilar.
Este libro, que se publica en paralelo con otro sobre Simulacin visual de la
iluminacin, abarca todo lo implicado en esta temtica, tanto desde un punto
de vista terico y conceptual, a lo largo de su primera parte, como por medio de
una explicacin pormenorizada, a lo largo de su segunda parte, de las principales
tcnicas con que contamos en la actualidad, proporcionando ejemplos relevantes
para diferentes aplicaciones, principalmente en arquitectura y diseo.

Javier Monedero naci en Bilbao en 1947. Termin los estudios de arquitectura


en Barcelona en 1971. Trabaja como arquitecto en Londres entre 1972 y 1975.
Es profesor de la ETS de Arquitectura de Barcelona (ETSAB) desde 1976. Doctor
arquitecto, en 1987 con la tesis Mmesis y Construccin y Profesor Titular de
la UPC (Universidad Politcnica de Catalua) desde 1988.
Ha sido responsable de varias asignaturas obligatorias y optativas, de grado
y postgrado, sobre temas relacionados con la representacin por medios
tradicionales y con la simulacin visual por medios digitales, as como de un
programa de doctorado y un programa de mster sobre Modelado y Simulacin
Visual en Arquitectura. Ha publicado varios libros y un gran nmero de artculos
y ponencias en revistas y congresos internacionales, principalmente sobre temas
relacionados con la aplicacin de tcnicas digitales a la arquitectura y sobre la
formacin de los arquitectos.
9 788498 805635

UPCGRAU

UPCGRAU
www.upc.edu/idp Simulacin visual de materiales
Teora. Tcnicas. Anlisis de casos
Javier Monedero
Javier Monedero
ARQUITECTURA,
URBANISME
I EDIFICACI

UPCGRAU
Simulacin visual de materiales
Teora. Tcnicas. Anlisis de casos

Javier Monedero
Primera edicin: diciembre de 2015

Javier Monedero, 2015

Iniciativa Digital Politcnica, 2015


Oficina de Publicacions Acadmiques Digitals de la UPC
Jordi Girona 31,
Edifici Torre Girona,Planta 1, 08034 Barcelona
Tel.: 934 015 885
www.upc.edu/idp
E-mail: info.idp@upc.edu

DL: B. 29722-2015
ISBN: 978-84-9880-564-2

Cualquier forma de reproduccin, distribucin, comunicacin pblica o transformacin de esta obra slo puede realizarse con la autorizacin de sus
titulares, salvo excepcin prevista en la ley.
ndice

Introduccin......................................................................................................................... 15

I. TEORA.............................................................................................................................. 19

1. Materiales reales............................................................................................................. 21

1.1 Caractersticas generales de los materiales reales................................................... 21


1.2 Causas inmediatas de los colores............................................................................. 23
La luz, los objetos y el ojo.......................................................................................... 23
Receptores cromticos superficiales. El ojo.............................................................. 24
Procesamiento retiniano. Canales cromticos. El crtex visual................................. 28
Apariencia cromtica. Categoras perceptivas. Nombres de los colores................... 31
Discriminacin cromtica........................................................................................... 33
Diferencias de discriminacin en visin escotpica y fotpica................................... 36
Deficiencias en la discriminacin cromtica............................................................... 37
Fenmenos de constancia cromtica........................................................................ 38
Fenmenos de interaccin cromtica........................................................................ 40
1.3 Causas fsicas de los colores..................................................................................... 41
Incandescencia.......................................................................................................... 45
Excitacin elctrica de gases. Color de las lmparas de descarga........................... 48
Luminiscencia. Color de otras fuentes de luz............................................................ 50
Impurezas metlicas en un medio aglutinante. Color de minerales y pigmentos......... 51
Compuestos orgnicos. Colorantes naturales y sintticos........................................ 52
Metales y semiconductores........................................................................................ 53
Casos especiales....................................................................................................... 55
1.4 Variaciones del color en la reflexin y refraccin. Otras causas del color...................... 56
Reflexin, absorcin, refraccin................................................................................. 56
Variaciones del color con el ngulo de visin. Ecuaciones de Fresnel...................... 57
Variaciones de reflexin debidas a la anisotropa...................................................... 59
Dispersin refractiva.................................................................................................. 60
Polarizacin................................................................................................................ 60
Dispersin (scattering)............................................................................................... 61
Interferencia. Iridiscencia. Difraccin......................................................................... 62
1.5 Variaciones locales.................................................................................................... 64
Texturas...................................................................................................................... 64
Patrones causados por diferencias de color o por diferencias de microrelieve......... 64
Patrones generales. La percepcin de texturas......................................................... 65
Variaciones, clasificaciones....................................................................................... 69
1.6 Variaciones debidas a otros factores ........................................................................ 71
Variaciones debidas al deterioro................................................................................ 71
Variaciones debidas a la distancia y a medios interpuestos...................................... 71

5
Simulacin visual de materiales

2. Materiales virtuales......................................................................................................... 75

2.1 Caractersticas generales de los materiales virtuales................................................ 75


2.2 Generacin de colores virtuales................................................................................. 75
Colores primarios y sistemas de mezcla.................................................................... 75
Codificacin de los colores........................................................................................ 78
Rangos absolutos de formatos de grabacin y dispositivos de reproduccin........... 85
Sistemas digitales de control y gestin de los colores............................................... 88
Rango dinmico. Factor gama................................................................................... 91
Gestin del color en la prctica.................................................................................. 93
2.3 Simulacin de la reflexin y refraccin....................................................................... 95
Cantidades radiomtricas bsicas. Radiancia e irradiancia....................................... 95
Albedo. Reflectividad. Reflectancia............................................................................ 97
La funcin BRDF........................................................................................................ 97
Las funciones BTDF, BSDF, BSSRDF....................................................................... 99
2.4 Modelos principales para la funcin BRDF.............................................................. 100
Especularidad perfecta............................................................................................ 101
Difusin perfecta (superficie de Lambert)................................................................ 101
Phong (1975)........................................................................................................... 101
Blinn (1977).............................................................................................................. 102
Cook y Torrance (1982)............................................................................................ 103
Poulin y Fournier (1990). Anisotropa....................................................................... 105
He-Torrance-Sillion-Greenberg (HTSG, 1991)......................................................... 106
Ward (1992)............................................................................................................. 107
Oren-Nayar (1993)................................................................................................... 107
Lafortune et al (1997)............................................................................................... 108
Ashikhmin y Shirley (2000).......................................................................................110
BRDF obtenida por mediciones................................................................................111
La funcin BTF..........................................................................................................112
2.5 Simulacin de texturas. Mtodos principales............................................................112
Tipos de texturas y tipos de aplicaciones.................................................................112
Texture mapping (Catmull, 1974)..............................................................................114
Environment mapping (Blinn y Newell, 1976)...........................................................115
Relieve con Bump Mapping (Blinn, 1978).................................................................116
Relieve con Displacement mapping (Cook, 1984)....................................................117
Relieve con Normal Mapping (varios, 1992, 1996, 1998).........................................118
Relieve con Parallax mapping (Kaneko et al., 2001)............................................... 120
Sistemas de partculas (Reeves, 1983)................................................................... 122
Procedural mapping (Perlin, Peachey, 1985)........................................................... 123
Procedural modeling de volmenes difusos (varios, 1985)..................................... 126
Hipertexturas (Perlin y Hoffert, 1989)....................................................................... 128
Texturas naturales generadas con fractales............................................................ 129
Figuras planas simuladas con Sprites y Billboards.................................................. 131
Variaciones debidas a la distancia. MipMaps. Multirresolucin............................... 132
2.6 Otros mtodos.......................................................................................................... 133
Variaciones debidas al deterioro.............................................................................. 133
Volume rendering. Participating media. Ray marching............................................ 136
Representacin de sistemas de partculas.............................................................. 139

6
ndice

II. TCNICAS...................................................................................................................... 143

3. Recursos bsicos.......................................................................................................... 145

3.1 Las tuberas de la representacin............................................................................ 145


La Base fsica. Caractersticas y evolucin de las tarjetas grficas y la GPU......... 145
Evolucin.................................................................................................................. 145
Componentes principales y especificaciones tcnicas............................................ 149
Conexiones externas............................................................................................... 154
La base algortmica. El concepto de shader............................................................ 157
Shader trees............................................................................................................. 157
Vertex Shaders........................................................................................................ 158
Pixel/Fragment Shaders........................................................................................... 159
Otros tipos de shaders............................................................................................. 160
Las tuberas de la representacin (rendering pipeline)............................................ 161
Descripcin genrica. Fases principales.................................................................. 161
Procesamiento de vrtices y ensamblaje de primitivas........................................... 162
Transformaciones de proyeccin............................................................................. 165
Procesamiento de pxels/fragmentos....................................................................... 166
Operaciones complementarias y salida final............................................................ 166
3.2 Estructuras mediadoras entre hardware y software................................................. 169
Las dos grandes API (Application Programming Interface)..................................... 169
Visin conjunta de la evolucin histrica de OpenGL y DirectX.............................. 169
Diferencias principales............................................................................................. 171
Evolucin histrica de las diferentes versiones de OpenGL y Direct3D.................. 172
Procesos bsicos en OpenGL y Direct3D................................................................ 176
Inicializacin, procesos bsicos, cierre.................................................................... 176
Creacin y representacin de primitivas.................................................................. 179
La rendering pipeline en Direct3D y OpenGL........................................................ 186
La explotacin del paralelismo, los nuevos lenguajes y las nuevas tecnologas.......... 189
Lenguajes de programacin de shaders.................................................................. 190
Las aplicaciones grficas de propsito general (GPGPU)....................................... 192
FireStream (ATI) / Stream Processor (AMD)........................................................... 192
CUDA (NVIDIA)........................................................................................................ 193
OpenCL.................................................................................................................... 194
3.3 Procesamiento de materiales e iluminacin............................................................. 194
Estructuras generales.............................................................................................. 194
Definicin y registro de parmetros bsicos de materiales...................................... 194
Modificacin de parmetros bsicos por la iluminacin de la escena..................... 195
Texturas.................................................................................................................... 196
Estructura y registro de los datos............................................................................. 196
Filtrado bsico de texturas....................................................................................... 199
3.4 Aliasing y antialiasing............................................................................................... 203
Notas sobre procesamiento de imgenes................................................................ 203
Imgenes y seales................................................................................................. 203
Teorema del muestreo y lmite de Nyquist............................................................... 204
Operaciones fundamentales. Transformada de Fourier. Convolucin..................... 205
Aliasing y antialiasing. Tipos generales................................................................... 207

7
Simulacin visual de materiales

Supermuestreo. Submuestreo................................................................................. 208


Filtros........................................................................................................................211
Generalidades...........................................................................................................211
Filtros principales utilizados en simulacin visual ................................................... 212
3.5 Organizacin de la escena....................................................................................... 214
Cmaras................................................................................................................... 214
Cmaras bsicas..................................................................................................... 214
Cmaras fsicas. Control de exposicin................................................................... 215
Iluminacin bsica.................................................................................................... 216
Organizacin elemental........................................................................................... 216
Configuracin bsicas de clculo............................................................................. 218
3.6 Organizacin del proyecto....................................................................................... 222
Organizacin general............................................................................................... 222
Pasos previos........................................................................................................... 222
Asignaciones. Nomenclatura................................................................................... 223
Gestin..................................................................................................................... 224
Control de las referencias externas......................................................................... 224
Bibliotecas de materiales......................................................................................... 224
Bibliotecas de mapas............................................................................................... 225

4. Tcnicas bsicas........................................................................................................... 227

Nota sobre tcnicas y software................................................................................ 227


4.1 Shaders bsicos....................................................................................................... 227
Shaders.................................................................................................................... 227
Parmetros de shaders bsicos............................................................................... 232
Otros parmetros..................................................................................................... 233
4.2 Shaders arquitectnicos........................................................................................... 233
Estructura y parmetros bsicos del material Arch&Design (mia material)............. 234
Reflejos.................................................................................................................... 234
Criterios generales................................................................................................... 237
Parmetros bsicos................................................................................................. 238
Reflejos sobre una esfera........................................................................................ 239
Reflejos sobre un plano........................................................................................... 241
Reflejos anisotrpicos.............................................................................................. 243
Parmetros de reflejos anisotrpicos....................................................................... 244
Reflejos sobre un cilindro......................................................................................... 245
Valores de reflectancia para diferentes materiales. Conservacin de la energa.....246
Transparencias........................................................................................................ 248
Parmetros bsicos................................................................................................. 248
Transparencias simples........................................................................................... 248
Transparencias con dispersin................................................................................ 249
Transparencias con reflejos..................................................................................... 251
Transparencias con refraccin. Parmetros adicionales......................................... 253
Translucidez............................................................................................................. 255
Sombras sobre vidrios............................................................................................. 256
Autoiluminacin........................................................................................................ 257
4.3 Shaders orgnicos. Otros shaders........................................................................... 259

8
ndice

Materiales de tipo SSS............................................................................................. 259


El material SSS Fast. Parmetros........................................................................... 261
El material SSS Fast. Ejemplo de aplicacin........................................................... 263
El material SSS Fast Skin........................................................................................ 269
El material SSS Physical.......................................................................................... 269
Medios participativos (Participating Media). El shader Parti Volume....................... 270
Parmetros del Parti Volume Shader....................................................................... 272
Ejemplo 1. Parti Volume aplicado a un objeto envolvente....................................... 273
Ejemplo 2. Parti Volume aplicado a una luz focal.................................................... 274
Ejemplo 3. Parti Volume aplicado a una luz directa................................................. 274
Sistemas de partculas............................................................................................. 276
Generalidades.......................................................................................................... 276
Procedimiento bsico. Parmetros principales de PF Source y Particle View........ 277
Space Warps (Forces, Deflectors)........................................................................... 279
Materiales (sin mapas) y sistemas de partculas..................................................... 282
Ejemplo 1. Emisor elemental................................................................................... 283
Ejemplo 2. Distribucin de partculas sobre una superficie..................................... 285
Ejemplo 3. Lluvia y nieve......................................................................................... 287
Objetos proxy. Con sistemas de partculas. Con herramientas de pintura de objetos..... 289
Otros shaders........................................................................................................... 291
Hipertexturas............................................................................................................ 292
4.4 Mapas...................................................................................................................... 294
Coordenadas UVW.................................................................................................. 295
Proyecciones explcitas y no explcitas.................................................................... 296
Tipos de proyecciones............................................................................................. 297
Mtodos bsicos de ajuste de proyecciones........................................................... 298
Proyecciones de un mismo mapa sobre diferentes planos...................................... 301
Proyecciones mltiples............................................................................................ 302
Proyecciones sobre superficies paramtricas con especificaciones internas UVW......... 304
Proyecciones sobre superficies de curvatura libre y definidas por NURBS............. 305
Proyecciones desplegadas y mtodos avanzados de edicin de mapas................ 306
4.5 Tipos de mapas.......................................................................................................... 310
Mapas de bits........................................................................................................... 310
Resolucin y multirresolucin...................................................................................311
Objetos de substitucin. Recursos LOD.................................................................. 313
Mapas procedurales................................................................................................. 314
Mapas procedurales 2D........................................................................................... 314
Mapas procedurales 3D........................................................................................... 315
Otros tipos de mapas procedurales......................................................................... 319

5. Aplicaciones y combinaciones de parmetros y mapas........................................... 323

5.1 Recursos generales................................................................................................. 323


Editores de materiales y mapas............................................................................... 323
Canales y mscaras................................................................................................. 324
Estructuras predeterminadas. Tipos de materiales............................................... 326
5.2 Mapas especiales de aplicacin genrica................................................................ 327
Mapas ligados a la orientacin de las caras. El mapa Falloff.................................. 328

9
Simulacin visual de materiales

Mapas de mezcla..................................................................................................... 331


Material Mezcla con Vertex Paint............................................................................. 332
Mapas modificadores de color ................................................................................ 334
Mapas de composicin............................................................................................ 335
5.3 Mapas de aplicacin a relieves................................................................................ 337
Mapas de tipo Bump................................................................................................ 337
Mapas de tipo Desplazamiento................................................................................ 339
Mapas de tipo Normal Mapping............................................................................... 341
Mapas de tipo Parallax y Parallax Occlusion Mapping............................................ 345
5.4 Mapas de aplicacin a recortes............................................................................... 346
Procedimientos bsicos de aplicacin..................................................................... 346
Control de la orientacin del plano de la figura (restriccin Look At)....................... 348
Canales alfa y fusin de imgenes. Valores alfa premultiplicados.......................... 349
Preparacin de imgenes. Tcnicas bsicas de ajuste y suavizado de bordes........ 350
Representacin directa sobre un fondo alfa............................................................ 353
5.5 Mapas de modificacin de reflexiones..................................................................... 354
Modificacin de reflejos por mapas monocromticos.............................................. 355
Modificacion de reflejos en mapas de entorno......................................................... 355
Fuga o sangrado de color (color bleeding).............................................................. 360
Modificacin de reflejos anisotrpicos por mapas................................................... 361
5.6 Mapas de modificacin de transparencias............................................................... 365
Procedimientos bsicos........................................................................................... 365
Modificacin de transparencias por mapas monocromticos. Ejemplos................. 365
Simulacin de cortinas semitransparentes con mapas falloff.................................. 369
Simulacin de agua con adicin de mapas.............................................................. 370
5.7 Mapas de aplicacin a la autoiluminacin................................................................ 372
Procedimientos bsicos........................................................................................... 372
Ejemplo 1. Cubo....................................................................................................... 372
Ejemplo 2. Prisma.................................................................................................... 373
Ejemplo 3. Plancha metlica.................................................................................... 374
Ejemplo 4. Vela........................................................................................................ 374
5.8 Mapas con sistemas de partculas........................................................................... 376
Introduccin.............................................................................................................. 376
Operadores de mapas............................................................................................. 376
Ejemplo 1. Procedimiento bsico............................................................................. 377
Ejemplo 2. Uso del operador de mapeado............................................................... 379
Ejemplo 3. Simulacin de rboles con mapas de bits.............................................. 380
Ejemplo 4. Simulacin de humo con mapas procedurales ..................................... 383
5.9 Fondos y mapas de entorno.................................................................................... 386
Fondos y mapas de entorno. Generalidades. Problemas en la prctica................. 386
Composicin de escenas con fondos. Concordancia de cmaras y luces ............. 389
Integracin de sombras y reflejos con imgenes de fondo. Material matte............. 392
Integracin de reflejos con imgenes de fondo. Bola cromada............................... 401
Integracin de sombras con fondos uniformes........................................................ 404
5.10 Simulacin no realista. Contornos con mapas......................................................... 406
Introduccin. Toon Shading..................................................................................... 406
Shaders disponibles................................................................................................. 406
Contornos simples................................................................................................... 407

10
ndice

Contornos y colores planos...................................................................................... 410


Representacin almbrica de la geometra interna................................................. 412
5.11 Texturas.................................................................................................................... 413
Criterios.................................................................................................................... 413
a) Calidad inicial....................................................................................................... 413
b) Resolucin........................................................................................................... 413
c) Repeticin. Texturas seamless............................................................................ 414
d) Organizacin........................................................................................................ 415
e) Calidad final. Ajustes y correccin de defectos.................................................... 416
Ejemplo de recomposicin de textura...................................................................... 418
Texturas artificiales................................................................................................... 422
Noise. Anlisis.......................................................................................................... 422
Cellular Noise. Anlisis............................................................................................. 423
Ejemplos de aplicacin de noise y cellular noise..................................................... 426
Otros recursos procedurales. Ejemplo de simulacin de cuero............................... 430
Texturas combinadas............................................................................................... 432
a) Texturas recortadas (decals) sobre texturas continuas....................................... 432
b) Decals superpuestos........................................................................................... 434
c) Texturas adicionales superpuestas...................................................................... 435
5.12 Texturas desplegadas. Render to Texture............................................................... 435
Texturas desplegadas (unwrap). Casos................................................................... 435
Integracin de texturas. Ejemplo 1. Casos simples (misma orientacin)................. 439
Integracin de texturas. Ejemplo 2. Casos generales (diferente orientacin).......... 440
Control de posicin en texturas sobre superficies curvas irregulares. Ejemplo 3.......... 446
Render to Texture. Aplicaciones. Proceso general. Parmetros principales........... 447
Ejemplo 1. Objeto simple sobre un plano................................................................ 452

6. Apndice. Materiales de construccin........................................................................ 461

Introduccin..................................................................................................................... 461
1 Piedras.......................................................................................................................... 462
Caractersticas fsicas.............................................................................................. 462
Piedras ms utilizadas en la construccin............................................................... 463
Caractersticas visuales. Mtodos de simulacin.................................................... 464
2 Maderas........................................................................................................................ 468
Caractersticas fsicas.............................................................................................. 469
Maderas ms utilizadas en la construccin............................................................. 470
Caractersticas visuales. Mtodos de simulacin.................................................... 473
3 Cermicas..................................................................................................................... 475
Caractersticas fsicas.............................................................................................. 476
Productos cermicos ms utilizados en la construccin.......................................... 477
Caractersticas visuales. Mtodos de simulacin.................................................... 479
4 Vidrios........................................................................................................................... 479
Caractersticas fsicas.............................................................................................. 480
Vidrios ms utilizados en la construccin................................................................ 480
Caractersticas visuales. Mtodos de simulacin.................................................... 482
5 Metales......................................................................................................................... 483
Caractersticas fsicas.............................................................................................. 483

11
Simulacin visual de materiales

Metales ms utilizados en la construccin............................................................... 484


Caractersticas visuales. Mtodos de simulacin.................................................... 486
6 Hormign...................................................................................................................... 488
Caractersticas fsicas.............................................................................................. 489
Hormigones ms utilizados en la construccin........................................................ 489
Caractersticas visuales. Mtodos de simulacin.................................................... 490
7 Plsticos........................................................................................................................ 492
Caractersticas fsicas.............................................................................................. 494
Plsticos ms utilizados en la construccin............................................................. 496
Caractersticas visuales. Mtodos de simulacin.................................................... 498
8 Varios............................................................................................................................ 500
Tierra combinada con otros materiales.................................................................... 501
Bamb. Mimbre. Hierba. Paja.................................................................................. 503
Cartn. Telas. Plsticos. Otros materiales............................................................... 504
Simulacin visual..................................................................................................... 505
Referencias.............................................................................................................. 507
ndice analtico......................................................................................................... 515

12
Simulacin visual de materiales

14
Introduccin

La primera parte de esta introduccin es co- complejo y abarca dos maneras muy distintas
mn a dos libros que se publican en paralelo: de abordarlo: una cientfica y otra artstica.
Simulacin visual de la iluminacin y Simula- La obra de Leonardo da Vinci es un paradig-
cin visual de materiales. A partir de aqu, los ma de lo que se puede conseguir cuando se
desarrollos se bifurcan aunque, en ms de atiende a estos dos extremos. En una poca
una ocasin me ver obligado a remitir el uno en la que parece que todo consiste en saber
al otro y el otro al uno. Y, en algn caso, ser cul es el botn que hay que apretar me pare-
inevitable alguna repeticin pues las fronteras ce saludable intentar, por difcil que sea, recu-
se solapan. perar esta tradicin.
La creacin de escenarios virtuales abarca Estas son las razones de esta divisin en
muchos temas. Pero los dos principales son la tcnicas de simulacin de iluminacin por un
representacin o simulacin de los materiales lado y de simulacin de materiales por otro. Y
y de la iluminacin. La interconexin es obvia por qu simulacin en lugar de, por ejem-
pues si no hay materiales que redistribuyan la plo, representacin. No hay razones muy
iluminacin no podemos analizar sta y, si no claras para elegir uno u otro trmino y confie-
hay iluminacin, poco podremos decir de las so que he dudado entre ambos. Pero el hecho
propiedades visuales de los materiales. Pero es que el trmino simulacin se ha utilizado
los problemas tericos y tcnicos implicados de modo preferente en los ltimos aos, por
divergen. un lado para diferenciarse de los mtodos
Mi intencin, que quizs atraiga a menos tradicionales y, sobre todo, para recalcar el
lectores aunque, espero, ms exigentes, no hecho de que los resultados se basan en pro-
ha sido elaborar un manual de cmo utilizar cesos internos que implican bastantes ms
ciertas tcnicas, sino situar estas tcnicas en cosas que la simple proyeccin de un modelo
un contexto ms amplio que pase, en primer sobre un plano.
lugar, por analizar los escenarios reales antes En fin, para terminar esta introduccin co-
de intentar replicarlos por medios virtuales. Y mn, aadir que no he incluido una seccin
esto supone un anlisis extenso de las propie- de agradecimientos porque este libro es el
dades generales, fsicas y perceptivas, que resultado de ms de veinte aos dedicados
se dan en la realidad. Y, en segundo lugar, a impartir clases y dirigir trabajos sobre estos
por lo que respecta a los escenarios virtua- temas en la ETS de Arquitectura de Barcelo-
les, explicar los conceptos tericos que hay na. Principalmente en la asignatura optativa
detrs de las tcnicas. Pues creo que el nico Simulacin Visual en Arquitectura por Me-
modo de aplicar las tcnicas de un modo ade- dios Informticos (1994-2014). Pero tambin
cuado es comprender bien la base terica en en otras asignaturas y cursos que se mencio-
que se apoyan. nan en la contraportada y de otros trabajos
El que sea imprescindible analizar a fondo relacionados con estos temas de los cuales
las peculiaridades de las cosas reales antes tambin he sido responsable. Hubiera sido
de intentar simularlas por cosas virtuales pa- necesario incluir docenas de nombres y se-
rece que debera ser una obviedad. Pero a lo guro que me hubiera dejado alguno. Pero s
largo de muchos aos de docencia he consta- quiero dejar constancia de que he aprendido
tado que esto no es as. Y, hasta cierto punto, muchsimo de los cientos de estudiantes que
es lgico que no lo sea pues este anlisis es he tenido a lo largo de estos aos. En algunos

15
Simulacin visual de materiales

casos, particularmente brillantes, porque me superficies y fenmenos que, en unos casos,


han mostrado alternativas interesantes o me resultaban prcticamente indestinguibles de
han dado informacin que no tena. En otros fenmenos reales y, en otros, daban lugar a
porque me han hecho ver que lo que explica- resultados extraos para los que haba que
ba poda explicarse mejor o estaba basado en buscar alguna correspondencia natural.
ambigedades o en equvocos de los que no La primera parte de este libro, Teora, parte
era consciente. A todos ellos mi ms sincero del anlisis de lo real y, ms exactamente, del
agradecimiento. dato inicial y final: los colores. Tanto desde el
punto de vista de su percepcin inmediata, fe-
nomnica, como de una comprensin mnima
de los procesos subyacentes, de las causas
fsicas de los colores. A partir de ah se des-
La simulacin visual de los materiales se en- criben los principales desarrollos tericos, los
frenta con tal diversidad de casos que, de conceptos principales que han orientado la
entrada, desafa cualquier proyecto ordena- aparicin de los shaders principales con que
do de sntesis. Los objetos que nos rodean contamos en la actualidad y en que se han
ofrecen una riqueza inabarcable de colores basado los mltiples mtodos de simulacin
y texturas, se modulan de mil modos con los de las propiedades bsicas de los materia-
cambios de luz, adquieren matices singula- les, tanto a nivel microscpico: absorcin,
res por el reconocimiento y las resonancias reflexin, transparencia, dispersin, aniso-
simblicas que proyectamos sobre ellos, aun- tropa como a nivel mesoscpico: textura,
que desbordan la memoria y la imaginacin relieve o variaciones generales de esas pro-
a nada que los observemos con suficiente piedades bsicas en un entorno local.
atencin. Sin embargo, la admiracin invita, La segunda parte, Tcnicas, se centra en
desafa, a la recreacin. Y al igual que ha los modos especficos con que esos concep-
ocurrido con la pintura y la fotografa, la crea- tos y recursos se pueden utilizar en la prctica
cin de imgenes sintticas debe acompasar para construir escenarios virtuales en los que
el deslumbramiento con el anlisis. As, pese las superficies materiales exhiban una rique-
a que suponga cierta violencia, es necesario za de variaciones y matices equivalente a la
separar, ordenar, clasificar, hacer acopio de que nos admira en los escenarios reales. Las
recursos diversos para someter, hasta cierto tcnicas disponibles son muy numerosas y es
punto, este extraordinario calidoscopio a le- inevitable filtrarlas en funcin de las aplica-
yes y tcnicas que posibiliten esta recreacin. ciones previstas. He dado preferencia a las
En los ltimos cuarenta aos, se han ido que se relacionan directamente con la arqui-
acumulando un sorprendente nmero de tc- tectura y el diseo. Pero las fronteras no pue-
nicas y recursos para emular esta riqueza den ser rgidas y los mtodos de simulacin
natural. En unos casos, mediante la replica- de objetos orgnicos pueden ser necesarios
cin tcnica de propiedades fsicas reales. En para la simulacin de arquitecturas o elemen-
otros, mediante trucos ingeniosos que se han tos no convencionales o para la inclusin de
utilizado para construir rplicas artificiales con elementos naturales en escenarios arquitec-
poco o ningn parentesco con los fenmenos tnicos. De ah que tambin se hayan am-
reales. El concepto de shader, introducido a pliado las explicaciones tcnicas para incluir
mediados de la dcada de 1980 por Robert sistemas de partculas, medios participativos
Cook, ha sido una herramienta crucial en este o proyecciones desplegadas (unwrap) de tex-
desarrollo, al posibilitar la composicin de al- turas complejas.
goritmos que servan para representar aspec-
tos muy especficos, propiedades parciales,
en un conjunto unitario que permita generar

16
I
TEORA
Materiales reales

Hay muchos libros de simulacin visual que cambia el punto de vista (cambia la distancia y
dan por supuesto que conocemos bien las cambia el ngulo de observacin), todo lo que
caractersticas del mundo real y que no es diremos a continuacin dejar de ser cierto.
necesario tratar de ellas. En este captulo se Sigamos entonces dando por supuesto
parte de un supuesto contrario: que las cono- que no cambia ni la distancia ni el ngulo (lo
cemos muy mal. Y que sin un conocimiento que implica, para que esto sea exactamente
ms profundo de estas caractersticas, difcil- cierto, que estamos bien quietos y, preferi-
mente podremos reproducirlas de un modo blemente, mirando al objeto con un solo ojo).
convicente o interesante. Qu vemos entonces? Colores. Ver una su-
perficie quiere decir ver colores distribuidos
de un modo u otro. Nada ms. Si nada se
1.1 Caractersticas generales de mueve, ni la luz ni el objeto ni el ojo, las tres
los materiales reales variables de la visin, todo lo que vemos son
colores estticos.
Los objetos que nos rodean exhiben un sinfn Si fijamos el ojo en un punto (lo que es
de rasgos con los que estamos familiarizados. bastante difcil) el color ser nico. Si des-
Las piedras parecen tener un color constante plazamos el ojo ligeramente en torno a ese
desde cualquier direccin. Los metales son punto pueden pasar dos cosas: que no haya
brillantes y cambian de aspecto notoriamente cambios relevantes o que s los haya. Si no
si los miramos desde diferentes ngulos. El hay diferencia decimos que el material no tie-
agua es transparente pero tambin azulada o ne textura, al menos en esa zona. Si hay di-
verdosa. Los cristales transmiten la luz pero ferencia, puede ser debido a que refleja la luz
tambin la reflejan o la distorsionan. La leche
es blanca porque dispersa la luz de un modo
peculiar, al igual que ocurre con otros lquidos. 1 Reflexin
Algunos materiales son luminiscentes. Otros,
como las alas de las mariposas o los ptalos
de algunas flores, son iridiscentes. Las hojas
de los rboles tienen un aspecto metlico y
opaco por uno de sus lados y luminoso y ho-
mogneo por otro.
Si adoptamos unas determinadas condi-
2 Absorcin
ciones de observacin para contemplar un
objeto y, manteniendo esas condiciones, nos
olvidamos de su forma para concentrarnos 4 Dispersin
en su superficie, resultar relativamente fcil
describir sus caractersticas por comparacin
con las de otros objetos similares que podran
ocupar su lugar.
3 Transmisin
Antes de seguir hay que insistir en lo de
unas determinadas condiciones de observa- Figura 1.1 Interaccin de la luz con una superficie semitrans-
cin, pues si, por lo menos, cambia la luz y parente.

21
Simulacin visual de materiales

de modo diferente, aunque no tenga textura. rsticas del reflejo cambian. Ocurre as porque
Pero en general los objetos tienen algn tipo en estos casos las propiedades dependen de
de textura. la direccin. Esto puede ser debido a su es-
Dejemos a un lado por ahora las variacio- tructura interna, como ocurre con las fibras de
nes locales (la textura). El hecho de que un la madera o las vetas del mrmol o bien al tra-
objeto refleje la luz de un modo determinado tamiento superficial recibido, como ocurre con
es una propiedad puntual: tiene que ver con el bruido o el repujado de algunos metales
las propiedades intrnsecas del material con- o la modificacin de la forma o la rugosidad
siderando una regin muy pequea, casi mi- provocada por otros tratamientos en mltiples
croscpica. Para distinguirlas de otras propie- casos. Si las propiedades del material son
dades, podemos denominar a estas, bsicas, independientes de la direccin el material es
lo que nos permitir relacionarlas, ms ade- istropo.
lante, con un grupo de parmetros que reci- En segundo lugar, la textura. Podemos
ben tambin, en la mayora de los programas definir la textura como la variacin de color
de simulacin, la denominacin de bsicos. local debido a dos causas muy diferentes:
Desde este punto de vista, el de las pro- a la diferencia de color de los componentes
piedades bsicas visibles, nos encontramos puntuales, aunque no haya variacin formal
con las siguientes, que explican de modo de la superficie (que es lo que pasa en, por
muy general lo que le ocurre a una onda ejemplo, una superficie de mrmol pulido con
electromagntica al encontrar una superficie. vetas de diferente color) o a la diferencia de
Estas propiedades son fundamentalmente forma de los componentes puntuales, aunque
cinco: 1 reflexin, 2 absorcin, 3 transmisin, no haya diferencia de color en la superficie
4 dispersin, 5 polarizacin. (que es lo que pasa en, por ejemplo, la piel
La figura 1.1 muestra un esquema de las de una naranja o un sillar de piedra arenisca
cuatro primeras. La reflexin hace que la luz desbastada).
se desve en una o varias direcciones, en el
mismo lado con respecto a la superficie, que Todo lo que hemos dicho hasta aqu tiene
la luz incidente. La transmisin hace que la que ver con las propiedades de los materiales
luz atraviese la superficie y, en general, se desde el punto de vista de una ciencia con-
desve de su trayectoria. La absorcin hace creta, la ciencia de la ptica. La ptica mo-
que la luz cambie su distribucin espectral y derna se puede considerar dividida en tres
que algunas longitudes de onda se anulen o grandes reas: la ptica fsica, que se basa
se reduzcan, lo que se traduce en un cam- principalmente en la consideracin de la luz
bio de color de la luz. La dispersin hace que como un fenmeno ondulatorio y su interac-
parte de la luz reflejada o transmitida vuelva cin con objetos de tamao similar a su longi-
a ser emitida por puntos diferentes a los de tud de onda; la ptica cuntica, que se basa
entrada. La polarizacin cambia el plano de principalmente en la interaccin de la luz con
vibracin de la luz, algo que solo es percep- los tomos y las molculas; la ptica geom-
tible en circunstancias muy especiales: tiene trica, que se basa principalmente en el anli-
una importancia bastante menor para lo que sis de efectos macroscpicos.
nos interesa aunque diremos algo ms sobre La mayor parte de los mtodos de simu-
ella ms adelante. lacin digital se basan en la ptica geom-
Pero, en cuanto nos alejamos de la obser- trica y en la representacin de la luz me-
vacin puntual, aparecen otras propiedades diante parmetros simples que representan
notables. la cantidad de luz que se propaga en una
En primer lugar, la anisotropa. Si nos des- determinada direccin. Pero este punto de
plazamos en torno al punto de observacin, vista tiene sus limitaciones, y para una com-
en muchos objetos veremos que las caracte- prensin adecuada de determinados fen-

22
Materiales reales

menos que requieren mtodos especiales riales producidos artificialmente para sacar el
habr que hacer alguna incursin breve en mejor partido de las diferentes propiedades
las otras dos reas. de sus compuestos. Esto incluye tanto mate-
Por ltimo, hay que remarcar que, al cen- riales tradicionales como nuevos materiales
trarnos en las propiedades pticas, hemos diseados especficamente para incorporar
descartado las propiedades que tienen que determinadas propiedades.
ver con el comportamiento de los materiales,
principalmente su comportamiento mecnico
(resistencia, deformabilidad), trmico (capaci- 1.2 Causas inmediatas de los co-
dad de conducir y resistir el calor) o su capa- lores
cidad aislante o resistente a diversos tipos de
agentes. Sin embargo, hay una relacin bas- Como he dicho en la seccin anterior, si nos
tante cercana entre las caractersticas gene- concentramos en el aspecto de un material,
rales y las caractersticas visibles. Atendiendo lo que vemos se reduce a colores. Y, como
a sus propiedades fundamentales, los trata- veremos ms adelante, la simulacin visual
dos de ciencia de los materiales los clasifican de materiales abarca un conjunto de tcnicas
en los cinco grupos siguientes, que no estar que, en ltima instancia, sirven para generar
de ms tener presentes: una serie de puntos de color que son percibi-
a) Materiales metlicos. Se basan en ele- dos por los seres humanos como si corres-
mentos o en combinaciones de elementos pondieran a puntos de color reales.
metlicos. Disponen de electrones deslocali- Vistas as las cosas, resulta que no esta-
zados en su superficie en lo que, como ve- mos hablando de otra cosa que de colores. Y
remos ms adelante, se denomina banda aunque la teora de los colores es otro tema
de conduccin. Son buenos conductores del de estudio en s mismo, algo habr que decir
calor y la electricidad. Son resistentes y de- acerca de algunos aspectos principales de los
formables. colores desde un punto muy abstracto o, se-
b) Materiales cermicos. Se basan en gn como se mire, muy concreto, porque es lo
compuestos qumicos que agrupan a metales ms inmediato, la causa inmediata de la per-
y no metales. Son aislantes trmicos y acsti- cepcin de lo que reconocemos como objetos
cos en la gran mayora de los casos. Son ms de uno u otro material. Y, adems, porque la
resistentes que los metlicos y los polimri- simulacin virtual de los materiales implica
cos a la temperatura y los agentes qumicos. una reduccin importante de la gama de co-
Son duros y frgiles. lores reales y es necesario entender bien de
c) Materiales polimricos. Se basan en qu orden es esta reduccin.
compuestos, por lo general orgnicos, que
incluyen cadenas moleculares de gran longi- La luz, los objetos y el ojo
tud. Tienen una densidad muy baja en com-
paracin con otros materiales. Son flexibles Si distinguimos objetos es porque tenemos
y elsticos. ojos. Y porque estos objetos estn ilumina-
d) Materiales semiconductores. Se basan dos. Y porque estos objetos nos devuelven la
en elementos muy concretos (como el silicio luz que reciben de distintos modos. Si apaga-
o el germnico) y alterados por impurezas. mos la luz no veremos objetos. Y si cerramos
Sus propiedades como conductores estn a los ojos tampoco. Y si no hay objetos es obvio
caballo entre los conductores (metales) y los que tampoco veremos nada.
aislantes (no metales). Estos tres elementos son indisociables. Un
e) Materiales compuestos. Se basan en objeto se distingue de otro objeto porque ab-
combinaciones de otros materiales. En la sorbe una parte y refleja otra parte de la luz
gran mayora de los casos se trata de mate- que recibe. Y porque lo hace de un modo pe-

23
Simulacin visual de materiales

culiar que no es el mismo para un metal que introduccin. En este caso, sin embargo, se
para una piedra pulida. han relegado todos los temas relativos a la
Por otro lado, la luz puede entenderse, iluminacin, a la formacin de imgenes y a
en cierto modo, como un material y por eso explicaciones ms extensas sobre el sistema
decimos que hay materiales que emiten luz visual que se tratan ms extensamente en
y otros que solo la reflejan en mayor o me- dicho libro y, por el contrario, se ha dado ma-
nor grado. El objetivo principal de este libro yor importancia a todos los temas relativos
es analizar los objetos y, hasta cierto punto, al color.
la luz, en tanto que es producida por cierto El ojo humano tiene la forma aproximada
tipo de objetos. Pero antes de adentrarnos de una esfera de unos 20 mm de dimetro.
en estos dos componentes de la visin habr Est constituido por tres envolturas principa-
que decir algo sobre el tercero, sobre el modo les: una primera envoltura, ms externa, la
en que nuestros ojos o, ms exactamente, esclertica que, al verterse al exterior forma
nuestro sistema visual, capta los colores, una zona opaca, el blanco del ojo, y una zona
pues esto puede influir considerablemente en transparente, la crnea; una segunda envol-
la eficacia de muchas tcnicas de simulacin. tura, la coroide, que recubre internamente la
esclertica y al prolongarse por detrs de la
Receptores cromticos superficiales. crnea forma el iris. El iris deja una abertura,
El ojo de dimetro variable entre los 2 y los 8 mm,
la pupila. Tras la pupila se sita el cristali-
Esta seccin incluye una descripcin del sis- no, constituido por capas superpuestas que
tema visual humano que es importante para forman algo similar a una lente convergente.
comprender muchas de las caractersticas El ndice de refraccin vara de una a otra
de las imgenes, tanto las que formamos de estas capas que forman el cristalino y su
a partir de la percepcin de objetos reales promedio es de 1,42 aproximadamente. La
como las que se generan sintticamente. variacin de la convergencia se produce por
Gran parte de la descripciones son inevita- la modificacin de estas capas bajo la accin
blemente iguales a las incluidas en el libro de los msculos ciliares. Entre la crnea y
sobre simulacin de iluminacin citado en la el cristalino hay un medio lquido, el humor
acuoso, de ndice de refraccin similar al del
agua (1,33). La cavidad general del ojo, tras
el cristalino, est llena por el humor vtreo,
un lquido de ndice de refraccin tambin
similar al del agua.
La tercera envoltura, la ms interna, es la
retina. La retina est cubierta por dos tipos
de filamentos nerviosos que se conectan con
el cerebro a travs del nervio ptico situado
en el punto ciego. Hay alrededor de 120 mi-
llones de estas clulas terminales. Las ms
numerosas, y ms abundantes en la periferia
que en el centro, se denominan bastones y
captan tan solo diferencias de luminosidad.
esclertica Las menos numerosas, algo menos de un
coroide
retina
10 % del total, entre 6 y 8 millones, y ms
fvea abundantes en la zona central, se denomi-
nan conos y son las que captan colores. En
Figura 1.2 Seccin horizontal del ojo humano. esta zona central se sita la fvea, la regin

24
Materiales reales

de mayor sensibilidad del ojo y el punto de mcula lutea contiene progresivamente ma-
fijacin que orienta el enfoque de los objetos yor nmero de bastones y menor nmero de
hacia los que se dirige la atencin visual. La conos. A partir de los 10 grados aproximada-
fvea tiene unos 1,5 mm de dimetro, con- mente los bastones comienzan a predominar
tiene unos 110.000 conos y abarca unos 5,2 sobre los conos.
de campo. La percepcin de la luz y de los colores
En el interior de la fvea se distingue la depende de los receptores fundamentales:
fovela, una pequea rea de 0,4 mm de los bastones y los conos. La existencia de
dimetro en la que prcticamente solo hay estos receptores retinianos ya era conocida
conos, unos 25.000, y que abarca aproxi- en 1850, cuando Helmholtz escribi su gran
madamente 1,4. En el interior de la fovela tratado en el que se dan descripciones preci-
se distingue, por ltimo, una regin an ms sas de la estructura microscpica de la retina,
limitada denominada isleta central, en la que Tambin se conoca por esta poca el papel
no hay bastones y los conos tienen una lon- juzgado por la rodopsina, una proteina capaz
gitud mxima. Esta rea tiene unos 0,050 o de reaccionar qumicamente a la luz y que es
0,075 mm de dimetro y abarca entre 0,17 el principal constituyente de los pigmentos vi-
y 0,24. suales de los bastones. La sensibilidad de los
Alrededor de la fvea se extiende la m- bastones a la luz es mucho mayor que la de
cula lutea, un rea amarillenta de unos 3 mm los conos si bien, en condiciones normales,
a 5 mm de dimetro y que abarca entre 10 y la visin se apoya fundamentalmente en los
17. La zona que se extiende ms all de la conos. Los bastones captan intensidades

Figura 1.3 Seccin de la retina mostrando las capas principales: 1 Capa de fotorreceptores: (a) epitelio pigmentado (fondo de
la retina), (b) bastones, (c) conos. 2 Capa de clulas intermedias: (h) horizontales, (p) bipolares, (n) anacrinas. 3 Capa de clulas
ganglionares (g). A la izquierda, un esquema adaptado de Polyak (1941). A la derecha, una imagen que muestra una seccin de la
retina, adaptada de Boycott y Dowling (1969) que se corresponde aproximadamente con el esquema de la izquierda. Obsrvese
que el recorrido de la luz en ambos casos sera de abajo arriba, atravesando las capas celulares antes de activar los fotorreceptores
de la retina.

25
Simulacin visual de materiales

de 2 a 5 quanta, 1.000 veces ms pequeas relacionado con este fenmeno, es el leve


que las de los conos. Por otro lado, los bas- crculo azul que parece envolver las luces ro-
tones son ciegos al color. La percepcin del jas traseras de los automviles. Rodear obje-
color depende de los conos. tos con lmites de franjas rojas y azules, que
El cristalino del ojo juega cierto papel en pareceran emitir un leve resplandor, es una
la percepcin de los colores. En primer lugar, tcnica que se ha utilizado ocasionalmente en
absorbe las longitudes de onda ms cortas, las artes plsticas y que tena un fundamento
un efecto que afecta, en general, tan solo a fsico en este fenmeno.
las longitudes de onda ms cortas pero que Hacia 1810, el cientfico ingls Thomas
tiende a aumentar con la edad, llegando a Young lanz la hiptesis de que si con tres
afectar a ondas del orden de los 500 nm o colores primarios se podan generar innu-
ms. Esto quiere decir que tan solo pasan las merables colores, el sistema visual humano
ondas correspondientes a los rojos y verdes deba contar tambin con tres receptores es-
cuya combinacin da el amarillo, un color ca- pecializados capaces de generar los colores
racterstico del color del cristalino de las per- que percibimos a partir de algn tipo de me-
sonas ancianas. canismo combinatorio.
En segundo lugar, hay que tener en cuenta La prueba de la existencia de receptores
que el cristalino no est corregido con res- retininianos especializados en la percepcin
pecto a las aberraciones cromticas, como de los colores, que diese un fundamento real
ocurre con las sofisticadas lentes de las c- a la teora planteada por Thomas Young a co-
maras de fotografa modernas. Esto hace que mienzos del siglo xix, se converti en la meta
se tienda a compensar este efecto mediante perseguida por un considerable nmero de in-
variaciones en el enfoque segn los diferen- vestigadores durante el siglo xix y, sobre todo,
tes colores. Las longitudes de onda ms cor- el siglo xx. Gracias a los trabajos de Rushton
tas (azules) que se desvan ms al atravesar y Wald (este ltimo galardonado con el pre-
el cristalino, son enfocadas para que caigan mio Nobel en 1964 por sus descubrimientos
ms cerca. En una situacin normal, con una en este campo), por no nombrar ms que los
distribucin variada de colores, el ojo se en- dos cientficos ms conocidos que han inves-
foca para una longitud media que estara si- tigado la fisiologa de la retina, y a la aparicin
tuada en torno a los 580 nm. Los sujetos mio- de nuevos instrumentos de medicin, como
pes pueden notar claramente las diferencias los densitmetros o los espectrofotmetros
entre longitudes de onda corta y onda larga. microscpicos, pudo llegarse, durante la se-
Una luz azul puntual, contemplada a distan- gunda mitad del siglo xx, a las siguientes con-
cia, producira un crculo de ms de 1 cm de clusiones.
dimetro sobre la retina. Un efecto general, Existen al menos tres clases de conos,
tres clases de receptores retinianos, que al-
canzan su mxima sensibilidad en diferentes
regiones del espectro. Estas tres clases de
conos son: 1) Los sensibles principalmente a
las ondas largas (rojo y amarillo), que esta-
ran compuestos por una protena denomina-
da eritrolabe y que alcanzaran un mximo de
receptividad en la regin situada en torno a
los 580 nm. 2) Los sensibles principalmente a
las ondas medias (verde y amarillo verdoso),
Figura 1.4 Seccin de la retina mostrando conos en la fvea
(izquierda), menores y muy compactos, y en la periferia (dere- que estaran compuestos por una protena
cha), mayores y ms espaciados. La barra central muestra la denominada clorolabe y que alcanzaran un
escala (10 micras). Basado en Curcio et al., 1990. mximo en la regin situada en torno a los

26
Materiales reales

555 nm. 3) Los sensibles principalmente a las estn comprendidos (para los dos ojos) entre
ondas cortas (azul), que estaran compuestos los 180 y los 210.
por una protena denominada cianolabe y que Es preciso recalcar el hecho de que la
alcanzaran un mximo a los 440 nm. mayora de estos resultados estn obtenidos
Esta distribucin presenta algunas peculia- mediante experimentos estrictamente fisiol-
ridades. As, es posible estimular con longitu- gicos. Asi, una de las pruebas consideradas
des de onda largas (rojas) a una sola clase ms convincentes es medir la absorcin para
de conos pero las longitudes de onda corta diferentes longitudes de onda de conos ex-
estimularan a los tres simultneamente. Esto traidos de retinas disecadas. Hasta 1980 se
es debido, en parte, al hecho de que los mxi- haban obtenido datos relativos a siete hom-
mos de cada clase de conos est ms cerca bres y un nmero bastante mayor de monos
del lado de las ondas cortas, pero, sobre todo, macacos (cuyo sistema de visin parece ser
a la presencia de una banda secundaria de bastante parecido al del hombre). Otro m-
absorcin (ondas beta). todo es el blanqueamiento selectivo. Y otro
Los conos de tipo L (sensibles a las ondas mtodo de considerable importancia, pues
largas) y de tipo M (sensibles a las ondas parte de bases no estrictamente fisiolgicas
medias) son mucho ms abundantes que los es el desarrollado por Stiles que consiste en
de tipo S (sensibles a las ondas cortas). La mediciones de aumento del umbral. Se pue-
proporcin global est en torno a los 40/20/1 den ampliar estas explicaciones en obras
(L/M/S). Adems, la sensibilidad a la longitud especializadas como la del propio Stiles que
de onda de los pigmentos de tipo L y M es se menciona en la bibliografa (vase Stiles y
muy similar, como puede apreciarse en la fi- Wyszecki, 1982).
gura 1.5, mientras que la de los pigmentos de En cualquier caso, la mayora de los cient-
tipo S es claramente mayor para longitudes ficos estn de acuerdo en que puede hablar-
de onda corta. La investigacin sobre el papel se de tres tipos de conos, si bien no est an
de los pigmentos de tipo S se ha desarrollado del todo claro, como veremos, la funcin que
durante muchos aos. Se ha descubierto que juegan estos tres tipos de receptores en la vi-
estn ms separados que los otros dos tipos, sin cromtica.
del orden de 10 de arco visual. Su sensibili-
dad es mxima en la zona correspondiente a
1 desde la fvea.
555
440

580

En la fvea, la zona de fijacin, hacia la


1,0
que dirigimos la mirada, no se encuentran
conos sensibles al azul. Esta rea se con-
sidera, desde el punto de vista fisiolgico, 0,8
como dicromtica (ciega al azul). Alrededor
de la fvea, en un sector comprendido entre 0,6
los 20 y los 30, se extiende un rea tricro-
mtica en la que los tres tipos de conos es- 0,4
tn presentes. En la periferia de esta rea el
rojo y el verde dejan de distinguirse. A partir
0,2
de aqu, y en una tercera rea comprendida
aproximadamente entre los 20-30 y los 70-
80, hay otra rea dicromtica en la que no
400 500 600 700
se distinguen el rojo y el verde. A partir de
los 80 aproximadamente la visin es mono- Figura 1.5 Respuestas espectrales de los conos S, M y L,
cromtica. Tan solo hay bastones hasta los normalizadas para facilitar la comparacin (eje vertical) e indi-
lmites de la visin propiamente dicha que cando las frecuencias de mxima absorcin.

27
Simulacin visual de materiales

Este resultado concuerda, como argumen- las longitudes de onda caractersticas de los
taba Young, con el hecho experimental, fun- conos. Aquellas estn comprendidas entre los
damento de la teoria de los colores, y al que 400-450 nm (azul), 510-520 nm (verde) y 630-
volveremos ms adelante, de que casi cual- 700 nm (rojo). Rangos bastante distintos que
quier color puede ser reproducido por mezcla los picos que he citado para las absorciones
aditiva de tres luces monocromticas, de tres caractersticas de las tres clases de conos.
tonos primarios. Pero las longitudes de onda Hasta qu lo que nos dice la fisiologa. Con
de los primarios utilizados en mezcla aditiva, todo lo que se ha aprendido durante los lti-
desde Maxwell hasta la CIE, no coinciden con mos 150 aos sobre los receptores superfi-
ciales, hay muchas caractersticas de la visin
cromtica que quedan sin explicar. Y esto ha
llevado a pasar a otro nivel de explicacin.

L M S Procesamiento retiniano. Canales cro-


mticos. El crtex visual

En paralelo a los descubrimientos anteriores,


a lo largo sobre todo de la segunda mitad del
+ - siglo xx, se ha ido ampliando nuestro cono-
cimiento del modo en que la organizacin
del cerebro est, en gran medida, basada en
reas funcionales especializadas. Un gran
nmero de los trabajos de investigacin que
se han llevado a cabo para localizar con pre-
cisin estas reas han tenido que ver con la
R V V R Az Am visin y con el color.
La relacin entre la retina, los receptores
Figura 1.6 Salidas de colores de oposicin desde los tres ti- primarios del color y las reas corticales en
pos de conos hasta las clulas ganglionares de la retina. Los donde se procesa la visin, se ilustra en las
conos L se oponen a los M en el canal rojo-verde y verde-rojo. figuras 1.6, 1.7 y 1.8.
Los conos S se oponen a los L y M en el canal azul-amarillo.
Adaptado de Zeki, 1993. En primer lugar, hay que decir que gran
parte del procesamiento de las seales se da
en la propia retina. Concretamente, en las c-
lulas ganglionares que estn situadas antes
que los receptores bsicos (curiosamente, la
R-
R V+ luz las atraviesa antes de llegar a estos, que
luego reenvian sus seales a estas clulas),
R+
V V- de tal modo que las seales que salen de la
retina, por el punto ciego, hacia el crtex vi-
sual ya estn preprocesadas. En la figura 1.3
ya hemos visto una seccin de la retina en la
que aparecen las diferentes capas que reac-
Figura 1.7 a) Campo receptor de una clula oponente al color cionan a la luz. Los dos diferentes tipos de re-
en el ncleo geniculado lateral que es excitada por una luz de ceptores retinianos envan sus seales a las
onda media (V) en el centro y de onda larga (R) en la perife- diferentes capas de clulas en las que tiene
ria; b) Campo receptor de una clula oponente doble que es
excitada por una luz de onda larga (R) e inhibida por una luz lugar este procesamiento bsico.
de onda media (V) en el centro y a la inversa en la periferia. Tal como se explica con ms detalle en el
Adaptado de Zeki, 1993. libro sobre Iluminacin, las clulas gangliona-

28
Materiales reales

res tienen un comportamiento centro/periferia ondas largas e inhibidas por ondas medias en
caracterizado por una combinacin de estmu- su zona central y a la inversa en su periferia.
los e inhibiciones. Este mecanismo permite Estos breves resmenes y las figuras cita-
garantizar que las variaciones de intensidad das pueden dar una cierta idea de la situacin
no afectan a las seales de un modo abso- actual sobre la visin de los colores. Pero an
luto sino relativo: al aumentar la intensidad no se sabe con claridad de qu modo toda es-
de la luz global el incremento de la seal del
centro se ve compensada por un incremento
proporcional de la inhibicin del campo lateral
asociado, con el resultado de que la seal sig-
nificativa se mantiene igual.
Debe tenerse en cuenta que cuando una
molcula de fotopigmento absorbe luz, el
efecto es el mismo, con independencia de
la longitud de onda. Es decir, que aunque un
cuanto de luz de 400 nm posea ms energa
que uno de 700 nm, la secuencia de reaccio-
nes de la rodopsina es la misma. Rushton
utilizaba el trmino univariancia para recor-
dar que un fotopigmento da lugar a una nica
variable como respuesta a la luz que recibe.
Es decir, que lo que cuenta es el ndice de
absorcin (rate of absorption). No incorpora,
por tanto ninguna informacin sobre la com-
posicin espectral de la luz. Sin embargo,
puede absorber ms luz de unas frecuencias
que otras. La univariancia implica que, una
vez absorbidos, los cuantos de luz tienen el
mismo efecto visual.
En el caso de la percepcin de los colores,
la estructura es bastante ms compleja y est
lejos de ser bien comprendida, si bien hay
algunos datos significativos que estn bien
fundamentados desde hace aos. Las figuras
1.6 y 1.7 muestran la estructura de formacin
de canales en la retina. Los conos L envan
seales excitatorias y los conos M seales in-
hibitorias al canal rojo-verde o verde-rojo de V3
V5
las clulas ganglionares.
Estas clulas tienen una estructura de su V5a
campo receptivo caracterizada por una zona V2
central que es activada por longitudes de
V4
onda larga (o media) y una zona perifrica
que es activada por longitudes de onda me-
dia (o larga). Hay tambin clulas oponentes Figura 1.8 a) Seccin vertical del cerebro mostrando los ojos
y su conexin con el crtex visual; b) Seccin horizontal del
ms complejas, clulas oponentes dobles, cerebro mostrando los ojos, el quiasma, el ncleo geniculado
como las que se han encontrado en la retina lateral y el crtex visual; c) Detalle del crtex visual mostrando
de peces de colores que son excitadas por las reas V1 a V4.

29
Simulacin visual de materiales

tructura de clulas y canales en oposicion se que cabe citar en primer lugar a David Hubel
traduce en nuestra percepcin de los colores. y Torsten Wiesel (premios Nobel en 1981) por
A lo largo del nervio ptico discurren las sus experimentos iniciados a finales de la d-
fibras que transmiten esta informacin pre- cada de 1950.
procesada en la retina, el tracto ptico. Es- El resultado de estos trabajos se puede re-
tas fibras se subdividen de tal modo que la sumir apretadamente como sigue.
zona lateral externa de cada ojo va a parar al En primer lugar, hay una relacin directa
hemisferio cerebral del mismo lado, al deno- entre zonas de la retina y zonas de la corteza
minado campo visual ipsilateral pero la zona visual primaria, de tal modo que estas zonas
lateral interna va a parar al hemisferio opues- reproducen un mapa de la retina en una zona
to, al denominado campo visual contralateral. determinada denominada V1 o zona visual
Esto implica un cruce que se produce en el primaria. La zona V1 es la que contiene el
quiasma ptico. mapa ms detallado de la retina, junto con
Ms all del quiasma, se encuentra una una arquitectura funcional muy rica (neuro-
primera zona fundamental, una subdivisin nas especializadas en captar determinados
del tlamo subcortical denominada ncleo rasgos tales como rectngulos, bordes y es-
geniculado lateral (NGL). Este ncleo est quinas con determinadas orientaciones, etc.)
formado por 6 capas que se relacionan de que Hubel y Wiesel fueron los primeros en
modos especficos con las zonas de la retina desvelar con precisin.
mencionadas. El campo visual ipsilateral se En segundo lugar, la zona V1 est estre-
conecta con las capas 5, 3 y 2, y el contralate- chamente relacionada con otras cuatro reas
ral, con las capas 6, 4 y 1. Y puntos adyacen- denominadas respectivamente, V2, V3, V4 y
tes de la retina, como se ha comprobado en V5. La figura 1.8 muestra la ubicacin de es-
diversos experimentos, se corresponden con tas reas. En los ltimos veinte aos se ha
puntos adyacentes en cada capa del NGL. encontrado amplia evidencia de que la infor-
Por otro lado, y sin entrar en la descripcin macion que llega de la retina se representa
de la compleja estructura de este ncleo, tam- de manera independiente y diferente en es-
bin se puede mencionar que las cuatro ca- tas cuatro reas. La visin es, por tanto, un
pas superiores estn formadas por pequeos proceso extraordinariamente complejo en
cuerpos celulares, por lo que se las denomina donde la informacin puntual juega tan solo
capas P (parvocelulares), y las dos inferiores una parte. Estas reas presentan cierto gra-
por grandes cuerpos celulares, por lo que se do de especializacin. Concretamente, la V2,
las denomina capas M (magnocelulares). Las aunque comparte muchas funciones de re-
clulas de las capas P estn relacionadas con conocimiento de patrones bsicos con la V1,
la visin del color pero las de las capas M no. incorpora otras ms complejas tales como la
Con todo, el papel del NGL, que acta como orientacin de contornos virtuales o la sepa-
una especie de filtro de la informacin que lle- racin entre figura y fondo y, probablemente,
ga de las reas retinianas, no se comprende el reconocimiento de patrones complejos. La
demasiado bien. Se comprende mejor, sobre V3, cuya extensin exacta an es objeto de
todo desde los descubrimientos de los ltimos discusin, parece jugar un papel importante
aos, el papel de reas ms profundas. en la percepcin de la forma dinmica. La V4
Ms all del NGL se encuentra la corteza tiene un papel fundamental (pero no nico) en
visual primaria o crtex visual, denomina- la percepcin del color. A partir de los traba-
do as porque el procesamiento principal de jos de Zeki, a finales de la dcada de 1970,
las seales visuales se lleva a cabo en esta se consider que la funcin principal del rea
zona. El descubrimiento de estas reas se V4 era la percepcin del color, pero trabajos
debe, como deca al comienzo, al paciente posteriores han mostrado que en ella tambin
trabajo de cientos de investigadores entre los estn localizadas funciones de reconocimien-

30
Materiales reales

to de patrones de complejidad intermedia. Por nos que influyen en la percepcin. Algunos de


ltimo, la V5 juega un papel tan fundamental estos fenmenos, que comentar ms ade-
en la percepcin del movimiento que lesio- lante, tales como la interaccin o la induccin
nes en esta rea pueden ocasionar sorpren- cromtica, son relativamente bien conocidos.
dentes deficiencias tales como la ceguera al Otros son ms complejos y pueden encon-
movimiento (los que padecen esta lesin ven trarse en la literatura especializada. Efec-
cmo los objetos cambian de posicin pero tos tales como el efecto de Bezold-Brcke
son incapaces de seguir su pista). (desplazamiento tonal con la luminancia), el
Es importante tener presente que hay una efecto Abney (desplazamiento del tono con la
multitud de reas que colaboran en la cons- pureza cromtica) o el efecto Hunt (aumen-
truccin del color aunque algunas de ellas to del colorido con la luminancia). La obra de
puedan distinguirse de las otras por cierto Fairchild a la que me referir a continuacin
grado de especializacin funcional. La idea contiene un buen resumen de los principales
de construccin del color es importante pues (vase Fairchild, 1997, cap. 6).
tambin hay amplia evidencia de que el ce- En la percepcin de la apariencia crom-
rebro no percibe materiales o algo as como tica utilizamos, consciente o inconsciente-
superficies con una etiqueta que dice de qu mente, categoras perceptivas globales que
tipo de material son, sino que el cerebro cons- definen un espacio cromtico independiente.
truye esta informacin a partir de mltiples Estas categoras perceptivas son el tono, la
datos que se combinan de diversos modos. luminosidad y la saturacin. Cualquier per-
Esta idea de construccin activa resulta ms sona con la vista mnimamente educada es
clara cuando se analizan fenmenos funda- capaz de juzgar si un color est en una otra
mentales y aparentemente contradictorios banda del espectro, si, por ejemplo, es ms
como la interaccin cromtica y la constan- fro o ms clido, ms azulado o ms rojizo:
cia cromtica. Pero antes hay que aadir algo es decir, cul es su tono. O bien si es ms
ms sobre nuestra capacidad de discrimina- claro o ms oscuro: es decir, cul es su lumi-
cin cromtica. nosidad o su brillo relativo. O bien si es ms
saturado o menos saturado aunque en este
Apariencia cromtica. Categoras per-
ceptivas. Nombres de los colores

Los mecanismos de percepcin de los colores


que he resumido en los apartados anteriores
L
estn directamente ligados a la produccin y
reproduccin de los colores, un tema al que
volver ms adelante. Sabemos que para ge- S
nerar la gran mayora de los colores que po-
demos percibir, bastan tres o cuatro colores
primarios que estimulen a nuestros recepto- T
res retinianos del mismo modo que lo haran
los componentes principales del color refle-
jado por una determinada superficie, aunque
un anlisis espectrofotomtrico de este color
revelara que su distribucin espectral es ms
compleja.
Pero los colores que percibimos pueden
no corresponder a los colores que produci- Figura 1.9 Apariencia cromtica. El espacio de las tres cate-
mos pues hay toda una variedad de fenme- goras fundamentales.

31
Simulacin visual de materiales

caso el juico pueda mezclarse con la mayor o semejante dato pueda resultar extico o ex-
menor luminosidad. cepcional. Pero los tintoreros, que existen en
Hacia 1900, el pintor americano Munsell todas las ciudades occidentales, emplean o
(1858-1918) solucion el problema de mante- empleaban, un gran nmero de trminos dis-
ner la coherencia entre luminosidades corres- tintos para designar a diferentes clases de ne-
pondientes a los tonos puros y luminancias gro. Que esta especializacin terminolgica,
generales, con un modelo slido muy sencillo ligada a una especializacin tcnica pueda
que sigue siendo uno de los ms utilizados llegar a sorprender es debido al hecho de que
hasta la fecha. Munsell parta, de un modo se acepta implcitamente que los colores son
ms explcito que la mayora de sus predece- algo universal, una sensacin compartida que
sores, de tres categoras bien diferenciadas: no admitira, en s misma, una especializacin
el tono (hue), el valor (value) y el croma (chro- tal como la que se da en otras actividades en
ma). las que admitimos naturalmente que existen
Estas categoras se han utilizado en otros trminos relativamente extraos para desig-
sistemas de clasificacin de los colores im- nar objetos u operaciones sobre los objetos
portantes, como el sistema DIN, utilizado en que no tenemos porque conocer.
Alemania, el sistema NCS (Natural Color Sys- En el siglo xix aparecieron varios estudios
tem), utilizado principalmente en Suecia, y el sobre los trminos utilizados a lo largo de la
sistema OSA, propuesto por la Optical Socie- historia y en diferentes culturas para desig-
ty of America. nar los colores. Algunos de estos estudios se
Pero son tambin la base de intentos ms debieron al primer ministro ingls W. Glads-
complejos y ms ambiciosos de crear sis- tone (Studies on Homer and the Homeric
temas que permitan predecir con precisin Age, 1858), otros muy citados fueron los de
el modo en que percibimos los colores bajo H. Magnus en 1877 y 1880 (hay traduccin
condiciones ambientales variables. La obra al espaol: Evolucin del sentido de los co-
de Fairchild citada antes es una buena refe- lores. Hachette, Buenos Aires, 1976) o los
rencia para quien quiera adentrarse en este de L. Geiger (Contributions to the History of
estudio. En este apartado me limito a men- the Development of the Human Race, 1880)
cionarla como introduccin a una descripcin por no mencionar sino algunos. Algunas de
ms general de los lmites de discriminacin las conclusiones de estos primeros estudios,
para cada una de estas variables. que luego se han desmentido, eran que los
La categorizacin de los colores entronca griegos deban ser ciegos al azul pues en
con otro tema de inters que tambin apunta- ninguno de los textos antiguos se encuentran
r brevemente. nombres genricos para este color.
El lenguaje es algo vivo en el que mu- Estos estudios fueron continuados por dos
chas palabras nacen y mueren o llevan una investigadores americanos, Berlin y Kay, ha-
existencia marginal. Hay que precaverse por cia 1967 en un seminario para graduados en
consiguiente contra las generaciones simpli- Berkeley y se recogi en la monografa Basic
ficadoras. color Terms (Berkeley, U. of California Press,
Se cita con cierta frecuencia, por ejemplo, 1969). Se analizaron 20 lenguajes pertene-
que los esquimales cuentan con un gran n- cientes a familias lingsticas no relacionadas
mero de palabras para designar el blanco, entre s y se recogi documentacin de otros
palabras que seran de imposible traduccin 98. Establecieron una serie de criterios, tales
a otros idiomas pues, se considera, tienen un como que el significado no pudiera deducirse
vocabulario ms amplio para nombrar a los del significado de alguna de sus partes (esto
tonos blancos. excluira a azulado, color limn, color
Que los esquimales sean un pueblo ale- salmn o xido de hierro de la chapa de
jado de nuestro entorno cultural hace que mi coche viejo), que no estuviera incluido

32
Materiales reales

en otro trmino ms general (esto excluira Un concepto clave en psicologa experi-


a fucsia, carmn o escarlata pues para mental, utilizado en muchas reas, entre ellas
la mayora de las personas estos trminos la de la visin cromtica, es el de la diferencia
son clases de rojo), que no se aplicase a apenas perceptible, JND por sus siglas en in-
una exclusiva clase de cosas (esto excluira gls (just noticeable difference): la mnima di-
a rubio que solo se aplica al color del pelo ferencia que somos capaces de percibir cons-
o al tabaco, aunque pueda ser utilizado ex- cientemente. Esta nocin, que se remonta a
cepcionalmente a otro tipo de entidades) y, las leyes de Weber y Fechner, en el siglo xix,
en fin, que tuviera una clara autonoma como est en la base de la formacin de escalas de
trmino. color y del anlisis de la capacidad de discri-
Las conclusiones del estudio, lo que se minacin de los colores.
conoce como la hiptesis de Berlin y Kay, La CIE ha denominado a la distancia entre
fueron que hay 11 categoras universales dos colores en el espacio cromtico ideal, dE
que van apareciendo de modo progresivo a (o DE o delta E). En principio, este valor se
lo largo de la evolucin. Estas 11 categoras escogi de tal modo que dos colores situados
son: blanco, negro, rojo, verde, amarillo, azul, a una distancia de 1,0 seran indistinguibles.
marrn, prpura, rosa, naranja y gris. Sin embargo, este criterio se ha refinado con
Por aadidura, los autores encontraron los aos para integrar heterogeneidades per-
otra ley inesperada, y que muestra que cuan- ceptuales del espacio CIELAB (los humanos
do un lenguaje cuenta con un nmero inferior somos ms sensibles a las diferencias de
de trminos generales para designar colores, color en unos determinados rangos que en
la seleccin se produce con arreglo a cier- otros). Volver ms adelante sobre la CIE, los
tas reglas que pueden enunciarse del sigu- tipos de codificacin y los diferentes espacios
iente modo: 1. Todos los lenguajes contienen cromticos normalizados.
trminos para el blanco y el negro. 2. Si un En un estudio de Linhares et al. que men-
lenguaje cuenta con tres trminos, uno de el- cionar ms adelante, se utilizaban valores
los es para el rojo. 3. Si un lenguaje cuenta de 0,3 a 0,6 para dE a la hora de analizar las
con cuatro trminos, cuenta con un trmino respuestas de los sujetos.
para el verde o el amarillo pero no para am- La capacidad de discriminacin de los co-
bos. 4. Si un lenguaje cuenta con cinco tr- lores es un tema muy complejo por lo que la
minos, cuenta con trminos para el verde y mayora de los cientficos especialistas en
el amarillo. 5. Si un lenguaje cuenta con seis la visin de los colores evita dar datos que
trminos, cuenta con un trmino para el azul. pueden prestarse a confusin. Es necesario
6. Si un lenguaje cuenta con siete trminos, precisar muchos factores: las condiciones de
cuenta con un trmino para el marrn. 7. Si observacin, el contexto, o qu es lo que se
un lenguaje cuenta con ocho trminos o ms, entiende exactamente por distinguir colores,
cuenta con un trmino para prpura, rosa, entre otras cosas. Algunos textos dan la ci-
naranja, gris o alguna combinacin de stos. fra de 10 millones de colores como el nmero
mximo de colores que un ser humano podra
Discriminacin cromtica llegar a distinguir sin que esta cifra aparezca
fundamentada de ningn modo.
Conocer la capacidad de discriminacin cro- Varios estudios recientes apuntan, por otro
mtica es fundamental para poder llevar a lado, a una cifra que estara entre los 2 y 3 mi-
cabo una representacin o una simulacin de llones y que parece bastante mejor fundada
escenarios reales. Una discusin completa (vase las referencias dadas para Linhares et
sobre este asunto implicara varias nociones al., 2008 y las previas de Pointer, 1998). Pero
complejas de las que solo podemos mencio- hay que introducir importantes matices. En
nar las principales. primer lugar, que es imposible encontrar una

33
Simulacin visual de materiales

escena real en la que se d un nmero tan ca, que esta cifra ideal estaria en torno a los
considerable de colores pues todas las es- 2 millones de colores o algo ms. Se ha uti-
cenas reales estn limitadas a un rango que lizado para esto el espacio de color del CIE-
depende de la reflectancia de las superficies LAB al que volver ms adelante.
y que depende, a su vez, de la iluminacin. Ahora bien, diferentes experimentos con
El total de los colores que los seres huma- escenas reales (vase sobre todo la ltima
nos somos capaces de percibir estara englo- referencia citada, de Linhares et al., 2008)
bado en un espacio ideal en cuya superficie han llegado a la conclusin de que el nmero
quedaran situados los denominados a veces mximo de colores que pueden percibirse en
colores ptimos, colores puros generados estos casos es mucho menor. Las estimacio-
por luces monocromticas en una longitud de nes de estos investigadores para el nmero
onda claramente dominante o, en el caso de de colores incluido en el espacio ideal era si-
los tonos magentas (que no pertenecen al es- milar a la de otros trabajos anteriores y se si-
pectro visible sino que se generan por la ac- tuaba tambin en torno a los 2,2 millones para
cin simultnea sobre la retina de longitudes escenarios naturales. Sin embargo, el volu-
de onda largas y cortas), por dos longitudes de men ocupado por los colores correspondien-
onda extremas dominantes. Los colores que tes al conjunto de escenas reales analizadas
percibimos corrientemente, Los colores de los estaba en torno a los 690.000, es decir, del
objetos, formaran un subconjunto de este es- orden del 30 % del valor anterior. Pero, por
pacio ideal delimitado por los colores ptimos. otro lado, el nmero de colores que podan
Cuando se habla del nmero de colores ser percibidos como diferentes por los sujetos
que un ser humano puede percibir, a menudo que participaban en el experimento era an
esta frase no se refiere a los colores de los ms bajo. Por trmino medio estaba en torno
objetos sino al lmite terico dado por el espa- a los 275.000.
cio ideal delimitado por los colores ptimos. Por otro lado, la gran mayora de estas di-
Como este espacio puede ser representado ferencias eran diferencias de luminosidad, a
con arreglo a diferentes modelos, es posible la que los seres humanos somos mucho ms
obtener una estimacin ideal de este nmero. sensibles. Cuando, en el estudio anterior, se
Los trabajos citados han calculado, como de- descontaba la luminosidad, de tal modo que
solo las diferencias de tono y saturacin eran
contabilizadas, el nmero de colores percibi-
0,5 dos descenda a una cifra que estaba en tor-
no a 11.000, es decir, alrededor de un 4 % de
0,0 la cifra anterior.
Otro modo de abordar esta misma cues-
tin es preguntarse, de modo independiente,
-0,5 por la capacidad de discriminacin de las tres
Log dL/L

variables perceptivas ligadas a los colores: la


-1,0 luminosidad, la tonalidad y la saturacin.

La discriminacin de la luminosidad es
-1,5 difcil de precisar pues depende de las con-
diciones de adaptacin. Hay varios estudios
-2,0 que se remontan a finales del siglo xix y que
-6 -5 -4 -3 -2 -1 0 1 2 3 4 se han recogido en la obra clsica de Wys-
Log L (cd/m2) zecki y Stiles (1982), que sintetizan los dife-
rentes resultados en una curva como la de la
Figura 1.10 Discriminacin de luminancias. figura 1.10. Como se observa en esta figura,

34
Materiales reales

hay una ruptura en la continuidad de la cur- res ms 3-7, los grises medios de las zonas
va para una luminancia de unos 5 x 10-3 cd/ obscuras y claras) o 9 valores (los anteriores
m2. Esta ruptura deriva de que, para niveles ms 2-4-6-8, los grises intermedios entre los
bajos, la visin foveal (conos, visin fotpi- anteriores). Vase mi otro libro sobre simula-
ca) es reemplazada por la visin parafoveal cin de la Iluminacin, citado en la introduc-
(bastones, visin escotpica). En el extremo cin, para un anlisis ms completo de la dis-
opuesto, para niveles superiores a los 100 criminacin de la luminosidad, la construccin
cd/m2, la relacin dL/L (denominada corrien- de escalas y el sistema de zonas.
temente relacin Weber-Fechner) alcanza
sus niveles ms bajos y permanece constan- La discriminacin de tonos se conoce bien
te en torno a 0,01 (log dL/L: -2). Una esti- a partir de los experimentos clsicos llevados
macin simplificada, pero a menudo utilizada a cabo por Wright y Pitt en 1934 y por Wright
para la construccin de escalas de grises, se en 1947, utilizando un colormetro asociado
basa en este valor. a un campo bipartito. El sujeto tena que mo-
Dicho de otra manera, en unas condicio- dificar una de las dos mitades, manteniendo
nes de adaptacin determinadas, los seres igual la luminancia, hasta que se perciba una
humanos detectan variaciones de luminancia modificacin mnima del tono. Segn estos
del orden del 1 % con respecto a la luminosi-
dad del fondo. Es decir que si los valores de
10
luminancia extremos son 1000 y 1 se perci-
ben diferencias cuando la relacin entre dos 8
valores es ms de 1,01. Por ejemplo entre 6
dL (nm)

100 y 101 o entre 900 y 909.


4
El nmero de grises que somos capaces
de distinguir depende, por consiguiente, del 2
rango de intensidades extremas a que la vi-
sin est adaptada, que es una fraccin del 400 500 600 700
rango total posible. Este rango est en torno Longitud de onda (nm)
a los 1010, de los que un mximo de 104 co- Figura 1.11 Discriminacin de tonos.
rrespondera a la visin escotpica y un mxi-
mo de 106 a la visin fotpica. En condiciones
normales este valor es muy inferior. Los valo-
res estimados pueden ir desde 50, que es un
valor citado frecuentemente en relacin con 25
Pasos entre blanco (4800 K) y color

los valores reproducibles por un dispositivo


(entre 5 y 6 bits), hasta un mximo de unos 20
450. En general, la discriminacin sigue la ley
de Weber que da una distribucin exponen- 15
cial (o logartmica), pero en la regin inferior
los pasos son menores y en la regin superior 10
mayores.
Los fotgrafos se basan a menudo en el
5
sistema de zonas utilizado por Ansel Adams
(propuesto originalmente por Denman Ross
0
en 1907) que utiliza 9 valores fciles de re- 400 500 600 700
cordar y que pueden jerarquizarse en escalas Longitud de onda (nm)
ms simples de 3 valores bsicos (1-5-9: ne-
gro/grismedio/blanco), 5 valores (los anterio- Figura 1.12 Discriminacin de saturaciones.

35
Simulacin visual de materiales

experimentos, que se resumen en la figura La diferencia entre ambas est referida a de-
1.11, la discriminacin de tonos estara en tor- terminados computos tcnicos relacionados
no a los 2 nm en la zona principal del espec- con la utilizacin del diagrama cromtico CIE
tro pero se hara ms pobre en los extremos, 1931 y pueden pasarse por alto, entendiendo
esto es, resulta necesario aumentar el inter- que son dos modos ms precisos de referirse
valo de longitud de onda para que se aprecien a la nocin genrica de saturacin. En gene-
diferencias de tono. Hay unos mnimos en las ral, tal como se muestra en la figura 1.12, se
zonas correspondientes aproximadamente a registra un mnimo de pasos, alrededor de 6,
480 (azul verdoso) y 590 (amarillo) lo que in- en torno a los 570 nm (amarillo) para pasar de
dica que somos ms sensibles a diferencias un blanco de temperatura de color de 4.800K
en torno a estos tonos, algo que tiene que al color saturado, y este mnimo aumenta
ver muy probablemente con la evolucin y la rapidamente hacia ambos lados hasta regu-
importancia para la supervivencia de la iden- larizarse en torno a los 20 pasos en ambos
tificacin de unos tonos que son propios de extremos del espectro. La capacidad de dis-
alimentos bsicos. criminacin tambin depende del tamao del
De estos valores resultara que el nmero campo. Los experimentos de la figura citada
de tonos que pueden distinguirse en condi- se hicieron para un ngulo de 2. Por debajo
ciones ptimas estara alrededor de los 150, de esta cifra la capacidad de discriminacin
aunque esta cifra de referencia deben tomar- disminuye como sera de esperar al disminuir
se como una indicacin muy aproximada. la participacin de los conos foveales.

La discriminacin de la saturacin es an Diferencias de discriminacin en vi-


ms difcil de precisar pues unos tonos admi- sin escotpica y fotpica
ten ms niveles de saturacin que otros. Los
niveles de saturacin del amarillo, el ms cla- Entre los muchos factores que hay que te-
ro de los colores puros, son menores que los ner en cuenta a la hora de hablar de discri-
de los dems. minacin de colores, hay que citar tambin
La discriminacin de saturacin se conoce el fenmeno descrito por el fisilogo checo
a partir de los trabajos de varios investigado- J.E. Purkinje (1787-1869) hacia 1825 y que
res que tambin estn resumidos por Wys- ha dado lugar a una diferenciacin corriente
zecki y Stiles (Jones y Lowry, 1926; Martin entre visin fotpica y estocpica.
et al., 1933; Wright y Pitt, 1938; Mac Adam, En 1823 Purkinje public un opsculo
1942, Kaiser, Comerford y Bodinger, 1976). (Commentatio de examine physiologico orga-
Los experimentos partan de mezclas aditivas ni visus et systematis cutanei), donde daba a
de una longitud de onda dada y un estmulo conocer lo que actualmente se conoce como
cromtico blanco. Se utilizaba un dispositivo efecto Purkinje. Al disminuir la luminosidad,
similar al caso anterior que proporcionaba un los colores violetas y azules mantienen su bri-
campo bipartito. Las mezclas se mantenan en llo en mayor medida que los rojos y naranjas;
un nivel de luminancia determinado. Podan un jardn lleno de rosas y claveles comenza-
manipularse tanto el color puro como la luz ra a apagarse al caer la tarde mientras que
blanca de tal modo que se obtenan gamas de otro lleno de lirios y pensamientos mantendra
una misma longitud de onda dominante que su brillo en idnticas condiciones de ilumina-
variaban entre el color puro y un tono acrom- cin. Purkinje observ tambin que en estas
tico de luminosidad equivalente. Los resulta- condiciones de baja iluminacin o condicio-
dos se han referido a dos escalas diferentes, nes escotpicas como se denominan actual-
una basada en la pureza relativa a la excitan- mente (del griego skotoma, obscuridad), los
cia y otra basada en la pureza colorimtrica objetos de color dbilmente iluminados son
o pureza basada en la luminancia espectral. apenas perceptibles si se los mira de frente

36
Materiales reales

pero resultan claramente visibles como obje- Deficiencias en la discriminacin cro-


tos luminosos, sin color, si se desva la mirada mtica
y se los ve con el rabillo del ojo. Un tercer
grupo de observaciones, publicadas por esas Por ltimo, hay que tener en cuenta que la dis-
mismas fechas, estaban referidas a la apa- criminacin del color puede venir afectada por
riencia cambiante de los objetos coloreados deficiencias en la percepcin del color. El es-
al amanecer. tado actual de la cuestin es aproximadamen-
Las observaciones de Purkinje permane- te el que sigue. Las personas con deficiencias
ceran sin explicacin hasta que no se ampli en la percepcin de los colores se dividen en
el conocimiento de la anatoma de la retina y tres grupos: 1) tricromatos (alrededor de un
el papel jugado por los conos y los bastones. 60 % de los casos anmalos). 2) dicromatos
Y, con ello, el conocimiento de que el rango (alrededor de un 8 % de los casos anmalos).
de visin normal se modifica al variar las con- 3) acromatos o monocromatos (ciegos para
diciones de iluminacin. En condiciones fot- el color, menos de un 0,0005 %)
picas, con abundancia de luz, donde la per- Los tricromatos perciben todos los colo-
cepcin corre fundamentalmente a cargo de res pero de modo deficiente. Se subdividen
los conos, la sensibilidad es mxima para los en tres tipos: protanmalos (diferencian con
tonos de color situados en torno a los 555 nm. dificultad el color rojo), deuteranmalos (dife-
En condiciones escotpicas, con escasez de rencian con dificultad el color verde) y tritno-
luz, donde la percepcin corre fundamental- malos (diferencian con dificultad el color azul,
mente a cargo de los bastones, la sensibilidad casos muy raros).
es mxima para los tonos de color situados Los dicromatos solo tienen dos tipos de
hacia los 507 nm, es decir, hay un desplaza- receptores. Se subdividen a su vez en pro-
miento de la sensibilidad hacia los tonos de tanopos, deuteranopos y tritanopos. Los pro-
onda corta, verdes azulados y azules. La fi- tanopos carecen de fotorreceptores sensibles
gura 1.13 muestra las curvas de sensibilidad al rojo. Los deuteranopos carecen de fotorre-
mxima del ojo en condiciones fotpicas y ceptores sensibles al verde. Y los tritanopos,
escotpicas. una anomala mucho menos frecuente, care-
cen de fotorreceptores sensibles al azul.
El trmino daltonismo, derivado de las pri-
507 555
meras observaciones que hizo John Dalton
1,0
(1766-1844), que padeca esta deficiencia, se
utiliza de modo general para describir alguno
de estos tipos de deficiencia. Se calcula que
entre un 6 % y un 8 % de los varones padece
esta anomala y poco ms de un 0,4 % de las
0,5
mujeres. La mayora de los que la padecen
son tricromatos deuternomalos (alrededor
de un 6 % de hombres y un 0,4 % de mujeres)
o tricromatos protanmalos (1 % de hombres
y 0,01 % de mujeres). Los tritanopos son muy
raros: tan solo 1 de cada 50.000 personas
padecera esta anomala. Los acromatos o
400 500 600 700 800 monocromatos son an ms raros, menos del
0,003 % de la poblacin.
Figura 1.13 Sensibilidad visual en funcin de la longitud de La visin defectuosa es una anormalidad
onda en visin escotpica (lnea ms gruesa, mximo en 555 caractersticamente hereditaria; tanto es as,
nm) y fotpica (lnea menos gruesa, mximo en 507 nm). que resulta ser uno de los tipos de anomalas

37
Simulacin visual de materiales

que han aportado datos relevantes para el es- en el que es importante ser capaz de distin-
tudio de la transmisin gentica de caracteres guir por su color unos alimentos de otros, no
fsicos. El estudio de los modos peculiares de tiene explicacin con arreglo a todo lo dicho
visin de los sujetos con visin defectuosa es hasta aqu. En trminos de percepcin de
considerablemente difcil (particularmente en longitudes de onda, no estamos percibiendo
el caso de los tricromatos) debido a la pro- un color estable sino una serie de matices
pia esencia de la visin cromtica que impide cambiantes.
objetivar datos relativos a la visin normal. La explicacin ms satisfactoria, hasta la
Hay ciertos sujetos, extremadamente raros, fecha, de este fenmeno la proporcion Ed-
que han aportado datos decisivos para esta win Land (1909-1991) en una serie de expe-
investigacin; se trata de personas que tie- rimentos famosos que se publicaron en 1959
nen visin defectuosa en un solo ojo, lo que y aos posteriores (vase Land, 1959, 1971,
les permite comparar campos de visin cro- 1977 y 1983). En un experimento denomi-
mticamente distintos y comunicar con cierta nado experimento Mondrian realizado hacia
exactitud las diferencias que observan. 1964, se present a una serie de sujetos una
composicin de rectngulos de diferentes co-
Fenmenos de constancia cromtica lores planos, mates, un Mondrian iluminado
por tres proyectores rojo, verde y azul, de in-
Si el color se percibe por la interaccin de la tensidad graduable. El experimento, que no
luz, los objetos y el ojo, es obvio que se trata voy a explicar con detalle pero que puede en-
de un fenmeno notoriamente inestable. Y, contrarse en el artculo original y en muchas
de hecho, basta con tomar un hoja de papel publicaciones y tambin en internet, llev a
de color naranja, colocarla ante nuestro ojos la notable conclusin de que, si se ajustaban
y moverla suavemente hacia un lado y hacia las intensidades de los proyectores, el color
otro mientras se la observa con atencin para que emite cualquiera de los rectngulos es
observar que los tonos, las intensidades, las variable. Y, observado de modo independien-
saturaciones, varan constantemente. Ni si- te, por medio de dispositivos que permitan
quiera es necesario que la movamos si est aislarlo de los que le rodeaban, se reconoce
iluminada por luz natural: cualquier pequeo como el color correspondiente a la composi-
cambio, una nube que pasa, una oscilacin cin de las intensidades de los tres proyecto-
de la cabeza, har que cambie. El anlisis res. As, un rectngulo verde puede aparecer
cientfico nos dice que esto es as porque las como amarillo, rojo, azul, etc., en funcin de
longitudes de onda reflejadas se modifican la luz con la que se le ilumine. Sin embargo,
constantemente y, en consecuencia, la per- en cuanto se suprime el aislamiento la vista
cepcin que recibimos tambin. reconoce automticamente el color original,
Sin embargo, esta experiencia est, para- verde en este ejemplo.
djicamente, asociada a otra absolutamente La conclusin inmediata es que cuan-
opuesta y ms familiar. Y es que, en la expe- do una superficie forma parte de una esce-
riencia anterior, tendremos presente en todo na compleja con diferentes colores, el color
momento que estamos viendo una hoja de percibido no se corresponde exclusivamente
color naranja. Y no solo esto, sino que identi- con la composicin espectral del color recibi-
ficaremos con bastante precisin este color y do por los receptores retinianos. Una conclu-
seremos capaces incluso, ms tarde, de dis- sin ms elaborada es que el color percibido
tinguirla de otras hojas de un color parecido. se corresponde con una evaluacin llevada
Esta propiedad, que ha intrigado a todos a cabo de algn modo por nuestro sistema
los cientficos que se han ocupado de la teo- visual en la que la distribucin espectral de la
ra de los colores, y que resulta vital para los luz reflejada por un fragmento de la escena,
animales que deben sobrevivir en un medio uno de los rectngulos de este experimento,

38
Materiales reales

se compara con la distribucin espectral refle- R(630) G(530) B(450)


jada por los fragmentos que le rodean.
El color de la superficie de un objeto de-
pende de una constante principal que, de al-
gn modo, nuestro sistema visual es capaz
de percibir con notable precisin. Esta cons- R(630) G(530) B(450)
tante es la reflectancia de la superficie. Si la
luz que recibe esta superficie es muy intensa,
la luz reflejada ser tambin ms intensa, y si
la luz es menos intensa la luz reflejada ser
menos intensa. Pero dado que los objetos
circundantes proporcionan claves sobre la in-
tensidad de esta luz y la reflectancia es cons-
tante, parece que nuestro sistema visual es
capaz de descontar la mayor o menor inten-
sidad, para mantener constante la percepcin
de la superficie. Y otro tanto ocurre con la to-
nalidad cromtica de la luz: si la tendencia es
azulada, fra, esta tendencia se captar por
claves dadas por el entorno y se descontar
de la correspondiente variacin sufrida por la
reflectancia. Y lo inverso ocurrir si la tenden-
cia es rojiza, clida.
La teora retinex de Land parte precisa-
mente de esta hiptesis: que nuestro sistema
visual (comprendido de algn modo entre la
retina y el crtex, de ah el nombre) es capaz RGB ajustado para la salida indicada
de comparar registros de luminosidades de
una escena entre tres bandas de longitudes
de onda, larga, media y corta (correspondien-
tes a nuestros tres receptores cromticos) y, RGB ajustado para la salida indicada
a partir de ah, reconstruir el color de las su-
perficies. Es decir, que el color percibido re-
sulta, para decirlo en los trminos utilizados
por Zeki en otra obra de referencia fundamen-
tal sobre la percepcin de los colores (vase
Zeki, 1993, p. 275 de la trad. esp. de 1995),
de una comparacin de comparaciones: la
primera consiste en comparar la reflectancia
de distintas superficies para una luz de la mis- salida: salida:
ma banda de ondas, generando as el registro 5,8, 3,2, 1,6 5,8, 3,2, 1,6
de luminosidad de la escena para esta banda,
y la segunda, en comparar los tres registros
de luminosidad de la escena para diferentes salida: salida:
bandas de ondas, dando as lugar al color. 5,8, 3,2, 1,6 5,8, 3,2, 1,6
No hay por tanto, como se crea en las teo-
ras clsicas, adicin o mezcla sino tan solo
relacin, comparacin. Esta capacidad del Figura 1.14 Constancia cromtica. El experimento de Land.

39
Simulacin visual de materiales

cerebro de descontar la iluminacin es lo que cia cromtica tendran que ver con esta des-
posibilita lo que se denomina constancia cro- viacin.
mtica. Pero la idea bsica, que est estrecha-
Las investigaciones posteriores han confir- mente relacionada con todo lo que se ha
mado los experimentos de Land con algunos aprendido a partir principalmente de las in-
matices. Anlisis ms precisos han mostrado vestigaciones de Hubel y Wiesel, es que las
que hay una cierta desviacin de la constan- neuronas se disparan mediante mecanismos
cia cromtica inducida por las condiciones combinados de excitacin/inhibicin cuya
generales de iluminacin. Alguno de los fen- funcin primordial, en este como en otros
menos mencionados por Fairchild a los que fenmenos, es comunicar relaciones. Y la
me he referido en el apartado sobre aparien- constancia de las relaciones est en la base
de los fenmenos de constancia cromtica.

Fenmenos de interaccin cromtica

Sin embargo, los fenmenos de constancia


cromtica descritos en el apartado anterior
deben conjugarse, por difcil que resulte, con
los fenmenos de interaccin cromtica.
El color percibido de una superficie no est
determinado solo por su color propio sino por
el color de una estimulacin previa o por el
color de lo que rodea a la superficie. Estos
efectos han sido ampliamente estudiados
y tienen una gran importancia, tanto terica
como prctica.
Si se contempla durante cierto tiempo, por
encima del medio minuto, un rectngulo de
color rojo y despus se desva la vista hacia
una superficie neutra, gris, se ver durante
unos instantes un rectngulo de color azul
verdoso: una imagen del color complemen-
tario al color observado. Este fenmeno, que
ahora se denomina induccin o contraste su-
cesivo, se ha observado desde hace mucho
tiempo pero no se ha explicado de un modo
convincente hasta hace poco.
Hay dos procesos principales que in-
tervienen en este fenmeno: el blanquea-
miento y adaptacin de los receptores su-
perficiales y la reestructuracin neuronal
combinada con una organizacin cromtica
basada en colores oponentes. Lo primero
ya fue avanzado en el siglo xix por Hel-
mholtz: al observar durante un perodo pro-
longado un estmulo intenso, como un color
Figura 1.15 Interaccin cromtica. El cuadrado gris tiene la rojo, los pigmentos de la retina se saturan,
misma composicin espectral en las cuatro figuras. se blanquean. Al modificar bruscamente el

40
Materiales reales

estmulo, estos pigmentos no responden La obra de Hering, publicada por prime-


adecuadamente, lo que lleva a un desequi- ra vez en 1874, es, como ya he dicho, una
librio que aumenta el papel de los otros contribucin ms rigurosa a la explicacin de
receptores. Sin embargo esta explicacin este tipo de fenmenos. Las ideas de Hering
es insuficiente pues a menudo basta un pe- fueron desarrolladas por G.F. Mller en la d-
rodo de observacin no tan prolongado. Y, cada de 1930 y por Hurvich y Jameson (1957)
por otro lado, tambin se da el fenmeno durante el siglo xx y, adems de analizar con
opuesto como veremos a continuacin. He- precisin los fenmenos de interaccin, su-
ring, hacia 1872, avanz la segunda causa. pusieron, como ya he dicho, una contribucin
La percepcin de los colores est basada muy importante a la comprensin del modo
en la actividad de clulas que trabajan por en que percibimos los colores.
oposicin: se activan ante la presencia de La figura 1.15 muestra las notables di-
un color y se inhiben ante la presencia de ferencias que aparecen cuando un mismo
su complementario. Cuando la excitacin color es rodeado por diferentes colores. Las
prolongada se suprime hay un rebote hacia interacciones laterales afectan de un modo
la inhibicin. Y a la inversa. Dado que las evidente tanto a la intensidad (el nivel de gris
oposiciones son blanco/negro, rojo/verde, equivalente percibido) como a la tonalidad,
amarillo/azul, la supresin brusca de un es- que se desplaza en direccin opuesta a la del
tmulo provoca la activacin del opuesto. La estmulo lateral.
intuicin de Hering ha sido confirmada por De hecho, esto es una prueba ms de has-
los avances ms recientes en la investiga- ta qu punto la percepcin de un color solo
cin sobre el funcionamiento de las neuro- tiene sentido si consideramos el contexto en
nas que se disparan o se inhiben en funcin que se inscribe. Un rectngulo negro situado
del tipo de estmulo que reciben. en un exterior a la luz del da se ve negro.
Por otro lado, las postimgenes tambin Pero refleja mucha ms luz que un rectngulo
pueden ser del mismo color del original, lo blanco situado en un interior iluminado por luz
que se conoce como asimilacin. Las causas artificial. Lo que percibimos es la reflectancia
en este caso son ms complejas, como lo es que nuestro sistema visual deduce del en-
el propio fenmeno que solo se da en ciertas torno. Pero en casos muy concretos, como
circunstancias, por ejemplo cuando el estmu- los que estamos comentando, hay un cierto
lo es rpido y brusco. desplazamiento del efecto que nuestro siste-
Otro fenmeno ms corriente y ms im- ma visual no es capaz de compensar.
portante en la prctica es el de la induccin
o contraste simultneo. Fue analizado en pro-
fundidad, quizs por primera vez, por Goethe, 1.3 Causas fsicas de los colores
en varios pasajes de su Teora de los Colo-
res, publicada a principios del siglo xix y por Lo principal de esta seccin est adaptado
Chevreul en una obra voluminosa, De la loi du del libro de Kurt Nassau, The Physics and
constraste simultane des couleurs, publica- Chemistry of Color. The Fifteen Causes of
da en 1839 y que influy considerablemente Color, editado por primera vez en 1983. He
en la obra de muchos pintores de finales de intentado reducir al mnimo las precisiones
siglo. Otro referente fundamental es la famo- tcnicas.
sa obra de Josef Albers, profesor de la Bau- Nassau clasifica las causas de los colo-
haus, Interaction of Color, publicada en 1963, res en 15 categoras agrupadas en 5 grupos
donde analizaba las variaciones de tonos (aunque ha modificado esta clasificacin va-
percibidos que se obtenan al combinar hojas rias veces, en sucesivas ediciones). En la
de colores puros recortadas y compuestas de mayora de los casos, la causa principal es la
diferentes modos. transicin de estado de los electrones debido

41
Simulacin visual de materiales

a que la energa requerida para este cam- Al comienzo de este captulo he recorda-
bio de estado se relaciona directamente con do que los principales fenmenos son, entre
cambios visibles en la longitud de onda. Los 5 otros, la reflexin, la refraccin y la absorcin.
grupos son los siguientes: Pero qu quiere decir exactamente que una
I Colores debidos a vibraciones y excitacio- superficie refleja, refracta o absorbe una de-
nes simples (colores producidos por 1. In- terminada longitud de onda? Para que esto
candescencia, 2. Excitaciones de gases, tenga ms sentido habr que ampliar algo
3. Vibraciones y rotaciones). ms semejante explicacin.
II Colores que implican transiciones en cam- Podemos situar el inicio de esta explica-
pos ligantes (4. Causados por transicio- cin en 1905 cuando en un famoso artculo
nes metlicas en compuestos, 5. Por tran- Einstein demostr que el efecto fotoelctrico,
siciones metlicas con impurezas). esto es, la emisin de electrones por determi-
III Colores que implican transiciones en orbi- nados metales como respuesta a la inciden-
tales moleculares (6. En molculas org- cia sobre su superficie de la luz (u otra radia-
nicas, 7. En transferencias de carga). cion electromagntica), que haba llevado a
IV Colores que implican la teora de bandas contradicciones insuperables para las teoras
(8. En metales. 9. En semiconductores pu- clsicas, poda explicarse satisfactoriamente
ros, 10. En semiconductores dopados, 11 admitiendo que la luz se emite y se absorbe
En centros de color). en forma de cuantos de energa o fotones.
V Colores que implican a la ptica geom- En 1912, Niels Bohr incorpor la teora
trica y fsica (12. Dispersin refractiva, 13. cuntica de la radiacin, iniciada por Planck
Dispersin y efectos no lineales, 14. Inter- en 1901 y confirmada por los trabajos de Eins-
ferencia, 15. Difraccin. tein sobre el efecto fotoeltrico, a la presenta-
La clasificacin que he adoptado en los cin de un modelo del tomo en el que los
apartados siguientes est ms orientada por electrones se situaban, sin radiar energa, en
la finalidad de este libro y simplifica y reorde- ciertas rbitas o estados estacionarios. Estas
na la de Nassau. rbitas configuraban una serie de capas elec-
La causa inmediata de los colores, como trnicas discontinuas, con niveles de energa
hemos visto en el apartado anterior, es que discretos (designadas desde entonces por las
nuestro sistema visual es sensible a determi- letras K, para n = 1, L, para n = 2, M, para n =
nadas longitudes de onda, y que cuando la 3, N, para n = 4, etc.), separadas por zonas en
energa que reciben se encuentra distribuda las que no poda haber electrones. La radia-
de un determinado modo vemos diferentes cin se produce cuando un electrn pasa de
colores. una rbita a otra. El modelo de Bohr fue corre-
Los colores simples pueden simularse gido en 1916 por Arnold Sommerfeld conside-
por medio de tres colores primarios como rando rbitas elpticas y desplazamientos no
veremos en el captulo siguiente. Pero para regulares de los electrones en torno a estas
simular el modo en que los materiales refle- rbitas, introduciendo nmeros cunticos se-
jan la luz esto es insuficiente. Una revisin cundarios que permitan explicar determina-
sumaria de las causas fsicas del color ayu- dos fenmenos que aparecan al observar el
dar a ordenar los mtodos de simulacin espectro de algunos elementos con aparatos
y, sobre todo, a apreciar mejor sus limita- de gran resolucin por medio del momento
ciones. angular orbital del electrn. Esto fue seguido
Estas causas dependen, en la gran mayora por ajustes posteriores que llevaron a esta-
de los casos, de complejas interacciones que blecer que la energa de un electrn en un
hasta hace poco eran desconocidas y que solo tomo queda unvocamente determinada por
recientemente se han comprendido suficiente- cuatro nmeros cunticos (simplificando: el
mente gracias a los avances de la fsica. primero, n, es el ndice de la rbita o nivel;

42
Materiales reales

el segundo, l, el ndice del subnivel; los dos toria a algo de naturaleza corpuscular o, si
siguientes cuantifican el momento angular y se prefiere, de la mecnica ondulatoria a la
la orientacin). mecnica cuntica, una dualidad que, como
En 1925, Wolfrang Pauli enunci lo que se es bien sabido, est presente en las teoras
conoce como principio de exclusin, segn fisicas sobre la luz durante todo el siglo xx.
el cual en un mismo tomo no pueden exis- La menor cantidad de luz para cualquier lon-
tir dos electrones con la misma energa, es gitud de onda es el fotn. La energa de un
decir, con los cuatro nmeros cunticos igua- fotn se mide en electronvoltios y es directa-
les. Este principio result fundamental para mente proporcional a la frecuencia e inver-
conocer la configuracin electrnica de los samente proporcional a la longitud de onda.
tomos y, en consecuencia, la relacin entre Un electronvoltio se define como la energa
esta configuracin y la tabla peridica de los cintica que adquiere un electrn al ser ace-
elementos que haba dado a conocer Mende- lerado en el vaco por una diferencia de po-
leiev en 1869, basada en la masa atmica. tencial de 1 voltio y su valor en julios es 1 eV
Como derivacin de este principio se dedujo = 1,6022 x 10-19 J.
el nmero mximo de niveles de cada capa, La tabla de la figura 1.18 da las equivalen-
que debe ser 2n2. cias entre zonas de colores corrientes, longi-
As, para capa, resultan los siguientes n- tudes de onda (nm, nanmetros: 10-9 metros),
meros mximos. En el nivel 1 (capa K) el total frecuencia (Hz, hercios) y energa (eV, elec-
de electrones admisibles es 2. En el nivel 2 tronvoltios).
(capa L) el total de electrones admisibles es En la interaccin de la radiacin electro-
8. En el nivel 3 (capa M) el total de electrones magntica con la materia se dan tres proce-
admisibles es 18. En el nivel 4 (capa N) el to- sos fundamentales: absorcin, emisin es-
tal de electrones admisibles es 32. El nmero pontnea y emisin estimulada.
total de electrones se corresponde con el n- La absorcin tiene lugar cuando un elec-
mero atmico del elemento. As, por ejemplo, trn asimila la energa de un fotn y pasa a un
el Cloro, de nmero atmico 17, tiene sus co- estado excitado, de mayor energa. La emi-
rrespondientes 17 electrones distribuidos en sin espontnea tiene lugar cuando, como
tres niveles principales: 2-8-7. La distribucin consecuencia de estar en un estado excitado
de los electrones en cada capa sigue una inestable, despus de absorber un fotn, se
serie de reglas adicionales. La que ms nos emite un fotn de la misma frecuencia del ab-
importa para lo que sigue es que el nmero sorbido aunque en direccin y fase aleatorias,
de electrones de la capa ms externa, la de y vuelve a su estado original. La emisin esti-
mxima energa, no puede ser superior a 8. mulada (prevista tericamente por Einstein en
Los electrones situados en la ltima capa 1916) se basa en la incidencia de un fotn so-
se denominan electrones de valencia pues bre un electrn previamente excitado que es-
depende de ellos la menor o mayor facilidad timula la emisin y tiene como resultado dos
del elemento para formar enlaces con otros fotones de la misma frecuencia viajando en
elementos. Estos enlaces se pueden dar de fase en la misma direccin. Si en su camino
varios modos, sea por intercambio, sea por se encuentran con electrones excitados del
comparticin, sea por interaccin, como ocu- mismo modo, el proceso se repetir aadin-
rre en los enlaces metlicos. dose nuevos fotones a los iniciales. En este
Aunque los colores se asocian corrien- efecto se basa el lser (siglas de Light Ampli-
temente a longitudes de onda o frecuencia, fication by Stimulated Emission of Radiation).
para lo que sigue ser preferible convertir las Todos estos conceptos bsicos se hacen
longitudes de energa a unidades de ener- inevitablemente ms complicados cuando
ga, lo que implica pasar de la consideracin consideramos una estructura de tomos com-
de la luz como algo de naturaleza ondula- pleja como la que se da en la superficie de

43
Simulacin visual de materiales

un material. Si en lugar de considerar un solo


tomo consideramos dos, nos encontraremos
con que la interaccin entre ellos produce el
Orbitales externos desdoblamiento de un mismo nivel en dos ni-
vacos veles de energa distinta. Este desdoblamien-
to depende de la distancia y es tanto ms
Orbitales de valencia intenso cuanto menor es la distancia entre
parcialmente ocupados los tomos. En un slido, los electrones no
se pueden mover libremente, como en el es-
pacio libre, sino que su movimiento est res-
Capas internas
tringido a ciertos niveles energticos que se
ocupadas organizan en bandas.
Si consideramos una red cristalina, la in-
teraccin entre los tomos hace que los ni-
veles bsicos se separen en tantos niveles
Figura 1.16 Orbitales. como tomos que, debido a su gran nmero,
se puede considerar que forman una banda
de energa casi continua. Para los niveles
BC internos, esta perturbacin es muy pequea
comparada con la interaccin con el ncleo y
~10 eV BP la separacin ser irrelevante. Pero para los
BV electrones externos, los electrones de valen-
Aislante (dielctrico) cia, la separacin ser grande, tanto mayor
cuanto mayor sea la energa del nivel. Segn
las caractersticas del material, estas bandas
BC pueden solaparse. Y el comportamiento de
~1 eV BP
BV estas bandas explica la mayor parte de las
propiedades de las superficies de los mate-
Semiconductor
riales.
Para contribuir a la conduccin, un elec-
BC trn debe poder desligarse de su tomo y
BV acelerarse al recibir energa o bien ser excita-
Conductor (metal) do a un nivel de mayor energa. En una banda
completamente llena esto no puede ocurrir.
Figura 1.17 Bandas. Los electrones solo pueden desplazarse a ni-
veles prximos vacos. A la banda de energa
14
Color (nm) (x10 Hz) (eV) ms baja que no est llena se le denomina
Rojo 700 4,29 1,77 banda de conduccin. Y a la inmediatamente
Rojo 650 4,62 1,91 inferior se le denomina banda de valencia. La
Naranja 600 5,00 2,06 figura 1.17 muestra un esquema de esta si-
Amarillo 580 5,16 2,14 tuacin. La estructura de bandas se relaciona
Verde 550 5,45 2,25 directamente con la diferencia entre aislantes
Cyan 500 5,99 2,48 (dielctricos), semiconductores y conductores
Azul 450 6,66 2,75 (metales) que se representa tambin esque-
Violeta 400 7,50 3,10 mticamente en dicha figura.
La parte superior de esta figura represen-
Figura 1.18 Tabla de equivalencias entre longitudes de onda, ta una superficie en la que la banda de con-
frecuencia y energa. duccin, BC, est separada de la banda de

44
Materiales reales

valencia, BV, por una amplia banda prohibi- y cuando vuelve a su rbita emite fotones.
da (band gap). En un aislante ideal la ban- Este proceso de oscilacin se repite continua-
da de conduccin est vaca mientras que la mente mientras el objeto reciba la suficiente
banda de valencia est llena, con todos sus energa para mantener esta temperatura. La
subniveles ocupados, de modo que no puede velocidad de oscilacin y la temperatura de
contribuir a la conduccin. En un aislante no color ligada a esta mayor o menor velocidad
ideal, si algunos electrones recibieran energa determinan el color de la luz. Hay otros obje-
suficiente podran llegar a pasar a la banda de tos que pueden emitir luz no incandescente.
conduccin aunque las intensidades genera- Este tipo de emisin se denomina luminiscen-
das seran muy pequeas. cia y se tratar en otro apartado.
La parte media de la figura representa Si calentamos en la obscuridad un trozo
una superficie en la que la separacin entre de hierro, sus partculas se irn agitando pro-
la banda de conduccin y la de valencia es gresivamente hasta que llegar un momento
pequea, del orden de 1 eV. Esta disposicin en que comenzar a hacerse visible una co-
es caracterstica de los semiconductores en loracin roja que culminar en un blanco bri-
los que sus propiedades varan con la tempe- llante. Para un terico cuerpo negro, que no
ratura. A 0 K, la banda de valencia est llena reflejase ninguna radiacin, al llegar alrededor
y la de conduccin vaca. El material se com- de los 800 Kelvin (525 C) comenzara a ha-
porta, por consiguiente, como un aislante. Sin cerse visible un color rojizo, que se hara ms
embargo, al aumentar la temperatura, al ser oscuro al llegar a los 1.000 K. A partir de aqu
pequea la separacin algunos electrones se ira haciendo progresivamente ms claro,
adquieren la energa suficiente para saltar de de un tono cereza al llegar a los 1.200 K, na-
la banda de valencia a la de conduccin. Y los ranja hacia los 1.500 K y, finalmente, blanco
electrones que abandonan su posicin dejan brillante hacia los 1.800 K. La progresin no
huecos en la banda de valencia que tambin avanza directamente hacia los colores fros
contribuyen a la conduccin. sino que pasa por el blanco. Sera preciso
La parte inferior de la figura representa una calentar este terico cuerpo negro hasta los
superficie en la que la banda prohibida ha 12.000 K aproximadamente para que comen-
desaparecido pues las bandas de conduccin zase a apreciarse claramente una tonalidad
y de valencia se solapan. En esta situacin, azul. Esto es as porque las radiaciones an-
caracterstica de los metales, los electrones teriores permanecen y, al mezclarse entre s,
pueden moverse libremente bajo la influencia sin que ninguna de ellas domine notoriamen-
de un campo elctrico. te sobre las otras, producen el color blanco,
Este es el marco general en que deben si- pues la luz blanca no es sino la manifestacin
tuarse la mayora de los fenmenos que se de lo heterogneo de sus componentes como
describen en los apartados siguientes y que ya he recordado al comienzo de este captulo.
son percibidos como colores por nuestro sis- En 1900, Max Planck obtuvo unas ecuacio-
tema visual. nes que marcaran el inicio de la teora cun-
tica, que permitan calcular la distribucin de
Incandescencia longitudes de onda en un cuerpo negro ideal.
Un cuerpo negro es un objeto terico que ab-
El trmino incandescente se utiliza para de- sorbe toda la energa que recibe. La radiacin
signar especficamente a los objetos que emi- que emite se debe por consiguiente tan solo a
ten luz por la accin del calor y que tienen, por la temperatura. Esto permite, entre otras co-
consiguiente, una determinada temperatura sas, expresar la distribucin de longitudes de
de radiacin. En general, cuando un cuerpo onda en trminos de valores de temperatura.
se calienta por encima de una determinada La figura 1.20 muestra las distribuciones es-
temperatura, el electrn se aleja de su ncleo pectrales del cuerpo negro a diferentes tem-

45
Simulacin visual de materiales

peraturas, normalizadas en torno a la longitud muestran todo tipo de matices que son muy
de onda de 560 nm para que puedan compa- difciles de reproducir por medios artificiales.
rarse pues los valores verticales seran muy El color de la llama de una vela, en concreto,
dispares. Y la tabla de la figura 1.19 muestra muestra varias tonalidades que van del ama-
las temperaturas de color de diferentes obje- rillo al azul pasando por el rojo y el blanco.
tos de referencia. Matices similares pueden observarse en que-
La temperatura de color relaciona la cali- madores de gas. La figura 1.21 muestra la
dad, el tono visible o la sensacin cromtica llama de una vela en la que se han sealado
con una determinada cantidad fsica; decir tres zonas caractersticas: 1) la zona interior,
que una bombilla corriente de 60 watios tiene oscura, donde pequeas partculas de car-
una temperatura de color de 2.800 K, el Sol bn, de un tamao que puede estar en torno
una temperatura de color en torno a los de a los 30 nm, se generan a travs de reaccio-
5.500 K y el cielo azul de un da de verano nes complejas a temperaturas del orden de
unos 10.000 - 20.000 K nos precisa la fuente los 800 a 1000; 2) la zona central superior
de luz que estamos utilizando en funcin de donde la combustin alcanza temperaturas
la temperatura de un cuerpo ideal que tuviera del orden de los 1.200 a 1.400 y hace que
una distribucin espectral relativa conocida. estas partculas entren popiamente en incan-
Las fuentes de luz incandescentes ms descencia y emitan luz de un tono amarillen-
primitivas son las debidas al fuego y estn to, rojizo, blanco; 3) la zona exterior inferior
presentes en todo tipo de imgenes, antiguas tiene un caracterstico tono azul que es debi-
y actuales: fogatas, chimeneas, antorchas, do a la mezcla de molculas inestables con el
velas, etc. Los colores de estas fuentes de luz oxgeno del aire.
Las lmparas incandescentes se basan
en que algunos materiales, como el carbono,
Fuente de luz Temperatura de color ( K) el platino, el tungsteno o el wolframio, tienen
una distribucin espectral que se aproxima a
Luz diurna (cielo azul) 12.000 - 20.000 la del cuerpo negro. El material preferido des-
Luz diurna, verano (sombra) 8.000 de que se empezaron a fabricar este tipo de
Luz diurna, verano (sol+cielo) 6.500 lmparas (hacia 1900) era el tungsteno debi-
Fluorescente luz de da 6.300 do a que tiene un punto de fusin alto, por
Lmpara de xenn 6.400 encima de los 3.650 K por lo que se puede
Cielo cubierto 6.000 utilizar a temperaturas muy altas, en el vaco
Lmpara de mercurio 5.900 o en un gas inerte. Su principal inconvenien-
Sol (medioda, verano, latitudes medias) 5.400 te es que da una luz ms bien rojiza, como
Fluorescente blanco 5.200 corresponde a su temperatura de color re-
Photoflood luz de da 5.000 lativamente baja, que en la figura 1.20 que
Sol (amanecer/atardecer) 4.300 muestra las distribuciones correspondientes a
Lmpara de mercurio (White Deluxe) 4.000 diferentes temperaturas de color se ve que es
Photoflood 3.400 ms intensa en la regin de las ondas largas.
Halgena 100 W 3.000 Las lmparas incadescentes actuales utilizan
Incandescente 100 W 2.870 filamentos de wolframio. Seguan siendo las
Incandescente 40 W 2.500 ms utilizadas, pese a su bajo rendimiento
Sodio alta presin 2.100 (de 12 a 18 lm/W) y su corta vida (en torno a
Sol (amanecer/atardecer) 2.000 las 1.000 horas), hasta hace poco que se han
Llama de vela 1.900 eliminado del mercado.
Llama de cerilla 1.700 Las lmparas halgenas son variantes de
las incandescentes, introducidas a comienzos
Figura 1.19 Temperatura de color de diversas fuentes de luz. de la dcada de 1960, en las que el vidrio se

46
Materiales reales

substituye por un compuesto de cuarzo, que anterior se obtiene a partir de las emisiones
soporta mejor el calor, el filamento puede ser espectrales del Sol.
de tungsteno o de wolframio y el interior con- Los objetos con temperaturas de color
tiene un gas halgeno (flor, cloro, bromo o comprendidas aproximadamente entre los
yodo) que evita que el metal evaporado se 5.000 y los 7.000 K se perciben generalmente
deposite en el filamento, como ocurre en las como blancos.
lmparas de tungsteno clsicas, que se en- En 1931, la CIE (Commission Internationa-
negrecen con el tiempo. El gas utilizado en le de lEclairage) emprendi la tarea de codi-
las primeras era yodo, que daba una colora- ficar los colores de modo que los diferentes
cin roscea, y posteriormente fue substituido industriales pudieran hablar un mismo idioma.
por bromo, que daba una luz ms blanca. En Esto supuso normalizar los tres agentes prin-
cualquier caso, todo esto hace que el rendi- cipales de la percepcin del color: la luz, los
miento sea mucho mayor y que las lmparas objetos y el ojo. Normalizar los objetos supu-
duren ms, y tambin que la luz sea ms so estipular unas determinadas condiciones
blanca (aunque tambin emiten ms en la re- de observacin e iluminacin al medir su re-
gin ultravioleta por lo que debe evitarse su flectancia a lo largo de toda la gama espec-
uso para actividades corrientes, pues pueden tral. Normalizar el ojo supuso tomar una serie
acelerar la formacin de cataratas.
La fuente de luz incandescente ms im- 1.000 2.000

portante de todas es evidentemente el Sol. Si


Valores relativos

el Sol no est oculto por las nubes podemos


verlo como un objeto luminoso de color varia-
ble, filtrado por la atmsfera.
La constante solar es la cantidad de ener- 3.000
ga recibida, como radiacin solar, por unidad
de tiempo y unidad de superficie, sobre la
10.000
parte externa de la atmsfera terrestre, en un
8.000
plano perpendicular a los rayos del Sol. Se 4.000

puede calcular dividiendo el flujo energtico 6.000

emitido por el Sol por la relacin de reas en- 4.000


6.000
tre la superficie del Sol y la de la Tierra. O 3.000 10.000
2.000
bien se puede medir por medio de satlites. 1.000

No es propiamente una constante pues su va- 400 500 600 700 800
lor flucta a lo largo de un ao debido a que la Figura 1.20 Cuerpo negro. Distribucin espectral de diferentes
distancia entre la Tierra y el Sol tambin fluc- temperaturas de color normalizadas tomando como referencia
ta. Y tambin flucta a lo largo de los aos 560 nm.
debido a variaciones peridicas en el brillo del
Sol y a otros factores como las variaciones de
parmetros orbitales de la Tierra, particular-
mente de la excentricidad.
El valor medio de su irradiancia se consi- Zona 2 (amarilla, blanca)
dera que est en torno a los 1.366 W/m2 aun-
Zona 1 (oscura)
que vara en cerca de un 7 % a lo largo del
ao (entre unos 1.412 W/m2 a principios de Zona 3 (azulada)
enero y 1.321 W/m2 a principios de julio).
La temperatura de color del Sol es de
5.770 a 5.780 K. Obviamente la temperatura Figura 1.21 Zonas de color en la llama de una vela (vase la
del Sol en su interior es muy superior. El valor descripcin en el texto).

47
Simulacin visual de materiales

de medidas colorimtricas a partir de los da- Excitacin elctrica de gases. Color


tos aportados por una muestra seleccionada de las lmparas de descarga
de sujetos jvenes que no sufran de ningn
tipo de anomala cromtica. Y normalizar la Hay otros tipos de fuentes de luz que se ba-
luz supuso tomar un determinado iluminante san en la excitacin de gases. Cuando un
como referencia. El primer iluminante norma- gas tal como el nen o un elemento vaporiza-
lizado, el denominado Standard Illuminant A, do, como el sodio o el mercurio, se excita por
se defini como la luz producida por una bom- el paso de una corriente elctrica, la energa
billa incandescente con una temperatura de eleva los tomos a estados de energa ms
color de 2.848 K. Posteriormente este valor elevados, de los que vuelven a caer emi-
se ha ajustado a 2.856 K. Los dos siguientes, tiendo fotones. La explicacin del fenmeno
el Standard Illuminant B (equivalente a la luz es compleja pero el efecto es familiar pues
producida por la luz del Sol al medioda, con- muchos espacios pblicos y privados estn
siderada equivalente al Standard A ms un iluminados con lmparas de sodio o fluores-
filtro lquido proporcionando conjuntamente centes.
una luz de temperatura de color de 4.870 K) y Segn el grado de energa liberado, el color
el Standard Illuminant C (definido como la luz vara desde el tono blanco rojizo de las luces
del cielo en un da nublado, considerado equi- de nen hasta los tonos azulados de las lm-
valente al Standard B ms un filtro especial, paras de vapor de mercurio o fluorescentes o
proporcionando conjuntamente una luz de los tonos amarillentos de las lmparas de sodio.
temperatura de color igual a 6.770 K) estn La excitacin del gas tambin puede producirse
en desuso y se han substituido por el D65. por medios trmicos o por la interaccin de par-
Posteriormente, a partir de 1964, se han tculas, como ocurre en el caso de las auroras
adoptado los siguientes: El Standard Illumi- boleares en las que el efecto es debido a la inte-
nant D55, equivalente a luz de da a 5.000 raccin entre partculas emitidas por tormentas
K. El Standard Illuminant D65, equivalente a solares y gases que se encuentran en la parte
luz de da a 6.500 K. Es el principal referente superior de la atmsfera terrestre.
utilizado en la actualidad. Y el Standard Illumi- Al igual que ocurre con otras causas del co-
nant D75, equivalente a luz de da a 7.500 K. lor, el fenmeno fundamental deriva de la ab-
La figura 1.22 muestra las curvas corres- sorcin de energa por un electrn. Suponga-
pondientes a los iluminantes A, B, C y D65. mos un tomo de sodio que se encuentra en
estado de vapor. Este tomo tiene un ncleo
con 11 elementos positivos equilibrados por
250
11 negativos, electrones situados en orbitales
alrededor del ncleo, agrupados en 4 capas
200 diferentes. La primera contiene 2 electrones,
Potencia radiante relativa

A la segunda 8 (en dos orbitales denominados


150 2s y 2p) y la tercera 1, situado en la rbita
C de menor energa. Si se proyecta energa
sobre este tomo, el electrn libre de la ter-
100
cera capa puede excitarse con facilidad para
B D pasar a un estado de mayor energa. Pocos
50 instantes despus vuelve a su estado anterior
reemitiendo la energa absorbida en forma de
luz. La energa caracterstica que se emite en
400 500 600 700 800 este proceso, en el caso del tomo de sodio
es 2.103 eV o 2.105. La tabla de la figura 1.18
Figura 1.22 Iluminantes normalizados. muestra que esta energa se corresponde con

48
Materiales reales

589.6 y 589.0 nm, dos longitudes de onda que se ha acabado por aceptar debido a sus con-
corresponden al color amarillo. siderables ventajas en trminos econmicos.
Las produccin de luz como consecuencia Las figuras 1.23 y 1.24 muestran las distri-
de descargas de gases fue observada casual- buciones espectrales caractersticas de estas
mente en laboratorios por varios cientficos lmparas.
a principios del siglo xix. Pero los primeros Por ltimo, hay que recordar que muchos
experimentos dirigidos a conseguir delibera- fenmenos naturales obedecen al mismo
damente este efecto se llevaron a cabo por principio. Los rayos que se producen durante
Michael Faraday hacia 1835 y por Heinrich las tormentas se originan por la diferencia de
Geissler hacia 1860. Se descubri as que
un tubo con gas en el que se haba hecho
el vaco mostraba una buena conductividad 1,0
elctrica y emita luz de diferentes colores se- LED

Intensidades relativas normalizadas


gn el tipo de gas utilizado. En 1910, Georges
0,8
Claude utiliz estos principios para fabricar T/H
los primeros tubos de nen que, desde enton-
ces, se utilizan principalmente para anuncios. 0,6
Si se utiliza solo nen o nen con argn el
color resultante es rojizo. Si se utiliza argn
con mercurio el resultado es azulado. 0,4
Hacia 1930 se descubri que si se recu-
bra el interior de estos tubos con polvo de 0,2
fsforo se obtena una luz ms blanca y que
la eficiencia y el coste de estas lmparas eran
superiores a las de las incandescentes. Las
lmparas flourescentes se utilizaron a gran 400 500 600 700 800
escala por primera vez en la Feria Mundial
de Nueva York de 1939 y desde esa fecha Figura 1.23 Distribuciones espectrales de lmparas de tungs-
se han introducido todo tipo de mejoras en teno/halgenas y led.
el rendimiento y en la calidad de la luz. Con
todo, la distribucin espectral, caracterizada 1,0
por unos picos muy altos en determinadas
Intensidades relativas normalizadas

regiones, no se corresponde con la de otras


fuentes de luz que dan una distribucin ms 0,8
similar a la natural.
Hacia 1948 se comenzaron a producir de 0,6
modo regular, en Estados Unidos, lmparas
de vapor de mercurio para alumbrado pbli-
co. El tono azulado se intent compensar por 0,4
medio de recubrimientos interiores de fsforo.
En la dcada de 1970 se introdujeron las lm-
0,2
paras de vapor de sodio a alta presin como
alternativa. Los principios son los que se han
explicado antes. Su principal ventaja es el alto
rendimiento que puede ser de hasta 200 l- 400 500 600 700 800
menes por vatio (las lmparas incandescen-
tes no llegan a 20). Su principal desventaja, Figura 1.24 Distribuciones espectrales de lmparas fluores-
el tono caracterstico amarillento anaranjado centes y de mercurio.

49
Simulacin visual de materiales

potencial entre las nubes y la tierra, una dife- hay vapor de mercurio. La cara interna del
rencia que puede ser del orden de los 100 mi- tubo est revestida de una capa de un mate-
llones de voltios. En presencia de partculas rial fluorescente que, cuando se produce una
de gas ionizadas, se produce una descarga descarga, absorbe la luz ultravioleta emitida
que se manifiesta como luz visible. Las auro- por el mercurio y la reemite como luz visible.
ras boreales, entre otros fenmenos, tambin La fosforescencia es debida a materiales
se originan por las mismas causas. (como el fsforo), con una notable persisten-
cia, materiales que mantienen durante mucho
Luminiscencia. Color de otras fuentes tiempo esta capacidad emisiva. El trmino se
de luz introdujo a finales del xvii para designar uno
de los primeros casos reseados, el descu-
En general, se denomina luminiscentes a los brimiento (por parte del zapatero y alquimis-
fenmenos luminosos no ligados al aumento ta de Bolonia, Vincenzo Cascariolo en 1603)
de temperatura (incandescencia). Esto abar- de que, lo que se denomin piedra boloesa
ca a dos grupos principales, la fosforescencia (sulfato de bario), emita luz durante la noche
y la fluorescencia. despus de haber estado expuesto a la luz
Un material fosforescente (del griego ph- durante el da. La mayora de los materiales
ros, portador, de luz, phos) es un material fosforescentes son inorgnicos, no contienen
que absorbe energa y luego la reemite. Las carbono y estn compuestos por cristales que
diferencias tienen que ver con el tiempo que contienen impurezas que distorsionan la re-
tarda en reemitir esta energa. La vida de un gularidad de la red cristalina. Hay varios pro-
electrn excitado es del orden de 10-8 segun- cesos que dan lugar a la emisin de luz por
dos. Si un material responde a la energa in- materiales que denominamos luminiscentes.
cidente volviendo a emitirla en un perodo de La energa emitida es menor que la absorbida
tiempo comprendido dentro de este intervalo y la diferencia se transforma en calor (esto se
de 10-8 segundos, hablamos de fluorescencia. conoce como la ley de Stokes). Esta prdi-
Si tarda ms, hablamos de fosforescencia, de da se da tras haber absorbido un fotn y el
persistencia en la emisin de la luz despus electrn queda en un estado metaestable
de haber cesado la excitacin. hasta que acaba por emitir la energa alma-
La fluorescencia es la propiedad de ciertos cenada. Algunos materiales fosforescentes
cuerpos de absorber la luz y volver a emitirla pueden retener del orden de la mitad de este
en forma de radiacin de mayor longitud de potencial durante perodos de unos 6 meses,
onda en un intervalo prcticamente inmedia- a temperatura ambiente o durante ms tiem-
to. Es relativamente frecuente pues de 3.000 po si la temperatura es menor. El cristal de
variedades de minerales conocidas, unas 500 fluorita puede llegar a almacenar esta energa
tienen esta propiedad. Unos minerales tie- durante aos. Los sulfuros de calcio, la ori-
nen un factor constante de fluorescencia que na o los huesos calcinados pueden presentar
contribuye a un color uniforme caracterstico. esta propiedad que tambin se da en algunos
Otros minerales tienen impurezas denomina- hongos o en la lucirnaga.
das, en este contexto, activadores, que pue- Adems de estos dos grupos principales
den modificar su coloracin y su intensidad se pueden clasificar los fenmenos luminis-
en la oscuridad. La fluorescencia puede apre- centes con arreglo a las causas que los pro-
ciarse artificialmente con lmparas ultraviole- ducen. As, se pueden encontrar denomina-
tas: las cicatrices aparecen de color violceo, ciones como quimiluminiscencia (cuando es
las manchas de nicotina de color rojo, el pa- debida a reacciones qumicas), fotoluminis-
pel y los tejidos blancos aparecen de un tono cencia (cuando la energa activadora es elec-
blanco azulado. Las lmparas fluorescentes tromagntica), que correspondera principal-
consisten en un tubo de vidrio dentro del cual mente a fluorescencia inducida por luz visible

50
Materiales reales

o rayos ultravioletas), electroluminiscencia aluminio es substituido por cromo y el ligando


(cuando es causada por una corriente elctri- genera un cambio en los niveles energticos
ca), bioluminiscencia (cuando es causada por que se traduce en una mayor absorcin de
las funciones propias de un organismo vivo), las longitudes de onda corta y la correspon-
triboluminiscencia (inducida por medios me- diente coloracin rojiza caracterstica del rub.
cnicos), y unas cuantas ms. En el caso de los silicatos de aluminio, una
substitucin similar del aluminio, en un 1 %
Impurezas metlicas en un medio a 2 %, por cromo, da lugar a una absorcin
aglutinante. Color de minerales y pig- mayor de las ondas largas que se traduce en
mentos una intensificacin de las medias (verdosas).
Efectos similares dan lugar a los colores de
El color de la mayora de minerales, gemas, otras piedras preciosas pero tambin al color
pigmentos, pinturas, es debido a impurezas
presentes en un medio que aglutina com-
puestos metlicos. Estos compuestos estn
formados por iones metlicos con electrones 1,0
acoplados en sus rbitas externas que pueden 1. Travertino pulido
2. Mrmol blanco pulido
excitarse dando lugar a variaciones en la ab- 3. Piedra caliza
sorcin de determinadas longitudes de onda. 0,8
4. Piedra arenisca
Si las capas orbitales de un tomo estn 5. Hormign 1
completas, el estado es estable, como ya he- 6. Mrmol negro pulido
Reflectancia

0,6 7. Granito negro pulido 2


mos visto, y se necesitan energas de alta in- 3
tensidad, en la regin ultravioleta, para modi-
ficar este estado. De ah que la mayora de los 0,4
compuestos qumicos sean incoloros, como 5
ocurre con el cloruro sdico (sal comn), el 4
0,2
xido de alumino o almina (corindn) o los
diamantes. Sin embargo, en otros casos, las 6
capas orbitales estn incompletas y pueden 7
ser alteradas por energas de baja intensidad 400 500 600 700 800
relativa, en la regin del espectro visible.
Por ejemplo, el xido de aluminio cristalino Figura 1.25 Distribuciones de reflectancias de piedras y mate-
o corindn se encuentra como componen- riales compuestos.
te de varios tipos de roca y, sin purificar, se
Material Reflectancia media
utiliza como abrasivo. Pero el corindn puro,
Asfalto 0,07
transparente, puede adquirir coloraciones ro- Suelo de tierra 0,08
jas (rub) o azuladas (zafiro). La estructura Suelo de hierba 0,25
atmica est formada por un tomo trivalente Ladrillo rojo 0,15
de aluminio rodeado por seis tomos de ox- Ladrillo ocre 0,25
Ladrillo blanco 0,75
geno formando un octaedro irregular. El cam- Hormign rugoso 0,20
po elctrico formado por el aluminio se cono- Hormign liso 0,30
ce como ligando (ligand field) o como campo Enlucido de yeso rugoso 0,40
Enlucido de yeso liso 0,80
cristalino (crystal field) en la teora vigente Cobre 0,40
hace algunos aos. Si el xido de aluminio Mrmol blanco 0,80
contiene impurezas, corrientemente cromo Nieve 0,80
Aluminio 0,85
en el caso del xido de aluminio (pero que,
en otros casos, pueden ser nquel, hierro, co- Figura 1.26 Valores medios de reflectancias de algunos mate-
balto o manganeso), un 1 % de los tomos de riales de construccin corrientes.

51
Simulacin visual de materiales

de piedras como la arenisca roja, de algunos del temple, resinas en el caso de las acuare-
lsers y de algunos materiales fluorescentes. las, aceite de linaza en el caso de la pintura al
En otros casos, el metal de transicin pue- leo, resinas sintticas en el caso de la pintu-
de estar presente, no como impureza sino ra acrlica) que al secarse retiene el pigmento.
como parte propia del compuesto. Esto es lo El color se debe, por tanto, al pigmento y las
que ocurre con muchos pigmentos o con las pinturas no perteneceran propiamente a este
capas que se forman por reacciones qumi- grupo sino ms bien al grupo anterior. Pero
cas sobre la superficie expuesta al aire libre los pigmentos son caros y por esta razn,
de piedras de edificios o estatuas. As ocurre entre otras, es mucho ms frecuente, desde
en, por ejemplo, el xido de cromo donde la hace miles de aos, el uso de colorantes or-
debilidad del enlace del cromo hace que se gnicos.
requieran energas relativamente dbiles Algunos de estos, los que proporcionan
para dar lugar a la absorcin de ondas largas, un colorido ms intenso, tienen una larga
lo que se traduce en una coloracin verdosa historia. El indigo (que actualmente se define
(ondas medias). Algo similar ocurre con mate- como un color situado entre los 450 y los 420
riales de tonos azulados y verdoso-azulados nm), se conoce desde hace ms de 3.000
tales como la malaquita, azurita o turquesa. aos. El nombre deriva del griego indikon
Un caso especial (que Nassau clasifica en con el que se designaba a un tinte que pro-
un grupo independiente) se da en algunos vena de la India, donde se extraa de ciertas
compuestos qumicos que contienen impure- plantas. Pero tambin se ha encontrado en
zas debido a fenmenos de transferencia de los ropajes de momias en Egipto. Otro tinte
carga entre las impurezas. En el caso del xi- famoso, de color muy similar, es la prpura
do de aluminio, por ejemplo, puede ocurrir que de Tiro, extrado de las mucosidades de un
haya una pequea proporcin de titanio y de caracol marino y utilizado por los antiguos
hierro. Si ambas impurezas estn presentes fenicios y, muchos aos despes, por sena-
en la misma proporcin, puede ocurrir que la dores romanos o cardenales catlicos para
absorcin de la luz haga que un electrn se teir sus tnicas. Y, en fin, otro colorante de
desplace de uno a otro ion, modificando tem- tonalidad similar y tambin muy preciado se
poralmente la valencia de ambos (aumentando extraa de la cochinilla, un insecto que se uti-
la de uno y disminuyendo la del otro). Durante lizaba en el Mexico precolombino como tinte
este proceso hay una absorcin de energa en y que se envi a Europa a travs de Espaa
la regin de las ondas medias lo que se tra- a partir de 1526.
duce en la emisin de energa en la regin Desde 1856, con el descubrimiento del
complementaria dando lugar a las coloracio- primer colorante sinttico, la anilina, por
nes azules intensas caractersticas del zafiro. W.H. Perkin, a partir de derivados del pe-
Fenmenos de este tipo estn en la base de trleo, comenz una intensa actividad para
colores tales como el pigmento conocido como obtener tintes ms efectivos y ms baratos
azul de Prusia (ferrocianuro de hierro) desde el y que cubriesen toda la regin del espectro.
siglo xviii, el lapislzuli o el azul ultramar. Algunos de los ms utilizados en la actuali-
dad son los de la familia de las ftalocianinas
Compuestos orgnicos. Colorantes (azules verdosos principalmente), cuya es-
naturales y sintticos tructura molecular es muy similar a la de la
familia de las porfirinas.
La mayora de los colores que nos rodean se En paralelo, se desarrollaron diversas
deben a recubrimientos de la superficie de teoras, comenzando por las propuestas
materiales por medio de tintes o pinturas. Las hacia 1876 por O.N. Witt, que postulaba la
pinturas utilizan pigmentos minerales disuel- existencia de unos componentes bsicos en
tos en un medio (clara de huevo en el caso la estructura molecular de los colorantes,

52
Materiales reales

con dos grupos principales que afectaran muy bajos. Sin embargo, en las bandas ms
de modo directo a la absorcin de la luz, los externas, parcialmente ocupadas, la reorga-
cromforos y los auxocromos y a cuya com- nizacin en bandas se da a distancias mu-
binacin se denmino cromgeno. Los cro- cho mayores. En el caso de los materiales
mforos, que incluyen carbono con enlaces metlicos, los electrones de valencia, situa-
dobles, incorporan electrones que resuenan dos en las bandas externas pueden moverse
a determinada frecuencia y puede decirse con libertad, lo que explica la alta conduc-
que son los responsables del color propio tividad de los metales. Cuando un fotn es
del colorante en cuestin, de las frecuencias absorbido por un electrn situado cerca del
que se absorben o se reflejan. Los auxo- nivel superior de esta banda de energa, el
cromos son grupos cargados positivamente electrn asciende a un nivel ms elevado.
que intensifican la funcin de los cromforos La energa lumnica absorbida induce una
o que desplazan sus picos de absorcin a corriente elctrica en la superficie del metal
determinadas longitudes de onda. Por otro que reenva el fotn hacia el exterior, lo que
lado, tambin contribuyen a mejorar la afini- es percibido como un brillo caracterstico,
dad del colorante con su soporte, a hacerlo propio de los metales: los materiales met-
ms estable. Estas teoras se han revisado licos son muy reflectantes porque los elec-
recurrentemente hasta culminar en expli- trones disipan con rapidez la energa que
caciones ms precisas, que se han dado a reciben. Tambin por esta razn la mayora
partir de la teora orbital de molculas, hacia de los metales tienen un color neutro, gris
1950, pero que, en lo substancial, mantienen plateado, pues reflejan la mayor parte de la
esta descripcin ms genrica basada en el luz que reciben, con independencia de la fre-
papel de los cromforos y auxocromos. cuencia.
Sin embargo, los diferentes metales y
Metales y semiconductores aleaciones tiene diferentes factores de ab-
sorcin que modifican estas caractersticas
El comportamiento de los metales se explica generales. La plata tiene un coeficiente muy
por la teora de bandas que he introducido bajo de absorcin lo que se traduce en un
anteriormente. Los metales se caracterizan reflectancia muy alta que disminuye muy li-
por su baja resistencia elctrica (son bue- geramente en la zona de las ondas cortas
nos conductores) y por su alta reflexividad. (azules y violetas), lo que hace que su tono
En general, la resistividad metlica, que es general sea ligeramente clido debido a la
un criterio directo para distinguir aislantes, relativa preponderancia de las ondas largas
semiconductores y metales, aumenta con la (rojas). Su curva de reflectancia es similar a
temperatura en el caso de los metales y se- la del aluminio pero ms alta y con una in-
miconductores. clinacin opuesta. Esto es mucho ms no-
Al combinarse los tomos de elementos torio en el caso del cobre o del latn (con
para formar molculas, se crean orbitales una curva de reflectancia similar a la del oro
moleculares que se agrupan en bandas de pero algo ms baja), lo que se traduce en
energa. Los niveles de energa dependen tonos ms rojizos y ms amarillentos respec-
de la distancia entre los tomos. Las figuras tivamente. El hierro, por otro lado, tiene un
anteriores, 1.16 y 1.17, que ya he comenta- perfil similar al de la plata, bastante neutro
do, muestran el modo en que que estos nive- aunque ligeramente clido, pero su reflec-
les de energa varan con la distancia y con tancia general es ms baja. La figura 1.27
los tipos de bandas. En las capas internas, muestra las distribuciones espectromtricas
plenamente ocupadas y estables, no se sub- caractersticas de algunos metales. El cobre,
dividen en bandas, a no ser que las distan- el oro o el bronce tienen tonalidades clidas
cias entre tomos desciendan hasta valores

53
Simulacin visual de materiales

rojizas (predominio de ondas largas) o ver- rojo bermelln, que se obtiene a partir del
dosas (bronce). mineral cinabrio (sulfuro de mercurio). Y una
La explicacin detallada de estos proce- banda an ms estrecha es propia de otro
sos se dio a partir de 1928 por medio de la semiconductor, la galena (sulfuro de plomo).
teora de la mecnica cuntica como ya he Esta secuencia de colores: amarillo, naranja,
recordado antes y puede encontrarse en rojo y negro, es caracteristica de los semi-
obras de referencia de fsica del estado s- conductores.
lido, como la de Kittel que se cita en la sec- Si en un semiconductor aparece un to-
cin de referencias. mo de otra substancia extraa, una impu-
Los semiconductores, como el silicio, tie- reza, sus propiedades se modifican. Estos
nen caractersticas distintas que las de los semiconductores denominados dopados
metales. Pero la explicacin de estas carac- tienen un nmero distinto de electrones de
tersticas es la misma, se describen igual- valencia, lo que hace que se puedan formar
mente a partir de los principios de la teora nuevos niveles de energa. Si el tomo impu-
de bandas. Los semiconductores principales ro tiene ms electrones que el tomo al que
tienen 4 electrones de valencia. substituye, como ocurre con el nitrgeno que
Como es bien sabido, lo que caracteriza tiene cinco, en el caso de cristal de diamante
a los semiconductores es que se comportan (formado por carbono con cuatro valencias)
como aislantes o como conductores en fun- se forma lo que se denomina un donante y
cin de la temperatura debido a que la banda el semiconductor ser de tipo N (negativo,
prohibida es estrecha, del orden de 1 eV, lo por exceso de electrones). Los electrones de
que posibilita el salto de la banda de valencia este nivel pueden excitarse para pasar a la
a la de conduccin. banda de conduccin, absorbiendo fotones
Un pigmento como el amarillo cadmio tie- en la banda de longitudes de onda corta, lo
ne una banda prohibida de 2,6 eV que absor- que se traduce en una tonalidad amarillenta.
be las longitudes de onda corta, reflejando Si la impureza tiene menos electrones que el
las largas y medias lo que da lugar a su color tomo al que substituye, como ocurre con el
amarillo y en otros casos naranja. Una banda boro, que tiene tres, se crea un nivel vaco,
similar, ms estrecha, es caracterstica del un hueco. Los tomos de este tipo se deno-
minan aceptores. Y el semiconductor ser de
tipo P (positivo, por defecto de electrones).
1,0
1 Los fotones excitados pueden pasar a este
nivel, absorbiendo fotones en la zona me-
0,8 dia del espectro lo que da lugar a un color
azulado caracterstico de algunos diamantes
2
especialmente valiosos.
0,6 3
Algunos materiales pueden tener tanto
Reflectancia

4
5
donantes como aceptores y pueden absor-
0,4
6 ber energa elctrica o ultravioleta y producir
1. Aluminio luz visible. Esto ocurre con el sulfuro de zinc
2. Acero inoxidable contenido en el polvo de fsforo que contie-
3. Cobre
0,2 ne cobre y otras impurezas y se utiliza como
4. Latn
5. Plomo
revestimiento de las lmparas fluorescentes
6. Zinc (y que sirve para convertir la energa ultra-
violeta generada por la descarga del mercu-
400 500 600 700 800
rio en luz fluorescente), de la parte interior
de los tubos de rayos catdicos que se utili-
Figura 1.27 Distribuciones de reflectancia de varios metales. zan en monitores de este tipo o de pinturas

54
Materiales reales

de transicin externas de llamas de velas o


10
20
gases o en regiones perifricas de vapor de
16 Cuarzo yodo, con coloraciones violetas o de vapor
10 de bromo y cloro, con coloraciones verde

Aislantes
12
Vidrio amarillentas.
10
En el caso del agua y del hielo, los enla-
Madera
10
10
ces que se forman entre los tomos de hidr-

Semiconductores
4
geno y los dos tomos de oxgeno a los que
10 est ligado, dan lugar a vibraciones comple-
Silicio

1 Germanio
jas que se manifiestan en una mayor absor-
cin de ondas largas y la correspondiente
-4
10 emisin de ondas cortas. Esta es la causa
-8 Plata (1.55 x 10-8), cobre, oro, aluminio,
Metales principal de los tonos azulados caractersti-
10 hierro, plomo, acero (72 x 10-8)
cos del agua y del hielo y no, como se sos-
tiene a menudo, el reflejo del azul del cielo,
aunque este pueda contribuir a intensificar
Figura 1.28 Resistividades de metales, semiconductores y esta tonalidad bsica.
aislantes.
El color puede ser tambin debido a de-
fectos estructurales como ocurre con los
centros de color. En algunos minerales
fluorescentes. Un fenmeno similar est en puede haber un agujero, un in ausente de
la base de la electroluminiscencia que tiene lo que sera su posicin normal, debido a
mltiples aplicaciones, entre ellas la de los causas diversas como una radiacin de alta
numerosos aparatos basados en led (Light energa, una reaccin qumica o la accin
Emitting Diodes). de un campo elctrico. Estos defectos es-
tructurales se denominan centros de color
Casos especiales o centros F (del alemn, Farbe, color). La
fluorita prpura es un ejemplo. Como la es-
En cualquier material, las molculas tienen tructura debe permanecer neutra, el hueco
cierto grado de energa debido a vibraciones es ocupado por un electrn que se mantiene
y rotaciones debidas a los enlaces qumicos. en su posicin por el campo elctrico (cam-
La frecuencia de esta vibracin se puede po cristalino) de los iones que le rodean.
incrementar en determinados casos, como Dentro de este hueco puede ocupar varios
ocurre en el caso del agua pura o del hie- estados excitados y el movimiento entre es-
lo, en donde la fuerza del enlace es superior tos estados es la causa del color y de la fluo-
que en una molcula aislada de H2O. Este rescencia ptica de este tipo de materiales,
aumento de energa puede ser suficiente entre los que, adems de la fluorita prpura,
para absorber las longitudes de onda larga tambin se puede citar el color ahumado de
(rojos y naranjas) lo que se traduce en una algunos cristales de cuarzo. Las gafas de
coloracin azul caracterstica. sol que se oscurecen tambin hacen uso
Las vibraciones y rotaciones moleculares de este efecto al captar energa ultravioleta
son en general de muy baja intensidad. Los del sol. Al igual que ocurre con la fluorita,
niveles de vibracin, denominados a veces el aumento de temperatura, en ausencia de
vibrnicos pueden ser del orden de 100 ni- rayos ultravioletas que mantengan el efecto,
veles por cada nivel electrnico. Se mani- contribuye a restaurar la condicin inicial.
fiesta en casos muy especiales, tales como Otros minerales que muestran este efecto
en las reacciones qumicas asociadas a la son la amatista, el vidrio de amatista y algu-
combustin de hidrocarburos en las regiones nas fluorescencias.

55
Simulacin visual de materiales

1.4 Variaciones del color en la re- La primera de estas leyes, referente a la


flexin y refraccin. Otras causas reflexin, ya era conocida por los griegos aun-
del color que no conocemos el nombre del primero que
la enunci (es posible que fuera descubier-
Sin abandonar el anlisis puntual de una pe- ta por ms de uno de modo independiente):
quea zona de una superficie, el color tama- cuando un rayo se refleja sobre una superficie
bin depende de otras causas, notoriamente plana ideal, tal como un espejo perfecto, el
los cambios de direccin de observacin en ngulo qi que la luz incidente forma con la nor-
vertical (variaciones del ngulo vertical de mal a la superficie es igual al ngulo reflejado
incidencia de la iluminacin) y en horizontal qr (vase la figura 1.30).
(variaciones del ngulo horizontal de inciden- La segunda, referente a la refraccin, tam-
cia de la iluminacin o del ngulo con que se bin era relativamente conocida por los grie-
observa una superficie anisotrpica). gos pero no llegaron a formularla, aunque se
Adems, hay otras causas del color que no conservan tablas de Ptolomeo y otros en los
se pueden explicar por la ptica geomtrica y que se intentaba relacionar los ngulos de
que he incluido en este apartado para diferen- incidencia con los de refraccin. En 1621, el
ciarlas con ms claridad. matemtico holands conocido como Snell
(Willebrord Snel van Royen, 1580-1626) des-
Reflexin, absorcin, refraccin cubri la ley que lleva su nombre y que es-
tipula que la relacin entre los senos de los
Cuando la luz incide en un punto de una super- ngulos de incidencia y refraccin es cons-
ficie, parte de la luz se refleja, parte se absorbe tante. Y que esta constante depende de los
y parte se transmite. Adems de estos fenme- dos medios en que se propaga la luz. Dicho
nos bsicos tambin hay otros, que veremos de otro modo, que en la figura 1.30 se cumple
ms adelante, como la dispersin y la polari- la relacin
zacin. Pero la reflexin y la refraccin tienen sen qi / sen qr = n1/ n2
una importancia principal y requieren un anlisis
ms detallado. Podemos empezar por recordar La tabla incluida en la figura 1.31 da los
las leyes clsicas de la reflexin y la refraccin. ndices de refraccin de algunos materiales
corrientes.
La teora ondulatoria propuesta por Hu-
ygens en el siglo xvii y retomada principal-
N
mente por Young y Fresnel a principios del
xix, da una explicacin ms compleja de esta
relacin, basada en la modificacin de las ve-
i r
L R locidades de las ondas del frente que incide
sobre la superficie. Mediante una elaboracin
ms detallada, que implica que cada parte del
frente que llega al plano se convierte en un
emisor secundario, se llega a resultados co-
herentes con la ley de Snell. La teora corpus-
cular clsica, por el contrario, no pudo llegar a
establecer esta relacin de un modo satisfac-
t
torio (Newton deca que los corpsculos de-
T beran tener ataques de reflexin y ataques
de refraccin, pasando peridicamente de
uno a otro, pero sin que quedase determina-
Figura 1.29 Reflexin y refraccin clsicas. do el porqu de estos ataques ni las leyes

56
Materiales reales

Argo y Malus principalmente) hasta que esta


N ltima resurgi a principios del siglo XX.
La figura 1.30 muestra un frente de ondas
B AB que cae sobre la superficie que separa
dos medios de diferente densidad. Cuando la
A
onda alcance el punto O de la superficie se
A
convierte en una fuente de ondas secunda-
B rias que se difunde tanto hacia el medio ms
denso, inferior, como hacia el superior. Si se
O P
asigna un tiempo t al tiempo que tarda el otro
B extremo del frente de ondas en llegar al pun-
to P, durante este tiempo se habr formado
A una onda secundaria de radio v1t, siendo v1
la velocidad de la luz en el primer medio y una
onda secundaria de radio v2t, siendo v2 la ve-
locidad de la luz en el segundo medio. Puede
demostrarse con facilidad, analizando las re-
Figura 1.30 Reflexin y refraccin segn los principios de Hu- laciones entre estas magnitudes y los ngulos
ygens. que forman los rayos de luz con la normal a
la superficie, que el resultado al que se llega
es el mismo que antes, es decir: sen qi /sen
Material n
qr = n1/ n2. No incluyo esta demostracin pero
Vaco 1.000 puede encontrarse en un buen libro de ptica
Aire (1,0003) ~1.000 junto con ms detalles de este anlisis (vase
Hielo 1.310 por ejemplo el de Ditchburn, 1961, apartado
Agua 1.333 3.13).
Leche 1.350 Sin embargo, no hay ningn material que
Alcohol etlico 1.360 cumpla estas leyes ideales de la reflexin y
Aceite (entre 1,46 y 1,52) 1.500 refraccin. Los apartados que siguen introdu-
Vidrio impuro 1.450 cen explicaciones ms complejas que, como
Vidrio corriente 1.500 veremos, estn en la base de los principales
Cuarzo 1.550 algoritmos de simulacin de materiales.
Esmeralda 1.570
Vidrio flint (*) 1.700 Variaciones del color con el ngulo de
Zafiro, rub 1.770 visin. Ecuaciones de Fresnel
Diamante 2.400

* (vidrio con alto contenido en plomo; segn este Como ya he avanzado, uno de los factores
contenido sea bajo o alto el ndice puede variar entre que intervienen en el clculo de los coeficien-
1,60 y 1,80) tes de reflexin y refraccin es el ngulo de
visin.
Figura 1.31 ndices de refraccin de materiales corrientes. Que la reflexin se modifica por el ngulo
es algo que ya fue observado por Galileo y
que, junto con otras reflexiones que merecen
que explicaban la refraccin). De hecho, esta ser releidas, se encuentran en Il Saggiatore.
fue una de las causas por las que la teora All, Galileo escriba:
ondulatoria se impuso a la corpuscular a partir [ ]. En cuanto a la necesidad de puli-
de 1825 (con los trabajos de Young, Fresnel, dez, afirmo que an sin ella se producir la

57
Simulacin visual de materiales

reflexin de la imagen, unida y distinta: digo Ilustrsima coge una piedra, o mejor un listn
esto porque la fragmentada y confusa se pro- de madera, no tan liso que nos devuelva di-
duce en todas las superficies, por escabrosas rectamente las imgenes, y lo expone obli-
y desiguales que se quieran; la imagen de un cuamente al ojo, como si quisiese saber si
pao coloreado se ve muy clara en el espejo est recto y llano, ver sobre l la imagen de
colocado en frente, pero muy confusa y fag- los objetos que se encuentran al otro extremo
mentada en el muro, en el que solamente se del listn, tan distinta que si se tratara de un
ve cierto ensombrecimiento. Pero si Vuestra libro podra leerlo cmodamente [...] (p. 169
de la traduccin de J.M. Revuelta de 1984,
vase las referencias).
Agustin-Jean Fresnel (1788-1827), que
era hijo de un arquitecto, estudi ingeniera
en la cole des Ponts et Chausses y aun-
1,0
que trabaj inicialmente como ingeniero, es
famoso por sus contribuciones a la ptica,
0,8 debido a las cuales fue elegido miembro de
la Acadmie des Sciences de Pars en 1823
y de la Royal Society de Londres en 1825.
0,6
Fresnel contribuy a la consolidacin de la
teora ondulatoria, propuesta inicialmente por
0,4 Huyghens en el siglo xvii, eclipsada despus
por la de Newton y revitalizada por Thomas
R
Young (con quien mantena correspondencia)
0,2 R
pocos aos antes.
R Hacia 1821, Fresnel dio a conocer un
trabajo en el que se incluan lo que, desde
30 60 90 entonces, se conoce como ecuaciones de
Fresnel o frmulas de Fresnel. Las ecuacio-
nes de Fresnel son un conjunto de ecuacio-
1,0 nes que describen de un modo completo y
detallado las ondas reflejadas y refractadas
en funcin de la onda incidente. Fresnel de-
0,8 mostr que, adems de (a) las constantes
propias de los medios que afectan al ndice
R de refraccin, los coeficientes de reflexin
0,6
y refraccin dependan de (b) la frecuencia
de la onda incidente, (c) los ngulos de in-
0,4 R
cidencia y transmisin y (d) la polarizacin
de la luz.
0,2
Las ecuaciones de Fresnel son un con-
junto de relaciones matemticas complejas
que estn fuera de lugar en un libro de estas
caractersticas. El lector interesado las pue-
30 60 90 de encontrar en un buen libro de ptica o en
internet. Por otra parte, si se prescinde de la
Figura 1.32 Coeficientes de reflexin para un material dielc- polarizacin, que es poco relevante para las
trico (arriba) y metlico (abajo). El ngulo sealado con un aplicaciones corrientes, estas frmulas se
punto es el ngulo de Brewster. simplifican. En cualquier caso, puede bastar

58
Materiales reales

con recordar que se trata de una funcin de es isotrpica si es igual para cualquier direc-
cuatro variables: cin que se considere. Y es anisotrpica si
cambia segn la direccin que se considere.
R = f (qi, qt, n1, n2)
La anisotropa solo se encuentra en el
estado slido. Ni los gases ni los lquidos
en donde (qi es el ngulo de incidencia, qt es presentan, en general, propiedades que de-
el ngulo de transmisin, n1 es el ndice de pendan de la direccin. El grado de aniso-
refraccin del primer medio y n2 el ndice de tropa de un slido depende, por otro lado,
refraccin del segundo medio. principalmente de su grupo cristalino. En los
La figura 1.32 muestra estos coeficientes cristales cbicos las propiedades deben ser
para un material dielctrico (aislante) y con- las mismas en las tres direcciones. En otros
ductor (metal). Como puede apreciarse, la casos ocurre lo contrario.
reflexin aumenta notablemente al aumen- Desde el punto de vista de las caracters-
tar el ngulo de incidencia. Y vara con los ticas visuales, esta propiedad es importante
componentes de polarizacin, segn estos pues el aspecto de muchos materiales cam-
sean paralelos o perpendiculares al campo bia con la direccin, debido a la estructura
elctrico, lo que da valores extremos a los propia del material. Esto es caracterstico
valores medios que se indican para el caso sobre todo de los tejidos, en los que el modo
del material metlico. de fabricacin, la particular estructura de la
El ngulo sealado con un punto en dicha trama y la urdimbre afecta al modo en que
figura es el ngulo de Brewster que, como reflejan la luz en una u otra direccin. Y es
puede verse, hace que la reflectancia se re- ms notorio en el caso del satn, un tipo de
duzca a 0 en el caso de un dielctrico para la tejido ms compacto y en el que la urdimbre
polarizacin paralela y a un valor mnimo en (las fibras longitudinales), de seda, predomi-
el caso de un metal. na sobre la trama (las fibras transversales)
En general, para cualquier superficie, tal que pueden ser, o no, tambin de seda. De-
como se refleja en dicha figura, la cantidad bido a esto, reflejan la luz de un modo ms
de luz que se refleja ser mayor si el ngu- continuo a lo largo de la direccin de la ur-
lo de incidencia es grande (si el rayo es ra- dimbre, predominante, lo que da al satn un
sante a la superficie), menor si es pequeo brillo direccional caracterstico. Otro tanto
(si el rayo se acerca a la perpendicular a la cabe decir del pelo o del terciopelo, cuyo bri-
superficie) y las cantidades relativas de re- llo cambia con la direccin de observacin o
flexin y refraccin variarn entre estos dos la direccin de incidencia de la luz.
extremos. Pero una superficie tambin puede ser
Adems de con el ngulo, el factor Fres- anisotrpica debido al tratamiento superficial
nel est relacionado con el ndice de refrac- que haya recibido. As, una superficie de ma-
cin. Por otro lado, est tambin relacionado dera puede aparecer diferente si est barni-
con la longitud de onda. Esto quiere decir zada con un pincel que deje diminutos sur-
que no solo variar la intensidad del reflejo cos en una direccin o bien pulida con lana
sino tambin su color, algo que puede apre- de acero formando crculos superpuestos.
ciarse con claridad en los reflejos metlicos. Y una superficie metlica tambin resultar
diferente si est tratada con un cepillado me-
Variaciones de reflexin debidas a la tlico o acabada con otros medios.
anisotropa Todo esto afecta a la reflexin pero tam-
bin a la refraccin pues en muchos materia-
La anisotropa es lo opuesto de la isotropa les el ndice de refraccin es distinto para las
(del griego iso, igual y trpos, direccin). diferentes direcciones del espacio.
Una determinada propiedad de un material

59
Simulacin visual de materiales

Dispersin refractiva gitudes de onda que pueden separarse por


medio de un prisma de vidrio o, en general,
La dispersin refractiva es un fenmeno al pasar de un medio a otro (el vidrio del
que altera los colores, debido a que el paso prisma modifica la mayor o menor desvia-
de la luz por un medio distinto del vaco re- cin de las longitudes de onda al pasar del
ordena las diferentes longitudes de onda aire al cristal y viceversa). Este fenmeno
presentes en un nico rayo de luz y hace es la causa de muchos colores de la natu-
que percibamos estas diferentes longitudes raleza, desde el arco iris o los halos que
de onda como colores distintos. Como es vemos en torno al Sol o la Luna hasta los
bien sabido, a partir de los experimentos lle- bordes coloreados que se aprecian en jo-
vados a cabo por Newton en 1666, la luz es yas, vidrios o sistemas pticos debido a la
una mezcla hetergenea de diferentes lon- aberracin cromtica.
Para que se d este fenmeno es necesa-
rio que la luz pase por un medio transparen-
S L
te con un ndice de refraccin mayor que el
aire, y que el ngulo de las caras de entrada
y salida del objeto formen un cierto ngulo.
Como esto ltimo suele ser poco habitual,
el fenmeno se puede ver en pocos casos.
Puede observarse en las gemas, las piedras
preciosas talladas, pues el ngulo de las fa-
cetas hace que los rayos de luz se refracten
como en un prisma. El fenmeno es similar
al del arco iris en donde las gotas de lluvia
se dispersan tal como se indica en la figu-
ra 1.34. Es un fenmeno bastante complejo
pero lo fundamental es que los rayos de Sol
se dispersan al pasar por gotas de agua que
Figura 1.33 Dispersin refractiva. Gemas. flotan en la atmsfera. La desviacin de las
ondas cortas (violetas) es de unos 41 y las
Sol de las ondas largas (rojas) de unos 43. La
luz se refleja de vuelta hacia el Sol. Pero si
43
41 estamos situados frente al Sol, y el Sol est
por debajo de los 42, lo que veremos es la
dispersin de estos rayos que pasan por to-
das las longitudes de onda principales a las
S que el ojo es sensible (bsicamente 6: rojo,
L naranja, amarillo, verde, azul y violeta, no 7
como quera Newton y se sigue explicando en
algunos libros de bachillerato, si bien es cier-
Sol to que hay un degradado continuo que puede
lluvia
42 subdividirse de mltiples maneras).

Polarizacin
punto
antisolar
La polarizacin de la luz se observ, antes
de que pudiera explicarse en los trminos
Figura 1.34 Dispersin refractiva. Arco iris. actuales, a partir de materiales que exhiben

60
Materiales reales

doble refraccin, como el espato de Islandia. Cuando la luz incide sobre una superficie
La cristales que pertenecen al sistema cbico no absorbente con cierto ngulo, la compo-
son pticamente isotrpicos, tienen un nico nente del plano transversal paralela al plano
ndice de refraccin. Pero hay cristales p- de incidencia no se refleja. Este ngulo, que
ticamente anisotrpicos que tienen ms de ya se ha citado antes, conocido como ngu-
un ndice de refraccin. En estos casos, los lo de Brewster por el fsico britnico David
fenmenos de refraccin son muy complejos Brewster (1781-1868), que hizo contribucio-
y varan con la direccin de la luz y la orienta- nes notables al estudio de la polarizacin, se
cin del cristal. alcanza cuando el rayo reflejado es perpendi-
Si un rayo de luz atraviesa en una determi- cular al refractado.
nada direccin un cristal de espato de Islan-
cia (una variante del mineral calcita) emergen Dispersin (scattering)
dos rayos de luz diferentes. Al primero se le
denomina rayo ordinario y sigue las leyes Otro fenmeno no menos importante es la
corrientes de la refraccin; al segundo, rayo dispersin (scattering) que es particularmente
extraordinario y tiene un ndice de refrac- notorio en el caso de medios dispersivos tales
cin variable. Si se mueve el cristal, uno de como el cielo azul del amanecer, el cielo roji-
los dos rayos permanece fijo mientras el otro zo del atardecer, el color de las nubes, el del
rota en torno al anterior. La explicacin de aire polucionado, la niebla, el humo o gases
este fenmeno, en trminos actuales, es que de diversos tipos.
la luz se polariza y solo es visible una deter- Las primeras explicaciones correctas del
minada direccin de vibracin en cada caso. fenmeno se deben al ingls John Tyndall
Hay otros fenmenos naturales en los que se (1820-1893), que demostr en su laboratorio
puede apreciar este mismo fenmeno pero, que se deba a la presencia de partculas de
en general, se requieren instrumentos pticos un tamao comparable al de la longitud de
especiales para observar la polarizacin de la onda visible y que las longitudes de onda cor-
luz. Algunos objetos corrientes, como el papel ta (azules) se dispersaban mucho ms que las
de celofn, tambin exhiben este mismo fe- largas (rojas). Posteriormente, Lord Rayleigh
nmeno. En general, los objetos brillantes y (1842-1919) demostr que el fenmeno se da
transparentes pueden exhibir este fenmeno en todo tipo de materiales, en pequea medi-
en determinados casos. da, debido a las fluctuaciones en el ndice de
A partir de los trabajos de Maxwell sabe- refraccin. Rayleigh demostr tambin que la
mos que la luz est formada por ondas elec- intensidad de la luz dispersada, Is, se relacio-
tromagnticas que vibran en dos direcciones: na con la intensidad de la luz incidente Ii por
en la direccin de transmisin de la luz y en la siguiente relacin
una plano perpendicular a esta direccin. Las
Is / Ii = k / l4
ondas que vibran perpendicularmente a la
direccin de propagacin lo hacen en todas donde k es una constante y l es la longitud
direcciones. La polarizacin hace que las di- de onda.
recciones de vibracin queden restringidas Cuando las partculas son del orden de
de diferentes modos (que corresponden a di- los 300 nm, algo ms pequeas que la lon-
ferentes tipos de polarizacin: lineal, circular gitud de onda correspondiente a los violetas,
o elptico). Esto puede producirse por varias la dispersin azulada es notoria. En el caso
causas. Algunos materiales, como ciertos del cielo, la dispersin es ms intensa al ama-
cristales minerales o los cristales lquidos, necer y al atardecer debido a que los rayos
absorben selectivamente alguna de las com- del Sol, que inciden oblicuamente sobre la at-
ponentes transversales, lo que se denomina msfera, tienen que atravesar una porcin de
dicrosmo. atmsfera mucho ms larga. Tambin el tono

61
Simulacin visual de materiales

es ms rojizo, pues durante el da los rayos Interferencia. Iridiscencia. Difraccin


dispersados, vistos contra el fondo oscuro del
espacio exterior, aparecen de color azul por Las ondas, en general, pueden anularse o re-
estar compuestos principalmente de ondas forzarse, como podemos ver en un estanque
cortas. Al amanecer o al atardecer este efec- si tiramos una piedra y luego otra. Otro tanto
to queda atenuado y vemos principalmente ocurre con las ondas lumnicas que pueden
ondas largas. El efecto es an ms intenso anularse si estn desfasadas o reforzarse si
al atardecer debido a que durante el da se estn en fase. Si la luz cae sobre una pelcu-
acumulan partculas de polvo y de todo tipo la transparente delgada, sea una lmina de
en la atmsfera. plstico o un charco de aceite o de agua, la
Los tonos azulados debidos a la dispersin luz se refleja desde su capa superior y desde
se dan con frecuencia en los animales. De he- su capa inferior. Segn el espesor de la capa
cho, prcticamente todos los tonos azulados, se producir uno u otro efecto. Y si la capa
exceptuando la iridiscencia que se explica tiene un espesor variable, aparecern bandas
ms adelante, son debidos a este fenmeno de diferentes colores, franjas de interferencia,
que es particularmente notorio en las plumas un fenmeno ya observado por Newton. En
de algunos pjaros y que es causado por la las zonas de menor espesor aparecern fran-
dispersin provocada por una fibras transver- jas oscuras de color neutro al cancelarse las
sales que refuerzan las alas. Tambin los ojos longitudes de onda. Al ir aumentando el espe-
de los recin nacidos se ven de color azul por sor aparecern franjas de color blanco, luego
las mismas causas, debido a que an no se amarillo, naranja, rojo, violeta, azul, verde, de
han formado la melanina, un pigmento par- nuevo amarillo, naranja, etc.
duzco, y el fondo oscuro del ojo se ve a travs La figura 1.35 muestra lo que ocurre cuan-
del iris. do la luz incide con un cierto ngulo sobre
Tambin est presente el mismo fenmeno una lmina delgada de espesor t. Parte de
en las coloraciones azuladas de la piel blanca la luz se refleja en la primera superficie (A)
de los europeos, que se refuerza a veces por y parte se refracta para volver a reflejarse en
el color oscuro de los pelos afeitados. Por la la segunda superficie (B). La luz atraviesa
misma razn las venas se ven azuladas pues de nuevo el espesor de la lmina para volver
proporcionan un fondo oscuro para la disper- a salir refractndose (C). Este rayo saliente
sin superficial. en C interfiere con el rayo saliente en A. Los
Si el humo tiene pequeas partculas h- patrones de interferencia dependern del n-
medas (como ocurre cuando se fuma y se gulo de incidencia, del espesor y de los ndi-
traga el humo antes de volver a expulsarlo)
aparece, por la misma razn, ms azulado.
Sin embargo, si el tamao de las partculas
se hace mayor que la longitud de onda y las
partculas son de tamao similar, se produce
otra forma de dispersin conocida como dis-
persin de Mie, por el fsico alemn Gustav
Mie (1869-1957) que propuso la teora que n1
lleva su nombre en 1908. La dispersin se A C
hace ms intensa y se produce principalmen- t n2
te en la direccin de propagacin. El color
B n3
tambin cambia y puede ser de muy diversos
tipos, generalmente en bandas de tonos roji-
zos y verdosos.
Figura 1.35 Patrones de interferencia en una lmina delgada.

62
Materiales reales

ces de refraccin del medio implicado. Para cuentran un obstculo. Si se coloca un objeto
no complicar la explicacin, cuando el ngu- entre una fuente de luz y un plano, por ejem-
lo es cercano a la perpendicular tendremos plo un muro blanco, el objeto arrojar sombra
que la distancia adicional que recorre la luz sobre el plano. Pero si se observa la sombra
(ABC) ser aproximadamente igual al doble de cerca se apreciarn fanjas oscuras y fran-
del espesor t, es decir 2t. La longitud de onda jas claras alternadas. Esto quiere decir que,
de la pelcula variar en proporcin inversa de algn modo, los rayos de luz se han curva-
al ndice de refraccin, es decir, l = l/n. En do para penetrar en las zonas de sombra don-
estas condiciones, habr unos mximos en de, segn las leyes de la ptica geomtrica,
el patrn de interferencia que vendrn dados nunca podran llegar.
por la igualdad 2t = m l y unos mnimos que Otro tanto ocurrira, pero al revs, si hace-
vendrn dados por 2t = (m + 1/2) l con m = mos pasar la luz por una rendija hasta que
0, 1, 2, 3, etc. ilumine un plano paralelo a la rendija. Teri-
Este fenmeno se puede ver en grietas camente, la zona central proyectada sobre el
de cristales, en burbujas de jabn, en aceite plano, correspondiente a la rendija, aparece-
mezclado con agua, en las alas semitrans- ra iluminada y ms all de los bordes se vera
parentes de algunas moscas o en minerales una sombra. Pero en los bordes aparecern
transparentes. Tambin puede crearse, en la de nuevo franjas claras y oscuras.
actualidad, por medios artificiales, utilizando El fenmeno se explica porque la luz, al
filtros de interferencia que consisten en lmi- interaccionar con objetos de dimensiones
nas pulidas con una precisin inferior a la de comparables a su longitud de onda, deja de
las ondas de luz y que se utilizan para aplica- propagarse de modo rectlineo. El frente de
ciones especiales, tales como la observacin ondas se modifica y cada punto se convier-
astronmica o microscpica. Tambin se uti- te en emisor de nuevas ondas que interfieren
lizan en aplicaciones muy especficas, como entre s. El resultado es que algunas se po-
la fabricacin de tintas especiales empleadas tencian (refuerzo constructivo) y dan lugar a
en el papel moneda y que hacen que el color franjas ms luminosas y otras se anulan (can-
se modifique con el ngulo de observacin. celacin destructiva), dando lugar a franjas
Pero tambin est en la base de los fen- ms oscuras.
menos de iridiscencia. La iridiscencia es un La difraccin fue descrita por primera vez
fenmeno ptico por el que algunas superfi- por Grimaldi (1618-1663) y lleg a ser una de
cies cambian de color segn el ngulo des- las pruebas decisivas para sostener la teora
de el que se las observa. Esto ocurre, por ondulatoria de la luz. La difraccin de Fresnel
ejemplo, con las manchas de aceite, las bur- (descrita por Fresnel hacia 1818), tambin de-
bujas de jabn y las alas de mariposas y de nominada difraccin de campo cercano para
algunos insectos. Tambin puede apreciarse, diferenciarla de la de Fraunhofer, de campo
en menor medida, en las uas, el pelo y los lejano, se produce cerca del objeto causante
ojos de los animales. El fenmeno bsico es de la refraccin. La difraccin de Fraunhofer
el mismo: la luz de refleja en mltiples capas (descrita por Fraunhofer hacia 1814) es simi-
superficiales semitransparentes y los subse- lar pero la incidencia de los rayos es aproxi-
cuentes cambios de fase y las interferencias madamente paralela, con lo que se forman
que se crean en estas reflexiones modulan de ondas planas.
diferente modo la luz incidente, variando se- Una red de difraccin consiste en una se-
gn las longitudes de onda y los ngulos de rie de aberturas (u obstculos) que dispersan
observacin. la luz produciendo fenmenos de difraccin
La difraccin es una variante de la interfe- complejos que dan lugar a franjas luminosas
rencia que se produce cuando las ondas en- variables. Este tipo de redes se observan en

63
Simulacin visual de materiales

la naturaleza, en las alas de algunos escara- turas rugosas, una distincin que tendr rele-
bajos o las pieles de algunas serpientes, o en vancia inmediata desde el punto de vista de
algunas piedras preciosas como el palo. Fo- las tcnicas de simulacin.
tografas con microscopio electrnico del pa- Una textura es plana cuando no hay va-
lo revelan que su apariencia es debida a una riaciones apreciables en su microestructu-
red de difraccin tridimensional formada por ra geomtrica. Una manera ms precisa de
esferas de unos 250 nm de dimetro. Tam- decir lo mismo es que las variaciones en la
bin pueden crearse artificialmente redes de
difraccin haciendo hendiduras regulares en
una superficie plana, que puede ser un espe-
jo, para formar redes de reflexin, o un vidrio,
para formar redes de transmisin.

1.5 Variaciones locales

Texturas

La palabra textura viene del mundo textil y


designaba originalmente las diferentes mane-
ras de disposicin de los hilos de un tejido.
Pero el trmino se utiliza de modo ms ge-
neral para designar las variaciones de color
de una superficie por analoga con los tejidos.
Estas variaciones pueden ser debidas a
dos causas principales. Si la superficie es lisa Figura 1.36 Textura plana. A lo largo de la lnea blanca (abajo)
pero su color local cambia, por variaciones en se producen diferencias de absorcin (arriba) que forman pa-
trones caractersticos.
la estructura o en la composicin del material,
que se traducen en diferencias de absorcin
como ocurre con la madera o con el mrmol.
En estos casos, la superfice tiene una textu-
ra caracterstica aunque no haya variacin
geomtrica. Si la superficie es cromticamen-
te uniforme pero su geometra local vara, por-
que tiene hendiduras o salientes de diferente
tipo, como ocurre con superficies pintadas de
un modo tosco, con la piel de naranja o con
piedras de color muy uniforme pero a las que
se ha aplicado un acabado abujardado, la su-
perficie tiene una textura caractersticamente
rugosa aunque no haya variaciones cromti-
cas notables.

Patrones causados por diferencias de


color o por diferencias de microrelieve
Figura 1.37 Textura rugosa. A lo largo de la lnea blanca (aba-
En una primera aproximacin podemos dis- jo) se producen diferencias de orientacin geomtrica que dan
tinguir, por tanto, entre texturas planas y tex- lugar a variaciones en la iluminacin local.

64
Materiales reales

orientacin del vector normal a la superficie vector correspondiente al rayo reflejado sufir
estaran por debajo de un cierto umbral que alteraciones. Y las consecuencias sern que
no es necesario precisar. O bien, lo que es lo la superficie mostrar diferencias de intensi-
mismo, pues la reflexin especular se compu- dad correspondientes a cumbres y valles.
ta con respecto a la normal, que las variacio- Y por aadidura, si la luz es suficientemente
nes en el ngulo de reflexin tambin estn rasante o la superficie suficientemente rugosa
por debajo de un determinado umbral. o ambas cosas, aparecern sombras propias
Como consecuencia de esto la textura no y arrojadas que modificarn el color percibido
presenta variaciones en el reflejo y tampoco que ser ms oscuro en determinadas zonas
presenta microsombras que modificaran la y aparecern tambin micropatrones debidos
percepcin del color base aunque la luz inci- a las sombras.
dente sea muy rasante. Qu diferencia hay entre una textura ru-
Qu diferencia hay entre una textura gosa y una superficie con relieves? Para
plana y una superficie cubierta de patrones, una descripcin como la que seguimos, nin-
como podra ser una superficie pintada? Para guna. La diferencia principal es tambin de
una descripcin como la que estamos siguien- origen: en un caso los relieves se habrn pro-
do, ninguna. La nica diferencia es que, en la ducido de modo natural y en otros casos de
mayora de los casos, las texturas planas se un modo artificial. Sin embargo, aqu hay una
habrn generado mediante tratamientos, por ambigedad ms evidente en la que tampoco
lo general artificiales (cortes, operaciones de necesitamos entretenernos: cuando los re-
pulimentado) de materiales naturales, mien- lieves son muy prominentes ya no hablamos
tras que los patrones se habrn generado de textura sino de una superficie con relie-
mediante tratamientos artificiales adicionales ves, al igual que cuando vemos una super-
superpuestos a los anteriores. ficie esculpida tampoco hablamos de textura.
Esta distincin es importante pues, como Pero desde un punto de vista que se limite
veremos ms adelante, la simulacin de tex- a describir diferencias de color y diferencias
turas no se utiliza solamente para simular geomtricas no hay diferencia.
materiales sino tambin para incorporar im- Tambin esta distincin es importante
genes a superficies y para generar lo que en pues est estrechamente relacionada no solo
el argot profesional se denomina geometra con la modelizacin por medio de geometra
falsa, patrones que parecen corresponder falsa, como en el caso anterior, sino con pro-
a diferencias de materiales o de elementos blemas tcnicos de multirresolucin que vere-
constructivos pero que no son sino patrones mos ms adelante.
adecuadamente dispuestos sobre una super-
ficie plana. Patrones generales. La percepcin de
Una textura es rugosa cuando hay varia- texturas
ciones apreciables en su microestructura
geomtrica. Una manera ms precisa de de- La percepcin de texturas se considera que
cir lo mismo es que las variaciones del vec- est relacionada directamente con la per-
tor normal a la superficie son superiores a cepcin tctil, y en ella intervienen tanto el
un cierto umbral que tampoco es necesario sistema visual como lo que se denomina sis-
precisar. Como veremos ms adelante, una tema somatosensorial, un sistema complejo
manera muy sencilla de simular una textura de percepcin en el que intervienen diversas
rugosa es, precisamente, alterar artificialmen- modalidades de estmulos y receptores. Por
te la normal, aunque la geometra de la super- otro lado, en las investigaciones somatosen-
ficie base siga siendo plana. soriales, el espacio tctil se considera a ve-
Como en el prrafo anterior, hay que aa- ces dividido en tres polaridades: duro-blando
dir que esto implica que la orientacin del (hard-soft), tosco-suave, (rough-smooth), ad-

65
Simulacin visual de materiales

herente-deslizante (sticky-slippery). Y estas


claves no son exclusivamente espaciales sino
temporales: distinguimos estas cualidades al
desplazar los dedos sobre una superficie.
Todo esto proporciona un marco de referen-
cia complejo en el que claves exclusivamente
visuales se asocian con claves de reconoci-
miento tctil. Esta distincin est claramente
relacionada con la distincin previa que he
establecido entre texturas planas y rugosas.
Pero, al mismo tiempo, revela la insuficiencia
de esta distincin. Por un lado, los patrones
debidos a diferencias de absorcin, como los
de un mrmol pulido, no seran perceptibles
por el tacto. Y, por otro lado, los patrones de-
bidos a diferencias de geometra local pueden
ser confundidos con patrones debidos a dife- Figura 1.38 Distribuciones de puntos que dan la impresin de
rencias de absorcin. una superficie en perspectiva y de una superficie frontal. Adap-
Resulta, por tanto, evidente que los patro- tado de Gibson (1950).
nes visuales por si mismos aportan claves
que parecen independientes. El que esta Desde el punto de vista general de la in-
independencia sea el resultado de un largo vestigacin sobre la percepcin visual de
proceso de evolucin o de aprendizaje o de texturas, hay varios investigadores que han
ambas cosas, y que la conexin entre el tacto aportado anlisis notables. Mencionar sola-
y la vista siga estando en el origen de nuestra mente tres: Gibson, Marr y Julesz. La investi-
capacidad de reconocimiento de texturas es gacin actual est relacionada principalmente
una cuestin abierta. con los trabajos de los dos ltimos pero se

Figura 1.39 Cambios de gradiente que a) se perciben como una superficie en perspectiva, b) se perciben como una esquina, c) se
perciben como un borde en una superficie continua. Adaptado de Gibson (1950).

66
Materiales reales

tienen paralelas a la vista o se pierden en la


distancia. En general, Gibson destac que el
reconocimiento de texturas incluye varios as-
pectos funcionales: a) nos permite identificar
superficies conocidas, b) nos permite identifi-
car bordes de transicin en superficies, c) nos
proporciona claves de profundidad por medio
de gradientes de textura. La figura 1.39, igual-
mente adaptada de otras similares de Gibosn,
ilustra estos aspectos.
David Marr (Marr, 1982), en su gran obra
Figura 1.40 Ondulaciones regulares que se perciben como pstuma tambin destac la importancia de
una superficie tridimensional con orientaciones definidas. las claves de reconocimiento de las superfi-
cies, entre las que figuran en un lugar des-
debe al primero el mrito de haber sealado tacado los diferentes tipos de texturas. En
por primera vez la importancia de las claves concreto, determinadas caractersticas de
derivadas de la percepcin de texturas en texturas se perciben corrientemente como
nuestra percepcin visual. claves visuales que nos permiten reconocer
James Gibson (Gibson, 1950) destac el la propia orientacin de la superficie. Una
papel que juegan los gradientes de texturas imagen como la de la figura 1.40, que repre-
en nuestra percepcin del mundo visual a senta una serie de ondulaciones bidimensio-
partir, entre otras cosas, de datos aportados nales, se percibe corrientemente como una
por los aviadores, para los que las texturas te- superficie tridimensional, con ondulaciones
rrestres proporcionaban claves vitales duran- superficiales. Es decir, nuestro sistema visual
te el aterrizaje pero que, como se apreci ms interpreta estas lneas como seales que ac-
tarde, eran datos universales sobre los que tan como generadores de contorno (Marr,
no se habia reflexionado hasta la fecha. La p. 221 de la versin espaola de 1985). El
figura 1.38, adaptada de otras similares de la anlisis de cmo se lleva a cabo exactamente
obra de Gibson, muestran de un modo sint- esta interpretacin en nuestro sistema visual
tico, cmo los gradientes de textura tienden a lleva a Marr a una discusin importante de las
ser percibidos como superficies que se man- hiptesis de Gibson y de los trabajos de otro

Figura 1.41 Estereograma de puntos aleatorios. Si se desenfoca la vista hasta que los dos cuadrados se fundan en uno se percibir
(aunque puede ser dificultoso) un pequeo cuadrado flotando sobre el mayor. Pese a que no hay ningn rasgo reconocible, el
sistema visual humano busca similitudes que den claves sobre el reconocimiento de formas.

67
Simulacin visual de materiales

investigador notable, K. Stevens, que no cabe modulada por densidades de primer orden de
en este apretado resumen. En cualquier caso, tales textons. Esta observacin est relacio-
es intuitivamente evidente que los contornos nado con el uso de procedimentos sistemti-
internos de las texturas, en determinadas cir- cos de reconocimiento de patrones, una lnea
cunstancias, son interpretados como claves de investigacin que ha adquirido creciente
tridimensionales de valor funcional evidente. importancia en los ltimos aos.
Y, en fin, Bla Julesz (1928-2003) es cono- A diferencia de lo que ocurre con la identi-
cido principalmente por ser el creador de los ficacin de formas, en el caso de texturas, la
estereogramas de puntos en 1959, utilizando modificacin (traslacin, rotacin, etc.) de par-
patrones aleatorios de puntos sobre pares de tes de la textura no altera de modo determinan-
imgenes con desplazamientos tales que, al te nuestra percepcin de la textura como tal.
visualizarse en una nica imagen, genera- Esta es la razn por la que se considera que
ban la ilusin de profundidad (posteriormente las propiedades estadsticas (la distribucin de
este mtodo evolucion para dar lugar a los las propiedades agregadas) son determinan-
autoestereogramas que utilizaban una nica tes en el caso de la percepcin de texturas).
imagen y se pusieron muy de moda hacia el Una de las caractersticas que mejor se
2000). Pero fue tambin el primero en investi- pueden precisar es la distribucin espacial de
gar de un modo sistemtico cmo percibimos los valores (niveles de gris) de las texturas. El
y discriminamos los patrones texturales. uso de estadsticas e histogramas ha sido por
Un estereograma como el que se muestra tanto uno de los primeros mtodos utilizados
en la figura 1.41 se puede construir con facili- de modo sistemtico en su anlisis.
dad. Hay que llenar una imagen (por ejemplo Los anlisis estadsticos revelan si predo-
un cuadrado) con puntos aleatorios. Luego minan determinadas orientaciones, o determi-
hacer dos copias y desplazar un pequeo nadas agrupaciones o determinados rasgos
cuadrado central hacia la izquierda en la ima- de uno u otro tipo. Estos anlisis se llevan a
gen de la izquierda y hacia la derecha en la de cabo, por lo general, eliminando datos redun-
la derecha. Los huecos que as quedan se re- dantes. Es una alternativa a otros mtodos ta-
llenan con otros puntos aleatorios. Este des- les como DWT (Discrete Wavelet Transform)
plazamiento es equivalente al que percibira- que descompone las seales en sus compo-
mos con objetos tridimensionales. Los puntos nentes armnicos bsicos mediante una dis-
adicionales corresponden a puntos que un ojo cretizacin previa. Con el mtodo estadstico
vera pero el otro no. El resultado, que no aca- se computa, en principio, el modo en que los
ba de contar con una explicacin precisa pero diferentes valores (niveles de gris) se distribu-
probablemente se basa en la identificacin de yen en los pxeles de una determinada regin.
similitudes, es que determinadas zonas de la Un histograma de primer orden P(I) se define
imagen se perciben como situadas sobre un como P(i) = Ni / N, siendo N el nmero de
fondo distinto. pxeles de la regin y Ni el nmero de pxeles
Joulesz propuso en 1981 el concepto de con un nivel de gris i. De aqu se deducen va-
texton como la unidad putativa de percep- lores tales como las medianas u otros datos
cin humana pre-atenta de las texturas (the derivados, de inters. Sin embargo, las esta-
putative units of pre-attentive human texture dsticas de primer orden no dan informacin
perception), un concepto que se ha utiliza- sobre la posicin relativa de los diferentes gri-
do posteriormente en la investigacin sobre ses en la imagen. Un anlisis ms complejo
la percepcin de patrones por mquinas. Y busca informacin sobre el nmero de pxe-
sugiri que esto se relaciona con rasgos for- les con dos valores determinados que estn
males tales como aristas, finales de lnea o separados por una determinada distancia en
abultamientos puntuales (blobs). Considera- una determinada direccin. Esto es lo que se
ba que la discriminacin de texturas poda ser denominan estadsticas de segundo orden.

68
Materiales reales

entiende por textura, discurren en paralelo a


las dificultades para establecer un sistema de
clasificacin universal. No hay ninguna defi-
nicin precisa, en trminos de percepcin vi-
sual, que haya sido aceptada corrientemente.
Se utilizan descriptores generales tales como
fina o tosca (fine or coarse), suave o irregu-
Figura 1.42 Pares de elementos con estadsticas iguales de lar (smooth or irregular) u homognea o no
segundo orden. La mitad inferior de las dos figuras est com- homognea. Los siguientes trminos se han
puesta por elementos diferentes de la superior. En la figura utilizado con mayor o menor frecuencia para
de la izquierda es necesario una inspeccin ms atenta que
en la de la derecha para diferenciar las dos regiones. De M.
describir texturas: uniformidad, densidad, as-
Tuceryan y A.K. Jain, 1998. pereza, rugosidad, regularidad, linearidad, di-
reccionalidad, frecuencia, fase... Pero el caso
es que no hay una clasificacin universal de
La identificacin de agrupaciones depende texturas. Las clasificaciones que se han utili-
de las caractersticas de los elementos predo- zado en diferentes investigaciones han sido
minantes. Marr consideraba que los tipos de clasificaciones ad hoc, adaptadas al tipo de
terminacin son una clave principal para seg- aplicacin prevista.
mentar uno u otro grupo. Los textons seran La mayora de las clasificaciones usan
eventos visuales tales como colinearidad, categoras tales como estructura espacial,
tipo de terminacin, tipo de cierre, etc. cuya contraste, tosquedad (roughness), orien-
presencia se detecta espontneamente y se tacin, etc. Pero el hecho es que, en la
utiliza para la discriminacin de texturas. La prctica, clasificamos las texturas a partir
figura 1.42 muestra un ejemplo caracterstico de su asignacin inmedianta a una propie-
en el que la identificacin de agrupaciones dad material. Decimos que se trata de una
depende de las caractersticas de los elemen- textura de madera, piedra, tela de un cierto
tos de la textura. tipo, etc. La cuestin est precisamente en
ver cmo es posible relacionar estos modos
Variaciones, clasificaciones particulares y espontneos de clasificacin
con modos ms universales, algo que no re-
Tipos de variaciones. Clasificaciones sulta nada sencillo. La deteccin de similari-
dades de textura es una de las claves de la
La investigacin actual sobre la percepcin organizacin perceptual y es, sin duda, esta
de texturas se puede considerar dividida en deteccin de similaridades la que hace que
cuatro grandes grupos: a) clasificacin (asig- asignemos una determinada textura a uno u
nacin a un grupo previamente establecido de otro material.
clases de textura), b) segmentacin (divisin La segregacin de patrones es un aspecto
en regiones con propiedades homogneas) o que se ha investigado extensamente en los l-
segmentacin supervisada (divisin en regio- timos aos en relacin con la visin por medio
nes con propiedades referidas a propiedades de mquinas. Gran parte de esta investiga-
preestablecidas), c) sntesis (generacin de cin se ha llevado a cabo mediante patrones
texturas por medio de modelos), d) forma a estandarizados, por ejemplo patrones que
partir de textura (anlisis de la relacin entre contienen las letras L, T, X o patrones simi-
imgenes 2D e interpretaciones 3D). lares a los de los ejemplos que he mostrado
Por lo que respecta a la clasificacin que anteriormente. Pero se ha investigado menos
tiene un mayor inters para nosotros, lo poco en el anlisis de texturas reales, naturales. Se
que hay que decir es que las dificultades para ha llegado a poco ms que el establecimiento
definir con suficiente rigor cientfico qu se de grupos basados en rasgos muy generales

69
Simulacin visual de materiales

Figura 1.43 Ejemplos de texturas con periodicidad fuerte y dbil (primera y segunda filas), estructuracin fuerte y dbil (tercera y
cuarta) y no estructuracin (quinta).

70
Materiales reales

tales como la periodicidad, la estructuracin o radical. Las partculas de carbono que emiten
la falta de estructuracin. los coches se depositan en las superficies y
Los ejemplos que se muestran en la figu- forman tambin una ptina pero que tiene poco
ra 1.43 estn ordenados con arreglo a estos que ver con la de los materiales metlicos.
criterios bsicos. Atendiendo a si los patrones Desde el punto de vista de la apreciacin
presentan periodicidad ms o menos ma- visual no hay diferencias entre el tipo de
nifiesta, a si estn estructuradas a partir de texturas generadas por caractersticas pro-
elementos facilmente reconocibles, o bien si pias de los materiales y las generadas por el
esta estructuracin es muy dbil o indetec- desgaste, del tipo que sea. Si las incluyo en
table. Otras agrupaciones consideran en un un apartado diferente es para subrayar que
grupo aparte aquellas texturas cuyo aspecto el proceso por el que surgen es diferente y
provoca sensaciones de relieve asimtricas, que esto, como veremos, puede estar ligado
que cambian segn la direccin de la luz, ta- tambin a mtodos diferentes de generacin
les como las que he mostrado antes. sinttica.

Variaciones debidas a la distancia y a


1.6 Variaciones debidas a otros medios interpuestos
factores
Los materiales reales se caracterizan por ex-
Variaciones debidas al deterioro hibir una diversidad de apariencias que se
modifica con la distancia y que revela una
Hay mltiples causas que alteran la superficie estructura extraordinariamente compleja pero
de los materiales. En los ambientes rurales las coherente con las diferentes escalas de ob-
superficies se deterioran por la fuerza del viento servacin.
o la del agua. Tanto el uno como la otra van des- Si nos acercamos a un material real lo
gastando de modo irregularmente uniforme la que vemos cambia con la distancia. Una hoja
superficie de muros o pavimentos hasta conver- de rbol, un ladrillo en un muro, un trozo de
tir una textura cuidadosamente pulimentada en csped o la palma de la mano, pasan de ser
una textura rugosa, con cavidades profundas. una mancha de color a una distancia de 20
En general, esto no implica alteraciones metros, luego a ser un conjunto armonioso
del color aunque el agua puede incorporar de colores, luego a ser una serie de regiones
elementos que reaccionen qumicamente independientes, con bordes internos que con-
con la piedra y el viento puede llevar insec- figuran otras manchas de colores que antici-
tos o partculas que se fijen a la superficie pan otros conjuntos armoniosos de colores y
y alteren su color. Estos elementos pueden otra serie de regiones independientes.
tener ms importancia de lo que parece y No podemos proseguir porque nuestra ca-
quizs contribuyen a que las construcciones pacidad de enfoque es limitada (ms an con
rurales mantengan una notoria armona cro- la edad). Pero uno de los mejores modos de
mtica con su entorno, si bien la razn de apreciar la complejidad de los materiales
ser principal de esta armona es, obviamen- reales es revisar la magnfica obra Powers
te, que los materiales de construccin perte- of ten.
necen al mismo entorno. En 1977, la oficina del arquitecto Ray Ea-
Los elementos metlicos tambin se oxi- mes realiz una pelcula de 9,5 minutos de
dan o sufren diversas reacciones qumicas y direccin (para IBM) que mostraba el tama-
forman una ptina especial que se superpone o relativo de los objetos del universo al ir
a la superficie y altera su color. aadiendo (o quitando) un cero a la escala
En los ambientes urbanos las superficies se de observacin. La pelcula se plasm en un
deterioran de un modo menos armnico y ms libro del mismo ttulo, preparado por Philip y

71
Simulacin visual de materiales

Figura 1.44 Ejemplos de texturas creadas por el desgaste o el deterioro de diversos tipos.

Phylis Morrison, que ya haban colaborado en American Books. Hay traduccin espaola,
la pelcula, y se public en 1982 por Scientific vase las referencias bibliogrficas.

Figura 1.45 Variaciones debidas a la distancia.

72
Materiales virtuales

2.1 Caractersticas generales de ciones del tipo de proyeccin asignado al obje-


los materiales virtuales to, vendrn a substituir al color local.
Los materiales virtuales tienen muy poco
Una escena virtual es algo que cabe en un ar- que ver con los reales. Los materiales reales
chivo de unos pocos Kb. Si se abre este archivo tienen un comportamiento extraordinaria-
con un programa adecuado, lo que se encon- mente complejo pero este comportamiento
trar es una largusima enumeracin de valo- es unitario: su interaccin con la luz sigue las
res numricos agrupados en categoras. Estas mismas leyes fsicas en cualquier caso, aun-
categoras comprenden todos los objetos que que la descripcin de esta interaccin, como
constituyen una escena: cmaras virtuales, hemos visto en el captulo anterior, pueda ser
luces virtuales, objetos virtuales. Y materiales relativamente simple en algunos casos y muy
virtuales relacionados con los objetos virtuales. complicada en otros. Los materiales virtua-
Los materiales virtuales, a su vez, estn defi- les simulan el comportamiento de los reales
nidos por largas enumeraciones de valores nu- mediante abstracciones concatenadas que
mricos tambin agrupados en categoras. Hay se van acumulando a medida que los inves-
dos tipos principales de categoras que descri- tigadores que trabajan en este campo van
ben un material virtual: los parmetros bsicos descubriendo tcnicas, trucos ingeniosos en
y las referencias a mapas que modifican estos muchos casos, que permiten simular el com-
parmetros. Los parmetros bsicos son series portamiento de los materiales reales.
de bytes que indican al programa qu propieda- La primera y principal tcnica es la simula-
des se han asignado inicialmente al objeto. cin del color por medio de valores simples.
En el caso ms simple, todo lo que hay es Una tcnica que, como veremos a continua-
una propiedad principal: el color asignado al cin, tiene limitaciones importantes que es
material. Y el color se define por medio de tres preciso conocer muy bien.
valores (la intensidad de cada color primario
rojo, verde y azul). Y estos tres valores se en-
van a la cmara que, a su vez, los enva a la 2.2 Generacin de colores virtuales
pantalla del monitor.
Pero esta informacin elemental puede ser
corregida de varios modos. Si se especifica que Colores primarios y sistemas de mezcla
el material no es mate, los puntos sobre los que
incide cualquier luz de la escena se aclararn Desde tiempo inmemorial se sabe que es posi-
debido a: a) el valor de de reflectancia del ma- ble simular cientos o miles de colores a partir de
terial, b) la intensidad de la luz, c) el ngulo de unos pocos colores bsicos. Cuando se pinta,
incidencia de la luz. O bien, si el material no es la mayora de los colores pueden obtenerse a
opaco, los puntos se modificarn debido a: a) partir de tres colores primarios, amarillo, rojo
al porcentaje en que el color propio sigue ac- y azul. Los pintores saben, sin embargo, que
tuando, b) el color de los objetos que hay detrs muchos matices no se alcanzan con solo estos
para el punto de vista que sea. O bien, si se es- tres colores y un buen pintor tendr de 12 a 20
pecifica que el material tiene textura, los puntos colores en su paleta. Y, segn su estilo, puede
se modificarn debido al color correspondiente ser que incluya ms pigmentos dentro de una
del mapa de textura que, segn las especifica- determinada gama, no solo por sus tonalida-

75
Simulacin visual de materiales

Figura 2.1 Colores primarios.

Figura 2.2 Mezcla aditiva (arriba): los primarios contribuyen directamente al resultado final. Mezcla substractiva (abajo): los prima-
rios actan como filtros que impiden el paso de su complementario. El resultado final es el mismo. En la prctica, los filtros no son
perfectos y se requiere un cuarto color (negro).

76
Materiales virtuales

des, sino por su comportamiento: el amarillo de tractivas, y pasan a trabajar con un programa
Npoles, por ejemplo, tiene unas tonalidades informtico, es decir, a trabajar con mezclas
ms suaves, menos saturadas, que el amarillo aditivas. Como se muestra en dicha figura, el
de cadmio, pero tambin se mezcla de modo fenmeno fsico implicado es el mismo. Los
diferente debido a que contiene plomo, lo que filtros impiden el paso de las ondas corres-
lo hace ms pesado y ms maleable. Los ro- pondientes a su complementario y dejan pa-
jos acarminados son ms puros desde el punto sar las dems. Pero la combinacin de tres
de vista de su rendimiento como color primario, filtros da el mismo resultado que si mezclra-
facilitan las combinaciones; pero su compor- mos directamente, por adicin, las cantidades
tamiento suele ser menos manejable que, por retenidas por cada uno de los tres filtros
ejemplo, un rojo cadmio, tambin ms pesado y Los trabajos iniciados por otro cientfico
ms fcil de mezclar con otros pigmentos. aleman, Hermann Grassmann (1809-1877)
Pero solo desde el siglo xix se comprende sentaron las bases de la colorimetria que per-
con claridad la diferencia entre mezcla aditiva y mita formular mezclas con precisin a partir
mezcla substractiva. Fue Thomas Young quien de tres componentes normalizados. Maxwell,
plante como hiptesis, hacia 1810, que nues-
tro sistema visual debe incluir tres receptores L3
especializados a partir de cuya combinacin
se puedan generar todos los colores, de modo
similar a lo que hacen los pintores o los im-
presores, que no tienen que manejar miles de
muestras para buscar la ms adecuada para
Q
reproducir un color concreto. Como hemos
visto en el captulo anterior, esta hiptesis fue
el comienzo de un largo proceso de investi-
gacin que culmin, a mediados de siglo xix, O
con el descubrimiento de los tres pigmentos
retinianos. Pero Young se equivoc al princi- L2
pio pues postul que estos colores primarios
retinianos deban ser especialmente sensibles L1
al amarillo, el rojo carmn, y el azul claro, los
colores primarios utilizados principalmente por Figura 2.3 El espacio vectorial de colores de Grassmann.
los pintores y los impresores. Y luego rectific Cada color se representa mediante una suma de vectores luz
primarios L1, L2, L3.
y postul, correctamente, unos primarios ade-
cuados para mezcla aditiva. v v
Y fue James Maxwell quien lo confirm, en
1861, creando imgenes en color mediante la
superposicin de colores primarios aditivos. V
c b
Los colores primarios a los que los fotorre- C B
w
ceptores de la retina son particularmente sen-
R G
sibles, son los los colores que corresponden Y
a longitudes de onda larga (rojos), media (ver- r g r y g
des) y cortas (azules). Los colores utilizados
en mezcla substractiva se comportan real- Figura 2.4 Tringulo de Maxwell. A la izquierda, el sistema de
mente como filtros. La figura 2.2 explica este codificacin: el punto sobre un lado se formula mediante su
relacin con los vrtices; el punto interno, mediante su relacin
fenmeno, mal conocido, y que sigue descon- con los laterales. A la derecha, el mbito de colores represen-
certando a quienes se han acostumbrado a tables por el sistema (crculo interno). Adaptado del artculo
pintar, es decir, a trabajar con mezclas subs- original de Maxwell.

77
Simulacin visual de materiales

Grassmann y Helmholtz son, entre otros, los El tringulo de color o diagrama cromtico
principales cientficos que, en torno a 1850, de la CIE es un recurso similar al utilizado por
proporcionaron los primeros fundamentos s- Maxwell pero que simplifica su uso al especi-
lidos a la ciencia del color y las bases para la ficar un color por medio de dos coordenadas
codificacin de los colores. referidas a un tringulo rectngulo y deducir la
tercera, partiendo de la base de que la suma
Codificacin de los colores de las tres debe ser igual a 1. Tal como se
muestra en la figura 2.5 (a), dados tres prima-
En 1931, La CIE (Comission Internationa- rios especficos, un color cualquiera Q puede
le de lclairage), una organizacin fundada formularse mediante la suma de tres cantida-
en 1913 por refundacin de la Commission des determinadas de estos tres colores pri-
Internationale de Photometrie, a la que ya me marios rojo (R), verde (G) y azul (B) mediante
he referido en el captulo anterior, y que se dos coordenadas r, g, que sitan el color en el
ha consolidado a lo largo del siglo xx como el diagrama. Y la tercera cantidad resulta de la
principal referente para la codificacin de los ecuacin r + g + b = 1.
colores, public el primer sistema de codifica- Sin embargo este tringulo nos da canti-
cin riguroso que pronto se convirti en una dades relativas. No tiene en cuenta las va-
norma internacional. Sus resultados estaban riaciones de luminosidad que se daran en
basados en diversos experimentos llevados la realidad. De hecho, el planteamiento del
a cabo por varios investigadores (por David sistema se basa en la asuncin de que todo
Wright, John Guild y otros), que se completa- color puede ser definido en un espacio cro-
ron hacia 1928. mtico que cumple las leyes de Grassmann
Es importante tener presente que la es- y donde resulta posible, por consiguiente, for-
pecificacin de la CIE se basaba en unos mular leyes de mezcla que permitan deducir
supuestos muy restrictivos que permitan cul ser el color resultante de la mezcla de
superar la extraordinaria complejidad de la unos colores dados. Uno de los innumerables
percepcin real de los colores. Para que las espacios posibles sera un cubo normalizado,
especificaciones fueran universales se reque- donde cada color vendra dado como suma
ra normalizar los tres agentes que intervie- de tres vectores cromticos. En este espacio,
nen en la percepcin de los colores: el ojo, los un color dado vendra dado por la formula Q
objetos y la luz. = L1 + L2 + L3 en donde L1, L2, L3 son tres
En primer lugar, se supona un observa- colores luz adecuadamente escogidos con la
dor normalizado: una serie de sujetos jve- condicin de que sean independientes, es de-
nes, sin defectos en la visin y cuyas res- cir, que uno de ellos no pueda obtenerse por
puestas se registraron para obtener valores mezcla de los otros dos.
de referencia medios. En segundo lugar, se En paralelo, tambin en 1931, la CIE acor-
suponan unas condiciones de observacin d los tres tipos normalizados de luz blanca
concretas: el color debera ser observado que ya hemos visto en el captulo anterior:
aislado, bajo un ngulo determinado (de 2) el Standard Illuminant A (equivalente a la luz
que abarcara solamente los conos foveales producida por una bombilla incandescente,
(en 1964 se introdujo otra especificacin me- definido como cuerpo negro a 2.848 K y que
nos restrictiva, para un ngulo ms amplio, sigue vigente con su valor ajustado a 2.856
de 10). Y, en tercer lugar, la muestra debera K), el Standard Illuminant B (en desuso, subs-
estar iluminada con un iluminante normaliza- tituido por el D65) y el Standard Illuminant C
do y bajo un determinado ngulo de inciden- (en desuso, substituido por el D65). A partir
cia de la luz. En el captulo anterior tambin de 1964 se adoptaron los siguientes: el Stan-
se han dado ms detalles sobre estos ilumi- dard Illuminant D55 (luz de da a 5.000 K), el
nantes normalizados. Standard Illuminant D65 (luz de da a 6.500

78
Materiales virtuales

K) que es el principal referente utilizado en la G


1,0
actualidad y el Standard Illuminant D75 (luz
de da a 7.500 K).
El diagrama cromtico de la CIE debe ver- 0,8
Q = rQ + gQ + bQ
se, por consiguiente, como un corte en este b=1-r-g
espacio y cada punto del diagrama estara 0,6
atravesado por una recta que va del origen
al infinito y que representara cualquier color
0,4
con las mismas caractersticas cromticas
pero diferente intensidad luminosa. El color Q Q (r, g)

sera, por tanto, un punto de la recta que une 0,2

O y Q, y en la que se situaran los colores Q,


B R
Q, etc., semejantes a Q pero ms o menos 0,0 0,2 0,4 0,6 0,8 1.0
luminosos.
Cuando se efectuaron los primeros experi-
g
mentos para llevar a un diagrama de este tipo
todos los colores que un sujeto normal puede 2,0
percibir result, como ya le ocurri a Maxwell,
510
520

que haba muchos colores que no podan ser 530 1,5


reproducidos por medio de tres primarios. Sin 500

embargo, tambin se comprob que la cohe- 540


546.1 (G) 1,0
rencia de la teora se poda mantener si se
490
utilizaban colores negativos. Y qu sentido 0,5 575
real tiene un color negativo? La respuesta es (E)
600
475
muy sencilla para un cientfico aunque muy 435,8 (B) 700 (R) r
poco satisfactoria para un industrial: es un -1,5 -1,0 -0,5 0,5 1,0
color que, si se lleva al otro lado de la ecua- -0,5
cin, es decir, si se suma al color que se quie-
re reproducir, mantiene la consistencia de la
frmula. Aunque esto est muy bien desde el (Y)
1,0
punto de vista terico, pues permite mantener
la coherencia de las leyes de mezcla, es ob- 520
vio que no resuelve el problema de reproducir 0,8
540
un determinado color. La figura 2.5 (b) mues- 510

tra el diagrama RGB que se obtuvo con estos 560


primeros experimentos y donde queda claro 0,6
500
que una gran parte de los colores naturales 580
caeran en el lado negativo del diagrama.
0,4 600
As que a partir de esta primera consta- (E)
tacin se elabor otro sistema que parta de 490
700 nm
unos primarios ideales, a los que se deno- 0,2
min X, Y, Z, que abarcaran todo el espacio
470
cromtico de los colores que un sujeto nor- (Z) 380 (X)
mal puede percibir. En este espacio se cum- 0,0 0,2 0,4 0,6 0,8 1,0
ple la ley de que todo color puede obtenerse
por mezcla aditiva de los constituyentes de la Figura 2.5 El sistema CIE XYZ: a) Tringulo cromtico, base
mezcla, es decir, que Q = L1 + L2 + L3. Es del diagrama cromtico de la CIE; b) Diagrama cromtico, CIE
decir, la energa radiante de un color deter- RGB 1931; c) Diagrama cromtico, CIE XYZ 1931.

79
Simulacin visual de materiales

minado puede formularse como suma de la el color en s. Por diversas razones, interesa
energa radiante de tres componentes dados. mantener separadas las cantidades que in-
Si a esta ley se le aaden otra serie de le- tervienen proporcionalmente en la especifica-
yes lineales (simetra, aditividad, transitividad, cin de color de la cantidad de luz correspon-
proporcionalidad), se lleva a cabo una gene- diente a dicho color. Una de estas razones
ralizacin que permite operar de modo cohe- es que el diagrama cromtico representa un
rente en un espacio vectorial que constituye plano en el que los puntos tendran diferente
una representacin adecuada del espacio luminosidad. A igualdad de mezcla relativa,
cromtico triestmulo. el color verde, por ejemplo, es ms luminoso
El aspecto ms sofisticado del sistema de que el rojo o el azul.
la CIE viene dado por la independencia que Se acord as que el valor Y representara
establece entre la luminosidad de un color y la reflectancia o luminosidad del color obje-
to en forma de porcentaje. Un cuerpo per-
fectamente reflectante tendra el valor 100 y
1,0 cuerpo perfectamente absorbente el valor 0.
Alternativamente, se define Y como el factor
0,8
de luminancia o luminosidad, definida como
la relacin entre la luminancia de un cuerpo
dado y la de un reflector/difusor perfecto.
0,6 El color queda especificado por consi-
guiente, en el sistema CIE-XYZ, por dos coor-
denadas de cromaticidad x,y, ms un valor de
0,4 luminosidad Y. De hecho, otra denominacin
de este sistema es CIE xyY.
El plano del digrama bsico no representa
0,2
sino los colores espectrales y se considera,
convencionalmente, que no tendra otra lumi-
nancia que la propia del color, como si tuvi-
0,0 0,2 0,4 0,6 0,8 1,0 ramos la posibilidad de observar un objeto,
en una cmara oscura, que emitiera energa
luminosa en una longitud de onda determina-
0,6
da. Aunque esto implica la emisin de cierta
cantidad de luz, se considera a este plano
como plano de luminosidad nula, con Y = 0. A
medida que se aumenta la luminosidad, dada
0,4 por el valor de Y, puede considerarse que se
asciende por un eje vertical donde la progre-
siva luminosidad de los colores va pareja con
una disminucin del mbito del diagrama. El
incremento de la luminosidad equivale a su-
0,2
mar luz blanca a todos los colores del diagra-
ma, lo que se traducira en una prdida de
saturacin y en una disminucin del rango de
colores que pueden ser representados por el
0,0 0,2 0,4 0,6
diagrama en unas determinadas condiciones
de luminosidad. El espacio de color CIE xyY
Figura 2.6 Los diagramas de cromaticidad CIE XYZ (arriba) representa, por tanto, los colores mediante
y CIE LUV (abajo). dos coordenadas, x,y que dan su posicin en

80
Materiales virtuales

el diagrama cromtico y un valor Y que repre- que percibimos los colores y que la teora
senta su luminosidad. cuatricromtica, o de primarios en oposicin,
A partir de su implantacin en 1931, el espa- avanzada por Hering a finales del siglo xix era
cio de color XYZ o xyY se convirti en una he- algo ms que una interesante hiptesis alter-
rramienta imprescindible para la codificacin nativa. Como ya he mencionado en el captu-
de los colores. Pero algunas de sus limitacio- lo anterior, esta teora estaba siendo corrobo-
nes fueron adquiriendo mayor importancia. rada por los avances en el conocimiento del
Las dos principales daran lugar a dos nuevos funcionamiento del cerebro y de los recepto-
sistemas de codificacin. res neurolgicos que se haban localizado en
La primera limitacin se defini con preci- el crtex visual. Uno de los aspectos tericos
sin a partir de varios trabajos de investiga- de los colores en oposicin, de gran inters
cin, desarrollados principalmente por David desde el punto de vista prctico, es el hecho
MacAdam y publicados en 1942, que mostra- de que dos colores opuestos se refuerzan
ron que las diferencias de percepcin de los mutuamente a una determinada distancia de
colores de un sujeto normal no se correspon- observacin pero se anulan mutuamente al
dan con las diferencias de color del espacio aumentar esta distancia, como puede apre-
de color CIE XYZ. Dicho de otro modo: este ciarse en la figura 2.7.
espacio de color no era uniforme desde el En consecuencia, tras muchos aos de
punto de vista perceptivo. discusiones, tambin en 1976, la CIE adopt
Despus de diversas propuestas y una un nuevo sistema de codificacin denominado
nueva codificacin avanzada en 1964, se CIE LAB, que puede considerarse la principal
acab por adoptar el espacio de color CIE referencia actual y que est basado en tres
1976 (L*, u*, v*) denominado corrientemente coordenadas: L, que indica la luminosidad), a,
CIE LUV. Este espacio puede derivarse del que indica el predominio de rojo/verde (nega-
de 1931 mediante una transformacin simple. tivo/positivo) y b, que indica el predominio de
No doy aqu las frmulas de transformacin azul/amarillo (negativo/positivo). Este nuevo
pero el lector interesado las puede encontrar espacio de colores tambin puede relacionar-
con facilidad en internet. La finalidad de este se con los anteriores por medio de frmulas
nuevo espacio era crear una distribucin per- de transformacin ms complejas. El sistema
ceptual ms uniforme, es decir, tal que una de tres colores primarios se sigue utilizando
modificacin numrica de uno de los valores en la prctica pues los mtodos de genera-
se correspondiera con una modificacin equi- cin obedecen a lgicas distintas que los m-
valente del valor percibido. todos de especificacin.
La segunda limitacin era de ms calado. Desde la aparicin de los televisores y, algo
Hacia esas fechas haba quedado suficiente- ms tarde, de los ordenadores, la generacin
mente probado que la teora tricromtica no de colores por medio de tres primarios aditi-
poda explicar adecuadamente el modo en vos ha pasado de ser una teora cientfica que

Figura 2.7 Complementarios amarillo/azul y rojo/verde a diferentes escalas.

81
Simulacin visual de materiales

solo tena relacin con la prctica de los es- El sistema de codificacin que he descrito
cengrafos (que iluminaban la escena de los hasta aqu, el sistema de la CIE con sus dife-
teatros con tres focos: rojo, verde y azul) a ser rentes variantes, es un sistema de codificacin
una teora relacionada directamente con la universal que asegura que dos colores con la
prctica de un nmero creciente de usuarios. misma codificacin sern indistinguibles si se
Por otro lado, la importancia que la foto- observan en condiciones iguales. Pero, por
grafa y la impresin en color han adquirido a razones prcticas, hay industrias que utilizan
lo largo del siglo xx, ha dado lugar a mltiples otros sistemas (que pueden y deben traducirse
sistemas de codificacin de mezclas subs- automticamente a los de la CIE).
tractivas. Y, por aadidura, el desarrollo de la En televisin se han desarrollado mtodos
teora de los colores y de la prctica profe- de codificacin especficos que son deudores
sional tambin ha propiciado la aparicin de de la propia historia de la televisin, y que se
otros sistemas de codificacin basados en remontan a los primeros ensayos de TV en
variables perceptivas, as como sistemas de color que datan de 1926 (los llev a cabo J. L.
ordenacin que puedan traducirse en catlo- Baird en la Royal Institution de Londres). Pero
gos o referencias manejables. dado que la mayora de los aparatos emitan
La consecuencia de todo esto es que hay en blanco y negro, la seal de luminancia te-
decenas de sistemas de codificacin y orde- na que transmitirse con independencia de la
nacin que se han utilizado y se siguen utili- seal de color o seal de crominancia. Esto
zando. Aunque en algunos casos la frontera se haca y se sigue haciendo as por diversas
sea difusa hay que distinguir entre sistemas razones, la principal de las cuales es la com-
de codificacin y sistemas de ordenacin. patibilidad y la retrocompatibilidad, esto es a
Un sistema de codificacin es un modo la capacidad de un sistema de transmisin
preciso de especificar un color, que puede es- en color para ser captado por un receptor en
tar ordenado o no. Un sistema de ordenacin blanco y negro, prescindiendo de la informa-
es un modo sistemtico de ordenar los colo- cin en color y sin que esto afecte a la recep-
res, que puede estar codificado o no. cin monocromtica de la imagen y, por otro
lado, a la capacidad de un receptor en color
para captar seales en blanco y negro, sin
que sus caractersticas afecten a la recepcin
monocromtica de la imagen. Una segunda
razn por la que se enva por separado la se-
al de luminancia es que esto permite un con-
L siderable ahorro de banda. La discriminacin
-a +b de detalle depende mucho ms del contras-
te de luminancia que del contraste del color.
Esto quiere decir que si se transmiten por se-
parado la seal de luminancia y la seal de
color, se ahorrara ancho de banda enviando
la primera a altas frecuencias y la segunda a
-b +a frecuencias reducidas. Todo esto ha llevado a
sistemas especficos que se han incorporado
de diferentes modos a los tres principales sis-
temas actuales. En 1953 el NTSC (National
Television Systems Committee) recomend
un sistema que fue adoptado en Estados Uni-
dos y constituye la norma seguida por todas
Figura 2.8 El espacio de color CIE Lab. las emisoras de este pas y la mayora de las

82
Materiales virtuales

de Amrica Latina. Una dcada ms tarde se colores y que vaya ms all de clasificacio-
implantaron en Europa los sistemas SECAM nes tales como los catalgos comerciales de
y PAL. El sistema SECAM (Sequence and fabricantes de pinturas o tintas. La lista de
Memory) se comenz a utilizar en Francia, modelos propuestos es muy larga pero me
Rusia y paises de la rbita rusa de influencia, referir brevemente a tres o cuatro.
a partir de 1967. El sistema PAL (Phase Al- Hacia 1810, el pintor Otto Runge, amigo de
ternation Line) se comenz a utilizar en Gran Goethe, propuso un modelo de clasificacin
Bretaa y otros paises europeos, entre ellos
Espaa, pocos aos despus.
El sistema utilizado actualmente, tanto por
NTSC (Estados Unidos y Amrica Latina princi-
palmente) como el PAL (Europa y otros pases)
es el YUV en donde el parmetro Y codifica la
luminancia y los parmetros U, V codifican la
crominancia. Hace aos la NTSC utilizaba el
sistema YIQ, ya en desuso (Y codificaba la lu-
minancia, como el actual y los parmetros I, de
in-phase la fase y Q, de quadrature, la cromi-
nancia). Y hay otros sistemas de codificacin
utilizados, por ejemplo, en imprentas, muchos
de los cuales han sido progresivamente aban-
donados por sistemas ms generales.
Conviene volver a insistir, antes de dejar el
tema de la codificacin, que especificar colo-
res por medio de tres primarios es una refe-
rencia que, si se utilizan primarios reales en
lugar de los primarios ideales de la CIE, no
cubre la generacin de colores reales. Una
codificacin RGB es una forma de comprimir
drsticamente, con prdida, lo que nos dara
una medicin espectrofotomtrica. De hecho,
tambin una medicin de este tipo supone un
recorte, aunque mucho menos drstico, pues
se toman tan solo, por razones prcticas,
una serie de muestras. Las organizaciones
internacionales recomiendan tomar muestras
cada 5 nm para que la medicin sea suficien-
temente exacta. Entre 300 y 700 nm esto
supondra 60 muestras, que es un valor muy
alto. En la prctica se toman cada 10 o 20 nm,
es decir, entre 30 y 15 muestras.
Un sistema de ordenacin es un catlogo,
un atlas, una referencia para la prctica, que
ayuda a elegir y combinar colores. Pues en la
prctica de diferentes profesionales ha pesa-
do desde siempre la necesidad de contar con
algn sistema de ordenacin relativamente Figura 2.9 Los sistemas de ordenacin de: a) Munsell; b) NCS;
simple que permita ordenar y clasificar los c) OSA.

83
Simulacin visual de materiales

de los colores en un libro editado con el ttulo Cada una de estas tres categoras daba lu-
de Die Farbenkugel (La esfera de color). El gar a una escala de 10 grados. Los tonos se
modelo de Runge consista en una esfera con disponan en un crculo que estaba formado
un eje vertical acromtico, blanco en el polo por 5 primarios: amarillo, rojo, prpura, azul,
superior, negro en el polo inferior, y formando verde (Y, R, P, B, G, segn las iniciales in-
una escala regular de grises a lo largo de este glesas) y sus 5 intermediarios. Los valores
eje. El crculo de colores puros o primarios se disponan en una escala vertical de 10 gri-
formaba el ecuador y el resto de los colores ses que iban del negro 0, al blanco 9. Y los
terciaros quedaban en el interior de la esfera. cromas en una escala de unos 5 grados de
El modelo de Runge tena una ventaja pureza que iba desde la mxima saturacin
interesante pero un defecto no menos inte- disponible hasta el gris correspondiente en
resante. La ventaja, que era claro y unitario, el eje vertical. A diferencia de las anteriores,
fcilmente comprensible. El inconveniente, al la amplitud de esta escala no se especificaba
igual que muchos otros modelos que haban sino que quedaba limitada por la pureza de
aparecido antes (como uno propuesto por los pigmentos disponibles que, tericamen-
Lambert hacia 1772 y que consista en un te, siempre podra ser mejorada.
tringulo de primarios que se iba reduciendo De este modo se podan nombrar algo
y oscureciendo hasta formar una pirmide) y menos de 1.000 colores con considerable
que aparecieron despus, es que no era co- precisin. Asi, por ejemplo, el trmino R5/8
herente. Si el eje vertical representa a los co- describira un color de tono rojo, valor 5 y
lores con diferente luminosidad y el ecuador grado de saturacin 8. El trmino 2.5YR5/10
a los colores con mxima saturacin, ocurre describira un color de tono entre el amarillo y
que los colores con mxima saturacin no tie- el rojo, 2.5YR, valor 5 y grado de saturacin
nen el mismo nivel de luminosidad: el amarillo 10. Adems de esta precisin en los trmi-
ms saturado es ms luminoso que el azul nos, el modelo de Munsell, a diferencia de los
ms luminoso. Por otro lado, Runge tampoco que le precedieron y de los que le siguieron,
daba criterios claros para construir sus esca- era coherente, es decir, tena en cuenta que
las de luminosidad, saturacin y tono. los diferentes tonos del crculo cromtico po-
Otros modelos que aparecieron durante seen, intrnsecamente, diferentes valores de
el siglo xx no aportaban soluciones a estos luminosidad por lo que no pueden estar en
problemas. Se pueden mencionar los de el mismo nivel de la escala de grises vertical.
Chevreul (1868), un slido semiesfrico muy Dicho de otro modo; en el modelo de Munsell
similar a la pirmide de Lambert, el de Rood se tena en cuenta que los diferentes tonos
(1879), un doble cono que en poco se dife- alcanzaban su punto mximo de saturacin,
renciaba de la esfera de Runge, el de Char- su pureza, en diferentes niveles de la escala
pentier (1883), un cubo en el que cada vrtice acromtica. El amarillo en el nivel ms alto de
representaba los tres primarios, sus mezclas la escala, ms cerca del blanco, el violeta en
secundarias, el blanco y el negro o el de el nivel ms bajo, ms cerca del negro. Y, por
Hfler (1897), que recoga la teora cuatricro- aadidura, se consideraba que ciertos colo-
mtica recin propuesta por Hering. res cuentan con mayor cantidad de grados
La solucin, que dara lugar a un siste- de saturacin que otros. As, por ejemplo, en
ma muy utilizado durante el siglo xx y que condiciones similares, el rojo sera dos veces
sigue siendo una referencia importante, la ms fuerte que el azul verdoso.
dio, hacia 1900, el pintor americano Mun- La esfera de Runge dejaba de ser una
sell (1858-1918) con un modelo slido bas- esfera regular y se transformaba en una
tante sencillo. Munsell parta de tres catego- especie de patata. El idealismo alemn
ras perceptivas bien diferenciadas: el tono quedaba as corregido por el pragmatismo
(hue), el valor (value) y el croma (chroma). americano.

84
Materiales virtuales

En 1943, la CIE complet una serie de lor indexado. La imagen disminuir su tamao
anlisis para especificar las muestras del sis- drsticamente y el nmero de colores pasar
tema de Munsell por medio del sistema CIE de 16,7 millones a 256 (1 byte por pxel) con
y public un informe, elaborado por Newhall, lo que tendremos aproximadamente 0,001 %
Nickerson y Judd, Final Report of the OSA de los colores que tenamos. Sin embargo no
Subcommittee on the spacing of Munsell co- se apreciarn diferencias en pantalla.
lors, conocido como la renotacin Munsell Pero si la imagen contiene degradados
de 1943 que ha servido como referencia para continuos, al disminuir el nmero de colores
que los subsecuentes catlogos Munsell in- se apreciarn discontinuidades, un efecto
cluyeran especificaciones CIE junto con sus conocido como bandas de Mach por haber
cdigos. sido analizado por primera vez por el fsico
Hay muchos otros sistemas que cabra ci- y filsofo austraco Ernst Mach (1838-1916).
tar pero baste con mencionar, en el contexto Nuestro sistema de visin es especialmente
de este libro, cuatro sistemas importantes, el sensible a diferencias de continuidad y exa-
sistema de Munsell, el sistema DIN (bastante gera las discontinuidades cuando el nmero
similar al de Munsell), el sistema NCS (Natu- de niveles de gris es insuficiente. Por esta ra-
ral Color System) y el sistema OSA (Optical zn, se requiere un nmero mnimo de nive-
Society of America). Tres de ellos se ilustran les de luminosidad para cada uno de los colo-
en la figura 2.9 pero no los describo con de- res primarios y, si esto no ocurre, se pueden
talle. percibir discontinuidades.
Para que esto no ocurra necesitamos un
Rangos absolutos de formatos de gra- nmero de valores que estara en torno a 200.
bacin y dispositivos de reproduccin Si utilizamos valores digitales tenemos que
elegir entre 7 bits por canal, lo que dara 128
En el captulo anterior hemos visto que el valores (27) u 8 bits por canal, lo que dara
nmero de colores que el ojo humano puede 256 valores (28). Pero 7 bits por canal es una
distinguir, difcilmente superara los 2 millones psima especificacin pues no se presta con
en condiciones ideales, cifra que sera toda- facilidad a las operaciones digitales corrientes
va muy inferior, probablemente del orden de mientras que con 8 bits (1 byte) pasa lo con-
la cuarta parte o menos, en situaciones relati- trario: puede subdividirse sistemticamente
vamente reales, es decir, menos de 500.000. en valores enteros inferiores hasta llegar a 1
Qu sentido tiene, entonces, que la pu- bit. Esta es una de las razones principales por
blicidad de cualquier ordenador nos diga que las que se utiliza este rango para codificar es-
trabaja con color real y que por tanto puede calas de grises.
generar 16,7 millones de colores (16.777.216, Si la imagen es en color, cada uno de los
224 para ser exactos)? colores primarios deber ser capaz de gene-
Lo primero que hay que decir es que, de rar un mismo rango de valores para que, en
este total, por las razones dadas, distinguira- su canal respectivo, los degradados tambin
mos realmente, como mucho, no ms de un 3 aparezcan continuos. Esto quiere decir que
%. De hecho, en la mayora de los casos nos necesitamos 8 bits por cada uno de los tres
basta con mucho menos. Un modo sencillo canales y, por tanto, un total de 24 bits. Es
de comprobar hasta qu punto esto es as es decir, los 16,7 millones de colores de que ha-
tomar una imagen en color real (3 bytes por blbamos.
pxel) en la que no haya superficies continuas Si la imagen no incluye degradados o por
con degradados y grabarla en modo de color razones prcticas queremos que su tamao
indexado. Para hacer esto en un programa se mantenga dentro de un lmite, aunque
como Photoshop, por ejemplo, todo lo que los degradados aparezcan discontinuos, po-
hay que hacer es ir al men Imagen/Modo/Co- demos utilizar lo que se denomina color in-

85
Simulacin visual de materiales

dexado, que se basa en un recurso interno otros tres canales utilizan el mismo rango, 8
denominado LUT (Look Up Table). La idea es bits que equivalen a 256 valores.
sencilla. En lugar de generar los colores por Si nos encontramos con un archivo de 48
medio de valores dados dentro de un rango, bits por pxel que codifica 16 bits por canal lo
se selecciona un nmero determinado de co- ms probable es que estemos en presencia
lores, concretamente no ms de 256, que se de una variante del formato HDR.
almacenan en una lista con sus tradas rgb. El cuarto formato importante, HDR se trata
Cada uno de los 256 valores apunta por tanto extensamente en el libro sobre simulacin de
a una trada, a un color especfico. la iluminacin, al igual que todo lo relativo a
Este ltimo mecanismo pone a disposicin rangos dinmicos de dispositivos de entrada
del usuario una paleta limitada. Cmo se ge- (cmaras y escners) y de dispositivos de sa-
nera esta paleta? Si se parte de una imagen lida (monitores e impresoras). Aqu me limi-
en color real el procedimiento se puede llevar tar a resumir lo principal desde el punto de
a cabo automticamente mediante algn tipo vista de los colores. Un formato HDR (High
de algoritmo que descarte colores cercanos y Dynamic Range) nos permite almacenar mu-
se quede tan solo con los ms representati- chos ms valores que el formato en color real.
vos. No hay ni puede haber un mtodo nico Y esto tiene una gran importancia tanto desde
para llevar a cabo esta seleccin. Por esta el punto de vista de su uso en edicin de im-
razn, los programas de manipulacin de genes como de su uso en simulacin visual
imgenes ofrecen diversas alternativas. En 3D. Las dos variantes del formato ms utiliza-
Photoshop, por ejemplo, se encuentran, entre das en la actualidad son HDR y EXR.
otras, las siguientes: Perceptual (da prioridad El formato HDR fue introducido por Greg
a los colores a los que el ojo humano es ms Ward hacia 1985 y ha sido desarrollado prin-
sensible), Selectiva (similar a la anterior pero cipalmente por Paul Debevec hacia 1998. Las
ms amplia y dando prioridad a colores com- imgenes grabadas en este formato se ob-
patibles por web), Adaptable (da prioridad a tienen combinando diferentes exposiciones.
los colores que aparecen con ms frecuen- Como sabe cualquier aficionado a la fotogra-
cia), A medida (permite adaptaciones manua- fa si, por ejemplo, se saca una fotografa a
les). Este tipo de conversin puede ser muy pleno da con luz brillante y se ajusta la expo-
interesante para determinadas aplicaciones, sicin para que las zonas iluminadas queden
incluidas las arquitectnicas. bien expuestas, los detalles de las zonas en
As que tenemos dos formatos principales, sombra se fundirn en una zona oscura ho-
en primer lugar, un formato, color real, que mognea. Y si, a la inversa, se saca una foto-
nos da 24 bits por pxel lo que supone 256 va- grafa de un interior y se ajusta la exposicin
lores por cada canal. Y, en segundo lugar, otro para que los objetos del interior queden bien
formato, color indexado que nos da un total expuestos, los objetos que aparezcan a tra-
de 256 colores referidos a una tabla creada vs de una ventana aparecern quemados,
de diversos modos posibles. sobreexpuestos, fundidos en una zona clara
En tercer lugar, podemos encontrarnos, homognea. Combinando diferentes tomas
por el otro extremo, con rangos absolutos su- en un mismo archivo de ms capacidad se
periores, con 32 bits o 48 bits por pxel. Y, en obtienen rangos dinmicos internos mucho
cuarto lugar, con diferentes sistemas de co- ms extensos que permiten alcanzar distribu-
dificacin, en concreto con el formato HDR. ciones ms precisas. Vase el libro sobre si-
Un archivo con 32 bits por pxel es, por lo mulacin de la iluminacin para una descrip-
general, un archivo que incluye un cuarto ca- cin detallada de los mtodos de obtencin
nal, un canal alfa, que permite procesar trans- de este tipo de archivos o buen manual sobre
parencias. En este caso no hay diferencia con este formato. Aqu me limitar a resumir sus
respecto a los formatos anteriores pues los caractersticas bsicas.

86
Materiales virtuales

El formato HDR se presenta en dos mo- que utilizamos para almacenar la informacin
dos principales: RGB y XYZE (tres primarios de color de un material virtual. Ahora bien,
imaginarios, XYZ y un exponente, E). En los cada dispositivo que utilicemos para trabajar
dos casos, los bits se organizan de modo o para representar el resultado tendr, a su
que hay una mantisa para cada color y un vez, un determinado rango cromtico, o bien,
exponente comn (8 + 8 + 8 + 8). Los tres al igual que ocurre con los instrumentos mu-
primeros canales almacenan la informacin sicales, un determinado registro ser capaz
de color primario pero el cuarto canal intro- de generar una determinada gama de colores
duce un exponente que ampla los valores de que pueden ubicarse en posiciones precisas
luminancia. El valor de cada pxel se obtiene en el espacio de color propio del dispositivo.
segn la frmula ((R,G,B)/255) x 2(E - 128). Para empezar hay que subrayar que la
El rango dinmico resultante de utilizar 32 bits gama de colores que un dispositivo es ca-
de esta forma es equivalente a utilizar 96 bits, paz de reproducir es siempre un subconjunto
lo que equivaldra a 76 rdenes de magnitud de todos los colores que somos capaces de
o ms de 250 EV, mucho ms de lo que po- percibir. Esta gama de colores puede repre-
demos percibir pues ya los escenarios reales sentarse en un plano de dos dimensiones en
no suelen sobrepasar los 20 EV en condicio- donde se muestran tan solo los tonos y las
nes extremas ni los 16 bits en condiciones saturaciones que corresponderan a un de-
corrientes. terminado nivel de luminosidad, aunque esto
El formato OpenEXR es una variante que no sea del todo exacto pues las saturaciones
proporciona un rango dinmico equivalente a mximas no se producen al mismo nivel de
30 pasos EV. Su precisin es mayor que la luminosidad (el amarillo y el azul por ejemplo,
del anterior y se comprime muy bien. Hay dos alcanzan su mximo en niveles ms lumino-
versiones del formato, la versin half, de 16 sos para el primero y menos para el segundo,
bits y la versin de 32 bits. La versin half, como ya hemos visto) pero es suficiente para
o half RGB, ms utilizada, utiliza un formato hacerse una idea adecuada de la gama.
de nmeros de 1 bit para el signo, 5 bits para Pero, adems de que no existe ningn
el exponente y 10 bits para la mantisa o va- dispositivo que pueda generar todos los colo-
lor significante. Esta mantisa permite guardar res que podemos percibir, lo que resulta ms
210 = 1.024 valores por cada canal de color. grave desde el punto de vista de la prctica
Proporciona un rango dinmico equivalente a profesional es que la gama de colores propia
30 pasos EV. de los diferentes dispositivos que utilizamos
El uso de formatos HDR permite clculos no es concordante ni puede serlo.
internos de una gran precisin. Pero tanto La figura 2.10 muestra la gama de varios
para visualizar el archivo de entrada como dispositivos dentro del espacio de todos los
para visualizar el resultado, dado que los colores posibles representado en el diagra-
dispositivos de salida que utilizamos co- ma de la CIE XYZ. Como puede apreciarse
rrientemente (monitores o impresoras) son en esta figura, hay muchos colores que po-
de bajo rango dinmico, necesitaremos demos percibir pero que no pueden ser ge-
convertir la imagen a LDR (Low Dynamic nerados por ningn dispositivo. Y otros co-
Range) por medio de alguno de los varios lores que pueden ser generados por unos
algoritmos de conversin denominados ge- dispositivos pero no por otros. En particular,
nricamente de Tone mapping. Me remito es muy importante recordar que hay colores
de nuevo al libro sobre simulacin de la ilu- que se pueden reproducir en un monitor pero
minacin donde tambin se trata ms ex- no en una impresora. Estos colores se dice
tensamente este tema. que estn fuera de gama. Muchos progamas,
Todo lo anteriores est referido al rango como Photoshop, activan un aviso cuando se
que nos ofrecen los formatos de los archivos est utilizando un color fuera de gama para

87
Simulacin visual de materiales

recordarle al usuario que lo que est viendo el color y para grabar la configuracin de es-
en pantalla no lo podr ver en papel. Y ofre- tos controles de tal modo que no tengamos
cen una alternativa (si, en Photoshop, desde que repetir el proceso una y otra vez se deno-
el selector de color, se hace un clic sobre el mina genricamente gestin del color (Color
aviso, el selector salta al color alternativo ms Management). Esto implica varios conceptos
prximo que est en gama). Pero esta utilidad y trminos que hay que comenzar por preci-
no se encuentra en los programas de simula- sar.
cin 3D, por lo que es recomendable tomar El modo de color o modelo de color es ni
precauciones y evitar colores excesivamente ms ni menos que la codificacin utilizada
saturados sobre todo en tonos que se repro- para describir el color, en trminos de 3 o ms
ducen peor sobre papel. coordenadas, lo que est ligado a un espacio
Por otro lado, el espacio de color de un de color elemental y a un determinado forma-
mismo tipo de dispositivo, como puede ser un to de grabacin de archivos. Es un concep-
monitor, tampoco coincide con otro, a no ser to familiar pues hay al menos dos modos de
que est perfectamente calibrado y que uti- color que estn presentes en todos los pro-
lice un mismo sistema de especificacin del gramas: RGB y HSB. Pero hay algunos ms,
espacio cromtico. Dada la importancia de principalmente CMYK y CIE LAB. Todos estos
este tema ser conveniente aadir algo aun- modos ya se han descrito ms arriba.
que tan solo sea como introduccin a un tema El espacio de color es el espacio concre-
bastante complejo. to que se genera a partir de un determinado
modelo y a partir de una determinada especi-
Sistemas digitales de control y ges- ficacin de colores primarios, y que se carac-
tin de los colores. Modo. Espacio. teriza porque tiene dimensiones concretas, es
Perfil. Mdulo de gestin decir, un nmero mayor o menor de colores
que abarcarn una u otra zona del espacio
Para controlar el color que vamos a reprodu- ideal que se supone que representa a todos
cir se necesita manejar una serie de concep- los colores posibles. Hay tres espacios princi-
tos bsicos ligados a tcnicas especficas. El pales de color que se encuentran en la prc-
conjunto de tcnicas utilizadas para controlar tica. El ms utilizado es el espacio de color
sRGB, un espacio de color seguro (pues la
mayora de los dispositivos pueden reprodu-
cirlo) pero, por esta misma razn, ms limi-
0,8
CIE XYZ tado que otros. Este espacio de color se de-
Diapositiva
sarroll por Hewlett-Packard y Microsoft, fue
presentado en 1996 y fue adoptado por las
Monitor principales industrias de impresin y gestin
0,6
Impresora
del color. Otro espacio de color bastante utili-
zado, ms amplio que el anterior, sobre todo
en las tonalidades verde y azul-verdoso, es
0,4
el espacio de color Adobe RGB, desarrollado
por Adobe Systems en 1998 con el objetivo de
reproducir adecuadamente colores en modo
0,2
CMYK desde un espacio RGB. Se considera
que abarca alrededor del 50 % de la gama de
colores visibles que se especifican en el CIE
0,0 0,2 0,4 0,6 0,8 LAB. Y un tercer espacio de color importante
en la prctica profesional es ProPhoto RGB,
Figura 2.10 Gama de color de diferentes dispositivos. desarrollado por Kodak, con una gama ms

88
Materiales virtuales

amplia que los anteriores y que solo puede entre los diferentes espacios de color. Y se
ser usado con formatos de 16 bits por canal, cre un consorcio de empresas que utiliza-
cuyo uso est ms bien restringido a fotogra- ban este mismo sistema para evitar todos los
fos profesionales. problemas derivados de no contar con un len-
Es importante subrayar, de todas formas, guaje comn. Posteriormente, este consorcio
que el espacio de color de una buena cmara es de empresas se estableci y fue reconocido
ms amplio que cualquiera de los dos anterio- como consorcio internacional con el nombre
res, ms utilizados, sRGB o Adobe RGB, por lo de ICC (International Color Consortium) y se
que si un buen fotgrafo quiere sacar el mximo extendi a los ordenadores que utilizaban el
partido de su cmara tendra que trabajar con sistema operativo Windows y Unix. El docu-
ste espacio que est disponible directamente mento principal generado por este consorcio
si se utiliza el Camera Raw de Photoshop y se es el perfil ICC (ICC profile).
graba el resultado en un formato de 16 bits. Sin Un perfil ICC tiene cuatro atributos princi-
embargo no se podr visualizar en un monitor pales: el rango o gama cromtica, el factor
corriente. La principal ventaja es que proporcio- gamma, el punto negro y el punto blanco. La
na mayor flexibilidad a la hora de escoger uno gama cromtica (gamut) describe el rango de
u otro recorte o substitucin en lugar de aceptar colores que el dispositivo es capaz de repro-
que este recorte o substitucin se lleve a cabo ducir. Y esto depende del substrato material
automticamente por uno de los dos espacios del dispositivo: los puntos de fsforo de un
de color anteriores. monitor antiguo de tipo CRT, los cristales l-
El perfil de cada dispositivo que utilicemos quidos de un monitor LCD, los pigmentos o
para captar, visualizar, manipular o reproducir colorantes de una impresora, tienen un rango
un color (cmaras, escners, monitores o im- limitado y diferente de colores, que ya se ha
presoras) es una especificacin que describe mostrado en la figura 2.10. El factor gamma
con precisin su modo, su espacio de color (un valor que es corrientemente de 2,2 en la
y otras caractersticas relevantes. Es decir, mayora de los monitores actuales) describe
el lenguaje particular con que tal dispositivo cmo se distribuyen las intensidades segn
describe los colores. Solo si conocemos este una curva caracterstica. Vase el libro sobre
lenguaje, este perfil, podremos traducirlo a
otros lenguajes, a otros perfiles. Estos per-
files pueden ser genricos o, en casos ms
ProPhoto RGB
profesionales, creados por el propio usuario a 0,8
partir de dispositivos tales como colormetros Adobe RGB
o espectrofotmetros.
sRGB
Pero para que los diferentes lenguajes o 0,6
perfiles se puedan comunicar entre s necesi- papel impreso
tamos un lenguaje compartido. Este lenguaje
compartido es el ICC y, cada vez que se crea 0,4
un perfil, se crea lo que se denomina un per-
fil ICC (ICC profile), es decir, una descripcin
del dispositivo en trminos tales que puedan 0,2
ser entendidos por otros dispositivos. Los
perfiles ICC derivan de la existencia de este
CIE XYZ
organismo cuyo origen se remonta a 1993,
cuando Apple desarroll Color Sync, un sis- 0,0 0,2 0,4 0,6 0,8
tema de gestin de color incorporado a sus
ordenadores que utilizaba perfiles de dife- Figura 2.11 Espacios de color RGB utilizados por la industria
rentes dispositivos para facilitar la traduccin como estndares convenidos.

89
Simulacin visual de materiales

simulacin de la iluminacin para una explica- incluyen y suelen emitir mensajes, familiares
cin ms amplia de todo lo que est implicado a los usuarios (aunque en muchos casos no
en el factor gamma. El punto negro describe sepan muy bien de qu les estn hablando),
el negro ms negro que el dispositivo es ca- sobre el espacio de color que incorpora un
paz de reproducir (y que siempre es superior determinado archivo que se est abriendo.
al 0 % de luminancia). El punto blanco descri- Es muy probable que quien lea esto, si tiene
be el blanco ms blanco que el dispositivo es cierta experiencia con programas como Pho-
capaz de reproducir (y que es un valor muy toshop, se haya encontrado alguna vez con
bajo en comparacin con fuentes de luz ms un mensaje en que se le informa de que el
o menos corrientes). Este valor se especifi- archivo que se est abriendo tiene insertado
ca en trminos de intensidad y temperatura un espacio de color tal y tal. Desea conser-
de color. Algunos perfiles ICC tambin dan varlo o prefiere substituirlo?.
como referencia el blanco medio denomina- Estos mdulos tambin incluyen diferen-
do a veces blanco papel. Un valor de refe- tes opciones para interpretar los colores
rencia habitual para el blanco es D65, que se que no caben en el espacio de color que es-
refiere al blanco normalizado de la CIE que tamos utilizando. Los perfiles ICC incluyen
ya hemos visto. cuatro posibilidades de transformacin para
Por ltimo, para poder llevar a cabo la los colores que caen fuera del espectro o
traduccin de valores entre dispositivos, ne- del espacio utilizado: perceptual, satura-
cesitamos un programa o una tecnologa es- cin, relativa y absoluta, muy similares a las
pecfica capaz de llevar a cabo esta conver- que he citado a prposito de la conversin
sin manejando los componentes anteriores de un formato en color real a color indexa-
(perfiles, espacios). En otras palabras, nece- do. Simplificando, puede decirse que las
sitamos un programa que incorpore lo que se dos primeras quitan saturacin de los co-
denomina un mdulo de gestin del color o lores de origen para encajarlos en el espa-
CMM por sus siglas en ingls (Color Mana- cio de color (la perceptual intentando man-
gement Module) o CMS (Color Management tener las relaciones entre tonos), mientras
System). Los programas avanzados de mani- que las dos segundas buscan el color ms
pulacin de imgenes, como Photoshop, ya lo cercano al color que cae fuera del espacio

monitor
archivo otras
de escner aplicaciones

archivo impresora
de cmara

perfil de conexin ICC


archivo otros
de otras dispositivos
aplicaciones soft (CMM)

Figura 2.12 Gestin del color. Flujo de trabajo.

90
Materiales virtuales

(la relativa convierte el blanco de origen en en fotografa, concretamente a los f-stops o


el de destino y ajusta los dems proporcio- pasos de apertura del diafragma. Como da lo
nalmente, mientras que la absoluta intenta mismo abrir o cerrar el diafragma en un punto
mantener al mximo los colores de origen, que disminuir o aumentar la velocidad en un
incluyendo el blanco). En Photoshop, por punto, se utiliza un trmino ms genrico, los
ejemplo, estas opciones de conversin se valores EV (Exposure Values). El valor base,
encuentran en el cuadro de dilogo Ajustes un EV = 0, corresponde a un tiempo de expo-
de color. Las diferencias entre estos cuatro sicin de 1 segundo y una apertura relativa de
modos de conversin a menudo son imper- f/1,0. Como en cada paso la exposicin es la
ceptibles. mitad de la anterior, la escala de valores EV
Resumiendo, el proceso simplificado sera se da en potencias de 2.
el siguiente. El espacio de color relacionado De este modo resulta sencillo calcular el
con el perfil de entrada (por ejemplo, una c- rango dinmico de un dispositivo si conoce-
mara) se convierte a un espacio de color dado mos cuantos pasos EV admite. En el caso de
por un perfil de conexin intermediario (algo las cmaras, este clculo es inmediato pues
proporcionado, por ejemplo, por un programa todo lo que necesitamos saber es cuantos
de tratamiento de imgenes) y, de ah, pasa pasos admite la ruedecilla de apertura de
a convertirse en un espacio de color relacio- diafragma. Una cmara digital corriente pue-
nado con un perfil de salida (por ejemplo, una de contar con poco ms de 7 u 8 EV (27, 28,
impresora). El espacio de color caracterstico es decir, 128, 256) mientras que una cmara
de un dispositivo tan corriente como una im- analgica llega a los 11 o algo ms y una c-
presora es CMYK pues trabaja con mezcla mara digital reflex puede llegar a los 10.
substractiva. Sin embargo, la mayora de las Resulta relativamente fcil hacer corres-
impresoras modernas aceptan RGB como ponder esta referencia con la de dispositi-
modo de entrada. vos corrientes. As, el rango dinmico de las
Pero la historia no termina aqu pues, para imgenes impresas es del orden de 200/1. El
una mejor comprensin del proceso, no nos de las cmaras digitales, del orden de 300/1.
basta con saber cules son los rangos abso- Un monitor antiguo, CRT, tiene un rango di-
lutos, la gama cromtica de un dispositivo, nmico de alrededor de 500/1 mientras que
sino que necesitamos saber tambin cmo se un LCD alcanza los 700/1 o ms. Una buena
distribuyen estos valores. cmara analgica poda llegar a los 2.000/1.
Ahora bien, el ojo humano tiene un rango
Rango dinmico. Factor gamma dinmico estimado de unos 10.000/1 (algo
menos de 14 pasos EV). Y en un exterior al
El rango dinmico de un dispositivo es el n- Sol se pueden encontrar contrastes del orden
mero de valores que puede mostrar. Esto est de los 100.000/1 (entre 16 y 17 pasos EV).
directamente relacionado con la relacin de Esto quiere decir naturalmente que el ojo se
contraste (contrast-ratio) que se define como adapta a estas situaciones y que percibir tan
la relacin entre los valores mximos y mni- solo una parte de estos valores.
mos de luminosidad que puede mostrar. Esta Pero esta adaptacin tambin tiene que
relacin debe medirse en condiciones concre- hacerse al procesar imgenes para adap-
tas por lo que no hay que fiarse de los valores tarlas a los diferentes dispositivos. Las im-
dados por los vendedores de dispositivos que genes de 24 bits por pxel que se utilizan
a menudo se refieren a valores nominales corrientemente tienen 8 bits por cada canal
ideales que son imposibles de conseguir en RGB, lo que significa que pueden asociar una
condiciones corrientes. determinada intensidad a un entero compren-
La relacin de contraste se mide corrien- dido entre 0 y 255. Un color blanco, codifica-
temente por referencia a valores utilizados do como RGB 255, 255, 255 representar la

91
Simulacin visual de materiales

superficie ms blanca que haya en la escena, se equivoc al crear las escalas de sus sli-
sea una hoja de papel en un interior o una dos de color) sino el 18 % aproximadamente.
superficie blanca iluminada por el Sol en un Esta relacin puede expresarse numrica-
exterior. Sin embargo, la medicin de la ilumi- mente mediante una frmula simple como la
nacin que llegara a estas superficies en un siguiente:
caso real podra variar fcilmente entre 100 g
I=K
y 10.000 luxes o ms. Una vez que nuestro
sistema visual se ha adaptado a un entorno que nos dice que la intensidad de salida se re-
ms o menos luminoso (lo que puede durar laciona con la intensidad de voltaje mediante
ms de 20 minutos), percibiramos ambas su- una constante elevada a un factor conocido
perficies como blancas aunque su luminosi- como factor gamma (g).
dad real fuera muy distinta. Estos rangos se Los monitores corrientes de rayos catdi-
adaptan mal a las escalas utilizadas por un cos tienen una relacin de intensidad entre
monitor. intensidad de salida y voltaje que correspon-
La percepcin de intensidades del ojo hu- de a un factor g que est entre 2,4 y 2,8 (en
mano ha sido ampliamente estudiada y los ra- 2008). El sistema sRGB estndar parte de
zonamientos tericos coinciden con los expe- un valor algo ms bajo, de 2,2, lo que tiene
rimentales. Si tenemos dos valores extremos, el efecto de que las imgenes corrientes ad-
blanco y negro, y se crea una escala de grises quieren algo ms de contraste al representar-
de modo que el ojo percibe intervalos regu- se en un monitor corriente.
lares entre los diferentes escalones de esta Pero, en cualquier caso, los monitores y
escala, la distribucin sigue una curva como las impresoras tienen un rango dinmico muy
la de la figura 2.13. Como puede observarse limitado. Por ello es necesario redistribuir los
en esta curva, el gris medio no refleja el 50 valores por medio de una curva de tonos que
% como pensaron los primeros tericos del adapta los valores a los rangos dinmicos
siglo xix que trabajaron sobre estos temas (in- del dispositivo. Esta operacin se denomina
cluyendo a Chevreul, que hizo aportaciones proyeccin de tonos (tone mapping) y se lleva
muy notables a la teora de los colores pero a cabo por medio de parmetros especiales
que estn disponibles en todos los programas
avanzados de simulacin.
10 En un programa como 3ds Max esto se
hace por medio de un panel especfico que
se denomina Control de exposicin. Este pa-
8
nel permite escoger entre diferentes curvas
de ajuste que corrigen la curva de proyeccin
Valor percibido

6 de tonos de una escena para adecuarla a los


valores de iluminacin que se han utilizado
para el clculo. Si, por ejemplo, tenemos unos
4 materiales que estn situados en una escena
exterior y se han utilizado valores reales para
el clculo de la iluminacin, pongamos que
2
80.000 luxes, estos valores deben ser redis-
tribuidos, pues si no se hiciera as el resultado
quedara completamente distorsionado.
20 40 60 80 100 Las limitaciones de los formatos actuales
Intensidad luminosa de imgenes, desde el punto de vista de su
Figura 2.13 Relacin entre intensidades emitidas e intensida- comprimido rango dinmico, pueden supe-
des percibidas. rarse en parte gracias al formato HDR (High

92
Materiales virtuales

Dynamic Range) al que ya me he referido an- pales dispositivos de salida que interesan en
teriormente. Una imagen grabada en formato la prctica: los monitores y las impresoras.
HDR guarda la informacin como valores en En cada uno de estos estadios necesita-
coma flotante. Esto quiere decir que podra mos contar con la suficiente garanta de que
guardar informacin tal que representara un los colores que estamos utilizando se corres-
color blanco de valor 255 por un valor tal como ponden con los colores reales, es decir, con
10.000. Se mantiene por tanto la proporciona- colores tal como los percibiramos en condi-
lidad real. Si, por el contrario, este rango se ciones ptimas. Pasemos por alto todas las
grabara en un formato corriente, que solo ad- complejidades y ambiguedades implicadas
mite 256 valores dados por nmeros enteros, en esta descripcin y que ya se han apuntado
los decimales se truncaran, lo que equivale a en las secciones anteriores. Baste con decir
truncar la escala de luminosidades: como si que tenemos, en cada estadio, dos posibilida-
una curva trazada con precisin se convierte des: controlar los colores mediante mtodos
en una serie de segmentos escalonados por caros y profesionales o controlarlos mediante
falta de resolucin. Me remito de nuevo al li- mtodos aproximados y menos costosos.
bro sobre simulacin de la iluminacin para Comencemos por la cmara. Tenemos dos
ampliar este tema. alternativas: la barata y sencilla y no dema-
siado fiable y la menos barata, menos sencilla
Gestin del color en la prctica pero ms fiable. La primera consiste en tomar
fotografas de alguna escena o imagen de re-
En la prctica real nos encontramos con si- ferencia con colores destacados, comprobar
tuaciones caractersticas, con diversas va- el resultado y, si este no es correcto, estudiar
riantes, pero que podemos resumir como a fondo el captulo de balance de blancos del
sigue. Supongamos que hemos obtenido una manual de la cmara para asegurarnos de
serie de imgenes que vamos a utilizar para que no estamos distorsionando excesivamen-
llevar a cabo la simulacin de una escena, te los colores reales. Y a partir de ah confiar
sea para utilizarlas como imgenes en fon- en que estos datos sern leidos adecuada-
dos o partes de un objeto, sea para manipu- mente por los programas que utilicemos. La
larlas desde un programa de tratamiento de segunda alternativa comienza por adquirir
imgenes, como Gimp o Photoshop, y con- una carta de colores normalizada. Una opcin
vertirlas en texturas. relativamente sencilla y no demasiado cara
Esto quiere decir que las imgenes van a (en torno a 100 en 2014) es un Color Chec-
ser captadas por un dispositivo, una cmara ker de los que distribuyen algunas empresas
(o un escner, lo que implicara otros proble- conocidas, como x-Rite. Lo que hay que hacer
mas pero no demasiado diferentes), van a ser a continuacin es sacar una fotografa de la
trabajadas desde un monitor, con un deter- escena incluyendo esta carta en un lugar cla-
minado programa, y van a ser llevadas, final- ramente visible y luego retirarla. Esta primera
mente, a otro monitor o a una impresora. toma nos servir para crear un perfil ICC de
Tenemos por tanto, en esta situacin sim- la cmara pues los colores que hemos foto-
plificada, un dispositivo principal de entrada, grafiado estn codificados mediante cdigos
una cmara y dos dispositivos principales de ICC y, por tanto, cualquier programa podr
salida, un monitor y una impresora. medir la desviacin de los colores fotografia-
Como he dicho antes, el anlisis de los dos con los reales e introducir las correccio-
rangos dinmicos de dispositivos se desa- nes correspondientes. No voy a describir el
rrolla con cierta extensin en el libro sobre proceso con detalle por razones de espacio
simulacin de la iluminacin mencionado en y porque ya se describe con la gua del pro-
la introduccin. Aqu me limitar a resumir lo ducto, pero es relativamente sencillo. Bsi-
fundamental por lo que respecta a los princi- camente consta de los pasos siguientes: a)

93
Simulacin visual de materiales

Tomar una fotografa de la escena (que pue- La figura 2.14 muestra una escena sencilla
de ser una escena genrica, con iluminacin ajustada con este mtodo.
diurna a pleno Sol, diurna en sombra, con luz Continuemos por el monitor. De nuevo
artificial, de modo que podamos reutilizarla en tenemos dos alternativas: la barata y aproxi-
casos similares) con la carta claramente visi- mada y la cara y profesional. En cualquiera
ble e iluminada de un modo uniforme. La foto- de los dos casos necesitamos asegurarnos
grafa debe tomarse en el formato raw propio de que trabajamos en condiciones adecua-
de la cmara y luego guardarse como Digital das: sin cambios de iluminacin, sin reflejos
Negative (DNG); b) Generar un perfil para la sobre la pantalla, con luces suaves que no
cmara que estemos utilizando con la ayuda incidan directamente sobre la pantalla. Para
de la aplicacin incluida con la carta; c) Abrir la primera podemos utilizar el sistema de ca-
la imagen en Camera Raw o Lightroom (dos libracin simple incorporado a los sistemas
programas ligados a Photoshop, el primero operativos de los PC o Max y que se basan
incluido en el programa corriente y el segun- en la apreciacin subjetiva del usuario, es
do con un coste adicional), y en la seccin decir, como antes, fiarnos de nuestra buena
Calibracin de la cmara, seleccionar el perfil vista. Para la segunda, la ms recomenda-
que hemos creado y que se habr aadido a ble si el coste no es demasiado problema,
la lista de perfiles incluidos en Camera Raw. necesitamos adquirir tambin un sistema de
Con esto la imagen se modificar ligeramente calibracin profesional (o un monitor caro
para adecuarse al perfil y, a partir de ah, si es que lo incorpore). Una opcin recomendable
necesario, podemos utilizar las herramientas es un calibrador Spyder que puede adqui-
del programa para ajustar por aadidura el rirse, como el Color Checker, en cualquier
balance de blancos o los tonos de la imagen. tienda de fotografa profesional con un coste
de unos 150 o quizs algo ms. El calibra-
dor consiste en un aparato que se fija, como
una araa, sobre el monitor, toma una serie
de medidas automticas, ajusta el monitor y
crea un perfil ICC que se guarda en el propio
ordenador. Este proceso debe repetirse pe-
ridicamente.
Terminemos con la impresora. Tambin
aqu tenemos las dos opciones anteriores:
hacer pruebas personales con una determi-
nada impresora o mandarlas a un servicio
profesional. Pero la primera opcin en este
caso es ms complicada: una vez que hemos
comprobado las desviaciones que se produ-
cen al imprimir una imagen tendramos que
introducir curvas de correccin, ajustarlas
cuidadosamente, guardarlas y revisarlas pe-
ridicamente, algo que no muchos usuarios
estarn dispuestos a hacer. Es preferible, en
este caso, guardar la imagen con el perfil ICC
incorporado y utilizar un servicio que sepa de
qu le estamos hablando cuando le pregun-
temos si su impresora cuenta con un sistema
adecuado para leer estos perfiles y efectuar
Figura 2.14 Color Checker. los ajustes correspondientes.

94
Materiales virtuales

2.3 Simulacin de la reflexin y re- superficie, un hemisferio, tendremos un total


fraccin de 2p sr.
Si consideramos una fuente de luz y que-
Cantidades radiomtricas bsicas. remos analizar cmo incide sobre un punto de
Radiancia e irradiancia una superficie bastar con que consideremos
la proyeccin del rea de esta fuente de luz
En la actualidad, la descripcin del modo sobre un hemisferio virtual de radio unidad
como la luz incide y se refleja en la superficie pues el resultado ser equivalente y podemos
de un material, se hace en el marco de la teo- unificar los resultados. Los dos trminos cla-
ra fsica del anlisis de la radiacin trmica ve que debemos considerar para lo que sigue
que incluye la radiacin visible. Esto implica son la irradiancia y la radiancia. Son trminos
una serie de trminos que son comunes a la similares por lo que respecta al tipo de unida-
radiometra y la fotometra y que conviene re- des consideradas, pero en un caso se trata de
cordar brevemente: el flujo radiante, la inten- la energa inicial y en el segundo, de la ener-
sidad, la irradiancia y la radiancia. ga derivada cuyo valor queremos obtener.
Si tenemos una fuente de energa, la pri- La energa que cae sobre una superficie se
mera medida que nos importa es el flujo ra- denomina irradiancia (E) y se mide en vatios/
diante, que se mide en vatios y que describe m2. Es el equivalente a la densidad de flujo, y
la cantidad de esta energa emitida por uni- para el anlisis de la iluminacin de un punto
dad de tiempo (un vatio es igual a 1 julio por sobre una superficie no vara pues partimos
segundo). Una lmpara de 100 vatios emite precisamente del flujo considerado segn un
esta energa en todas direcciones mientras determinado ngulo de incidencia.
est encendida: pero la cantidad de esta La energa emitida desde una superficie se
energa que percibimos como luz depende denomina radiancia (L) y se mide en vatios/
del rendimiento luminoso de la bombilla (si m2/sr. A diferencia de la anterior, disminuye al
el rendimiento est, como suele ser corriente aumentar el ngulo de reflexin. Si una super-
para lmparas incandescentes sencillas, en ficie recibe energa y la devuelve, la emisin
torno a los 15 o 20 lmenes por vatio diremos ser mxima en la direccin perpendicular a
que el flujo luminoso es de 1.500 a 2.000 l- la superficie (qr = 90) y nula a partir de la di-
menes). reccin coincidente con la superficie (qr = 0).
Pero es evidente que este flujo no se dis- Dicho de otro modo, variar con el coseno
tribuir igual en la direccin del casquillo al del ngulo de reflexin (pues cos(90) = 1 y
que est sujeta la lmpara (que obstaculiza cos(90) = 0).
el flujo) que en la direccin opuesta (que es Todos estos trminos se relacionan direc-
ptima) ni en la direccin perpendicular, hacia tamente con los cuatro trminos equivalentes
los lados. Si nos olvidamos de la bombilla y utilizados en fotometra: flujo luminoso (que
suponemos que, en general, el centro de emi- se mide en lmenes), intensidad luminosa
sin est rodeado de una esfera imaginaria (que se mide en candelas), iluminacin (que
de 1 metro de radio, lo que nos interesa es la se mide en luxes) y luminancia (que se mide
intensidad en una direccin. Si la distribucin en candelas por metro cuadrado, cd/m2). Para
es homognea, nos bastar con dividir el flujo pasar de unidades radiantes a unidades foto-
total por 4p, que es la superficie de esta es- mtricas necesitamos saber la eficiencia lumi-
fera imaginaria (4pr2 con radio 1). En general, nosa de la luz que estemos utilizando. Dado
tendremos que dividirla por el ngulo slido que en simulacin de materiales lo que nos
considerado, que se mide en estereorradia- importa principalmente es la relacin entre
nes, sr (la superficie de una esfera tiene por radiacin recibida y la emitida, es corriente
tanto 4p sr). Si en lugar de considerar toda obviar esta traduccin de valores radiantes a
la esfera consideramos, en el anlisis de una valores luminosos.

95
Simulacin visual de materiales

La reflexin de la luz en un punto de una es transparente a una radiacin de una de-


superficie depender por consiguiente de dos terminada frecuencia si esta profundidad es
factores, cada uno de los cuales, a su vez, mayor que su espesor. Este factor depende
implica otros dos valores, la direccin y la in- de la conductividad. Los materiales metlicos
tensidad. Como los dos factores iniciales de- tienen una conductividad no nula y en con-
penden de la direccin, la reflexin se expre- secuencia su profundidad de penetracin es
sa como una relacin entre estos dos factores pequea. El cobre, por ejemplo, en la zona de
y se expresa como una relacin entre ambas frecuencias ultravioletas, en torno a los 100
nm tiene una profundidad de penetracin de
r g Lr / Ei
0,6 nm y en la de los infrarrojos, en torno a
A esta relacin se le conoce con el nombre de los 10.000 nm, de 6 nm. Otros metales tienen
reflectividad bidireccional. Su clculo implica valores similares. Y esto se corresponde con
una funcin de cuatro variables (dos por cada el hecho de que aunque los materiales metli-
uno de los dos trminos). Como veremos cos sean opacos, si se cortan en lminas muy
ms adelante, a lo largo de los ltimos 30 o delgadas se hacen transparentes.
40 aos el progreso en simulacin de mate- Como ya he dicho, cuando una onda de
riales ha estado estrechamente ligado a los intensidad Ii penetra en un slido transpa-
diferentes mtodos de calcular esta funcin, rente, parte se refleja, con una intensidad
la funcin BRDF (Bi-directional Reflectance Ir, parte se absorbe, con una intensidad Ia, y
Distribution Function). parte se transmite, con una intensidad It. La
En general no solo hay reflejo sino que conservacin de la energa requiere que se
tambin transparencia. La transparencia de- cumpla que Ir + Ia + It = Ii. Si dividimos todo
pende del espesor y de las caractersticas de por Ii resultar que R + A + T = 1, siendo R
los materiales. La intensidad de una onda al el coeficiente de reflexin o reflectancia, A el
entrar en un medio disminuye en un factor coeficiente de absorcin o absorbancia y T
variable cuando la onda ha recorrido una de- el coeficiente de transmisin o transmitancia.
terminada profundidad de penetracin o pro- Si se lleva a cabo un anlisis de este tipo
fundidad pelicular del material. Un material para todas las frecuencias que inciden sobre
un determinado slido, se obtendr una figu-
ra como la 2.15, que muestra la distribucin
Reflejada de estos tres factores para un vidrio de color
1,0 verdoso. Si la absorcin fuera la misma en
todas las frecuencias el color sera transpa-
Absorbida rente.
0,8
Una formulacin ms precisa del modo en
que la luz se modifica al atravesar un slido
0,6 viene dada por la ley de Beer-Lambert (deno-
minada as porque fue enunciada por Johann
0,4 Lambert en 1760 y por August Beer en 1852.
Transmitida De hecho, ya haba sido anticipada por otro
fsico, Pierre Bouguer en 1729). Esta frmu-
0,2 la relaciona la absorbancia con la intensidad
incidente y transmitida, en funcin del coefi-
ciente de absorcin, el espesor del material
0,3 0,4 0,5 0,6 0,7 0,8 y un factor variable segn las versiones que
ajusta la frmula en funcin de la concentra-
Figura 2.15 Balance de la energa luminosa de un vidrio de cin del coeficiente de absorcin o de un fac-
color verdoso. tor de extincin ms genrico.

96
Materiales virtuales

Albedo. Reflectividad. Reflectancia partir de otra direccin, para una determinada


longitud de onda. El trmino bidireccional se
Los trminos que encabezan este apartado refiere a los dos ngulos involucrados. Tam-
aparecen con frecuencia en la literatura es- bin puede entenderse como la probabilidad
pecializada pero tienden a confundirse por de que un fotn se emita en una determinada
lo que ser conveniente precisarlos antes de direccin cuando llega de una direccin dada.
continuar. La funcin BRDF se defini por primera
El trmino albedo viene de la astronoma y vez en 1970 por Nicodemus (Nicodemus,
se utiliza para caracterizar a los planetas y los 1970 y Nicodemus et al. 1977) y actualmente
elementos de la propia superficie de la Tierra. est incorporada a todos los mtodos actua-
Se denomina albedo a la relacin entre la luz les de iluminacin global, por lo que es impor-
reflejada y la luz incidente. Aunque el rango tante entender sus caractersticas principales.
ideal es de 1,0 a 0,0, el albedo de los mate- Cada superficie de una escena virtual incor-
riales corrientes vara entre 0,9 (nieve) y 0,04 pora una funcin de este tipo que informa al
(carbn). El albedo medio de la Tierra es de sistema sobre cmo deben redistribuirse los
0,3. En simulacin de materiales se utiliza a rayos que llegan a un punto de dicha super-
veces para referirse al comportamiento global ficie. La mayora de los sistemas actuales in-
de la superficie de un objeto, a su coeficiente cluyen, como veremos ms adelante, alguna
medio de reflexin, principalmente en simula- variante de mtodos de Montecarlo por la que
cin de exteriores. se escogen muestras significativas de una
El trmino reflectividad viene de la fsica determinada funcin probabilstica.
y se utiliza para caracterizar la capacidad de En general se expresa como la relacin di-
una superficie para reflejar la radiacin que ferencial entre dos cantidades: Lr, que repre-
recibe de una determinada longitud de onda. sentara la radiancia reflejada, y Er, que re-
Es, por tanto, una denominacin genrica que presentara la irradiancia, el flujo incidente por
debe ser analizada para cada caso y que se unidad de rea por unidad de ngulo slido.
subdivide en varios tipos. Pues la reflectividad En el apartado anterior hemos visto los trmi-
puede ser, como veremos, especular, difusa o nos principales de esta relacin, la irradiancia
mixta y depende de diversos factores. (E) y la radiancia (L).
El trmino reflectancia se utiliza para de- La BRDF es una funcin que tiene cuatro
signar la cantidad especfica que mide la re- variables. Puede expresarse de diferentes
flectividad o la reflexin de una superficie en modos equivalentes (para una determinada
determinadas circunstancias. Se define como longitud de onda):
la relacin entre el flujo (o energa) radiante
fr(wi, wr) = fr (qi, fi, qr, fr) = dLr (wr)/ dEi (wi)
reflejado y el flujo (o energia) radiante inci-
dente. Se analizar con detalle en los aparta- en donde la funcin fr tiene como variables wi,
dos siguientes. el vector que representa la irradiancia inci-
dente en la superficie desde una determinada
La funcin BRDF direccin, y wr, el vector que representa la ra-
diancia reflejada que sale de un punto de una
La literatura especializada actual engloba superficie en una determinada direccin (es
todos los modelos que han ido surgiendo en decir que wi = (qi, fi) y wr = (qr, fr) ). O bien
los ltimos 35 aos bajo una descripcin ms (segundo trmino) puede definirse a partir de
general, la funcin de distribucin de la reflec- los ngulos incidente y reflejado, qi, qr y de los
tancia bidireccional, BRDF por sus siglas en flujos indicente y reflejado, fi, fr. O bien (ter-
ingls (bidirectional reflectance distribution cer trmino), a partir de diferencial de la canti-
function), que representa la cantidad relativa dad de luz reflejada, L(wr) y la cantidad de luz
de energa que se refleja en una direccin, a incidente E(wi). Todas estas formas pueden

97
Simulacin visual de materiales

encontrarse en la literatura sobre este tema. dades de reflectancia para cualquier direc-
La funcin BRDF cumple varias propieda- cin. Como veremos despus esto excluye
des importantes. muchas superficies anisotrpicas importantes
La primera es que si se intercambian los para las que habr que introducir parmetros
valores de wr y wi se llega al mismo resulta- adicionales.
do. Esto es lo que se denomina la reciproci- Todos los modelos de simulacin visual de
dad de Helmholtz, al haber sido observado materiales utilizan alguna variante simplifica-
por Helmholtz a mediados del siglo xix (y es da de funcin BRDF. En funcin del tipo de
la base de una serie de tcnicas actuales de simplificacin propuesta podemos clasificar
reconocimiento de objetos que se denominan estos modelos en tres categoras principales:
globalmente Helmholtz Stereopsis). a) Los modelos analticos que podemos
Una segunda propiedad importante de denominar empricos y que se basan en la
esta funcin es que, por la ley de conserva- introduccin de parmetros sin significado f-
cin de la energa, la suma normalizada de sico preciso, pero que pueden ser ajustados
las intensidades incidentes y reflejadas debe para obtener resultados adecuados. A partir
ser 1. del momento en que ha sido posible contar
No debe perderse de vista que esta for- con mediciones (vase c) tambin ha sido po-
mulacin general es vlida para una determi- sible conseguir que el ajuste sea ms preciso
nada longitud de onda, que prescinde de la por medio de comparaciones entre los resul-
polarizacin y que considera una superficie tados del modelo computacional y el modelo
isotrpica, es decir, que mantiene sus propie- real. La principal ventaja de este tipo de mo-

Lr

Ei
i
r
y

dA
i
r

Figura 2.16 Trminos fundamentales de la funcin BRDF.

98
Materiales virtuales

BRDF BTDF BSDF BSSRDF

Figura 2.17 Las funciones BRDF, BTDF, BSDF y BSSRDF.

delos es que son ms sencillos de calcular y seguirn, por orden de aparicin histrica. En
resultan ms eficaces en la prctica. todos estos modelos se prescinde de la po-
b) Los modelos analticos que podemos larizacin y de la luminiscencia y, salvo indi-
denominar fsicos y que se basan en la intro- cacin expresa, de las variaciones debidas al
duccin de parmetros con significado preci- ngulo de incidencia (factor Fresnel).
so basados en alguna versin ms o menos Pero antes de comenzar este resumen de
simplificada de la teora fsica que proporcio- modelos hay que mencionar otras funciones
na ecuaciones coherentes. En la prctica, se importantes desde el punto de vista terico
eliminan algunos parmetros o se introducen aunque sean menos utilizadas en la prctica.
algunas constantes adecuadas para hacer el
modelo ms manejable. El principal inconve- Las funciones BTDF, BSDF, BSSRDF
niente, sin embargo, es que son ms compli-
cados de calcular y resultan menos eficaces La funcin BRDF da una frmula que permi-
en la prctica. te computar la distribucin de la reflectancia
c) Los basados en mediciones de materia- para un determinado tipo de material. Como
les reales y que almacenan los resultados en ya he dicho antes, para simplificar la exposi-
tablas de valores. Estos modelos se basan cin solo he considerado el caso ms general,
en la utilizacin de aparatos especiales que y tambin ms corriente, en que el material no
permiten tomar medidas en diferentes direc- es transparente.
ciones y almacenar los resultados en tablas. Si el material es transparente hay que te-
Tienen una gran valor tanto como referencia ner en cuenta, no un hemisferio, sino toda
para comprobar la eficacia de los modelos la esfera que rodea al punto y el rayo refle-
anteriores como porque proporcionan una jado se convierte en el rayo transmitido. En
va alternativa que puede tener una crecien- estos casos se utilizara la funcin de dis-
te importancia en el futuro. Hay que destacar tribucin de la transmitancia bidireccional,
tambin que, pese a que los resultados de los BTDF por sus siglas en ingls (Bidirectional
modelos tericos deberan aproximarse ms Transmittance Distribution Function). Y la ley
a las mediciones, no siempre es as y puede principal que se aplica en estos casos es la
resultar ms fcil ajustar los parmetros de ley de Snell. La nica diferencia es que los
los modelos empricos para que se aproximen ngulos considerados estn en diferentes
a los resultados experimentales. hemisferios.
En las secciones que siguen describir en En algunos casos se utiliza una funcin
primer lugar los dos componentes bsicos, combinada para la reflexin y la transparen-
especular y difuso, que se combinan de di- cia, denominada, un tanto equvocamente,
ferentes modos en todos los modelos que funcin de distribucin de la dispersin bidi-

99
Simulacin visual de materiales

reccional, BSDF por sus siglas en ingls (Bi- casos como los citados, la luz incidente no se
directional Scattering Distribution Function) refleja directamente desde la capa externa de
que toma en consideracin la esfera que la superficie sino que la atraviesa, se refleja
rodea a un punto y combina la BRDF y la y se dispersa internamente (in-scattering), y
BTDF en una nica ecuacin. La unica di- parte de estos reflejos son absorbidos mien-
ferencia es que se consideran los valores tras que otra parte vuelven a salir al exterior,
absolutos de los senos en la formulacin de es decir, que se dispersan externamente (out-
la funcin o se reorientan las normales en la scattering).
formulacin. Para computar adecuadamente la forma
Por ltimo, hay que citar otra variante que de dispersin se necesitan conocer datos em-
se utiliza en contextos especficos: la funcin pricos sobre diferentes tipos de materiales.
de distribucin de la reflectancia de la disper- Puede encontrarse informacin adicional en
sin superficial, BSSRDF por sus siglas en las siguientes referencias (vase el captulo
ingls (Bidirectional Surface Scattering Re- correspondiente): Jensen; Jensen, Marsch-
flectance Distribution Function) que computa ner, Levoy, Hanrahan; Jensen y Donner; Kou-
el modo en que la luz se dispersa en determi- tajoki (2002).
nados medios (lquidos oleosos, leche, piel de En el captulo sobre tcnicas se proporcio-
poco espesor, ciertos tipos de mrmol, etc.). narn ejemplos adicionales sobre los shaders
Esta funcin fue introducida por Henrik Wann con que se puede contar en la actualidad para
Jensen en 2001, en Sigradi. La intencin de este tipo de simulaciones.
Jensen era desarrollar un shader fsico ms
exacto que permitiera simular de un modo
preciso la dispersin interna, que es algo que 2.4 Modelos principales para la
se da en la mayora de los materiales con la funcin BRDF
excepcin principal de los metales. Result
que esto tena ventajas tcnicas adicionales Los apartados que siguen resumen los mo-
pues los shaders que utilizaban la funcin delos principales, por orden de aparicin
BSSRDF se representaban con mayor rapi- histrica y con una terminologa y simbolo-
dez sin necesidad de recursos tcnicos arti- ga unificadas para facilitar el seguimiento
ficiosos. de esta recopilacin.
En la actualidad se utiliza principalmente Hay otros modelos importantes que no
para simular la piel humana por lo que, en incluyo pues solo pretendo describir el mar-
principio, queda fuera del campo de aplica- co terico general que conviene conocer,
cin a que va dirigido este libro. Y tambin aunque tan solo sea superficialmente, para
queda fuera del campo de aplicacin de mu- los objetivos de este libro. Entre ellos, los
chos programas de simulacin que no inclu- de Kajiya (1985), que fue quizs el prime-
yen shaders de este tipo. Pero no debe per- ro en introducir variantes anisotrpicas, el
derse de vista que muchos materiales, como de Strauss (1990), que introdujo variantes
el mrmol, el alabastro o el jade, adems de empricas importantes para simular meta-
muchos lquidos, presentan caractersticas vi- les y que simplificaban el modelo de Cook-
suales que se basan en este mismo tipo de Torrance para estos casos. O el de Banks
fenmenos. Por esta razn se incluirn algu- (1994), un modelo emprico que supona
nos ejemplos de aplicacin. En este apartado una buena aproximacin prctica mediante
me limitar a una breve introduccin terica modificaciones del modelo de Phong que
que complementa el marco de referencia ge- introducan variantes anisotrpicas. En la
neral. bibliografa se dan referencias sobre estos
Tal como se muestra en la figura 2.17, la y otros, para que el lector interesado ample
funcin BSSRDF se basa en que, en muchos esta informacin.

100
Materiales virtuales

Especularidad perfecta especular y de los modelos que siguen. La


luz reflejada vara con el coseno del ngu-
Si simplificamos al mximo la funcin BRDF lo de incidencia: IR = ILrcosq. En notacin
asumiendo una especularidad perfecta, resul- vectorial y asumiendo que L es un vector
tar que toda la luz que incide por un lado se normalizado que representa la direccin de
refleja por el otro. Por consiguiente, la funcin la luz y N un vector normalizado que repre-
ser 0 en todas direcciones excepto en la di- senta la direccin de la normal, esto puede
reccin de reflexin, es decir, en la direccin reescribirse:
en que los dos ngulos son iguales. Tendre-
IR = ILr(N.L)
mos entonces que:
que es otra notacin habitual para trabajar
fr = r si qr = qi; fr = fi + p
con superficies Lambertianas.
fr = 0 en caso contrario
La difusin perfecta puede considerarse
como un caso especial de sub-surface scat-
Difusin perfecta (superficie de Lam- tering donde la luz entra y vuelve a salir en
bert) el mismo punto, debido a la dispersin, a una
escala inapreciable.
Si volvemos a simplificar al mximo pero
asumiendo esta vez una difusin perfecta, Phong (1975)
tendremos que, para una superficie perfecta-
mente difusa (denominada superficie de Lam- El modelo de Phong (desarrollado por Bui
bert o Lambertiana, por Lambert, 1728-1777, Tuong Phong, un investigador vietnamita
que fue el primero en describir las leyes de que desarroll el modelo que lleva su nom-
la difusin perfecta) la funcin es constante bre en Utah y que muri de leucemia el mis-
y por tanto: mo ao que lo public, a los 33 aos), es una
formulacin emprica que permite asignar un
fr = r / p
valor arbitrario a la intensidad y el dimetro
pues la funcin cubre 180 (un hemisferio) del resalte especular. La figura 2.20 (izquier-
que en radianes es p. da) muestra los elementos bsicos de este
Dado que la funcin es constante, el brillo modelo que durante muchos aos ha sido
de la superficie solo depender de la direc- el ms utilizado. Si L es la direccin de inci-
cin de la luz incidente y de su intensidad dencia de la luz sobre una superficie, en un
y, por consiguiente es independiente del punto cuya normal es N, con un ngulo q, la
punto de vista, a diferencia de la reflexin direccin de especularidad perfecta vendra

N N

L
i r R L

Figura 2.18 Especularidad perfecta. Figura 2.19 Difusin perfecta.

101
Simulacin visual de materiales

rrespondientes a la direccin de visin y de

cosn
N
1.0 reflexin y n el exponente mencionado. El
producto de los dos vectores es, por tanto,
L
R
funcin directa del cos a pues V.R = |V|.|R|.
V cos a. En trminos similares a los anterio-
res, por consiguiente, la funcin BRDF pue-
-/2 0 -/2
de considerarse dada por el factor principal
(V.R)n, si bien la comparacin con otros mo-
Figura 2.20 Modelo de Phong. delos posteriores resultara equvoca debido
a que, entre otras cosas, no se normalizan
dada por R, que forma el mismo ngulo q los vectores y los coeficientes kd y ks pueden
con respecto a la normal. Si la superficie fue- escogerse con bastante libertad.
ra un objeto perfecto y la luz fuera diminuta, Lafortune et al. (vase mas adelante) re-
su reflejo solo sera visible si la direccin de formulan el modelo de Phong para adaptarlo
la visual, V, coincidiera con R o estuviera a las formalizaciones corrientes, y como intro-
muy prxima a l. Pero en casos reales, con duccin a su propia extensin del modelo del
superficies reflectantes pero no especulares, modo siguiente:
el reflejo sera percibido dentro de un deter-
fr (wi, wr) = rsCscosna
minado ngulo a.
Cuanto ms brillante fuese la superficie donde Cs sera un factor de normalizacin
ms pequea sera la zona en que el reflejo dado por (n + 2) / 2p. Esta reformulacin tam-
sera perceptible y viceversa. Phong decidi bin puede escribirse vectorialmente utilizan-
hacer que la intensidad reflejada fuera una do el factor principal que hemos dado ante-
funcin de (cos a)n, con n 200 para superfi- riormente, as:
cies muy brillantes (y tendiendo a infinito para
fr (wi, wr) = rsCs(V.R)n
superficies muy especulares) y n mucho ms
pequeo para superficies mates (tendiendo Las implementaciones posteriores del modelo
a 0 para superficies completamente mates). de Phong, a medida que fueron apareciendo
La figura 2.20 (derecha) muestra como vara modelos ms coherentes desde el punto de
este valor con el ngulo y con el valor de n. vista fsico y a medida que se empezaron a
La formulacin inicial era la siguiente: utilizar sistemas de iluminacin avanzada,
han utilizado preferentemente esta frmula.
I = Iaka + dId + sIs
El lector interesado en profundizar en es-
donde I era la intensidad resultante perci- tos temas puede ver los artculos de Lewis
bida, Iaka era la contribucin ambiental (un (1993), para un anlisis ms preciso de las
factor corriente en esa poca para simular carencias de este y otros modelos desde el
la luz reflejada por los objetos circundantes punto de vista fsico, el modelo de Lafortune
que no se podra simular adecuadamente (1997), que se resume ms adelante y que
hasta que no aparecieran los mtodos de desarrolla el modelo de Phong, o el artculo
iluminacin avanzada, unos 10 aos des- de Lawrence (2002), para un anlisis de la
pus), dId la contribucin difusa que se ob- adecuacin del modelo de Phong a sistemas
tena mediante el factor d = kd.max (0, N.L) de clculo de iluminacin basados en mto-
y sIs, el ltimo trmino, que es el que nos dos de Montecarlo.
interesa, la contribucin especular que ve-
na dado por el factor s = ks(V.R)n, siendo ks Blinn (1977)
el factor de reflexividad de la superficie que
podemos hacer equivalente al valor r de las El modelo propuesto por Blinn dos aos des-
frmulas anteriores, y V, R los vectores co- pus es una variante del de Phong, que utiliza

102
Materiales virtuales

el vector H, bisector de L y V (vase la figura ce y Sparrow en 1967. El tipo de distribucin


2.21) y que se calculara mediante la simple propuesta por Blinn era menos eficiente que
ecuacin el propuesto pocos aos despus y que se
conoce como el modelo de Cook y Torrance.
H = (L + V) / |L + V|
Esto hace que el clculo sea ms rpido Cook y Torrance (1982)
cuando las luces y el observador estn en
el infinito pues con la formulacin de Phong Este modelo deriva de modelos utilizados
hay que recalcular el ngulo R.V continua- en la comunidad de fsicos (una formulacin
mente mientras que en estos casos H sera inicial se public en artculos de Torrance y
constante. Sparrow en 1966 y 1967, en el Journal of the
En la formulacin de Blinn se puede subs- Optical Society of America). A diferencia del
tituir el trmino especular R.V por el nuevo de Phong, que busca un resultado convicente
trmino N.H. El vector H es tambin la direc- y adapta los parmetros al resultado busca-
cin de mxima reflexin especular pues si do, este modelo buscaba una simulacin real
H coincidiera con N, entonces R coincidira basada en una modelizacin de la superficie
con V. Hay que tener en cuenta que el factor como una serie de microfacetas, que luego
emprico n se aplica a un ngulo que no es sera repetida con diversas variantes. Cada
exactamente el mismo, por lo que los resul- faceta se considera como un reflector isotr-
tados son ligeramente diferentes (de hecho, pico perfecto.
son algo ms precisos con la formulacin de Se desarroll por Robert Cook, que traba-
Blinn). En cualquier caso el trmino especu- jaba en aquella poca en Lucasfilm, y Ken
lar sera: Torrance, que trabajaba en la Universidad de
Cornell. Lo presentaron conjuntamente en un
(N.H)n
famoso artculo publicado en 1982 (vase
Por otra parte, en el mismo artculo, Blinn Cook, R; Torrance, K., 1982). La idea prin-
plantea la alternativa de desarrollar un mo- cipal es simular la rugosidad de la superficie
delo ms adecuado a los materiales reales por medio de una serie de microfacetas re-
a partir de una distribucin de microfacetas gulares, simtricas, en forma de V y de ta-
basado en el modelo propuesto por Torran- maos dados por una determinada funcin
de distribucin.
Las facetas se consideran como reflecto-
res perfectos, de tamaos cercanos a los de
N las longitudes de onda de la luz, con una dis-
tribucin estadstica que simplifica los clculo,
H y se considera tan solo el efecto de oclusin
entre las facetas.
R La funcin bidireccional contiene cinco va-
L
riables
V D(w h )G(w i ,w r )Fr (w r )
fr (w i ,w r ) =
4cosq i cosq r
donde:

D es una funcin de distribucin estadsti-


ca de las microfacetas. Hay varios mode-
los posibles. Cook y Torrance utilizaron la
Figura 2.21 Modelo de Blinn. distribucin de Beckmann: D(N.H) = (1 / 4

103
Simulacin visual de materiales

m2 (N.H)4) e exp (-(1-(N.H)2)/(N.H)2.m2. En Y, en segundo lugar, en que, en este mode-


esta frmula, m es una constante [0,1] que lo, se incorpora una consecuencia importante
controla la suavidad de la superficie. de las frmulas de Fresnel: que el color y la
G es un factor geomtrico de atenuacin intensidad de la reflexin se modifican al va-
que representa la oclusin de parte de las riar el ngulo de incidencia de la luz. El desa-
facetas con respecto a la luz incidente o rrollo de las frmulas de Fresnel muestra que
con respecto al punto de vista. Esto se re- si la luz incide perpendicularmente a la super-
presenta por G(N.wi, N.H, N.wo) = min (1, ficie, el factor F y, en consecuencia, la reflec-
(2(N.H) (N.wo) / w.H), (2(N.H) (N.wi) / w.H), tancia, dependen del ndice de refraccin del
donde H es el ngulo mitad entre wi y wo material. Pero cuando el ngulo de incidencia
por lo que (H.wi) = (H.wo). se aproxima a 90, es decir, cuando la luz es
F es el factor Fresnel para una determina- rasante con respecto a la superficie, el factor
da longitud de onda, l y que depende del F y la reflectancia se aproximan a 1 y dejan
ngulo de incidencia de la luz, qi. de depender del ndice de refraccin. Esto es
El valor de cos(qi) da cuenta de la can- lo que ocurre con los metales, en los que para
tidad de superficie (macroscpica) que ngulos extremos la especularidad es mxi-
es visible para la luz. Este factor tambin ma y no depende del color del material.
puede venir dado, en otras formulacio- En el modelo de Phong no se da esta di-
nes, por N.L. ferencia. El modelo de Phong es adecuado
El valor de cos(qr) da cuenta de la cantidad para representar un material pintado con
de superficie (macroscpica) que es visible pintura plstica pues, en la realidad, las
para el punto de vista. Este factor tambin partculas de este tipo de acabado estn
puede venir dado, en otras formulaciones embebidas en un medio transparente que
por N.V. dispersan la luz de un modo que anula la
Las diferencias principales con respecto influencia del ngulo recogida en las frmu-
a otros modelos estn, por tanto, en primer las de Fresnel.
lugar, en el cmputo de la variable D. Ya he Las frmulas de Fresnel permiten calcular
mencionado que Blinn tambin se bas en el el ndice de refraccin para diferentes longi-
modelo de Torrance y Sparrow pero con una tudes de onda, pero el clculo es complicado
distribucin gaussiana. Cook y Torrance la y retarda el proceso. Por esta razn se utiliza
substituyeron por otra ms eficaz (elaborada un valor medio de F derivado de un valor me-
por P. Beckman en 1963). dio del ndice de refraccin. Con este valor se

L N H N H N H
V
L V
V L

sin oclusin oclusin parcial de V oclusin parcial de L

Figura 2.22 Modelo de Cook y Torrance.

104
Materiales virtuales

interpola entre el color del material a 0 y el no ser paralelos a escala de toda la superficie
color a 90 para el que F es 1 y el color del sobre la que, por ejemplo, podran formar cr-
material es el correspondiente a la luz. culos concntricos). Esta simulacin resulta
efectiva para casos caractersticos como los
Poulin y Fournier (1990). Anisotropa que hemos comentado. Es importante re-
marcar que la geometra, como ocurre en la
Los modelos anteriores parten del supues- realidad, no es visible: lo que vemos son los
to de que el material es isotrpico, lo que no reflejos que destacan y que nos hacen intuir
suele ser cierto en un nmero importante de la geometra.
casos. Un metal bruido en una direccin prin- Los cilindros pueden ser tanto positivos,
cipal, las superficies acabadas por medio de representando protuberancias (caso del sa-
tratamientos superficiales en una direccin tn), o negativos (caso de los surcos dejados
dominante, las telas de satn en las que la por un cepillo sobre el metal). Hay dos par-
urdimbre resalta sobre la piel, son ejemplos metros que permiten modificar las caracte-
corrientes de superficies anisotrpicas. Pero rsticas de la superficie: la distancia d, entre
otro tanto ocurre a una escala mayor con las centros de cilindros, y la altura h, a la que so-
superficies del agua, de las nubes, de la hier- bresalen o se hunden con respecto al plano
ba o de los bosques vistos a gran distancia, de la superficie.
de la tierra labrada o moldeada por el viento, El primer parmetro afecta a la anisotro-
etc. En todos estos casos, a gran escala, los pa del modo siguiente. Si suponemos un ra-
detalles geomtricos no pueden simularse di- dio 1 para los cilindros, la anisotropa, como
rectamente, lo que sera prohibitivo, sino que puede observarse en la figura 2.23, ser nula
deben aproximarse por medio de modelos que para d = 0 y mxima para d = 2 y, para d >
puedan simular virtualmente las asimetras por 2, aparecer un suelo entre los cilindros. En
distribuciones estadsticas adecuadas. este caso la anisotropa ser una combina-
Uno de los primeros modelo de referencia cion entre las normales, variables para los
que tuvo en cuenta la anisotropa es el mode- cilindros y la normal constante correspon-
lo propuesto por Pierre Poulin y Alain Fournier diente al suelo. Un valor bajo de d es ade-
en un artculo de 1990. Antes de este artculo, cuado para superficies con anisotropa poco
Kajiya haba propuesto un primer modelo ani-
sotrpico (Kajiya, 1985) basado en la teora de
la difraccin de Kirchoff, que Poulin y Fournier
citan en la introduccin, indicando tambin sus
importantes restricciones. Otra referencia im-
portante citada por los autores es la de Cabral d
et al. (1987) que almacenaban los resultados
de reflectancia en una tabla pero representn-
dolas por medio de spherical harmonics, una d
variante importante pero ms costosa. Otra
referencia ms cercana, pues introduce la idea
de simular la anisotropa por medio de cilin-
dros, fue debida a G.Miller, en 1988, pero que d
tambin implicaba limitaciones importantes.
El modelo de Poulin y Fournier se basa en
representacin de las alteraciones geomtri- h
cas locales que dan lugar a reflejos anisotr-
picos por medio de pequeos cilindros, alar-
gados y paralelos localmente (aunque puedan Figura 2.23 Modelo de Poulin y Fournier.

105
Simulacin visual de materiales

pronunciada como las superficies bruidas.


Un valor alto de d es adecuado para super-
ficies con anisotropa muy marcada como
telas muy rugosas o superficies naturales.
Pueden simularse techos metlicos ondula- N
dos con valores muy altos.
El segundo parmetro, h, vara entre 0 y 1 L
sp
y afecta a la altura a la que puede elevarse el ud
suelo de tal modo que pueda modificarse la
influencia del primero. Un valor alto de h re- dd
duce la variacin de las normales y aumenta
la importancia relativa de las normales corres-
pondientes al suelo. Y viceversa.
A partir de aqu se llega a una serie de
frmulas similares a las del modelo de To-
rrance-Sparrow que incluyen los efectos de
sombreado y oclusin que en aquel modelo
se integraban en el parmetro G. De hecho,
puede considerarse este modelo como una
variante del de Torrance/Sparrow en donde
las microfacetas son de diferente tipo. reflexiones
superficiales y
He-Torrance-Sillion-Greenberg (HTSG, reflexiones subsuperficiales
superficiales mltiples
1991) primarias

Estos autores desarrollaron un modelo anal-


tico basado en la ptica fsica y en las teoras
de difraccin de Kirchhoff. Se trata de un mo-
delo que extiende el modelo de Coook y To-
rrance, basado en la ptica geomtrica para
incluir fenmenos de difraccin, interferencia
y polarizacin. Es un modelo importante des-
de el punto de vista terico pero poco utiliza-
do en la prctica.
Bsicamente distingue tres tipos de re- Figura 2.24 Modelo HTGS.
flexin: especularidad ideal (sp), difusa direc-
cional (dd) y uniformemente difusa (ud). Los el anlisis de las reflexiones y subreflexiones
dos primeros componentes corresponden (vase la figura) a que da lugar la microgeo-
a las reflexiones primarias (vase la figura metra de la superficie considerada. Esta geo-
2.24) y el tercero, a la dispersin debida a la metra se representa por medio de funciones
difraccin por la rugosidad de la superficie. La de distribucin estadstica y se basa en dos
funcin BRDF se divide en tres partes, a car- parmetros principales. Con el parmetro s0
go de cada una de estas formas de reflexin. se representa la rugosidad de la superficie
Es decir: (de modo similar al parmetro m en el mode-
lo de Cook y Torrance). Con el parmetro t
fr = fr,sp + fr,ud + fr, dd
se representa la longitud de autocorrelacin,
El modelo se basa, como el de Cook y To- esto es, la distancia entre picos de la superfi-
rrance pero de un modo ms elaborado, en cie. A partir de aqu se desarrollan una serie

106
Materiales virtuales

de ecuaciones muy complejas que no voy a La funcin BRDF de la versin isotrpica


incluir aqu. El lector interesado las puede en- se obtiene a partir de la frmula siguiente:
contrar en el artculo original (vanse las refe-
rencias) o en el resumen incluido en la obra d 1 exp tan2 ( / 2 )
fr = + s
de Glassner (1995), en el apartado 15.5, pp. cos i cos r 4 2
744-747.
donde rd y rs son los coeficientes de re-
Ward (1992) flexin difusa y especular respectivamente y
dependen de la longitud de onda por lo que
El modelo propuesto por Gregory Ward en en principio podran incorporar el factor de
1992 contiene dos variantes, una isotrpica Fresnel; qi y qr son los ngulos de incidencia
y otra anisotrpica. Al igual que el de Phong y reflexin, d es el ngulo entre N y H (vase
es un modelo emprico, no fsico. Y su objeti- la figura 2.25) y a es la desviacin estndar
vo explcito era encontrar la frmula empirica (RMS, Root Mean Square) de la pendiente de
ms sencilla que diera resultados satisfacto- la superficie.
rios. Los resultados se contrastaron con las El modelo viene a ser similar al de Phong
mediciones dadas por un gonioreflectmetro. pero, a diferencia de este, sus desviaciones
En este modelo se utiliza una distribucin con respecto a los modelos fsicos son me-
gaussiana para la distribucin geomtrica de nores. As, en la mayora de las aplicaciones
microfacetas de la superficie (la distribucin del modelo de Phong, las dos propiedades
ms sencilla utilizada en modelos previos al de principales de la funcin BRDF, la simetra
Cook y Torrance, que asume variaciones mni- con respecto a la incidencia y la reflexin y la
mas en la altura local de las facetas). Se pres- conservacin de la energa, no se cumplen,
cinde tambin del trmino de Fresnel. En lugar mientras que en este modelo s.
de estos factores, Ward utiliza un nico factor La funcin BRDF de la versin anisotr-
de normalizacin (1/4pa2 en la frmula que si- pica introduce el ngulo azimutal f, corres-
gue) que asegura una integracin regular de la pondiente a la direccin de incidencia de la
distribucin de reflectancias sobre el hemisferio luz y divide el parmetro a, que representa la
que rodea el punto de la superficie a calcular. desviacin estndar de la pendiente de la su-
perficie, en dos parmetros, ax, ay que repre-
sentan la misma desviacin pero desdoblada
en las dos direcciones principales. La frmula
modificada queda as:
N

tan2 (cos2 +sin2 )
H 2
2
d 1 e x y

fr = + s
cos i cos r 4 x y
L R

V donde rd, rs, qi, 0r, d son, como antes, los co-
eficientes de reflexin difusa y especular, qi y
qr los ngulos de incidencia y reflexin y d el
ngulo entre N y H. El parmetro f es el ngu-
lo azimutal correspondiente a la direccin de
incidencia, ax es la desviacin estndar de la
pendiente de la superficie en la direccin del
eje X, ay es la desviacin estndar de la pen-
Figura 2.25 Modelo de Ward. diente de la superficie en la direccin del eje Y.

107
Simulacin visual de materiales

Oren-Nayar (1993) forma cavidades simtricas en forma de V


asumida en el modelo de Torrance-Sparroy y
El modelo de Lambert da resultados incorrec- otros, que va unida a un tipo de distribucin
tos cuando se aplica a superficies difusas pero estadstica que, en los casos ms sencillos,
rugosas. Una esfera de reflexividad uniforme, es gaussiana.
iluminada frontalmente, muestra, en el mode- La frmula propuesta es:
lo de Lambert, los bordes ms oscuros que la

parte central. Sin embargo una esfera real, ru- fr (w i ,w r ) = (A + Bmax(0,cos( i r )sin tan )
gosa, tiene un aspecto plano, con los bordes
tan luminosos como la parte central debido a donde:
que la intensidad de la reflexin es mayor en
la direccin del observador. Un ejemplo noto- A = 1 - 0.5(s 2/(s 2 + 0,33)
rio es la Luna que aparece plana cuando hay B = 1 - 0,45(s 2/(s 2 + 0,09)
luna llena (es decir cuando est iluminada por a = max(qi, qr)
el Sol sin que la Tierra le haga sombra). De b = min(qi, qr)
hecho, gran parte del trabajo previo, que se
remonta a alrededor de 100 aos, en que se Como en los casos anteriores, r es el al-
basa este modelo, ha estado motivado por bedo de la superficie. Y s es un parmetro
anlisis de la superficie de la Luna. que determina la rugosidad de la superficie y
La figura 2.26 da una explicacin intutiva que vara entre 0 y 1. En el caso de que s = 0,
de este fenmeno. Si se analiza una distribu- resulta que A = 1 y B = 0 con lo que la frmula
cin de microfacetas como la utilizada en el se reduce a:
modelo de Cook y Torrance (en la que tam-
fr(wi,wr) = r/p
bin se basa este modelo), se puede com-
probar que la reflexin es ms intensa desde Que es la del modelo de Lambert que ya
el punto de vista del observador cuando este hemos visto.
punto de vista coincide con la direccin de la
fuente de luz, debido a que la orientacin de Lafortune et al. (1997)
las microfacetas favorece la reflexin en esta
direccin. Sin embargo los modelos propues- El modelo propuesto por Eric Lafortune, Sing-
tos hasta la fecha no tenan en cuenta este Choong Foo, Kenneth Torrance y Donald Gre-
hecho a la hora de calcular la contribucin del enberg, debe entenderse en un doble contexto.
factor difuso o lambertiano. Por un lado, en una situacin en que, pese a los
El modelo propuesto por Michael Oren y grandes avances tericos, el modelo de Phong,
Shree Nayyar corrige esta limitacin y, por con todas sus limitaciones, segua siendo el
esta razn, es ms adecuado para simular mtodo ms utilizado en la prctica debido a
telas o superficies mates con cierto grado su sencillez y a su eficacia. Por otro lado, en
de rugosidad. Puede ser considerado como una situacin en que se estaba avanzando en
una generalizacin del modelo de Lambert. el campo de las mediciones reales y era factible
Se basa en la estructura de microfacetas en refinar el modelo emprico de Phong para ajus-
tarlo mejor a estas mediciones.
El ms joven de los cuatro autores (los
otros tres ya eran nombres ilustres en la in-
L V V

vestigacin en este campo), presentaba, ese


+ bri + bri + bri
mismo ao, una tesis de mster precisamen-
te sobre este tema: A gonioreflectometer
llo llo llo llo llo llo
- bri - bri - bri

for measuring the bidirectional reflectance of


Figura 2.26 Modelo de Oren-Nayar. materials for use in illumination computations

108
Materiales virtuales

(Masters thesis, Cornell University, Ithaca, una reformulacin del algoritmo de Phong,
Nueva York, julio de 1997). que tambin hemos visto anteriormente (re-
El propsito de este algoritmo era, por tan- escrita en los mismos trminos que estamos
to, mejorar los resultados del de Phong para utilizando para otros algoritmos: fr (wi, wr) =
adecuarlo a las mediciones reales. En parti- rsCs(V.R)n) se llega a la siguiente frmula:
cular, los autores hacen ver algunas discre-
fr(wi, wr) = rs(Cxwixwrx+ Cywiywry+ Czwizwrz)n
pancias notables con lo que ocurre en la rea-
lidad. Si se representa una escena con una en donde Cx, Cy, Cz son factores de norma-
superficie relativamente brillante, a medida lizacin en tres dimensiones que permiten
que el ngulo de visin se hace ms rasante, ajustes ms precisos y que incluyen la ani-
la especularidad decrece. Pero en la realidad, sotropa (el caso isotrpico vendra dado por
como es fcil comprobar, sucede justamente Cx=Cy) y en donde el modelo de Phong sera
todo lo contrario: a medida que el ngulo se un caso particular de este modelo ms gene-
hace ms rasante, la especularidad aumenta ral en el que
y el detalle de la textura se pierde.
Esto ya se haba tenido en cuenta en los Cx = Cy = Cz = n Cs
algoritmos previos pero la respuesta haba
sido, como ya hemos visto, intentar mejorar La figura 2.27 muestra como el ajuste de
el modelo terico para acercarlo al comporta- estos parmetros permite modificar el modo
miento fsico real. Lo que se propuso este ar- en que la reflexin especular aumenta para
tculo fue mantener las ventajas de una apro- ngulos ms rasantes, uno de los problemas
ximacin emprica pero buscando adecuarlo principales que presentaba el modelo de
mejor a los datos reales. Para ello, a partir de Phong que inclua un nico lbulo. La BRDF

1 0 1 1 0 1

1,0 1,0

s ()/s s ()/s

0 20 40 60 80 0 20 40 60 80

Figura 2.27 Modelo de Lafortune. Diagramas polares. A la izquierda, modelo clsico de Phong con rs = 0,2, n = 20 y un trmino
lambertiano rd = 0,8, para ngulos de incidencia de 0, 30 y 60. El diagrama inferior muestra la disminucin relativa del albedo del
trmino direccional/difuso en funcin del ngulo de incidencia. A la derecha, modelo generalizado con rs = 0,2, n = 20, Cz/Cx = 0,95 y
un trmino lambertiano rd = 0,8, para ngulos de incidencia de 0, 30 y 60. El diagrama inferior muestra como el albedo del trmino
direccional/difuso disminuye solo para ngulos de incidencia muy grandes. Adaptado de Lafortune et al. (1997).

109
Simulacin visual de materiales

duce a cero, en el caso de superficies mates


el trmino especular se mantiene pero con
valores muy bajos, y en el caso de superfi-
cies brillantes los dos trminos se utilizan
con valores variables segn los casos. Una
caracterstica notable de este mtodo es que
la evaluacin del componente difuso es ms
precisa y elaborada que en modelos previos.
El modelo presupone que el material tiene
Figura 2.28 Modelo de Lafortune. Diagrama polar que muestra
dos capas: una superior, pulida, muy reflec-
la superposicin de tres lbulos caractersticos del modelo de
Lafortune, junto con un componente difuso uniforme, en lnea tante, y otra inferior, el substrato propio del
ms fina, y del resultado global, en lnea ms gruesa. material. La figura 2.29 ilustra el modo en
que, con ngulos no rasantes, el reflejo es
una combinacin del componente difuso y el
obtenida con este mtodo puede considerar- componente especular mientras que a partir
se como la suma de mltiples lbulos de tipo de un cierto ngulo solo acta el componente
Phong. La tercera figura, 2.28, muestra como especular.
un ajuste adecuado de los lbulos permite si- El modelo depende de cuatro parmetros:
mular prcticamente cualquier tipo de distri- a) Rs, que controla la reflectancia especu-
bucin. lar con ngulos de incidencia normales de
la capa superior, b) Rd, que controla la re-
Ashikhmin y Shirley (2000) flectancia difusa del substrato, c) nu, un ex-
ponente similar al de Phong que controla la
El modelo propuesto por Michael Ashikmin y forma del lbulo especular en la direccin u,
Peter Shirley en 2000 y 2002 es un modelo d) nd, un exponente similar al anterior para
emprico, inspirado en el modelo de Ward de la direccin v. Los vectores U, V forman una
1992, y que tiene ventajas importantes sobre base ortonormal con N, la normal a la su-
otros modelos empricos anteriores: cumple perficie en el punto considerado. Si nu = nv
las leyes de conservacin de energa y re- el material es isotrpico. El rango de valo-
ciprocidad, permite un control directo y muy res de nu y nv es de 0 a 10.000. El diagrama
eficaz de la anisotropa, utiliza parmetros in- de la figura 2.29, derecha, muestra el modo
tuitivos, da un buen control del efecto Fresnel en que actan estos exponentes: si la distri-
combinado con un trmino difuso no constan- bucin de las microfacetas se orienta en la
te que puede decrecer para ngulos de visin direccin u o en la direccin v, se toma en
rasante, algo que ocurre en la realidad pero cuenta uno de estos exponentes. Con otras
que no se cumpla en los modelos anteriores orientaciones, el exponente se obtendra en-
y, por aadidura, se adapta bien a mtodos contrando el valor correspondiente al ngulo
de Montecarlo que desde haca ya unos aos azimutal f.
se haban convertido en el mtodo principal Las ecuaciones son las siguientes (los tr-
de clculo de sistemas de iluminacin avan- minos utilizados por los autores son k1, k2 en
zada. Otra diferencia importante es que, al lugar de wi, wr, que mantengo para facilitar la
igual que el modelo de Ward, est desarro- comparacin con otros BRDF y r en lugar de
llado a partir de comprobaciones con medi- fr.; otras versiones de este artculo utilizan los
ciones de materiales reales, principalmente trminos L, V):
metales y plsticos.
fr(wi,wr) = frs(wi,wr) + fds(wi,wr)
La funcin BRDF es una suma clsica de
un trmino difuso y un trmino especular. En donde la ecuacin correspondiente al trmino
el caso de metales el trmino difuso se re- especular es:

110
Materiales virtuales

nv
enviar la luz en una determinada direccin y
L V
L V n recoger la reflectancia en otra direccin.

nu
La figura 2.30 muestra un ejemplo simple
de un aparato de estas caractersticas. Consta
bsicamente de una plataforma giratoria don-
de se coloca la muestra a medir, una fuente de
Figura 2.29 Modelo de Ashikhmin y Shirley. luz que puede estar incorporado al propio dis-
positivo, como en la figura, pero que tambin
n cos2 +nv sin2 puede enviarse desde un foco externo situado
(nu +1)(nv +1) (N.H) u
s = F(H.W ) con precisin con respecto al dispositivo y un
8 (H.W )max((N.Wi)(N.Wr )) sensor o detector de reflectancias. Modifican-
do los ngulos de emisin y de recepcin se
y la correspondiente al trmino difuso: pueden elaborar diagramas del modo en que
5 5 la reflectancia cambia en cada caso.
28Rd N.Wi N.Wr Sin embargo, el nmero de tomas nece-
d = (1 Rs ) 1 1 1 1
23 2 2 sarias requiere mtodos complementarios

para interpolar adecuadamente los datos. Si
donde Rs, Rd, nu, nv son los trminos citados la resolucin angular fuera de 0,5, el nmero
ms arriba, N y H son los vectores corres- de medidas necesarias sera de ms de 45
pondientes a la normal a la superficie y al millones. Dado que esto es impracticable,
ngulo mitad entre L y V, f es el ngulo azi- la pregunta crucial que hay que hacerse es
mutal que tambin hemos visto en modelos cul debe ser la resolucin mnima para que
anteriores, Wi, Wr son los vectores corres- la muestra de datos sea significativa y pueda
pondientes a la direccin de incidencia L y ser tratada posteriormente, de modo que se
salida V, y F es el trmino de Fresnel que acerque suficientemente al caso real?
los autores utilizan mediante una frmula Pero esta pregunta tampoco tiene fcil res-
aproximada que no incluyo y que se puede puesta pues las distribuciones de reflectan-
encontrar en el artculo original. cia de muchos materiales son notoriamente
complejas. Es necesario contar con algunas
BRDF obtenida por mediciones funciones bsicas, como en los mtodos pro-
puestos por Matusik (2003) y, en cualquier
La alternativa a obtener la funcin BRDF caso, el nmero de datos requeridos sigue
por medios analticos es obtenerla a partir siendo muy elevado.
de mediciones, tomando medidas sistem- Estos datos se almacenan para cada ma-
ticas de una muestra real. Esto es bastante terial, lo que plantea el problema adicional
complicado desde un punto de vista tcnico de almacenamiento que se superpone al de
y puede llevar, como de hecho ha llevado, a tratamiento de los datos. La utilizacin directa
importantes discrepancias en los resultados. de los datos no es prctica porque requiere
Una de las primeras propuestas fue debida a
Ward que, en el mismo artculo que he citado
y en que se propona un modelo concreto de
BRDF (1992), presentaba un mtodo para ob-
tener valores por medio de un reflectofotme-
tro alternativo. El mtodo clsico para obtener
estos valores es por medio de un gonioreflec-
tmetro o gonioespectrmetro (de gonia, n-
gulo en griego, una variante del sextante cl-
sico que se utiliza para medir ngulos) para Figura 2.30 Esquema de un gonioreflectmetro.

111
Simulacin visual de materiales

mucha memoria. El modelo basado en me- La funcin BTF


diciones propuesto por Matusik, por ejemplo,
requiere del orden de 17 mb por material, lo Estos mtodos de medicin incluyen tambin
que en una escena con varios cientos de ma- la medicin de la variacin espacial de la re-
teriales supondra una carga excesiva. flectancia, es decir, la textura.
Se han propuesto mtodos de representa- De aqu ha surgido una funcin adicional,
cin que permitan comprimir adecuadamente la funcin bidireccional de textura o BTF por
la informacin almacenada en grandes canti- sus siglas en ingls (Bidirectional Texture
dades de puntos. Cuatro mtodos han mos- Function). Los primeros trabajos en esta rea
trado ser suficientemente eficaces: splines, se remontan a finales del siglo pasado, vase
spherical harmonics, wavelets y polinomios Dana et al. (1999) o Kautz y Seidel (2000),
de Zernike. Otros mtodos de inters son los Suykens et al. (2003), McAllister et al. (2002).
propuestos por Lawrence et al. (2004) basa- La funcin BTF es una funcin de 6 di-
dos en la factorizacin de datos BRDF, lo que mensiones que depende, por un lado, como
tiene ventajas para ciertos mtodos de com- la funcin BRDF, de la direccin del punto de
putacin, como los basados en importance vista y del ngulo de iluminacin y, por aadi-
sampling. Sin embargo, se pierde precisin dura, de las coordenadas x, y de las texturas
con respecto a los datos originales. planas asociadas al material en cuestin. Los
Por ahora ninguno de estos mtodos pa- valores de esta funcin se obtienen de varios
rece ser suficientemente eficaz, por lo que el miles de imgenes tomadas de la muestra del
principal uso que se ha dado hasta ahora a material de que se trate, a partir de diferentes
este tipo de mediciones es que sirvan como combinaciones de iluminacin y observacin.
referencia para comparar los resultados y Estas imgenes se procesan y se combinan
comprobar la precisin de modelos ms sen- con varios mtodos que an estn en fase de
cillos y ms utilizables en la prctica. investigacin para llegar a resultados maneja-
En cualquier caso, hay varias universidades bles en la prctica.
y laboratorios que han emprendido la labor de En Bonn hay una base de datos BTF, ini-
medir y catalogar materiales con alguna varian- ciada en 2002 y basada en 6 materiales y
te de estos mtodos. Los principales son los 6.561 combinaciones de diferentes puntos de
siguientes. En el laboratorio de Cornell se han vista y direcciones de luz. Vase Bonn en las
tomado medidas de diversos materiales y los referencias.
resultados pueden consultarse directamente Aunque este tema corresponde propia-
por internet (vase Cornell en las referencias). mente a la seccin siguiente lo incluyo aqu
En Columbia y Utrecht se ha creado una base porque por ahora tiene ms inters terico
de mediciones de unos 60 materiales a partir que prctico y el tema principal es la posibili-
de 200 tomas (diferentes direcciones de obser- dad de obtener funciones ligadas a tomas de
vacin e iluminacin) para reproducir la BRDF datos reales.
de estas muestras de materiales. Vase Cu-
ret (Columbia-Utrecht) en las referencias. Una
tercera referencia importante es el NIST (Na- 2.5 Simulacin de texturas. Mto-
tional Institute of Standards and Technology) dos principales
uno de cuyos muchos proyectos est tambin
dedicado a este tema en conexin, entre otras, Tipos de texturas y tipos de aplica-
con una base de datos creada en Oregn, la ciones
Oregon BRDF Library (OBL), que incluye una
amplia coleccin de funciones BRDF gracias La palabra textura, como ya hemos visto en
a la colaboracin de fsicos y especialistas en el captulo anterior, se aplica en dos sentidos
computacin grfica. principales, como texturas planas que se ca-

112
Materiales virtuales

racterizan porque no hay variacin geomtri- detalle. El segundo consume ms recursos y


ca local pero s variacin de absorcin (color), no funciona igual de bien con todos los pro-
y texturas rugosas en las que ocurre bsica- gramas. Es recomendable para aquellos ca-
mente lo contrario: puede no haber variacin sos en los que el relieve va a verse en primer
de color pero hay variacin geomtrica que plano, con suficiente detalle. El tercero solo
modifica el reflejo. est justificado en casos en los que el detalle
Las texturas planas se simulan por medio se va a ver muy de cerca.
de proyecciones de imgenes planas. Son las Las texturas se utilizan para una variedad
ms fciles de simular y las que dan resulta- de aplicaciones que tambin se analizarn en
dos ms satisfactorios. Sin embargo hay que los captulos siguientes. Las principales son
tener en cuenta varios aspectos. Primero, el las siguientes:
trmino textura plana es una descripcin de Modificacin del color local o color difu-
variacin local a pequea escala, que vale so. En el caso ms corriente se produce una
tanto para un muro plano como para un muro simple substitucin: el color dado por los pa-
curvo. Pero el mtodo de proyeccin no ser rmetros bsicos del material asignado a la
el mismo en los dos casos. Segundo, la reso- superficie se substituye por el color dado por
lucin de la imagen que utilicemos debe ser la textura.
adecuada, esto es, ni demasiado grande Modificacin del color o la intensidad espe-
ni demasiado pequea. Pero no es posible cular. Es una variante del caso anterior, para
dar una respuesta sencilla de lo que quiere superficies reflectantes, en donde la textura
decir grande o pequea. En tercer lugar, si se aplica solo a las partes brillantes (para si-
la textura abarca una superficie muy grande, mular efectos de reflexin del entorno) o se
tendremos que hacer todo lo posible para po- utiliza para modificar otras caractersticas del
der abarcarla con una textura ms pequea reflejo.
pero que se repita y, al mismo tiempo, hacer Modificacin del relieve. En este caso el
todo lo posible para evitar que estas repeticio- mapa se utiliza para alterar la geometra de la
nes sean visibles. Estos problemas tcnicos superficie de diversos modos tal como se ha
caractersticos se abordarn con ms detalle avanzado antes.
en los captulos siguientes. Modificacin de la transparencia. Si el
Las texturas rugosas se pueden simular mapa incorpora un canal alfa (un cuarto ca-
de tres modos principales. Primero, mediante nal aadido a los tres primarios, RGB) los
una simulacin del relieve al hacer el render, valores de este canal pueden utilizarse para
es decir, procesando el resultado en la pro- anular los valores superficiales de modo que
pia imagen, sin modificar la geometra de la se tengan en cuenta los de cualquier otra su-
escena. Esto se hace superponiendo a la tex- perficie que est en la misma lnea de repre-
tura un tipo especial de mapa de proyeccin sentacin.
denominado mapa de relieve que, como ve- Creacin de Lightmaps. En aplicaciones
remos, puede ser de varios tipos. Segundo, interactivas, principalmente en juegos de v-
mediante una simulacin ligada a un mapa deo, no es posible llevar a cabo un clculo de
que lleva a cabo una modificacin transitoria iluminacin de la escena a la velocidad reque-
de la geometra del objeto durante la repre- rida si la escena debe modificarse con rapidez
sentacin de la escena, pero que no altera la para adaptarse a la interaccin con el usuario.
geometra de la escena de modo permanen- La solucin es activar un nico clculo previo
te. Tercero, mediante una modificacin real y y convertir el resultado, los gradientes de ilu-
permanente de la geometra de la escena. El minacin, en textura y superponer esta textu-
primer mtodo es el ms sencillo pero tam- ra a la del material. Es un mtodo que tiene
bin el ms limitado y puede resultar insufi- bastante que ver con los mtodos primitivos
ciente si el relieve va a verse con suficiente de simular reflejos por medio de mapas de

113
Simulacin visual de materiales

entorno (environment maps) que se descri- El problema bsico se resume en la figura


ben tambin en los apartados siguientes. 2.31. En el caso ms general el problema es
Hay otras aplicaciones que tambin vere- desarrollar una transformacin que proyecta
mos pero estas son las principales. un espacio 2D (el espacio de textura) sobre
otro espacio 2D (el espacio de la imagen de
Texture mapping (Catmull, 1974) salida) a travs de un espacio 3D (el espacio
del objeto). Como veremos ms adelante, en
La proyeccin de texturas para incorporar de- el caso de mapas o texturas procedurales,
talle a las superficies se comenz a aplicar tambin se puede proyectar un espacio de
desde los comienzos de los mtodos de simu- textura 3D sobre un objeto 3D, lo que elimina
lacin de materiales, concretamente a partir muchos de estos problemas a costa de tener
de la tesis doctoral presentada por Edwin Cat- que utilizar un algoritmo puramente artificial.
mull (nacido en 1945 y hasta hace poco presi- El mtodo de Catmull ligaba las coorde-
dente de Walt Disney Animation Studios y de nadas u, v, propias del espacio textura (o las
Pixar Animation Studios) en la Universidad de coordenadas s, t, como las denominan otros
Utah, en 1974, y publicada al ao siguiente. autores para evitar confusin con las de los
El procedimiento bsico sigue siendo el parches geomtricos) con las coordenadas u,
mismo aunque hay varios aspectos que con- v, propias del parche paramtrico. Y, a par-
vendr recordar. El mtodo presentado por tir de ah, se llevaba a cabo una subdivisin
Catmull estaba aplicado a parches param- recursiva de ambos espacios hasta que la
tricos bicbicos, lo que permita solucionar subdivisin del parche paramtrico se corres-
limpiamente muchos problemas que apa- ponda con un nico pxel. Al llegar a este es-
recen cuando la proyeccin de texturas se tadio, el color del pxel se obtena a partir del
aplica a polgonos planos. De hecho, muchos rea correspondiente en el espacio de textu-
de estos problemas se siguen evitando si se ra. Este mtodo es directo y fcil de aplicar.
trabaja con NURBS (cuya parametrizacin Lo sigue siendo, como deca, si contamos con
interna es similar a los parches paramtricos elementos paramtricos.
utilizados por Catmull). El problema es que la Parafraseando un artculo posterior (va-
mayora de los modelos no utilizan NURBS ni se Cook et al., 1987) se podra introducir una
parches paramtricos, que son herramientas distincin entre texturas de acceso coherente
sofisticadas y que solo se utilizan para mode- (aquellas en las que la parametrizacin del
lar superficies de curvatura compleja, lo que espacio de texturas se puede relacionar di-
en muchos modelos es algo innecesario. rectamente con el espacio del objeto) y tex-

2 2
1 1 2
1
4 3
3
4

4 proyeccin
3

yimg
t z
y
s x
ximg
espacio textura espacio objeto espacio imagen

Figura 2.31 Texture mapping.

114
Materiales virtuales

turas de acceso no coherente (aquellas que buena introduccin, an vigente en muchos


requieren una reparametrizacin). aspectos, a este tema. Los programas ac-
Tambin hay que mencionar que, debido a tuales proporcionan amplios recursos para
que el mtodo utilizado subdivida los objetos intentar abordar este problema, recursos que
de un modo no adecuado para los sistemas tambin veremos ms adelante. Pero es im-
corrientes de representacin, Catmull desa- portante tener presente que en muchos casos
rroll un sistema alternativo, que denomin no existe una solucin perfecta.
Z-Buffer, y que utilizaba una memoria adicio- La proyeccin de texturas se ha aplicado
nal para guardar la coordenada z del objeto de mltiples maneras y para conseguir todo
desde el punto de vista de la cmara. De este tipo de efectos. En los captulos siguientes
modo, para cada elemento, se comparaba analizaremos y pondremos ejemplos de todas
su coordenada z con las previamente alma- las tcnicas apropiadas para cada caso.
cenadas, lo que permita descartar cualquier Por ltimo, tambin hay que recalcar que
elemento cuya coordenada z fuera mayor que los mtodos de proyeccin de texturas dan
otro pues esto implicaria que no sera visible, lugar a varios tipos de artefactos o alias,
quedara oculto por el de coordenada z infe- que tambin se revisarn ms adelante. En
rior. Por aadidura, facilitaba la combinacin general, las transformaciones son perspecti-
de resultados obtenidos por un algoritmo con vas por lo que la proyeccin final no cae en
resultados obtenidos por otros algoritmos, lo una retcula regular, tal como se muestra en la
que abra la puerta a sistemas ms flexibles figura 2.31 (centro). Esto requiere filtros que
que incorporasen diferentes tcnicas. Este varan espacialmente (space variant filters) y
mtodo, que en la poca se consider muy que son ms difciles de aplicar pues deben
eficaz pero costoso en trminos computacio- modificarse segn la posicin del elemento al
nales, pas a convertirse en el ms utilizado que se aplican.
a medida que los ordenadores aumentaron su
potencia de clculo y est incorporado (con Environment mapping (Blinn y Newell,
variantes, como el w buffer) a todas las tarje- 1976)
tas grficas actuales.
Si en lugar de esto tenemos un modelo ba- La proyeccin de texturas se utiliz, un par
sado en caras poligonales, hay que resolver de aos despus de la aportacin de Cat-
otras dificultades. Dado que toda la informa- mull, para simular reflejos. Este fue el pri-
cin con que contamos son las coordena- mer ejemplo de cmo la aplicacin de ma-
das de los vrtices (x, y, z), ser necesario pas poda servir para algo ms que para
parametrizar de algn modo el interior de las simular materiales con textura. Aunque ac-
caras de los polgonos para poder estable- tualmente los reflejos se simulan por mto-
cer una correspondencia con el espacio de dos de iluminacin avanzada, este mtodo
texturas. Si la cara es plana, esto no supone se sigue utilizando y est estrechamente re-
otra dificultad importante que la posible falta lacionado con toda una serie de tcnicas de
de correspondencia de las resoluciones, de importancia, entre ellas Light mapping, que
las proporciones respectivas o de ambas, un ya he mencionado. Por otra parte introduje-
problema que veremos con ms detalle en la ron mejoras tcnicas importantes al aplicar
segunda parte de este libro. Sin embargo, si el mtodo a casos ms generales que los
la cara no es plana, ser necesario encontrar abordados por Catmull.
un mtodo adecuado de proyectar el espacio Blinn y Newell desarrollaron un mtodo
de textura, plano, sobre la superficie. Una que consista en dos pasos principales. En
primera revisin sistemtica de los tipos de primer lugar, se obtena una representacin
proyecciones requeridos segn los casos se de la escena desde una cmara virtual si-
encuentra en Heckbert (1986), que es una tuada en el centro del objeto cuyos reflejos

115
Simulacin visual de materiales

Figura 2.32 Environment mapping: a) Vista general de la escena; b) Mapa de entorno obtenido desde la posicin del objeto; c)
Mapa reproyectado sobre el objeto como textura para simular reflejos.

se queran simular. Esto resulta muy sencillo pliamente desde principios de la dcada de
en escenarios virtuales pues todo lo que hay 1990 con la difusin de los PC y la incorpo-
que hacer es una transformacin del espacio racin de todas estas tcnicas al software co-
de coordenadas. Esta representacin puede mercial y, posteriormente, a la GPU (Graphics
desplegarse sobre una esfera o, alternativa- Processing Unit).
mente, sobre las seis caras de un cubo vir- La idea bsica consiste en perturbar la di-
tual. En cualquiera de los dos casos se puede reccin de la normal a una superficie antes de
obtener una correspondencia exacta entre los que sea computada por el sistema de clculo
puntos de la superficie del objeto y la esfera o de iluminacin y enviada al sistema de repre-
el cubo virtual que lo rodea. sentacin. De este modo no es necesario mo-
En segundo lugar, el resultado de esta dificar la geometra del objeto.
representacin se reinterpreta como un Para ello se usa un mapa que codifica
mapa 2D que se proyecta sobre el objeto desplazamientos virtuales por medio de
como si fuera una textura, siguiendo los patrones en blanco y negro o valores in-
mismos procedimientos que en el mtodo termedios. Las zonas negras se asocian a
de Catmull. El resultado es que el objeto desplazamientos negativos, a huecos, por
parece reflejar la escena que le rodea con debajo de la superficie real, y las zonas
algunas restricciones que llevan a algunas blancas a desplazamientos positivos, a re-
complicaciones tcnicas, que aqu no ser lieves, por encima de la superficie real. Los
necesario recordar. valores grises se computan como valores
El mtodo funcionaba muy bien para ob- de desplazamiento intermedio entre estos
jetos ms o menos similares a una esfera dos extremos.
pero bastante peor para objetos planos. La figura 2.33 muestra un esquema que
Esto dio lugar a tcnicas alternativas a ve- resume el proceso. A una superficie con di-
ces denominadas flat reflection mapping, ferentes orientaciones, dadas por sus vec-
muy utilizadas a finales de la dcada de tores normales, se le asocia una funcin
1990 pero que prcticamente han desapa- (una tabla de valores que corresponden a
recido debido a la difusin de mtodos de diferentes intensidades del mapa asocia-
iluminacin avanzada y al aumento de la do). El resultado de esta combinacin es
potencia de los ordenadores. una alteracin virtual de las normales que
simula rugosidades en la superficie sin alte-
Relieve con Bump mapping (Blinn, 1978) rar la geometra real.
Los resultados son muy eficaces desde un
La simulacin de relieve por medio de Bump punto de vista computacional pues se puede
mapping se introdujo en 1978 por James simular con un mnimo gasto el relieve de
Blinn (vse Blinn, 1977) y se ha utilizado am- objetos. Sin embargo, pueden no serlo tanto

116
Materiales virtuales

adicional de un tipo particular de implemen-


tacin utilizando micropolgonos. Esta imple-
mentacin estaba ligada al famoso algoritmo
Reyes (Renders Everything You Ever Saw),
desarrollado por Carpenter y Cook para el
Computer Graphics Research Group de Lu-
casfilm, que posteriormente se convertira en
Pixar, y se utiliz por primera vez en 1982
para las imgenes del efecto Gnesis en la
pelcula Star Treck II: the wrath of Kahn. Fue
tambin uno de los puntos de partida princi-
pales del lenguaje RenderMan.

Figura 2.33 Bump mapping.

desde el punto de vista de la calidad de los re-


sultados. Los principales inconvenientes son
los siguientes: a) la silueta de los objetos se
seguir vindo con su contorno real, b) otro
tanto ocurre con sombras arrojadas que tam-
bin mostraran la silueta real del objeto, c) las
oclusiones debidas al relieve no se computan.
Si la silueta no es visible o no hay sombras,
el resultado puede ser bastante convincente.
Pero si no es as, se puede arruinar el efecto.
La nica solucin es ocultar los contornos o
recurrir a los procedimientos ms sofisticados
que siguen.

Relieve con Displacement mapping P(u,v)


(Cook, 1984)

La simulacin de relieve con mapas de des-


plazamiento se introdujo en 1984 por Robert
L. Cook. Con este mtodo se altera la altu-
ra de la superficie segn los valores dados
por un rango de valores de grises dados por
N(u,v)
el mapa asociado, de modo similar a Bump
mapping. Sin embargo, la superficie se mo-
difica geomtricamente con lo que los proble-
mas mencionados al final del apartado ante-
rior se solucionaran.
P(u,v)
No obstante, los problemas tcnicos son
considerables. En el artculo original, Cook
no dio detalles sobre cmo poda implemen-
tarse el mtodo, solo describi su integra- Figura 2.34 Displacement mapping. Arriba: vista en perspecti-
cin en un tipo especial de shader. En un va del desplazamiento virtual. Abajo: esquema de la modifica-
artculo posterior (1987) dio algn detalle cin de posicin de un punto.

117
Simulacin visual de materiales

Sin embargo no se ha utilizado mucho, Desde hace pocos aos, con la integracin
hasta hace poco, debido a su coste com- de procedimientos de teselacin en las tarje-
putacional, pese a los diversos intentos de tas grficas avanzadas, estos problemas se
mejorar el procedimiento bsico. En su ver- han reducido considerablemente.
sin ms simple, la superficie de base se
subdivide recursivamente, hasta llegar a un Relieve con Normal mapping (varios,
tamao de micropolgono relacionado con 1992, 1996, 1998)
el tamao de la imagen de salida, gene-
ralmente del orden de un pxel o menos. A Un mtodo ms eficaz que Bump mapping
partir de esta teselacin bsica, los vrtices es lo que se denomina Normal mapping. El
se empujan segn los valores dados por un trmino fue introducido por Alain Fournier
campo de alturas (height field), un campo (el mismo autor que con Poulin present
escalar que se asocia a la superficie. un algoritmo anisotrpico para calcular la
El desplazamiento se computa mediante BRDF en 1990, que hemos visto anterior-
un clculo simple que define la nueva posi- mente) en un artculo de 1992, a partir de
cin P de los puntos de una superficie P: una interesante reflexin sobre los diferen-
tes niveles de detalle de un modelo, de las
P(u,v) = P(u,v) + N(u.v)H(u,v)
tcnicas requeridas en cada caso y del flujo
donde P(u,v) son las coordenadas del punto que se requiere establecer en la prctica
desplazado, P(u,v) son las coordenadas del entre estos tres niveles.
punto original, N(u,v) es el vector normal co- Estos tres niveles dependen de la esca-
rrespondiente al punto que define la direccin la a que consideremos el material. El nivel
de desplazamiento y H es el valor correspon- superior y mejor definido es el geomtrico
diente al campo escalar de alturas que define (superficies definidas por polgonos, parches
la altura a que se desplaza el punto en cues- paramtricos o NURBS) que se puede de-
tin. La figura 2.34 ilustra estas operaciones nominar macroscpico. El nivel inferior, que
bsicas. tambin ha sido estudiado con gran detalle,
El campo escalar de altura se da corriente- es el nivel correspondiente a los modelos de
mente por medio de imgenes de mapas de reflexin local para los que se computa la
bits en blanco y negro en los que los valores BRDF y que puede ser denominado micros-
de altura estn asociados al nivel de gris. Hay cpico. El nivel intermedio ha sido menos
diversos mtodos recientes que permiten au- explorado: es el nivel en que se encuentran
mentar la precisin por medio de mapas de detalles caractersticos apreciables a cierta
bits en color con informacin ms precisa so- escala tal como el relieve local. Es un nivel
bre la altura y que se han utilizado para mo- que por analoga con los anteriores puede
delar terrenos. denominarse mesoscpico.
El principal problema de este mtodo es A lo largo de este artculo, Fourier haca
que el nmero de polgonos necesarios para ver que el cmputo adecuado del relieve im-
conseguir resultados adecuados era, y es, plicara un anlisis del comportamiento real de
muy alto. Y, en consecuencia, el coste com- las microfacetas, tal como se propona en el
putacional es muy elevado. Por esta razn modelo BRDF de Cook y Torrance, en el que
se han desarrollado varios mtodos alterna- realmente no nos encontraramos con una nor-
tivos que buscan en todos los casos reducir mal correspondiente a una superficie entendi-
este coste. Entre ellos cabe citar los trabajos da como la media de las variaciones locales,
de Michael Doggett (2000) sobre teselacin sino como una serie de diferentes normales
adaptativa e integracin en hardware por di- correspondientes a las diferentes orientacio-
versos mtodos, lo que puede resolver el pro- nes microscpicas. Y que, tal como se analiza
blema del alto coste de computacin. matemticamente en el artculo, esto llevara a

118
Materiales virtuales

una funcin de distribucin de normales como


N' N'
la que denomina en el artculo, NDF (por sus N'z
siglas en ingls, normal distribution function), N'y
una funcin que puede relacionarse directa- N'x
mente, mediante una serie de transformacio-
nes, con la propia funcin BRDF. N
Sin entrar en el detalle de este anlisis,
es claro que si, para cada punto de una su- N
perficie se guarda, en un lugar de una nica
normal, un triplete de vectores que den ms
informacin sobre las variaciones microsc-
picas de orientacin del punto, esto puede Figura 2.35 Normal mapping. Esquema en perspectiva del
asociarse a un cmputo de la iluminacin que desplazamiento virtual.
preserve las variaciones de iluminacin del
punto que pueden asociarse a su relieve.
A finales de la dcada de 1990 aparecieron
una serie de artculos (Krishnamurthy y Le-
voy, en el Siggraph de 1996, Cohen et al., en I=N L I=N L
el Siggraph de 1998, Cignoni et al. en el Con-
greso IEEE Visualization de 1998) que apor- N N
L
taban mtodos para transferir informacin de
polgonos con alta resolucin a polgonos de
L
baja resolucin por medio de normal maps.
No debe perderse de vista este contexto:
+I -I
los nuevos mtodos de simulacin de relieve
aparecieron como tcnicas colaterales de una
bsqueda en la que la motivacin principal per vertex
era reducir las decenas o centenares de miles
de caras poligonales de un modelo elaborado
con detalle, a cantidades ms manejables, del
orden de unos cuantos miles nada ms, pero
que preservaran la calidad aparente. Duran-
te los primeros aos de la dcada de 2000,
estas ideas se desarrollaron y comenzaron
a utilizarse extensamente en la industria de
per pixel
juegos de vdeo, como un mtodo particular-
mente eficaz que poda substituir a los mapas
de desplazamiento para simular relieves com-
plejos con poco coste de computacin.
Hay muchas tcnicas de simplificacin de
polgonos y a algunas de ellas me referir
ms adelante, en el apartado sobre multirre-
solucin y nivel de detalle. Pero con indepen-
dencia de la tcnica utilizada para reducir el
nmero de caras geomtricas, en todos los Figura 2.36 Normal mapping. Detalle de los procesos impli-
cados. Arriba: clculo de la intensidad a partir de los vectores
casos se presenta el problema de preservar L y N. La intensidad ser mayor cuanto menor sea el ngulo
los atributos de color y textura del original. El entre los dos vectores y viceversa. Abajo: clculo por vrtice y
artculo citado de Krishnamurty y Levoy pro- clculo por pxel.

119
Simulacin visual de materiales

pona asociar al modelo derivado, valores co- en la figura, si el ngulo se aproxima a 0 la


rrespondientes a la orientacin en las tres di- intensidad se aproximar a su mximo, y si
recciones pero codificados como valores RGB. el ngulo se aproxima a 90 la intensidad se
La idea bsica es incorporar informacin ms aproximar a 0. Entre estos dos extremos ha-
precisa sobre el relieve geomtrico guardndo- br mayor o menor intensidad.
la en un mapa de bits especial. Esta informacin El mtodo ms elemental de clculo de ilu-
se codifica de tal modo que los pxeles rojos re- minacin, introducido por Gouraud en 1971 y
presentan las coordenadas en X, los verdes en que est en la base de otros mtodos deriva-
Y y los azules en Z. El resultado es una mezcla dos, como los de Phong o Blinn, lleva a cabo
de estos tres colores que representar el relieve este clculo para cada vrtice. Y los valores in-
relativo de la superficie. La informacin sobre el termedios de una cara triangular se interpolan
relieve queda por tanto contenida en el mapa a partir de estos valores. El resultado bsico
que, procesado adecuadamente, da como re- es tosco aunque puede refinarse de diferentes
sultado una transformacin de una superficie modos. Pero con las mejoras tcnicas de las
sin relieve, en la escena, a una superficie con tarjetas grficas este clculo puede realizarse
relieve, en la representacin. para cada pxel lo que aumenta extraordinaria-
Hay otra ventaja adicional importante y mente la precisin y, si este tipo de clculo est
es que la utilizacin de Normal mapping con incorporado al hardware (es decir, si contamos
tarjetas grficas modernas, optimizadas para con un tarjeta grfica especializada, de las que
procesar el clculo de representacin por me- se mencionan en el apartado citado sobre ren-
dio de pixels shaders (vase ms adelante el dering), tambin es ms rpido.
apartado sobre el proceso general de rende-
ring), hace que el uso de este tipo de mapas Relieve con Parallax mapping (Kaneko
sea ms preciso y ms rpido. et al., 2001)
La figura 2.36 resume los conceptos prin-
cipales que hay detrs de este mtodo. El Esta tcnica de simulacin de relieve, poco
clculo bsico de iluminacin de las caras se utilizada en la prctica por ahora, se entende-
lleva a cabo, en todas sus variantes, a partir r mejor en el contexto de un conjunto de tc-
de un cmputo inicial por el que se obtiene el nicas aparecidas a lo largo de la dcada de
producto vectorial (producto punto) de los dos 1990 y que se conocen genricamente como
vectores fundamentales, el vector normal a la Image-Based Rendering (IBR). Por razones
superficie, N, y el vector correspondiente a la de espacio no puedo resumir sino lo principal
direccin de la luz, L. Si estos dos vectores pero puede encontrarse una buena introduc-
estn normalizados, este producto es igual al cin en Shum y Kang (2002).
coseno del ngulo que forman los dos vec- La idea bsica de estas tcnicas es uti-
tores. Como puede apreciarse intuitivamente lizar una serie de imgenes para modelar

v
u

A
d(A)
A
n n
A
u
v v
Figura 2.37 Parallax mapping.

120
Materiales virtuales

una escena. La primera pregunta prctica Este es el punto de partida de las tcnicas
que cabe hacer es, obviamente, cul es el propuestas inicialmente por Kaneko, Takahei
nmero de imgenes necesarias para poder et al. (2001). La idea fundamental es que se-
interpolar de modo adecuado los valores re- ra posible ampliar la calidad de los efectos
sultantes. Y la respuesta es que no se pue- de relieve si se modifica la posicin de los
de responder a tal pregunta de modo gene- pxeles de salida de una textura, de tal modo
ral pues las variables son infinitas. Pero es que este desplazamiento corresponda a los
posible dar una respuesta torica que sirva cambios de paralaje correspondientes a la
como referencia para las diferentes varian- modificacin del punto de vista. Esto solucio-
tes con que se ha buscado abordar este na un problema intrnseco a los Bump maps
asunto. Esta respuesta terica se da en un pero que tampoco se solucionaba satisfacto-
artculo publicado en 1991 por Adelson y riamente con los Normal maps. Y el inters de
Bergen, aunque hay otras referencias ante- esta tcnica no est solo en que se mejora la
riores y posteriores que tambin habra que calidad del resultado sino que sto se hace
mencionar. En dicho artculo se planteaba con un coste de computacin bajo, pues nos
una funcin ideal, la funcin plenptica (ple- ahorra las engorrosas modificaciones virtua-
noptic function, de plenus, pleno, lleno, y les de la geometra que se requieren con los
optics, ptica) que definira la intensidad de mapas de desplazamiento.
los rayos de luz que pasaran por el centro La idea bsica es distorsionar la textura
de una cmara en cada posicin (Vx, Vy, Vz), dinmicamente de tal modo que el despla-
para todo ngulo posible (q, r), para una lon- zamiento se corresponda con la forma virtual
gitud de onda l y en cada tiempo t. Es decir, que se quiere simular. La figura 2.37 ilustra el
una funcin de 7 variables. Si se eliminan las procedimiento que es relativamente sencillo,
variaciones del tiempo y longitud de onda, aunque su aplicacin tcnica implique varios
tendramos una funcin de 5 variables. Y si problemas. En el lado izquierdo de la figura
se acepta que la cmara est situada en el se muestra una vista en perspectiva de una
exterior de la escena, tenemos el Light Field textura plana, con sus coordenadas locales,
(Levoy, 1996) o el Lumigraph (Gortler, 1996), u, v, y con los vectores de visin, v y normal
dos propuestas tericas que se basan en la a la superficie, n. A la derecha, se muestra
generacin de escenarios virtuales a partir una vista en planta de la misma textura a la
de mltiples imgenes (reales o sintticas). que se ha superpuesto una lnea que indica
Con todo, la respuesta a cuntas imgenes el desplazamiento virtual cuyo valor es d(A).
son necesarias para simular adecuadamen- Para que el punto A aparezca sobre el con-
te una escena sigue sin poder responderse, torno virtual, se necesita que el punto A se
en general. Pero s puede decirse que este desplace a la posicin A. Dado que cono-
nmero se reduce si los movimientos de la cemos el ngulo entre qu, entre el eje u y el
cmara que explora la escena se reducen vector v, se puede calcular facilmente este
a, por ejemplo, seguir anillos concntricos. desplazamiento mediante frmulas trigono-
En el extremo opuesto, hay versiones sim- mtricas simples.
ples y muy conocidas como los panoramas Esta primera versin presentaba unos cuan-
generados con QuickTime. Pero hay versio- tos problemas que se fueron resolviendo en los
nes intermedias donde se pueden generar aos siguientes. El principal era que, a medida
imgenes interpoladas que den claves tales que el ngulo aumentaba, los valores de des-
como el cambio de paralaje que proporciona plazamiento tendan a infinito con lo que las zo-
una clave de profundidad importante y a la nas ms alejadas en perspectiva quedaban de-
que estamos muy acostumbrados. La figura formadas. Una solucin sencilla (propuesta por
2.37 muestra una ilustracin esquematizada Welsh, 2004) era limitar el desplazamiento (una
de este tipo de claves. variante de Parallax mapping bautizada como

121
Simulacin visual de materiales

offset limiting) reduciendo su valor a partir de un lizar sistemas de partculas para imgenes
determinado ngulo. Otros problemas tcnicos fijas pues todo lo que hay que hacer es acti-
se han ido mejorando tambin mediante di- var la animacin en un momento adecuado y
versas contribuciones, entre ellas la modifica- grabar el resultado.
cin del ngulo en funcin de la inclinacin Los sistemas de partculas surgieron a par-
de la superficie (steep parallax mapping) o el tir de los trabajos de Reeves (1983), principal-
cmputo adecuado de la oclusin. Hay tc- mente, y se utilizaron por primera vez en la
nicas similares que han recibido la denomi- pelcula Star Trek II: The Wrath of Khan para
nacin de relief mapping y que utilizan otros simular una pared de fuego. Despus se han
algoritmos de implementacin, aunque los usado mucho para generar fenmenos tales
resultados a los que se llega son similares. como el fuego, la lluvia, nieve o cualquier otro
Puede encontrarse un buen resumen de es- efecto que requiera modelar cientos o miles
tas mejoras en Szirmay-Kalos y Umenhoffer de pequeas partculas que se dispersan por
(2008), junto con una revisin de las tcnicas el espacio. Tambin se han utilizado, con la
anteriores de simulacin de relieve. Otra tc- denominacin sistemas estructurados de
nica posterior que da mejores resultados, al partculas (structured particle systems), para
combinarla con tcnicas de Ambient occlu- modelar hierba y rboles, a partir de los pri-
sion (vase una descripcin de esta tcnica meros artculos de Reeves y Blau (1985). Re-
en mi libro sobre simulacin de la iluminacin) eves utiliz este sistema por primera vez para
es Parallax Occlusion Mapping (POM) que modelar rboles en una pelcula corta, The
surgi por esas mismas fechas a partir de un Adventures of Andre and Wally B.
artculo de Zoe Brawley y Natalya Tatarchuck Tambin pueden utilizarse sistemas de
(vase Brawley, Z.; Tatarchuk, N., 2004). partculas como alternativa a la modelizacin
de volmenes cuando los gases son muy dis-
Sistemas de partculas (Reeves, 1983) persos, como ocurre por ejemplo con el humo
de un cigarrillo, de una chimenea o un fuego
Los sistemas de partculas se utilizan prin- poco intenso. Como veremos ms adelante
cipalmente en animacin, un tema que este hay otras alternativas para estos casos.
libro no incluye. Pero tambin se pueden uti- Un sistema de partculas consiste bsica-
mente en dos cosas: a) Un tipo de partcula,
con sus caractersticas formales (forma b-
sica, esfrica, polidrica...) y materiales (co-
lor, textura, opacidad...) a las que se suman
otras caractersticas dinmicas: posicin
inicial, tamao inicial, velocidad, duracin
En el primer sistema propuesto por Reeves,
cada objeto tena los siete atributos siguien-
tes: posicin inicial, velocidad y direccin
iniciales, tamao inicial, color inicial, trans-
parencia inicial, forma y tiempo de vida; b)
Un algoritmo que describe su generacin, su
movimiento (la dinmica propia del sistema)
y su extincin.
Cada uno de estos atributos cuenta con
una serie de parmetros propios. Adems
Figura 2.38 Sistemas de partculas. Los puntos indican las
de estos atributos, un sistema de partculas
partculas, las flechas su direccin de desplazamiento y el tambin cuenta con una forma de generacin
cono truncado, la regin afectada. que define una regin en el espacio en la que

122
Materiales virtuales

las nuevas partculas se irn distribuyendo Tambin se han utilizado partculas para
aleatoriamente. Estas formas son volmenes simular animales en movimiento. El primer
simples tales como esferas, cilindros o conos, ejemplo de este uso se debe a Reynolds
y su eleccin depende del tipo de efecto que (1987) que lo utiliz para simular el vuelo
se quiere generar. La figura 2.38 muestra al- de enjambres de pjaros. En este caso,
guno de estos parmetros en un sistema de cada pjaro era un objeto poligonal espec-
partculas destinado a simular una explosin fico con un sistema de coordenadas propio
y cuya forma de generacin es un cono trun- y su movimiento conjunto se controlaba por
cado invertido. medio de algoritmos especiales. A diferen-
El algoritmo que describe la dinmica del cia de los sistemas de partculas, no haba
sistema incluye procesos estocsticos que generacion y extincin y los mtodos de
hacen que el resultado resulte muy comple- rendering eran los tradicionales. En estos
jo aunque los parmetros que definen esta casos los problemas son de otro orden, muy
complejidad sean relativamente sencillos. Los interesantes pero que se alejan de la tem-
parmetros propios del algoritmo principal per- tica de este libro, por lo que los mencionar
miten controlar el nmero de partculas creado telegrficamente. El problema principal en
inicialmente, su densidad, y el modo en que este caso es simular el movimiento de un
pueden quedar afectadas por otros factores enjambre que se caracteriza por una sofisti-
que pueden incluirse en la serie de parmetros cada relacin entre movimientos individua-
de la simulacin, tales como la fuerza del vien- les y movimientos de conjunto. El resultado
to, la gravedad, la atraccin de otros objetos o a que se lleg parta de la especificacin
sistemas, la inclusin de turbulencias, etc. de una serie de parmetros que permitan
En un sistema estructurado de partcu- controlar el movimiento individual (velo-
las, tal como el que se utiliza para simular cidad, aceleracin, rotacin en diferentes
hierba o bosques, las partculas mantienen ejes, etc.) combinados con una serie de pa-
relaciones entre s, formando una estructu- rmetros que controlaban la interaccin de
ra cohesionada. Cada partcula representa cada individuo con el grupo, por medio de
un elemento del sistema (una rama, una tres reglas principales: a) la prevencin de
hoja) por lo que, en este sentido, el siste- colisiones (cada individuo inclua un detec-
ma es similar a otros sistemas de modelado tor de distancias mnimas a partir del cual
procedural basados en lenguajes formales. se modificaba su vuelo); b) la igualacin
A diferencia de estos, sin embargo, la pre- de la velocidad (la velocidad media se con-
cisin geomtrica no es fundamental y se trastaba recurrentemente con la velocidad
dedica ms esfuerzo a la representacin individual); c) la centralidad (cada individuo
del color con variantes que dependen de buscaba mantenerse centrado con respecto
diversos factores. Por otra parte, al igual a sus vecinos inmediatos). Los resultados
que los sistemas de partculas generales, se han extendido posteriormente a la simu-
pueden incluir factores tales como la fuerza lacin de todo tipo de movimientos colecti-
del viento (las hierbas y los rboles pueden vos con resultados espectaculares que nos
moverse suavemente debido a estos facto- resultan familiares por sus muchas aplica-
res), la influencia de la orientacin del Sol ciones en el cine y la publicidad.
(el crecimiento puede ser mayor en una de-
terminada direccin), etc. Procedural mapping (Perlin, Peachey,
Al igual que ocurre con los volmenes de 1985)
substancias difusas, se requieren procedi-
mientos especiales de rendering que se des- Para entender la importancia de esta tcnica,
criben brevemente en el apartado correspon- imaginemos que tenemos un mapa 3D que
diente, ms adelante, sobre volume rendering. pueda representar, por medio de una funcin

123
Simulacin visual de materiales

matemtica, cul es el color de un bloque como texturas, entre otros, Fourier, Fussell y
de mrmol. Si fuera posible contar con una Carpenter en 1982 o Haruyama y Barsky en
funcin as no tendramos que preocuparnos 1984.
de otra cosa que de establecer una relacin Un paso tcnico importante que permiti
directa entre la funcin que representa la utilizar texturales procedurales durante el
textura y el objeto geomtrico. Cada pun- proceso de rendering se debe a Cook (1984),
to del espacio geomtrico propio del objeto que introdujo el concepto fundamental de
quedara relacionada con cada punto del es- shader, un concepto al que tambin volvere-
pacio material con lo que su color quedara mos. El uso de paquetes algortmicos rela-
perfectamente especificado. No tendramos cionados implicado en este concepto abrira
que preocuparnos por el manejo de tcnicas el camino para el uso de texturas ligadas a
engorrosas de proyeccin y gestin de ma- transparencias, reflejos, relieves y texturas
pas como las que veremos en los captulos slidas.
siguientes. Tcnicas tales como definir una Tambin hay que mencionar otras apor-
proyeccin adecuada para cada objeto, como taciones importantes como la simulacin de
ligar cada definicin de propiedades materia- nubes por mtodos procedurales, debida
les a una textura que debe almacenarse en a Gardner (1984, 1985) y que an se sigue
algn lugar de nuestro disco duro y que debe utilizando. A diferencia de los mtodos pos-
gestionarse adecuadamente para que no se teriores, se basaba nicamente en la combi-
pierda la relacin con el archivo de la escena, nacin de funciones sinusoidales (anlisis de
como ajustar los parmetros del mapa para Fourier) ajustando adecuadamente las dife-
que se coordinen adecuadamente con la pro- rentes frecuencias, amplitudes y fases. Es un
yeccin definida para cada objeto, lo que no mtodo que requiere una considerable habi-
siempre es posible. lidad para evitar la aparicin de patrones re-
A esta ideal han intentado acercarse los gulares, algo que es bastante fcil que ocurra
muchos mtodos de generacin de texturas cuando las funciones de base son uniforme-
algortimicas 3D, denominados corriente- mente peridicas. Gardner consigui resulta-
mente de obtencin de texturas slidas (solid dos notables por medio de una serie de n-
textures) o mapas procedurales 3D (procedu- meros mgicos colocados estratgicamente
ral 3D maps) o, integrando los dos trminos, en su algoritmo para romper esta tendencia
texturas slidas procedurales (procedural so- a la uniformidad. Los desarrollos posteriores
lid texturing). Los pioneros fueron Ken Perlin han conseguido generar todo tipo de formas
y Darwyn Peachey que publicaron, el mismo de nubes mediante variaciones de estos pa-
ao, 1985, de modo independiente, dos art- trones bsicos.
culos en que describan mtodos hasta cierto Con todo, el artculo de Perlin (1985), pu-
punto similares para obtener texturas slidas blicado cuando todava era un estudiante de
por mtodos matemticos. Vase las refe- doctorado, un ao antes de publicar su tesis
rencias, Perling (1985) y Peachey (1985). doctoral, fue y sigue siendo la principal apor-
Pueden citarse de todas formas varios pre- tacin a la generacin de texturas procedu-
cedentes importantes. Blinn y Newell utiliza- rales.
ron, en 1976, mtodos basados en sntesis de La utilizacin de una funcin en lugar de
Fourier para generar patrones artificiales, un una tabla de valores, en el caso de una tex-
mtodo que fue ampliado por Shacter y Ahuja tura 2D, no supone, en principio, ninguna di-
en 1979 y por Schacter en 1980 para generar ficultad pues todo lo que hay que hacer es
imgenes que pudieran servir en simulacio- substituir los valores correspondientes a una
nes de vuelo. Otros investigadores aplicaron determinada celda por los valores dados por
tcnicas basadas en fractales para generar la funcin. Y en el caso de una textura 3D, la
patrones artificiales que podan ser utilizados nica dificultad es que aumenta la memoria

124
Materiales virtuales

pues en lugar de, por ejemplo, 512 x 512 va- la funcin turbulence, para simular la apa-
lores, tendremos 512 x 512 x 512. La verda- riencia de mrmol o funciones de onda para
dera dificultad est en encontrar una funcin simular la apariencia de agua.
interesante. La gran ventaja de las texturas El artculo de Peachey parta de los mis-
2D es que se pueden obtener con facilidad mos conceptos bsicos, el inters prctico de
digitalizando texturas reales. Cabra la posi- crear texturas slidas, y propona diversos
blidad de hacer lo mismo con texturas 3D di- ejemplos utilizando funciones ms simples o
gitalizando secciones de un material determi- ms conocidas que las utilizadas por Perlin,
nado pero esto es, por ahora, impracticable. principalmente funciones sinusoidades pro-
Se trata, por tanto, de encontrar una funcin yectadas ortogonalmente o combinadas con
que simule adecuadamente lo que obtendra- otras funciones para simular madera u otros
mos con tal serie de secciones. materiales.
Perlin utiliz una funcin estocstica, una El mrmol, por ejemplo, se puede obtener
funcin que generaba ruido aleatorio (noise mediante una funcin de ruido que distorsio-
function) que asignaba un escalar a un vec- na aleatoriamente una funcin de degradado
tor tomado como argumento de la funcin. que se aplica a una tabla de colores que si-
Parta de una serie de puntos en el espacio mula una seccin horizontal del mrmol en
dados por valores enteros, coordenadas x, la que se alternan los colores de las vetas.
y, z (que poda extenderse a una cuarta di- Al aumentar la frecuencia se forman distor-
mensin, t, en el caso de animaciones), una siones en la amplitud de las vetas que si-
red de enteros (integer lattice). A cada punto mulan la distorsin ocasionada en las rocas
de la red se le aplicaba la funcin que mo- reales por efecto de la presin y los cambios
dificaba su color. Los puntos intermedios se de temperatura. La madera, otro ejemplo, se
interpolaban a partir de una red de vectores obtiene mediante una funcin cuadrtica que
de gradiente precalculados. ordena el espacio en cilindros concntricos
El mtodo introducido por Perlin ha co- que simulan la sucesin de vetas. La ondu-
nocido muchas versiones que buscan tanto lacin y la variacin de grosor de estas se
crear mapas ms interesantes como optimi- puede crear modulando una funcin de rui-
zar el procedimiento hacindolo ms rpido do. Sin embargo, los resultados de estos dos
y ms eficaz. En lugar de gradientes pueden ejemplos caractersticos resultan an dema-
utilizarse otras funciones y otros mtodos de siado artificiales.
interpolar los valores. En el artculo citado, Los mtodos procedurales requieren me-
Perlin utilizaba variantes de la funcin, como nos memoria que las imgenes almacena-

2 1 2
1
1
4 3

4 3

4 proyeccin
3

yimg
z z
y y
x x ximg
espacio textura espacio objeto espacio imagen

Figura 2.39 Procedural mapping.

125
Simulacin visual de materiales

das. Y, tambin, a diferencia de estas, su re- Procedural modeling de volmenes


solucin depende tan solo de la precisin del difusos (varios, 1985)
cmputo. Pueden extenderse hasta el infinito
sin repeticin. Si la cmara se acerca a una El humo, el vapor, la niebla, las nubes To-
textura generada por medio de una funcin de dos estos fenmenos, que se perciben como
ruido, el detalle puede hacerse ms complejo patrones de variaciones del color, tambin
si el nmero de funciones utilizado en su ge- son debidos a propiedades materiales. Pero,
neracin es adecuado. como ocurre con el relieve de las texturas, la
Por otro lado, el acceso a una textu- simulacin visual de estos casos implica pro-
ra procedural requiere ms tiempo que a cedimientos que estn en frontera entre lo
una textura almacenada en memoria, dado que es simulacin geomtrica y simulacin de
que debe generarse duante el proceso de materiales.
clculo de la representacin, por lo que el Este tipo de fenmeno se puede modelar
tiempo de salida puede ser mayor. Otro in- por medio de una tcnica denominada, en ge-
conveniente es que los procedimientos de neral, modelizacin procedural de volme-
antialiasing son ms complicados. Dos de nes (volumetric procedural modeling), o de
los mtodos ms efectivos de gestin de gases (procedural modeling of gases), o de
texturas, MIP Maps y Summed-Area Tables, nubes (volumetric cloud modeling), para el
pueden ser precomputados y almacenados caso especfico de las nubes. Pero son tc-
para texturas basadas en imgenes. Pero nicas de modelado que difieren radicalmente
debido a que las texturas procedurales se de la modelizacin geomtrica corriente que
generan durante la representacin, esto se basa principamente en facetas planas
no es posible. El supermuestreo (super- triangulares. Y la simulacin de los colores
sampling) es una tcnica efectiva tanto con materiales se integra en el propio proceso
texturas basadas en imgenes como con de modelado por lo que estas tcnicas dan
texturas procedurales, pero aumenta consi- lugar a problemas de integracin con el flujo
derablemente el tiempo de clculo. de trabajo habitual.
Otra variante popular que complementa las La modelizacin procedural de volmenes
anteriores es la funcin noise cellular textu- se basa en funciones de densidad de vol-
ring, introducida por Steven Worley (1996). El menes, VDF por sus siglas en ingls (volume
algoritmo se basa en la distribucin aleatoria density functions). Estas funciones se han
de una serie de puntos en el espacio. A par- utilizado por varios investigadores, como una
tir de aqu se construye una funcin escalar extensin natural de las funciones de Perlin
basada en esta distribucin. De este modo, para generar texturas slidas, principalmente
se generan una serie de clulas yuxtapuestas por David Ebert, a partir de 1990, que es tam-
cuyos planos de separacin se computan por bin el editor principal de una de las mejores
medio de un diagrama de Voronoi (una parti- obras de referencia de mtodos procedurales
cin del espacio tal que todos los puntos de la de generacin de texturas (vase Ebert en las
clula estn ms cerca del punto base que de referencias).
otro punto de la distribucin). Mediante la adi- Hay otros trabajos anteriores en esta
cin de una serie de parmetros que afectan misma lnea que ya he citado, como el uso
al color y el espesor de los lmites, etc., se ge- por Gardner (1985) de composicin de fun-
neran infinitos patrones que pueden simular ciones sinusoidales para simular nubes.
de un modo bastante eficaz algunas texturas Pero el principal inconveniente de estos
naturales. mtodos es que, como deca, no son real-
Veremos ejemplos concretos de todos es- mente 3D lo que limita considerablemente
tos tipos de mapas procedurales en los lti- el rango de posibles aplicaciones. Los tra-
mos captulos. bajos posteriores de Ebert han mejorado

126
Materiales virtuales

substancialmente este tipo de representa- fera, un cilindro, un cono, etc., que actan como
ciones. Ebert utiliza el trmino Solid Space objetos contenedores iniciales, y aplicarles un
para englobar las texturas slidas, hipertex- algoritmo de este tipo que crear patrones difu-
turas y funciones de densidad de volumen, sos debido a las caractersticas de las funciones
en un mismo marco general. Un espacio implicadas y al sistema de representacin que,
slido sera un espacio 3D asociado a un como tambin se ver en lo que sigue, debe ser
objeto de tal modo que permita especificar especfico para este tipo de objetos.
atributos adicionales para ese objeto. El uso En el caso de las nubes las dificultades son
ms simple es, como ocurre con las textu- mayores pues la simulacin de la forma debe
ras slidas que hemos visto en el apartado ser lo suficientemente precisa como para dar
anterior, para asociar un color determinado cuenta de variedades familiares como los ti-
a todo punto del espacio asociado. En gene- pos denominados cmulos, cirros o estratos
ral, consiste en la aplicacin de una funcin y variantes intermedias. Por otra parte, estas
n-dimensional a un punto tridimensional (o formas bsicas varan con el viento, la altura,
a un punto cuatridimensional si queremos el clima, la hora del da. La altura, por ejem-
animar el objeto). plo, hace que las nubes formadas por encima
En el caso de la modelizacin de gases de los 5.000 metros (cirros, cirroestratos) sean
(humo, vapor) se utilizan funciones de den- ms delgadas y ms tenues y estn compues-
sidad de volumen basadas en funciones de tas predominantemente de cristales debido a
turbulencia, una variante de las funciones de las altas temperaturas. Las situadas en posi-
ruido. Ebert (vase Ebert, 2003, p. 211) utili- ciones intermedias, entre los 2.000 y los 5.000
za una interpolacin trilineal sobre una ma- metros (altocmulos) son ms esponjosas y
lla regular (en los ejemplos descritos, de 64 ondulantes debido a que predominan gotas de
x 64 x 64). Sobre esta malla se aplica una agua. Las situadas ms cerca del suelo, por
funcin noise y una funcin turbulence. Las debajo de los 2.000 metros (estratos, estrato-
funciones bsicas que dan la forma primaria cmulos) se distribuyen en capas horizontales.
del gas dependen de los diferentes casos. La Por otro lado, las variaciones de luminosidad
funcin puede ser tan simple como una fun- son ms sutiles y, por aadidura, las nubes tie-
cin exponencial con valores diferentes para nen sombras propias muy caractersticas.
el exponente (cuanto mayor sea el valor del Por todas estas razones la simulacin de
exponente mayor ser el contraste local de los nubes ha sido un desafo para los investiga-
patrones resultantes). Esto puede combinarse dores. Algunas de las primeras soluciones
con funciones de otros tipo, tales como funcio- que ya se han mencionado se debieron a
nes sinusoidades que pueden dar lugar a va- Gardner (1984) por medio de funciones si-
riaciones tales como finas venas en el gas. nusoidales. Pero tenan limitaciones impor-
En la prctica, como se ver en los captulos tantes. El mtodo propuesto por Ebert en
siguientes, el procedimiento consiste en esco- 1997 consegua resultados muy efectivos,
ger una forma bsica, tal como un cubo, una es- que luego se han incorporado a varios sis-

Figura 2.40 Nubes simuladas con mtodos procedurales por medio del programa Terragen variando diferentes parmetros de
densidad, altura, espesor, etc.

127
Simulacin visual de materiales

temas comerciales, algunos relativamen- en ciertas aplicaciones, principalmente en


te populares y sencillos, por medio de una medicina, para obtener representaciones del
combinacin de mtodos. Se basaba en el interior de rganos o funciones de distribucin
uso de funciones implcitas (blobs, meta- 3D de diversos tipos. En el anteltimo aparta-
balls), mtodos procedurales con funciones do de este captulo, sobre tcnicas generales
de turbulencia y volume rendering. Por ejem- de rendering, se dan ms detalles sobre esta
plo, para simular una nube de tipo cmulus, variante.
Ebert utilizaba 9 esferas implcitas de radios
variables y funciones de fusin que daban la Hipertexturas (Perlin y Hoffert, 1989)
forma bsica de la nube. Esta forma bsica
se refinaba por medio de funciones de tur- Como ya hemos visto, las texturas se pueden
bulencia que aadan ms detalle y permi- generar tambin por alteraciones de la geo-
tian variar la densidad, as como modificar la metra local. Y tambin hemos visto como uno
mayor o menor suavidad de los bordes. Por de los primeros modelos eficaces, tanto des-
ltimo, dado que los sistemas de representa- de el punto de vista terico como prctico, fue
cin corrientes no pueden procesar este tipo el modelo de Cook y Torrance que simulaba
de formas, se recurra a mtodos alternativos la geometra local por medio de una funcin
de representacin. de distribucin que computaba la frecuencia
Este ltimo problema es comn a la simu- y las caractersticas de formas simtricas en
lacin de nubes y de gases. Dado que todos V cuyo efecto sobre la reflexin poda to-
los sistemas de rendering se basan en el cm- marse en cuenta sin necesidad de modelar
puto de facetas triangulares con vrtices que fsicamente esta geometra.
especifican exactamente su posicin en el Esta alteracin virtual del entorno puede
espacio y vectores normales que especifican llevarse ms lejos hasta abarcar los casos
exactamente su orientacin, es evidente que en que una regin envolvente en torno a la
estos sistemas no son adecuados para repre- superficie ideal, de espesor cero, puede ser
sentar gases. Se requiere, por tanto, una tc- modelada por medio de funciones que descri-
nica de representacin alternativa. Esta tcni- ban situaciones ms complejas.
ca es volume rendering, una forma especial Ken Perlin desarroll las ideas que haba
de representacin que se utiliza ampliamente publicado en su famoso artculo de 1985, tres
aos ms tarde, en un nuevo artculo publica-
do junto con Eric Hoffert (Perlin, K.; Hoffert,
E., 1989) y que supuso el inicio de un mtodo
eficaz para generar texturas complejas. Es
una extensin de los mtodos procedurales
utilizados para crear texturas slidas. Pero
la diferencia es que la evaluacin se lleva a
cabo en torno a una regin volumtrica, en
torno a la superficie del objeto en lugar de
exclusivamente sobre la superficie del objeto.
El resultado es, como dicen los autores, una
forma-textura (shape-texture) o hipertextura
(hypertexture) que permite sintetizar la apa-
riencia de texturas que se dan en casos es-
peciales: pieles, pelo, hierba, llamas, fluidos o
materiales erosionados.
El mtodo se basa en modelar objetos
Figura 2.41 Hipertexturas. por medio de distribuciones de densidad. Se

128
Materiales virtuales

formulan una serie de formas bsicas que in- torcimientos aleatorios ms o menos suaves.
corporan una regin slida y una regin in- Ejemplos en color de estas primeras hipertex-
determinada. A esta regin indeterminada se turas pueden encontrarse en las lminas en
pueden incorporar todo tipo de funciones que color de la obra clsica de Foley et al. (1990).
permiten manipular su volumen. Y, por aadi- En los captulos sobre tcnicas de este libro
dura, se pueden utilizar operadores boolea- tambin se dan algunos ejemplos adaptados
nos que combinen los diferentes efectos. a la simulacin de hierba.
Es una regin que se puede considerar Uno de los principales problemas que se
como maleable, en la que el usuario puede abordaron es el relativo a la representacin
empujar o estirar o retorcer o deformar de (rendering), pues los objetos resultantes no
otros modos materia simulada de un modo tiene caras bien definidas y por consiguiente
controlable (ob. cit., p. 254 de las actas del no se pueden procesar por los mtodos co-
congreso). Es decir, se parte de una fun- rrientes que se basan en el cmputo de nor-
cin de densidad de objeto (Object Density males asociados a facetas poligonales. Perlin
Function), D(x), definida en el entorno [0,1] y Hoffert proponen utilizar tcnicas propias de
que describe los puntos situados en este en- lo que se conoce en la literatura especializada
torno blando (comprendidos entre los lmites como volume rendering, que he mencionado
0 y 1) y una funcin de modulacin de la den- en el apartado anterior y de lo que se dir algo
sidad, DMF (Density Modulation Function), ms al final de este captulo.
que se utiliza para modular la anterior, de Perlin y Hoffert usan una variante de es-
tal modo que la aplicacin sucesiva de esta tas tcnicas para computar sus hipertexturas,
funcin de modulacin, con parmetros con- que denominan ray marching y que, como en
venientemente escogidos, d lugar a hiper- los mtodos clsicos de ray tracing, enva un
texturas que pueden simular diferentes tipos rayo desde cada pxel de salida hacia el mo-
de objetos. Estas funciones se dan segn delo. Los rayos que penetran en el modelo se
variantes especficas: bias (que se utilizan computan a intervalos determinados para ob-
para empular o estirar la densidad del obje- tener valores adecuados que se integran en
to), gain (para hacer el gradiente de densi- un resultado final, que es realmente notable
dad ms suave o ms agudo), noise (para pese a la relativa indefinicin de la geometra
introducir variaciones aleatorias), turbulence que se est computando. Con todo, el proce-
(para incrementar el efecto de las funciones so era prohibitivamente lento en la poca en
anteriores), etc. que se propuso esta tcnica. Pero con el cre-
Por medio de variaciones de esta funcin cimiento constante de la potencia de los orde-
se obtienen geometras alteradas abstractas nadores ahora es posible aplicarlo en progra-
pero en las que se pueden encontrar simili- mas especializados que funcionan con PC tal
tudes con fenmenos reales. En el artculo como veremos en la segunda parte y tal como
citado se presentan ejemplos de simulacin cualquier espectador que haya visto pelculas
de esferas deformadas localmente con ruido, como Monsters (Pixar, 2001), que incluyen
de fuego, de materiales semitransparentes pioneras y espectaculares simulaciones de
con variaciones aleatorias de la refraccin, de pelo, habr podido apreciar por su cuenta.
materiales erosionados (obtenidos median-
tes combinaciones booleanas de prismas y Texturas naturales generadas con
esferas). Y de pelo y pieles. En el caso del fractales
pelo (que se puede extender a hierba, etc.),
se utilizan tres funciones combinadas (noise, Simular la textura de amplias extensiones de
bias y gain) para modelar la longitud y el es- terreno es prcticamente imposible por medio
paciado. Luego se suporpone otra variante de de proyecciones de imgenes digitales. Una
la funcin de noise que crea rizos mediante alternativa que se ha probado con creciente

129
Simulacin visual de materiales

eficacia, para los casos en los que el modelo obra citada de Ebert (2002). Merece la pena
no debe reproducir un terreno real con preci- ver las imgenes incluidas en los captulos 14
sin, es el uso de fractales. (A brief Introduction to fractals), 15 (Fractal
Los fractales son, en la actualidad, una tc- solid textures) y 16 (Procedural fractal terra-
nica tan conocida que bastarn algunas notas ins) de esta obra. Musgrave comenz a tra-
para resumir lo que ms nos puede interesar. bajar con Mandelbrot en Yale en 1987 y pre-
El trmino y las ideas principales fueron intro- sent su tesis doctoral Methods for Realistic
ducidos por Benoit Mandelbrot en 1975 (va- Landscape Imaging en 1993 en la que inclu-
se Mandelbrot, 1975, 1982) y se han aplicado y una serie de artculos notables publicados
desde entonces a todo tipo de disciplinas. En durante los aos de trabajo con Mandelbrot.
la actualidad se utiliza principalmente para refe- Tambin hay que citar otra obra que apareci
rirse a objetos geomtricamente complejos que durante este perodo, la de Heiz-Otto Peitgen
exhiben autosimilaridad a diferentes escalas y (1988) aunque solo incluye imgenes abs-
que pueden generarse artificialmente por algo- tractas, poco aplicables a la simulacin de
ritmos recursivos. Una de las razones del inte- materiales. Con posterioridad a estas fechas
rs que han despertado los fractales es que hay han aparecido docenas de trabajos notables
muchos objetos naturales que tambin exhiben que pueden buscarse por internet.
muchas de sus caractersticas. Entre ellos, y de Algunos de los conceptos bsicos que
un modo notorio, las ramas de los rboles, los convendr recordar son los siguientes.
ros, las fomaciones rocosas o los rayos. Un fractal tiene una determinada dimen-
Precisamente por esta razn se han utili- sin fractal donde la parte entera corresponde
zado extensamente para simular objetos na- a la dimensin de la base eucldea y la parte
turales por medio de procedimientos artificia- fraccionaria, a la densidad de ocupacin de la
les. En el caso de las texturas destinadas a dimensin superior. Por ejemplo, una dimen-
ser vistas a corta distancia, de simulacin de sin de 2,3 indica que la dimensin de base
texturas con patrones singulares, como ocu- es 2D, es decir, un plano. Pero el incremento
rre con la madera o el mrmol, los resultados de 0,3 indica que se est ocupando en ma-
son an insuficientes. Pero en el caso de tex- yor o menor grado la dimensin superior, es
turas ms amorfas o en el caso de texturas decir, que el plano mostrara protuberancias
y objetos que vayan a ser vistos a distancia, repetitivas de una cierta densidad, tanto ma-
como ocurre con los paisajes que incluyen yor cuanto ms alto sea el valor fraccionario.
montaas, o vegetacin o texturas de rocas, Los fractales se generan a partir de una
etc., los resultados son notables. determinada funcin de base. Esta funcin de
Algunos de los ejemplos ms espectacua- base proporciona la forma bsica que se ir
les de fractales los ha desarrollado F. Ken- repitiendo con variantes a diferentes escalas.
ton Musgrave, que trabaj durante aos con Una elecin adecuada de la funcin de base
Mandelbrot y es uno de los coautores de la es fundamental para conseguir una determi-

Figura 2.42 Montaas generadas con fractales por medio del programa Terragen variando diferentes parmetros de escala, octavas
y funciones asociadas.

130
Materiales virtuales

nada configuracin formal. Por ejemplo, una agua y tierra. Pueden encontrarse ejemplos
funcin utilizada extensamente en texturas y cdigo para estos casos en el captulo 15
slidas es la funcin Noise, que ya hemos de la obra citada de Ebert, Musgrave, Pea-
visto y que permite crear y escoger distribu- chey, Perlin y Worley (2003). Y pueden verse
ciones aleatorias simples que pueden modi- las imgenes incluidas en este libro y algunas
ficarse y hacerse ms intensas por medio de ms en http://www.kenmusgrave.com/, adems de
fractales. Otra funcin utilizada ampliamente su Mojoworld: un proyecto iniciado hace ya
es la funcin fBm que simula el movimiento unos cuantos aos para construir planetas
browniano (Brownian Motion, BM) pues se ha procedurales.
encontrado que muchas texturas naturales Los ejemplos de agua, tierra y paisajes son
exhiben un aspecto similar al generado por espectaculares y, afortunadamente, se pue-
este tipo de distribucin. den utilizar con facilidad desde varios progra-
Otro concepto fundamental es el de lacu- mas como tambin veremos en los captulos
narity (lagunaridad o lacunaridad: no hay tra- siguientes. El fuego y las nubes (aire) pueden
duccin corriente). Puede entenderse la lacu- simularse ms eficazmente con otros mto-
naridad como una medida de la distribucin dos, principalmente con sistemas de partcu-
de los espacios vacos, de los huecos, de una las en el caso del fuego y con los mtodos
estructura fractal. Si el valor de la lacunaridad que se han descrito en el apartado anterior
es alto, quiere decir que hay muchos huecos, sobre simulacin de volmenes difusos.
y a la inversa. Es una nocin propuesta por
Mandelbrot (1982) para caracterizar estructu- Figuras planas simuladas con sprites
ras fractales con la misma dimensin fractal y billboards
pero con diferente textura. Puede considerar-
se como una medida de la heterogeneidad de Una alternativa simple pero efectiva para si-
la textura o estructura fractal resultante. mular figuras es el uso de lo que se denomina
El valor de la lacunaridad determina la can- sprites o, ms recientemente, billboards, en la
tidad de cambios en escala a travs de los jerga de los juegos de vdeo.
sucesivos niveles de detalle. Estos ciclos de Un sprite (duendecillo en ingls) es un
repeticin se denominan octavas y el nme- tipo de mapa de bits que se usa para simular
ro de octavas de un fractal es un modo de figuras de un modo gil. Se utilizan desde
referirse al nmero de veces que la funcin 1980 aproximadamente, principalmente en
base se repite generando nuevas distribu- juegos 2D, tanto para simular figuras como
ciones. Con 1 octava solo se utiliza el patrn para incluir elementos de interfaz. Los spri-
bsico. Con 2 octavas y una lacunaridad de tes son generalmente de pequeas dimen-
2, un patrn mitad se superpone al patrn
bsico. Con 3 octavas, otro patrn mitad del
anterior (un cuarto del inicial) se superpone
de nuevo y as sucesivamente. Aunque a me-
nudo se piensa errneamente que el nmero
de octavas de un fractal es infinito, lo cierto
es que en la mayora de los casos no suele ir
ms all de 3. De hecho, todos los fractales
de la naturaleza tienen limitaciones de banda,
es decir, que solo son fractales dentro de un
cierto rango de octavas.
Los fractales se han utilizado con xito
para simular, como dice Musgrave, los cua-
tro elementos de los antiguos: aire, fuego, Figura 2.43 Billboards.

131
Simulacin visual de materiales

siones e incluyen un fondo transparente (un para animar los personajes principales sin
canal alfa) que acta como una mscara y tener que redibujar el fondo.
permite simular figuras recortadas. Eran re- Un billboard es un sprite y algo ms. El
cursos que se combinaban con la imagen al- trmino deriva de los grandes paneles de
macenada en el frame buffer de tal modo que anuncios, utilizados sobre todo en autopistas
podan moverse con independencia de esta de Estados Unidos (billing boards). La dife-
imagen. Un cursor es, de hecho, un ejemplo rencia es ambigua porque tambin se puede
elemental de sprite. En los primeros video- encontrar el trmino billboard sprite. Pero se
juegos permitan animar figuras simples so- utiliza a menudo, desde hace algunos aos,
bre un fondo fijo, de modo similar a lo que se para designar a simulaciones de figuras tridi-
haca en los dibujos animados tradicionales mensionales por medio de una imagen plana,
situada en un espacio 3D, que incorpora un
R fondo con un canal alfa de modo que la figu-
R
R ra aparece recortada y est ligada a un con-
B G

B G
R trolador que hace girar el plano de tal modo
B

B
G

G
R que siempre quede enfrentado a la cmara.
Puede decirse que las diferencias son ms
bien histricas dado que los sprites tenan un
uso ms limitado, restringido generalmente
a juegos 2D, y los billboards se utilizan para
escenas 3D y permiten incorporar comporta-
mientos colectivos.
Los billboards se utilizan para simular figu-

B G ras sobre un escenario pero tambin en simu-


lacin de partculas y en sistemas de multi-
rresolucin, de tal modo que a corta distancia
el elemento sea realmente 3D pero a partir
de un distancia determinada se substituya el
3D por un billboard para optimizar recursos
de computacin.
u
u
u
u
v

Variaciones debidas a la distancia. Mi-


v
u

v
v

pmaps. Multirresolucin
u u

v v

v
u u
Como hemos visto en el captulo anterior, una
v v
diferencia crucial entre los materiales reales y
los virtuales es que los primeros cambian de
aspecto con la distancia, tal como se mues-
u u tra en la espectacular pelcula dirigida por los
Eames Potencias de 10 a la que se haca re-
ferencia en ese captulo. El aspecto, los de-
v v talles de un material, cambian a medida que
D nos acercamos o nos alejamos y an ms si
recurrimos a microscopios o telescopios.
Sin embargo, esto no ocurre as con los
materiales virtuales. Lo que caracteriza, por
el contrario, a los materiales virtuales es que
Figura 2.44 Mipmaps. su aspecto se degrada con la distancia, en

132
Materiales virtuales

ambas direcciones. Si nos acercamos, los de imagen que son potencias de 2. Esta es
detalles se convierten en pxeles: rectngulos una de las razones por las que se recomien-
de un color nico. Si nos alejamos, en mu- da utilizar dimensiones de textura basadas
chos casos nos encontraremos con patrones en estos valores pues, en cualquier caso, se
artificiosos que revelan que una textura apa- reconvertirn internamente a potencias de 2,
remente nica se ha obtenido por copia de con lo que evitamos esta conversin si ya les
texturas ms simples. O bien perderemos su- damos inicialmente un valor adecuado.
tiles efectos que dependen del modo en que Si, por ejemplo, tenemos una imagen RGB
grandes zonas reflejan el color de diferente de un tamao original de 512 x 512, se gene-
modo al variar la distancia de observacin. ra una imagen de doble tamao lineal (4/3 to-
Por otro lado, aparece un problema tcni- tal) es decir, de 1024 x 1024. Cada cuarto se
co adicional. A determinada distancia necesi- llena con el canal R, G o B de la imagen origi-
tamos texturas de alta resolucin, adecuadas nal y el cuarto restante se llena con versiones
para esa distancia. A una distancia ms corta filtradas por un factor de 4. Este proceso se
esa resolucin puede ser innecesaria o inade- repite recursivamente hasta que el mapa se
cuada, con lo que estamos desperdiciando llena por completo con un ltimo mapa de 1
recursos. x 1 pxel. El tamao guardado es mayor pero
Una solucin parcial a este problema pero el procesamiento es mucho ms rpido pues
que ha pasado a formar parte de los recursos solo se procesan los pxeles necesarios en
corrientes de los videojuegos y los programas cada caso.
de animacin y se ha incorporado a los re- Otra alternativa es utilizar texturas de dife-
cursos bsicos de las tarjetas grficas, fue rente tamao, ligadas a objetos tambin con
propuesta por Lance Williams en 1983 (Wi- diferente densidad geomtrica, agrupar estos
lliams, 1982). Williams bautiz a su mtodo objetos y utilizar uno u otro en funcin de la
Mip Mapping: MIP son las siglas de la frase distancia. Hay programas que permiten utili-
latina multum in parvo (mucho en poco). zar este recurso ligndolo a una determinada
La tcnica est basada en lo que se de- distancia o un determinado tamao de salida
nomina genricamente estructura piramidal de tal modo que, al cambiar esta distancia o
de datos (piramydal data structure) que pro- este tamao, se utiliza una u otra de las ver-
porciona una estructura jerrquica que puede siones agrupadas. Este recurso se denomina
ser recorrida con rapidez. Hay varios tipos LOD (Level of detail) y permite gestionar es-
de estructuras de este tipo: rboles binarios, tas substituciones. La utilizacin del recurso
quads, octales, n-dimensionales (binary, es sencilla y veremos algun ejemplo ms ade-
quads, oct, n-dimensional trees) que se han lante.
utilizado en todo tipo de aplicaciones grficas.
Williams utiliz esta estructura para organizar
los datos de tal modo que admitieran interpo- 2.6 Otros mtodos
laciones internas y externas.
Si tenemos una imagen dada por una ma- Variaciones debidas al deterioro
triz de muestras y a los dos parmetros pro-
pios del espacio de la imagen, u, v, se aade Los diferentes modelos presentados hasta
un tercer parmetro D, tal como se muestra aqu se basan en propiedades de materiales
en la figura 2.44, la modificacin de este pa- que no tienen en cuenta la accin del tiempo,
rmetro nos permitir recorrer con facilidad y el desgaste sufrido por los materiales reales.
rapidez la estructura de datos. Este recurso Las imgenes que resultan de la aplicacin
se utililiza para filtrar versiones que tienen de esos modelos, exhiben una precisin y
una cuarta parte del tamao original. Para op- una pulcritud caractersticas de los modelos
timizar el recurso se utilizan siempre tamaos virtuales generados por ordenador.

133
Simulacin visual de materiales

Esto puede estar bien en algunos casos En el primer caso tambin podemos dis-
pero, en otros, el resultado es una notoria fal- tinguir dos tipos de tcnicas. La primera y
ta de realismo, pues los materiales reales se ms corriente, y que quedara englobada
modifican a medida que pasan los aos por dentro de las tcnicas corrientes de texture
causas muy diversas. A menudo muestran mapping, es crear una imagen digital que
manchas de todo tipo, provocadas por el roce, incorpore el tipo de manchas o alteraciones
por accidentes o por el desgaste debido a re- que interesen, lo que se puede conseguir
acciones diversas a nivel superficial. O bien fotografiando texturas reales o modificando
el conjunto de la superficie cambia de color y texturas reales con mapas superpuestos
a la textura natural se superpone otra textura como veremos en la segunda parte. Todo lo
debida a capas de materiales derivados, se- que se requiere es una cierta habilidad arts-
mitransparentes, cuyos colores y patrones se tica para conseguir resultados convincentes
funden con los de capas inferiores. y un conocimiento suficiente de tcnicas b-
Hay mltiples razones por las que puede sicas que veremos en el captulo dedicado
ser necesario incorporar estos efectos a una a ejemplos de aplicacin de texturas. Pero
simulacin. Pero podemos resumirlas en conseguir buenos resultados puede ser tra-
una: la necesidad de obtener resultados ms bajoso o puede requerir una habilidad con la
realistas debido a los requisitos de ciertas que no siempre se cuenta.
aplicaciones. Requisitos que pueden tener De ah que, la segunda, menos corriente,
que ver con el arte, para resultar ms con- sea utilizar mtodos automticos, procedura-
vincentes, o con la ciencia, para representar les, de alteracin de texturas dadas o de ge-
mejor las propiedades variables de los mate- neracin de patrones de manchas que pue-
riales reales. dan superponerse a texturas dadas.
En cualquier caso, los mtodos que per- Uno de los primeros y escasos trabajos
miten integrar estos efectos se pueden cla- que se pueden citar en esta ltima lnea es
sificar en dos grandes categoras: los que se el debido a Norman Badler y Welton Becket
aplican a nivel estrictamente superficial, con (Badler y Becket, 1990). Estos investigadores
espesor cero, por medio de mapas 2D; y los propusieron un algoritmo basado en fractales
que se aplican por medio de capas super- que iba unido a un lenguaje natural de es-
puestas a la superficie original, simulando pecificacin de parmetros que facilitaba al
de un modo ms exacto lo que ocurre en la usuario la utilizacin del algoritmo. Como esta
realidad. aplicacin no se ha difundido, que yo sepa,
podemos pasarla por alto y anotar alguna de
a b las ideas que son interesantes y que pueden
aplicarse por otros medios.
Las manchas algortimicas pueden generar-
se por varios procedimientos corrientes tales
como la aplicacin de fractales o distribuciones
gaussianas y combinarse y recombinarse entre
c d s. El tipo de manchas puede orientar la elec-
cin del mtodo. Como veremos ms adelan-
te, estos procedimientos pueden incorporarse
a varios programas de uso ms o menos co-
rriente, como Photoshop, 3ds Max o MapZone.
Si se ajustan adecuadamente los lmites de va-
Figura 2.45 Erosin de la piedra: superficie original (a) ataca-
da por la lluvia (b), lo que da lugar a la formacin de una costra riacin pueden obtenerse todo tipo de efectos,
por cristalizacin de xidos (c), que posteriormente se erosio- tal como se muestra en la figura 2.45 que es
nan (d), lo que reinicia el proceso. una de las muchas variaciones que analizare-

134
Materiales virtuales

mos ms adelante. Un anlisis de la tipologa de del medio ambiente: se forma con mayor
de manchas puede orientar adecuadamente la rapidez en medios urbanos, ms lentamente
eleccin de una u otra tcnica. en medios rurales y a una velocidad interme-
En el segundo caso mencionado ms dia en medios martimos.
arriba, la simulacin por medio de la gene- El mtodo propuesto por estos autores
racin de capas de espesor distinto de cero, permite la creacin de estas capas por me-
tambin podemos distinguir varios casos de dio de una serie de operadores (coat, que
inters: aade grosor a las capas, erode, que quita
a) La formacin de ptinas en los metales, grosor, fill, que rellena con un determinado
por reacciones qumicas. Estas ptinas va- material, polish, que elimina el material que
ran de color y espesor, y tardan ms o me- supere una determinada altura) que afectan
nos tiempo en formarse segn el entorno sea al color, al acabado y al espesor de dichas
marino, rural o urbano. capas. Estos operadores se combinan con
b) La erosin de la superficie de piedras y un mapa fractal que hace variar el espesor
otros materiales o la corrosin de los metales, con el tiempo, a partir de tres modelos de
que tienen el efecto contrario al anterior, pene- crecimiento (marino, rural o urbano). Los re-
trando en la superficie y alterando la coloracin sultados que se pueden ver en color en el
y la rugosidad de la textura propia del material. artculo citado son notables si bien resulta-
c) El depsito de partculas diversas o de ran indistinguibles de texturas 2D obtenidas
agentes extraos, como pueden ser las man- a partir de fotografas digitales por lo que
chas de sales de color blanquecino debido el inters de este trabajo es ms cientfico
a la cristalizacin de sales presentes en el o dirigido a futuras aplicaciones de anlisis
material (eflorescencias) o a la aparicin de arquitectnico de superficies que adecuado
hongos debida a humedades o la incrustacin para aplicaciones de simulacin.
de insectos o partculas de otros materiales El desgaste de las piedras se aborda en
arrastradas por el viento. otro artculo presentado por varios autores y
d) La combinacin de las causas anteriores. encabezado tambin por Julie Dorsey (que
Para no extender innecesariamente este estudi arquitectura y ciencias de la compu-
tema que es relativamente secundario para tacin, hizo su doctorado en Cornell en 1993
las finalidades de este libro, me referir solo y es profesora en la facultad de Yale desde
a dos aportaciones interesantes que tendran 2002 (Dorsey et al., 1999).
que ver con los dos primeros casos. En este artculo se busca, como en el an-
La formacin de ptinas en los metales se terior, reproducir el proceso real que, en el
aborda en un artculo presentado por Julie caso del desgaste de las piedras, es bastante
Dorsey y Pat Hanrahan (Dorsey y Hanrahan, complejo pues lo que tiene lugar no es solo un
1996). Los autores se limitan a un caso par- proceso de erosin, sino un complejo proce-
ticularmente interesante: el cobre. Cuando so que se resume en la figura 2.45: la piedra
el cobre queda expuesto al exterior se for- expuesta a las inclemencias del tiempo es
ma una fina capa de color marrn que con atacada por la lluvia y el viento y por xidos
el tiempo se va haciendo ms rojiza debido transportados por estos agentes que pene-
a la formacin de xido de cobre. Sobre esta tran en la piedra y se recristalizan formando
capa, que se forma con relativa rapidez, van una costra, un recubrimiento que se degrada
creciendo poco a poco otras capas que in- y se erosiona dejando de nuevo expuesta
corporan sulfatos, nitratos y sales orgnicas parte de la superficie.
y que van tiendo el cobre de un tono verdo- Para simular este proceso se recurre a
so caracterstico, pero que se funde con los tres componentes: un volumen alineado con
tonos rojizos de la capa inicial. El grosor de la superficie; la simulacin del flujo de agua y
estas capas y el tiempo de formacin depen- minerales a travs de este volumen; tcnicas

135
Simulacin visual de materiales

especiales de rendering (derivadas de tcni- tados tienen grandes ventajas con respecto
cas de dispersin, de subsurface scattering) a otras tcnicas tradicionales pues permiten
para simular este tipo de elementos que no visualizar secciones del cuerpo desde cual-
admiten los procedimientos corrientes de re- quier punto de vista.
presentacin basados en facetas poligona- Adems de en medicina tambin se utili-
les. El volumen alineado con la superficie es zan en muchas otras aplicaciones (arqueo-
una estructura de datos especial, una slab, loga, geografa, astrofsica...) y, entre ellas,
como se denomina en el artculo, una peque- en ciencias de materiales. Por lo general, la
a regin alrededor del borde externo de la informacin se almacena por medio de valo-
superficie. res asociados a puntos del espacio distribui-
dos en una red regular. El conjunto de estos
Volume rendering. Participating me- valores forma un campo escalar y lo que se
dia. Ray marching requiere en todas las aplicaciones menciona-
das es obtener representaciones adecuadas
En muchas aplicaciones se necesita obtener de este campo escalar.
representaciones 2D de un volumen slido. Lo Hay varias tcnicas especficas de volume
que se denomina, genricamente, volume ren- rendering. Las tres principales son, probable-
dering, se utiliza desde mediados de la dcada mente, la representacin de elementos de
de 1980 para visualizar las caractersticas in- volumen en un bps, un espacio binario par-
ternas de cuerpos previamente modelados con ticionado sistemticamente (rendering voxels
tcnicas especiales. Se ha utilizado principal- in binary partitioning space), el procesamien-
mente en medicina, para mostrar el interior de to secuencial de cubos (marching cubes) y el
zonas del cuerpo a partir de la computacin trazado secuencial de rayos (ray marching).
de las diferentes densidades de los tejidos o Cada una tiene ventajas y desventajas. En
de las diferencias de temperatura. En estas el tipo de aplicaciones que nos interesan, la
aplicaciones, cada punto del volumen tiene representacin de gases, humo, nubes, etc.,
asociado un determinado valor y la serie de el mtodo ms utilizado, y que Perlin descri-
estos valores define un campo escalar que se be en su artculo de 1989 sobre hipertextu-
puede interpolar para dar lugar a superficies ras, es lo que se conoce como ray marching
que definenen niveles y fronteras internas en y que describir algo ms extensamente a
el volumen. Por medio de aplicaciones espec- continuacin como introduccin a las tcnicas
ficas de volume rendering es posible visualizar concretas que veremos ms adelante.
estos campos escalares del modo ms ade- A diferencia de los mtodos corrientes de
cuado para cada caso. Las diferencias entre simulacin, en los que lo que se procesa es
los tipos de valores y el modo en que se distri- exclusivamente la superficie envolvente de
buyen han dado lugar a diversas variantes que un cuerpo, en estos mtodos lo que se pro-
han surgido en los ltimos aos. cesa es lo que est comprendido entre deter-
Las tcnicas de generacin de estos datos minadas superficies. De este planteamiento
se engloban genricamente bajo la denomi- derivan dos tipos de aplicaciones: las que
nacin de tomografa (del griego tomos, cor- consideran volmenes globales y las que con-
te, seccin) que se puede definir como la sideran volmenes locales. En el primer caso,
tcnica de registro grfico de imgenes de un se procesa todo el espacio de una determi-
cuerpo correspondientes a un corte o plano nada escena por medio de una envolvente
determinado. Hay varias tcnicas de tomo- general. En el segundo caso, se procesa el
grafa (rayos X, ultrasonido, emisin de posi- espacio que est comprendido entre los lmi-
trones, resonancia magntica), entre ellas la tes geomtricos de un objeto determinado.
tomografa computerizada (CT, por sus siglas Lo primero da lugar a simulaciones de, por
en ingls, Computer Tomography). Los resul- ejemplo, niebla y otros efectos atmosfricos

136
Materiales virtuales

que abarcan toda la escena. Lo segundo da quiere representar. Se utiliza principalmente


lugar a simulaciones de fuego, gases, humo para integrar la iluminacin y otros efectos, a
o hipertexturas. lo largo de una determinada distancia, en el
Como deca, en las aplicaciones de simu- clculo del volumen. Un ejemplo caractersti-
lacin ms generales, como las que se utili- co es el de un rayo de luz que penetra en una
zan principalmente en arquitectura, las tc- habitacin oscura, y con partculas de polvo,
nicas ms utilizadas son las que consideran por una ventana. El rayo de luz es visible por-
los objetos representados como constituidos que las partculas de polvo se iluminan por el
por superficies envolventes. Y computan sus rayo y reflejan la luz.
valores a partir de tcnicas que se basan prin- Para calcular este efecto es necesario re-
cipalmente en el envo de rayos trazadores currir a mtodos ms sencillos de los tericos
(ray tracing) que solo tienen en cuenta estas pues un clculo preciso sera impensable. El
superficies. Por esta razn, resulta ms sen- procedimiento caracterstico seguido por este
cillo adaptar las tcnicas de volume rendering algoritmo es evaluar una serie de puntos a lo
a este punto de partida: representaciones de largo del recorrido teniendo en cuenta su po-
superficies, no de volmenes y envo de ra- sicin con respecto al volumen en que estn
yos. incluidos.
Ray marching es una tcnica especfica La figura 2.46 muestra un esquema de
de volume rendering que puede considerar- este proceso. El rectngulo representa una
se como una variante de ray tracing, y que vista en planta del volumen de clculo. Cuan-
consiste en enviar rayos hacia el objeto desde do un rayo de luz penetra en este volumen,
la cmara y computar las intersecciones del se seleccionan una serie de puntos a lo largo
rayo con los objetos y los valores correspon- de su recorrido por el interior del volumen y se
dientes a los atributos de las superficies con evala la iluminacin que recibe, que puede
que se encuentre el rayo en su camino. Pero, estar condicionado por obstculos internos,
en ray marching, a diferencia de ray tracing, tal como tambin se ilustra en la figura en la
cuando el rayo encuentra una superficie, no que algunos de los puntos ms lejanos no re-
se refleja o se refracta, sino que contina su ciben luz porque esta queda interrumpida por
camino a pasos predeterminados. Y en cada un elemento interno.
paso, evala el valor de una funcin de dis- Los puntos se pueden escoger a intervalos
tribucin general del volumen para, a partir regulares o a intervalos que dependan de la
de ah, calcular la densidad, el color, la opa- distancia. El nmero de puntos es uno de los
cidad, la iluminacin y el sombreado de la
porcin de volumen correspondiente. La de-
nominacin ray marching se utiliza para en-
fatizar esta diferencia con ray tracing, aunque
tambin se encuentran otras denominaciones
como volume ray casting o volume ray tracing.
Este ltimo trmino, como deca, puede resul-
tar confuso pues las tcnicas habituales de ray
tracing son bastante distintas, razn por la que
muchos prefieren evitar tal denominacin.
En cualquier caso, es una tcnica cuyos
algoritmos se basan en el procesamiento de
pxeles, lo que la distingue netamente de las Figura 2.46 Ray marching. Los puntos del volumen proce-
sado, cuya seccin horizontal se muestra tramada, se proce-
tcnicas habituales de volume rendering, que san a lo largo de un rayo enviado desde la cmara, a inter-
se basa en el procesamiento de objetos, de valos dados por la configuracin y computando su posicin
los objetos incluidos en el volumen que se y su iluminacin.

137
Simulacin visual de materiales

parmetros principales que habr que ajustar el da que es debido a un predominio de la


indirectamente, por lo general especificando dispersin de ondas cortas (frecuencias al-
valores mnimos y mximos. Por otro lado, el tas), un color que va cambiando al atardecer
medio encerrado por el volumen puede con- pues la dispersin de estas ondas cortas es
siderarse como uniforme o no uniforme, y su absorbida por la atmsfera en ngulos que
grado y tipo de variacin tambin pueden es- ya no son visibles para nosotros y quedan
pecificarse. las ondas medias o largas, lo que resulta en
Por lo que respecta a las caractersticas una coloracin ms clida. La intensidad de
de los efectos de dispersin, tambin hay la dispersin en estos casos viene dada por
que considerar cuatro propiedades: Emisin: la frmula:
las partculas pueden emitir luz propia si sus
p () = 3 /(16 p (1 + cos2))
propiedades incluyen caractersticas de au-
toiluminacin, lo que aumentar la radiancia. El modelo de Mie est basado en partculas
Absorcin: las partculas absorben ilumina- de tamao igual o mayor que la longitud de
cin, el caso ms corriente, lo que disminuir onda media de la luz y se caracteriza por una
la radiancia. Dispersin externa: las partcu- distribucin anisotrpica, con un predominio
las pueden reflejar la luz hacia el exterior tal de la dispersin hacia delante. A diferencia
como ocurre con la luz de la atmsfera, lo del modelo de Rayleigh, en este caso la longi-
que disminuir globalmente la radiancia. Dis- tud de onda no afecta a la dispersin y el color
persin interna: las partculas reciben luz que es predominantemente neutro, como ocurre
reflejan internamente, lo que aumenta la ra- en la niebla debida a causas naturales o artifi-
diancia en una determinada regin tal como ciales, como la polucin, el humo o las nubes.
ocurre con los fenmenos de SSS (SubSur- Los astrnomos americanos Louis G. Hen-
face Scattering). La absorcin y la dispersin yey (1910-1970) y Jesse Greenstein (1909-
externa, por tanto, hacen que disminuya la 2002) desarrollaron un modelo ms preciso y
radiancia mientras que la emisin y la disper- basado en datos experimentales que permita
sin interna hacen que aumente. calcular la intensidad de la dispersin para
Por lo que respecta a los tipos de disper- un medio determinado en funcin de tres
sin, hay que distinguir entre medios que fa- parmetros principales. El modelo de Hen-
vorecen la dispersin en una u otra direccin, yey y Greenstein, presentado en un artculo
lo que depende de varios factores que, en de 1941, se ha reelaborado por Christophe
general, estn ligados a los tipos y tamaos Schlick en otro artculo de 1993 (con otros au-
de las partculas. El punto de partida de estos tores, vase las referencias) en una versin
anlisis son los modelos propuestos por el f- simplificada para adaptarlo a la simulacin di-
sico ingls Lord Rayleigh (1842-1919) y por el gital y es la base de las tcnicas que veremos
fsico alemn Gustav Mie (1869). En el campo ms adelante. La frmula general de Henyey
de los anlisis ms recientes y de las tcnicas y Greenstein es:
que se vern ms adelante, tiene particular
p () = (1/4) ((1 - g2)/(1 + g2 - 2gcos)1,5)
importancia el modo de computar la intensi-
dad (p) de la dispersin en una determinada El parmetro g, en esta frmula, computa la
direccin () o lo que se conoce como la fase intensidad relativa en una determinada direc-
caracterstica de un medio dispersivo. cin, en relacin con el ngulo de incidencia
El modelo de Rayleigh est basado en de la luz, tal como se muestra en la figura
partculas de tamao inferior a la longitud de 2.47.
onda media de la luz y se caracteriza por una Valores positivos indican que la disper-
distribucin isotrpica. La longitud de onda sin es dominante en la direccin de la luz
afecta en este caso a la dispersin. Un ejem- y valores negativos indican que la dispersin
plo caracterstico es el azul del cielo durante es dominante en direccin opuesta a la luz,

138
Materiales virtuales

mientras que un valor nulo indica que la dis-


P ( ) persin es igual en todas direcciones. Los dos
primeros casos son propios de la dispersin
L anisotrpica y el tercero, de la dispersin iso-
trpica.
La frmula original de Henyey-Grenstein
est referida a un hemisferio, es decir, a la
dispersin en una u otra direccin. Para faci-
L
litar su uso en aplicaciones de simulacin se
ha substituido por una funcin de fase nica
g>0 g=0 g<0 con dos parmetros, g1, g2 y un tercer pa-
rmetro, r, que los combina. Si se denomina
Figura 2.47 Dispersin. La funcin de fase (a) y los parme- la frmula anterior HG (Heyley-Greenstein) la
tros g1, g2 (b). funcin de dos trminos puede resumirse as
(esta reformulacin es debida a Schlick):
HG(g1) + (1 - r) HG(g2)
Como puede verse en est frmula, si r = 1
0,8
el segundo trmino se anula y solo cuenta el
0,4 valor g1. Y si r = 0, el primer trmino se anu-
la y solo cuenta el valor g2. En general, si el
0,0 valor de r est comprendido entre 0 y 1, la fr-
mula ser una combinacin lineal de los dos
-0,4 trminos. Corrientemente g1 tiene valores ne-
gativos y g2 positivos. En la segunda parte
-0,8
-1,5 -1,0 -0,5 0,0 0,5 1,0 1,5
veremos como se aplican estos trminos en
Funcin de fase de Rayleigh ~(r = 0,5, g1 = -0,46, g2 = 0,46) la prctica, por medio de shaders especiales
que los incorporan a sus parmetros.
1,5 Los valores adecuados de g1 y g2 para di-
ferentes medios se dan tambin en el artculo
citado de Schlick. Los diagramas de la figura
2.48 muestran una representacin de la fun-
0,0 cin sin simplificar, junto con los valores de la
formulacin simplificada para los tres casos
que fueron estudiados en su da por Rayleigh
y Mie. Una configuracin r - g1 - g2 de 0,50,
-1,5
0 1 2 3 4 5
-0,46, 0,46 genera el efecto de dispersin Ra-
Funcin de fase de Hazy Mie ~(r = 0,12, g1 = -0,5, g2 = 0,7) yleigh. Una configuracin de 0,12, -0,50, 0,70
genera el efecto Hazy Mie. Y una configura-
2
cin 0,19, -0,65, 0,91 genera el efecto Murky
Mie.
0

-2
Representacin de sistemas de part-
0 2 4 6 8 10 12 14 16
culas
Funcin de fase de Murky Mie ~(r = 0,19, g1 = -0,65, g2 = 0,91)
Tanto los sistemas de partculas regulares
Figura 2.48 Dispersin. Representacin y parmetros de los como los estructurados requieren mtodos
tipos de dispersin de Rayleigh, Hazy Mie y Murky Mie. especiales de rendering debido al gran nme-

139
Simulacin visual de materiales

ro de elementos implicados. casos el orden de representacin puede afec-


En los primeros se ha recurrido a varios tar al resultado por lo que se requiere algn
mtodos, principalmente al primero de los mtodo de ordenacin previo, lo que puede
que siguen. Los segundos plantean dificulta- complicar el proceso.
des mayores. En su primer uso Reeves recu- b) Sprites puntuales. En estos casos las
rri a sistemas de representacin ms o me- partculas pueden incorporar ms detalles
nos tradicionales. Se han utilizado algoritmos gracias a esta tcnica que ya se ha descrito
probabilsticos para calcular los valores de anteriormente.
los pxeles de la imagen final. Posteriormente c) Quads texturizados o Billboards. Se
han ido apareciendo tcnicas diversas en las utilizan planos simples (quads) con texturas
que, por lo general, se utilizan billboards o re- que incorporan canales alfa para recortar los
presentaciones directas 3D, es decir, el terce- contornos y que se pueden mover y girar con
ro y cuarto de los mtodos que se resumen en facilidad, de modo que se pueden reorientar
el prrafo siguiente. Las sombras plantean di- automticamente para mirar hacia la cmara.
ficultades especficas. Para calcular las som- d) Objetos poligonales. En este caso, la
bras propias de las ramas o las hojas de los particula es un objeto 3D que se representa
rboles, por ejemplo, se recurre a envolver con procedimientos corrientes, lo que implica
virtualmente cada rbol con un cono virtual. un gran coste computacional, por lo que se
Desde cada punto que representa un elemen- han utilizado raramente aunque es de supo-
to del rbol se enva un rayo hacia la luz y ner que lo sern ms en el futuro a medida
se computa su distancia al cono envolvente. que aumente la potencia de computacin co-
Cuanto mayor sea esta distancia, mayor ser rriente.
la probabilidad de que el elemento est en
sombra pues otros elementos interpuestos le
arrojarn sombra. Para calcular las sombras
arrojadas por otros rboles vecinos se envan
rayos desde la parte superior del rbol hacia
la luz. Antes de representar una partcula se
comprueba si est por debajo (con lo que
la probabilidad de que reciba sombras ser
tanto mayor cuanto ms abajo est) o por
encima de esta lnea (con lo que no recibir
sombras).
Las tcnicas de representacin principa-
les son las siguientes (puede encontrarse un
anlisis de estos mtodos en Walsh, 2005):
a) Primitivas simples sin texturas. Es el sis-
tema utilizado en los primeros casos debido
a las limitaciones de los ordenadores aunque
ahora se utiliza muy pocas veces. Las part-
culas se representan como puntos simples de
color que se almacenan en la memoria tempo-
ral del sistema de representacin y luego se
componen con la imagen global. En general,
se prescinde del orden para simplificar ms
el proceso, haciendo que los colores de cada
partcula sumen su contribucin si van a caer
en el mismo pxel. Sin embargo, en algunos

140
II
TCNICAS
Recursos bsicos

3.1 Las tuberas de la representacin algo apretado y que comenzar por describir
la evolucin histrica de estas herramientas,
lo que tambin ayudar a entender cules
La base fsica. Caractersticas y evolu- son las caractersticas principales que se han
cin de las tarjetas grficas y la GPU mantenido, o se han modificado o han ido
apareciendo a lo largo de esta evolucin.
Las tarjetas grficas han experimentado una Utilizar la denominacin tarjeta grfica
evolucin tan espectacular en los ltimos (graphic card) para referirme al conjunto de
aos, y lo siguen haciendo a un ritmo tan ver- dispositivos y que es prcticamente sinni-
tiginoso, que resulta difcil seguir esta evolu- ma de otras denominaciones igualmente co-
cin acelerada y an ms intentar resumir las rrientes como placa grfica (graphic board)
caractersticas principales que se siguen mo- o tarjeta de vdeo (video card). Tambin se
dificando cada pocos aos. Sin embargo, una utiliza muy a menudo como equivalente la de-
comprensin mnima de estas caractersticas nominacin GPU (graphic processing unit),
es importante para entender adecuadamente si bien este trmino debera reservarse en
las tcnicas que se utilizan a un nivel superior, sentido estricto para el procesador principal
en el software, ms an cuando muchas de instalado en una tarjeta grfica. Dado que
estas tcnicas se estn integrando, progresi- las descripciones de esta seccin se basarn
vamente, en el nivel inferior, en el hardware. sobre todo en estas caractersticas, las del
En esta seccin intentar abordar esta di- procesador principal, este ser el trmino que
fcil tarea a partir de unos principios relativa- utilizar con ms frecuencia.
mente simples. En primer lugar, no hay que
perder de vista que, con toda su complejidad, Evolucin
las tarjetas grficas cumplen una misin muy
sencilla: indicar a los dispositivos de salida de Los inicios de esta historia parten de un difcil
qu color deben pintar cada uno de los puntos equilibrio entre aplicaciones especializadas y
de los marcos (frames) de una animacin o aplicaciones generales, que se mantendr a
de una sesin interactiva o de una imagen lo largo de todos estos aos y que se sigue
fija. Y los colores de estos puntos de salida renovando en la actualidad. Es un equilibrio
se corresponden, en general, con los colores difcil pues si se deja a la CPU (control pro-
asignados por el usuario a los polgonos de cessing unit), la unidad principal de la placa
los objetos que forman la escena, modifica- base de un ordenador, todo el procesamiento
dos por los clculos de iluminacin que se grfico, se gana en flexibilidad debido a que
hayan activado. En segundo lugar, cumplen la manera de gestionar los procesos bsicos
otra misin que tambin puede enunciarse sirve para cualquier tipo de programa y para
de un modo simple: pasar por todos los es- cualquier tipo de aplicacin. Y si muchos de
tadios de un proceso complejo a la mayor estos procesos se incorporan a una tarjeta
velocidad posible. De ah el nombre de ace- grfica, a la GPU (graphic processing unit) se
leradoras grficas con que tambin se las gana en eficacia y en velocidad, pero a costa
denominaba. de ligarlos a un tipo especial de aplicacin,
Si se tienen presentes estos principios b- concretamente a los programas avanzados
sicos, resultar ms fcil aceptar un resumen de simulacin visual, a los vdeojuegos, a los

145
Simulacin visual de materiales

escenarios interactivos, y las aplicaciones de bir a estas nuevas unidades independientes,


todo tipo relacionadas con estos programas. con capacidades muy superiores a las de la
Los antecesores de las primeras tarjetas VGA. A partir de estas fechas comenz una
grficas eran dispositivos elementales cuya evolucin vertiginosa que, entre otras cosas,
misin era generar imgenes a partir de datos dejara a tan solo dos compaas, NVIDIA y
muy generales y mostrarlos en un dispositi- ATI (actualmente AMD), con el control de la
vo de salida adecuado, tal como un monitor. prctica totalidad del mercado profesional.
El dispositivo que apareci con el primer PC, Pero esta evolucin tambin es deudora, so-
producido por IBM en 1981, no representaba bre todo por lo que hace a muchos conceptos
imgenes, sino tan solo texto en color verde y desarrollos tcnicos cruciales, como la inte-
brillante sobre un fondo negro. Este adapta- gracin en hardware de transformaciones de
dor (denominado MDA, monochrome display vrtices o proyeccin de texturas, del trabajo
adapter, el trmino tarjeta grfica an no ha- de grandes compaas especializadas, como
ba aparecido), traduca la informacin gene- Evans & Sutherland, que producan las mejo-
rada por el ordenador a bloques de letras que res (y ms caras) tarjetas grficas de la poca
se disponan en una retcula de 80 x 25 lneas. o de Silicon Graphics, que tambin se diriga
A este le siguieron otros con capacidad para a un mercado muy especializado.
representar elementos grficos simples y que La primera generacin de estas nuevas
contaban con una gama limitada de colores: tarjetas se puede ubicar temporalmente entre
el CGA (color graphics adapter), en 1981, el 1990 y 1998. Sus caractersticas principales
EGA (enhanced graphics adapter) en 1984 o fueron la capacidad de integrar la rasterizacin
el adaptador 8514 de IBM en 1987. de tringulos (previamente transformados por
En 1987, IBM introdujo lo que todava si- la CPU) y de aplicar algunos tipos simples de
gue existiendo como adaptador o tarjeta gr- texturas. El resto del trabajo de computacin
fica bsica, la VGA (video graphics array). En necesario para generar imgenes como resul-
su primera versin, la VGA tenia una resolu- tado de un clculo de simulacin de una esce-
cin de 80 x 25 celdas para texto y de 640 na 3D se segua dejando en manos de la CPU.
x 480 con 16 colores para imgenes, y una Parte de esas cosas que se dejaban para la
memoria de 256 Kb. La VGA sigue formando CPU eran importantes por su carga computa-
parte de algunos ordenadores, como un re- cional, como todo lo relativo a la transformacin
curso bsico instalado en la placa base y que de vrtices 3D en tringulos proyectados sobre
permite al usuario gestionar grficamente por el plano de salida. Tampoco incorporaban fun-
medios simples la instalacin de otros recur- ciones matemticas adecuadas para llevar a
sos ms avanzados. cabo el tipo de operaciones que se requieren
A mediados de la dcada de 1990, los or- para el procesamiento grfico. Pero con todas
denadores con mayores capacidades grfi- estas limitaciones implicaban un trabajo con-
cas tenan varios chips especializados, ms o siderable pues deban adaptar sus funciones
menos desperdigados sobre la placa base, y elementales a cada tipo de ordenador. El coste
que colaboraban para generar imgenes a la de esta independencia era caro.
mayor velocidad posible. Por esas fechas se Las complicaciones que implicaba progra-
comenz a agrupar estos chips en una nica mar estas nuevas tarjetas independientes,
placa o tarjeta especializada. De este modo, para que se adaptaran a todo tipo de ordena-
adems de optimizar el resultado de una cola- dores, llev a la aparicin de aplicaciones ge-
boracin ms o menos dispersa, esto permiti nricas que se situaban a un nivel intermedio
que el desarrollo de las tarjetas se fuera espe- entre los dos dispositivos, el ordenador y la
cializando progresivamente. tarjeta. De este modo, un ncleo importante
El trmino GPU se introdujo a mediados de de funciones se poda estandarizar, liberan-
la dcada de 1990 (por NVIDIA) para descri- do al programador de tener que repetir con

146
Recursos bsicos

pequeas variantes largos bloques de cdigo. durante este perodo se consolidaron como
As surgi OpenGL en 1992 a la que le segui- los dos grandes fabricantes que acabaron por
ra DirectX en 1995, de los que se tratar ms acaparar la prctica totalidad del mercado. La
extensamente en las siguientes secciones. ATI Radeon 9700 (o ATI R300) fue la prime-
Los fabricantes y modelos principales de esta ra tarjeta grfica que integr funciones dadas
poca eran NVIDIA (TNT), ATI (Rage) y 3dfx por Direct3D 9.0, entre ellas pixel shaders y
(Vodoo). vertex shaders, que podan incorporar bucles
Las nuevas tarjetas que aparecieron du- condicionales y clculos complejos en coma
rante lo que a veces se denomina segunda flotante. A partir de estas fechas, las GPU se
generacin, entre 1999 y 2000, se caracteri- convirtieron en herramientas cada vez ms
zaran por la incorporacin de nuevas funcio- parecidas a las CPU y que proporcionaban
nes, principalmente para descargar a la CPU velocidades muy superiores para operacio-
del procesamiento de vrtices 3D y de cl- nes sobre imgenes.
culos bsicos de iluminacin. Tanto OpenGL Dado que desde mediados de la dcada de
como DirectX proporcionaban recursos para 2000 el mercado de las tarjetas profesionales
implementar este tipo de clculos. Tambin se qued prcticamente dominado por NVIDIA
incluy un conjunto limitado de funciones ma- y ATI (actualmente AMD), no estar de ms
temticas. La adicin de funciones de trans- aadir algo sobre estas dos empresas.
formacin e iluminacin fue el primer paso ha- ATI (array technologies incorporated) se
cia una integracin ms compleja que llevara fund en 1991 a partir de otra compaa
posteriormente a una mayor flexibilidad, con fundada en 1985 (por Lee Ka Lau, Benny
la separacin de unidades de programacin Lau y Kwok Yuen Ho) en Canad. Produca
de vectores (vertex shaders) y pxeles (pixel tarjetas grficas integradas para PC (IBM
shaders), que tambin se describirn ms y Commodore principalmente). En 1987
adelante. Todo esto supuso un salto conside- se independiz de clientes concretos a los
rable en la velocidad de procesamiento de las que estaba ligada y ampli su mercado. En
nuevas tarjetas. La NVIDIA GeForce 256 (o 1991 sac una tarjeta (Mach8) que poda
NV10), lanzada en 1999, fue la primera tarjeta procesar grficos con independencia de la
grfica que introdujo este tipo de funciones. CPU y ofreca ms memoria y aceleracin.
La siguiente generacin, a partir del ao A mediados de la dcada de 1990 sac al
2001, permiti por primera vez que las trans- mercado la primera tarjeta (3D Rage), que
formaciones de vrtices fueran programables combinaba aceleracin 2D y 3D. En 1999,
con lo que se abra el camino a las tarjetas la Rage 128 introdujo, adems de mejoras
actuales cuyo principal rasgo distintivo es la en la aceleracin, comandos que permitan
capacidad de programacin independiente de sacar pleno partido del DirectX que ya es-
diversas funciones de hardware. taba en su versin 6.0. En 2000 apareci
A partir de 2002, esta tendencia hacia la la serie Radeon, una GPU que incorpora-
especializacin interna se fue incrementando ba aceleracin 3D con DirectX 7.0, adems
con tarjetas que permitan no solo la progra- de aceleracin para 2D y vdeo. En para-
macin independiente de procesos geomtri- lelo ampli su mercado a la sincronizacin
cos, procesando vrtices, sino la programa- con TV (desde 1996) y consolas para Nin-
cin de otros procesos de visualizacin ms tendo y otros juegos. En 2006, ATI se fu-
complejos, procesando pxeles. Esto abri sion con AMD (Advanced Micro Devices)
nuevas posibilidades, incorporadas a Direc- y se renombr como AMD Graphics Product
tX 9 y a las extensiones proporcionadas por Group (conocida tambin con el nombre
OpenGL. Los fabricantes y modelos princi- ATI Technologies ULC) aunque el nombre
pales por esas fechas eran NVIDIA (serie ATI se mantuvo para las tarjetas grficas.
GeForce FX) y ATI (serie Radeon 9700), que En 2015 sigue siendo el principal fabricante

147
Simulacin visual de materiales

de tarjetas grficas profesionales, junto con Microsoft durante el desarrollo de DirectX9.


NVIDIA. Su lnea de productos ms conocida es la
NVIDIA (el nombre deriva por lo que pare- de las series de tarjetas grficas GeForce,
ce de un juego de palabras entre n, inicial que a partir de la serie 100 ha cambiado su
de nmero, vidia, relacionado con vdeo denominacin por GT, GTS o GTX. Estas
y envidia, alusin a sus competidores), se series incluyen, por un lado, una serie de
fund en 1993 (por Jen-Hsun Huang, Chris chips especializados en grficos y, por otro,
Malachowsky y Curtis Premium, los dos l- varias tecnologas especializadas que tam-
timos provenientes de Sun Microsystems). bin comentar brevemente en los aparta-
Actualmente es una compaa multinacio- dos siguientes.
nal con base en Santa Clara, California. Segn algunos estudios de analistas de
Su primera tarjeta grfica, la NV1, sali al mercado estadounidense, que pueden en-
mercado en 1995 e incorporaba el proce- contrarse por internet, la cuota de mercado
samiento de superficies cuadrticas. Esta del sector de las tarjetas grficas dirigidas a
novedad dej de serlo cuando aparecieron videojuegos correspondiente a NVIDIA era,
las especificaciones de DirectX basadas en en junio de 2010, de alrededor de un 60 %
polgonos. Pero la compaa se adapt a frente a alrededor de un 33 % para ATI. Si
la irrupcin de DirectX y OpenGL con una se considera los ordenadores corrientes,
serie de nuevos productos, principalmente que utilizan tarjetas grficas no especiali-
con una nueva tarjeta, la RIVA 128, que apa- zadas, las ventas se repartiran (datos de
reci en 1997 y que incorporaba especifica- 2008) entre Intel (49 %), NVIDIA (28 %) y
ciones superiores a las de cualquier otro pro- ATI (21 %). Todas estas cifras difieren relati-
ducto similar con un coste relativamente bajo, vamente segn las diferentes fuentes. Pero,
lo que la convirti con rapidez en un producto en cualquier caso, resulta claro que la venta
popular. La GeForce 256 (NV10), lanzada en de tarjetas grficas de gama alta est domi-
1999, que introduca transformaciones e ilu- nada por estas dos compaas. Y, de hecho,
minacin integradas en hardware, con 4 pipe- en 2006 ambas recibieron advertencias del
lines para pxeles, diversas mejoras en otros Departamento de Justicia de Estados Uni-
aspectos y una velocidad de reloj de 120 dos por posible violacin de la leyes Anti-
MHz, se convirti en poco tiempo en la me- trust en el mercado de las tarjetas grficas,
jor tarjeta de sus caractersticas, superando lo que es un indicador bastante evidente de
a las de sus competidoras, incluida ATI. Los la posicin dominante que ambas haban
siguientes modelos de GeForce mantuvieron alcanzado.
esta supremaca. Y estos modelos posterio- Hay que aclarar que aunque ATI/AMD y
res fueron incorporando nuevas pipelines NVIDIA son los principales fabricantes, hay
para pxeles, texturas mltiples, Z-buffers y muchas marcas que ofrecen tarjetas gr-
Stencil-buffers mejorados, filtrado anisotrpi- ficas, lo que puede resultar confuso. Pero
co, etc. Toda una serie de mejoras tcnicas estas marcas se dedican realmente a en-
que tambin se describirn ms adelante. La samblar las tarjetas, utilizando los chips
potencia de sus procesadores sigui aumen- y la tecnologa suministrada por los dos
tando hasta sobrepasar la de la CPU de orde- grandes fabricantes. Algunas marcas cono-
nadores corrientes. Y en los siguientes aos, cidas en la primera y segunda dcada de
una serie de adquisiciones (3dfx en 2000, este siglo son ASUS (www.asus.com), Club3D
ULI electronics en 2005, Hybrid Graphics en (www.club3d.nl), Gainward (www.gainward.com),
2006, Ageia en 2008), reforzaron aun ms Gigabyte (www.giga-byte.es), HIS (www.hisdigi-
su posicin en el mercado. Tan solo las ATI tal.com), Leadtek (www.leadtek.com), MSI (www.
y su serie Radeon aguantaron, entre otras msi.com.es), PNY (www.pny.com), Zotac (www.
cosas debido a sus mejores relaciones con zotac.com).

148
Recursos bsicos

Componentes principales y especificacio- pues se utilizan todos estos trminos; c) por


nes tcnicas valores de rendimiento tales como la tasa de
relleno de texturas en miles de millones por
Si se buscan las caractersticas de una deter- segundo (texel fill rate, en gigatexels por se-
minada tarjeta grfica nos encontraremos con gundo), el nmero de pxeles que la tarjeta es
una serie de trminos y datos aproximada- capaz de dibujar por segundo o bien la tasa
mente semejantes a los que se resumen en la de dibujo de polgonos tambin medida en mi-
tabla de la figura 3.1. Es decir, datos relativos les de millones por segundo.
a: a) el procesador principal, b) la memoria y Por ejemplo, la NVIDIA Geforce GTX 480,
la tasa de transferencia, c) la tecnologa so- un modelo bastante sencillo, tiene las carac-
portada, d) la potencia de consumo y, e) las tersticas siguientes: 700 MHz de velocidad
conexiones externas. Algunos de estos datos de grficos, 1.401 MHz de velocidad del pro-
son relativamente estables mientras que otros cesador, 42 GT/s de texel fill rate . El reloj es
se renuevan cada cierto tiempo. La intencin un modo sinttico de referirse a la frecuencia
de este apartado es describir mnimamente el o la velocidad de proceso. Se mide en her-
sentido de estas especificaciones tcnicas. zios (ciclos por segundo). Una velocidad de
800 MHz quiere decir que se pueden hacer
El componente principal de una tarjeta grfi- 800 millones de cosas por segundo, por lo
ca es la unidad de procesamiento grfico, la general, operaciones matemticas. Esto no
GPU, el motor principal, un procesador es- es del todo exacto pues algunas operaciones
pecializado que ha ido incorporando nuevas requieren 1 ciclo mientras que otras pueden
funciones en los ltimos aos. El primer dato requerir 8 o incluso ms. Pero es una referen-
que conviene anotar es la velocidad del pro- cia convenida que da una idea de la capaci-
cesador bsico. Pero este dato puede no ser dad de procesamiento. En algunos casos se
demasiado significativo por s mismo, pues la dan referencias ms precisas, como el nme-
frecuencia de reloj del procesador de la CPU ro de operaciones en coma flotante (FLOPS)
suele seguir siendo muy superior, en general, o, como deca antes, el nmero de polgonos
al de la GPU. La potencia de la GPU deriva que pueden ser procesados por segundo.
de otros factores como, por ejemplo, de la di- El nmero de transistores es otra medida
versificacin de sus unidades fundamentales clsica de la potencia de procesamiento. Pero
de clculo, principalmente unidades que pro- en las tarjetas ms recientes tambin hay que
cesan vrtices y unidades que procesan pxe- tomar esta cifra con reservas. Su crecimien-
les. Por esta razn, frecuencias relativamente to ha sido espectacular en los ltimos aos
bajas, del orden de 800 MHz en las tarjetas y ha estado ligado a otro factor importante:
ms recientes (2014), bastante inferiores a la tecnologa de fabricacin, que actualmente
los 3.000 o 4.000 MHz de la CPU por estas (2011) permite trabajar a escalas de 40 na-
mismas fechas, van ligadas a rendimientos nmetros (10-9 metros). Las cifras siguientes
mucho ms altos que sacan partido de una ar- dan una idea de esta progresin. En 1998,
quitectura muy distinta que favorece el proce- las mejores tarjetas contaban con alrededor
samiento en paralelo de un nmero creciente de 7 millones de transistores. En 1999 ya se
de unidades funcionales. Con todo, es uno de haba saltado a 23 millones (la GeForce 256),
los primeros datos que hay que anotar. lo que estaba ligado a una capacidad de pro-
La velocidad y potencia de procesamiento cesamiento de 15 millones de tringulos por
de la GPU se mide de varios modos: a) por segundo. En 2003, la Geoforce FX contaba
el reloj de grficos (graphics clock); b) por el con 125 millones de transistores y una capa-
reloj del procesador (processor clock), la velo- cidad de procesamiento de 200 millones de
cidad de reloj (clock speed), el reloj del motor tringulos por segundo. Hacia 2010, las cifras
(engine clock) o el reloj central (core clock), corrientes eran las que siguen. La Radeon

149
Simulacin visual de materiales

HD 5770 tena 627 millones de transistores. que si contara con una frecuencia ms rpida
La Radeon HD 5870 tena 2.150 millones de pero un bus de 64 bits. La frecuencia se mide
transistores con tecnologa de proceso de 40 en MHz (mega ciclos por segundo) mientras
nm. La Geforce GTX 480 y la GTX-570 tenan que GT/s es la cantidad de datos transferidos.
3.000 millones de transistores con tecnologa Un valor significativo es el nmero de uni-
de proceso de 40 nm. dades de textura que se proyectan sobre la
Sin embargo, los modelos posteriores han pantalla por segundo. Esto se mide por el
reducido estas cifras pero aumentando otras Texell Fill Rate que se calcula multiplicando
prestaciones, principalmente la velocidad de el nmero de texture mapping units por la ve-
proceso, lo que ha resultado en tasas mayo- locidad de reloj del procesador central (core
res de procesamiento pero con incrementos clock). Y el valor resultante se mide igualmen-
reducidos en el nmero de transistores. te en GT/s.
Estos cambios estn ligados a otros de El segundo valor citado, GFLOPS, es otra
ms calado que se basan en una redefinicin medida corriente, ms general, dada por los
de la microarquitectura de estas tarjetas, un millones de operaciones por segundo que
proceso complejo en el que participan otras lleva a cabo una unidad de procesamiento.
compaas. Tanto NVIDIA como AMD tienen Esto se mide en FLOPS (Floating Point Ope-
como proveedor a TSMC (Taiwan Semicon- rations per Second). Como los valores actua-
ductor Manufacturing Company), la mayor les son muy grandes se utilizan las unidades
compaa independiente del mundo que fa- derivadas MFLOPS (megaflops o 106 flops),
brica chips para AMD y NVIDIA, entre otros GFLOPS (gigaflops o 109 Flops) o, en gran-
fabricantes. Esta redefinicin est ligada a la des computadores, TFLOPS (teraflops o 1012
nueva arquitectura Fermi o GF100, en el caso Flops) o PFLOPS (petaflops o 1015 Flops). En
de NVIDIA o a la nueva arquitectura basada las especificaciones actuales se puede encon-
en los chips Barts o Cayman en lugar de los trar tambin la indicacin adicional GFLOPS
Cypress, en el caso de AMD. Pero este es un (FMA). Las siglas FMA (Fused Multiply Add)
tema excesivamente complejo del que solo se indican que las operaciones de multiplicacin
puede dar esta breve indicacin para hacer y suma estn integradas en un solo ciclo si el
ver que por debajo de las descripciones sin- dispositivo lo permite (por ejemplo d = a + bc)
tticas que aqu se dan hay niveles inferiores con lo que el rendimiento es mayor que si no
de gran complejidad. lo permite (dos ciclos en lugar de uno).
Por todas estas razones, puede ser ms
significativo comprobar datos de rendimiento Otro componente principal es la memoria
que pueden medirse por medio de otras re- que, en las modernas GPU, se dedica princi-
ferencias caractersticas como las correspon- palmente a almacenar resultados intermedios
dientes GT/s o GFLOPS. de las operaciones. En las tarjetas antiguas
El primer valor citado, GT/s (giga transfers la memoria iba ligada muy directamente a
por segundo o 109 operaciones de transferen- la resolucin. Una resolucin como la de
cias por segundo), se refiere al nmero de da- las tarjetas actuales, que suele alcanzar un
tos transferidos, agrupando tanto la velocidad mximo del orden de 2.560 x 1.600, requiere
como la cantidad transferida, pues la veloci- procesar algo ms de 4 millones de pxeles
dad por s misma tiene poco significado dado (4.096.000). Para 32 bits por pxel esto supo-
que importa ms la cantidad de datos que ne 15.6 Mb. Esto es lo que requiere el frame
se mueve a una velocidad determinada. Es buffer, la memoria intermedia en donde se
evidente que una tarjeta grfica con 1 Gb de almacenan las imgenes antes de ser envia-
memoria ser mucho ms rpida transfirien- das al monitor. Pero todas las tarjetas actua-
do datos si cuenta con un bus de 256 bits de les incorporan al menos un back buffer que
anchura, aunque su frecuencia sea ms lenta mantiene la siguiente imagen preparada para

150
Recursos bsicos

evitar parpadeos, lo que supone almacenar la MHz, c) el interfaz de memoria en bits, d) el


misma cantidad. Y todas incoporan al menos ancho de banda de memoria en GB/s.
un Z-buffer, un Stencil-buffer que guardan la Hasta los primeros aos del siglo xxi la
misma informacin para calcular la profundi- memoria de las tarjetas grficas era un tipo
dad de los vrtices correspondientes a cada especial de memoria RAM (Random Access
pxel o las mscaras que ocultan parte de Memory), la memoria dinmica con interfaz
estos pxeles, si bien esta informacin puede sncrona, SDRAM (Synchronous Dynamic
comprimirse con lo que resulta ser algo me- Random Access Memory), que se diferen-
nor. Y todas incorporan unos cuantos buffers cia de la memoria DRAM (Dynamic Random
ms tan solo para el estadio previo a la salida. Access Memory) en que esta tarda un cierto
Y esto no es sino una parte de la memo- tiempo en responder a los cambios de entra-
ria de las tarjetas actuales, pues cada vertex da, tras un nmero determinado de pulsos, un
shader y pixel shader guarda su propia infor- retraso que se denomina tcnicamente laten-
macin sobre la escena, a lo que se suma la cia. La memoria SDRAM responde en el mo-
correspondiente a los ms recientes shaders mento sealado por la seal del reloj y est,
que veremos ms adelante. Los mapas de tex- por tanto, sincronizada con el bus de sistema
tura se almacenan tambin en memoria de un del ordenador.
modo variable, que depender de su tamao Hacia 2003 (se haba ido desarrollando
y profundidad de color y otras caractersticas. entre 1996 y 2000 por la compaa JEDEC)
As, resulta que los requisitos de memoria aca- apareci un nuevo tipo de memoria deno-
ban por ser del orden de 100 veces ms que minado DDR SDRAM (Double Data Rate
los requeridos por la resolucin de salida, si Synchronous Dynamic Random Access Me-
bien todos ellos son mltiplos de esta resolu- mory) o DDR sin ms (Double Data Rate),
cin inicial, otro factor que no debe perderse que permita aumentar los tiempos de trans-
de vista. Por estas razones, la memoria de las ferencia hasta duplicar aproximadamente la
tarjetas grficas de gama baja/media es del or- anchura de banda de la anterior. Con una
den de los 1.500 Mb por lo menos. transferencia de 64 bits por pulso, se con-
Pero un factor ms importante es la tasa segua as una anchura de 128 (64 x 2) bits
de transferencia, es decir, la velocidad con que, a una frecuencia de bus de 100 MHz,
que se transfiere esta informacin. Y esto daba valores mximos de transferencia de
implica varios parmetros importantes: a) la 1.600 MB/s. Poco despus apareci la ver-
capacidad y el tipo, b) el reloj de memoria en sin DDR2, que permita mayores velocida-

Motor principal (1) Memoria (2) Varios (3)


Modelo
Bus Band- Clock
Core Trns Txt GFLOPS Tipo Conn. Tecn. TDP Coste
datos width rate
(MHz) (m) (GT/s) (w) ()
(bits) (MB/s) (MHz)
Gama 800 600 10 300 GDDR3 128 28,8 1.800 PCIe 2.0 750 65 100
baja
Gama 1.500
900 1.000 100 2.000 GDDR5 256 134,0 PCIe 3.0 1.500 150 300
media (6.000)
Gama 1.500
900 7.000 200 3.000 GDDR5 384 288,0 PCIe 3.0 2.500 250 600
alta (6.000)

(1) Core indica la frecuencia del procesador principal. Trns (m) los millones de transistores. Para Txt (GT/s) y GFLOPS vase el texto.

(2) No se ha incluido la resolucin mxima que sera de 2.560 x 1.600 px en todos los casos
En Conn. (conexiones) no se ha incluido los conectores externos que son al menos VGA, DVI y HDMI.
En Tecn. (tecnologa) las cifras se refieren a (muy aproximadamente) ncleos CUDA. No se mencionan las versiones de DirectX y Open GL, que
seran generalmente 11 y 4.4, ni OpenCL (1.1)
(3) En TDP (Thermal Design Power) se indica la potencia trmica equivalente. Vase el texto.
El coste en euros es muy aproximado y no incluye los modelos de gama muy baja ni muy alta. Los tres modelos indicados pueden corresponder,
en 2014 a modelos intermedios de una Geforce GTX de la serie 400, una Geforce GTX de la serie 600 y una Geforce de la serie 700.

Figura 3.1 Componentes y especificaciones caractersticas de tarjetas grficas.

151
Simulacin visual de materiales

des y alcanzaba una tasa de transferencia En 2005 se desarrollaron, por Samsung,


de 3.200 MB/s. Y poco despus la versin los primeros estndares de la memoria de
DDR3, que permita trabajar con menores GDDR4, basada en DDR3, con una anchura
voltajes, lo que reduca el consumo, y que de banda de 2,5 GB/s, que fue aumentando
introduca un nuevo recurso para aumen- en las siguientes versiones a 3,2 por pin o
tar las tasas de transferencia, los prefetch 12,8 GB/s por mdulo (2006), hasta 16 GB/s
buffers, que gestionaban de un modo ms por mdulo (2007).
eficaz las matrices internas de datos. As se En 2008 se comenz a utilizar la memoria
alcanzaron tasas de transferencia de 6.400 GDDR5 (con la tarjeta Radeon HD 4870 de
MB/s (con 100 MHz de memory clock) que ATI). Este nuevo tipo, con una mayor anchu-
en poco tiempo aumentaron hasta 17.066 ra de banda, se basaba en la memoria DDR3
MB/s, con mayores frecuencias de reloj de que tiene el doble de lneas de datos (lneas
memoria (266 MHz). DQ) que la DDR2 pero le aada un prefetch
Un poco antes, en 2002, se publicaron buffer de 8 bits, como la GDDR4. La GDDR5
las especificaciones de un nuevo estndar, opera con dos tipos de reloj, uno que gestio-
el GDDR3 (Graphics Double Data Rate), na los comandos de entrada (CK, command
desarrollado por ATI en colaboracin con clock) y otro que gestiona las operaciones
JEDEC (aunque la primera tarjeta que utili- de lectura y escritura de datos (WCK, write
z este tipo de memoria fue la GeForce FX clock). Todo esto hace que la velocidad de
5700 Ultra de NVIDIA). La tecnologa era transferencia de datos sea notoriamente su-
similar a DDR2 pero el consumo se reduca, perior a los anteriores.
permitiendo un mejor rendimiento de los Un tercer factor importante es la tecnologa
mdulos de memoria, y utilizaba 4 bits de soportada que aparece en las especificacio-
datos por pin en ciclos de reloj lo que, con nes de las tarjetas grficas modernas, y se
una anchura de 32 bits, le permita alcanzar refiere a los programas o API (application pro-
ms de 5.6 GB/s. gramming interface) que incorpora una tarje-

Figura 3.2 Vista simplificada de una tarjeta grfica de gama baja/media (dimensiones aproximadas: 11,5 x 15 cm): 1) conectores
externos (HDMI, VGA, DVI), 2) conexin PCIe con la placa base (CPU), 3), chips de memoria, 4) ventilador sobre el chip principal.
No se muestran condensadores, resistencias, transistores ni los buses de conexin que van a parar al PCIe.

152
Recursos bsicos

ta. Es habitual que se incorporen versiones es lgico, instrucciones diferentes pues, por
concretas de DirectX y OpenGL. Pero puede ejemplo, solo los geometry shaders pueden
incorporar otras que han ido surgiendo en los crear primitivas geomtricas y solo los pixel
ltimos aos, a partir de 2006 principalmente. shaders pueden leer texturas de determina-
En las tarjetas actuales es corriente encontrar das caractersticas), y que tambin abren el
al menos OpenCL y, en las tarjetas de AMD la camino a utilizar shaders ms verstiles, no
tecnologa AMD Stream Processor. Y en las ligados estrictamente a una fase del procesa-
de NVIDIA, la tecnologa CUDA que, al igual miento.
que las anteriores, permite sacar el mximo As, en las especificaciones de tecnologa
rendimiento del procesamiento en paralelo. soportada, se pueden encontrar referencias
Estas nuevas aplicaciones han surgido en a unidades especializadas tales como sha-
buena parte a raz de la extensin de las apli- ders unificados (US, unified shaders, shaders
caciones grficas a otras aplicaciones (finan- que sirven tanto para procesar vrtices como
cieras, mdicas, etc.), para sacar partido de la pxeles con lo que aumenta la flexibilidad de
enorme potencia de computacin en paralelo programacin), tuberas de proyeccin de
de las modernas tarjetas, una extensin que texturas (TMP, texture mapping pipelines, que
se conoce genricamente con la denomina- se encargan de los procesos de proyeccin
cin computacin de propsito general sobre y filtrado de texturas), tuberas de salida de
GPU, GPGPU por sus siglas en ingls (ge- render (ROP, render out pipelines, que se en-
neral purpose computing on graphics proces- cargan del proceso de salida a pantalla y de
sing units). Sobre este tema volveremos ms realizar operaciones finales como la combi-
adelante. nacin de valores de pxeles provenientes de
Otra referencia que puede aparecer es la varias vas), denominaciones que se refieren
versin del shader utilizado, por ejemplo Sha- en todos los casos a unidades especializadas
der Model 4.0. Pero esto es prcticamente que descargan a la GPU de realizar determi-
equivalente a indicar la versin de DirectX nadas tareas, con lo que tambin aumenta
u OpenGL utilizada, como tambin veremos la velocidad, y que estn ligados a las API
ms adelante. Es una especificacin propia mencionadas. De este modo, por ejemplo,
del lenguaje HLSL (que tambin se comen- los shaders pueden dedicarse a hacer tareas
ta en la seccin siguiente), ligado a DirectX principales y, una vez finalizadas, pasan los
y est relacionada directamente con la ver- resultados a las otras unidades para que las
sin correspondiente. Los modelos de vertex completen, con lo que pueden dedicarse a
shaders y pixels shaders son los siguientes: otro grupo de tareas.
VS 2.0 y PS 2.0 (DirectX 9.0, que inclua la Las tarjetas recientes tambin incluyen
primera especificacin del Shader Model), otras unidades especializadas en el proce-
VS 3.0 y PS 3.0 (Shader Model 3), VS 4.0 y samiento de funciones ms especializadas,
PS 4.0 (Shader Model 4). Esta denominacin como PhysX (simulacin de efectos fsicos)
proviene de que a lo largo de las diferentes o Eyefinity, que se utiliza para manejar mlti-
versiones se ha buscando unificar el lenguaje ples pantallas, entre otras.
de shaders para simplificar la tarea de los pro- Por ltimo, la potencia en vatios de la tarje-
gramadores. A partir de la versin DirectX 10, ta, que va unida a la temperatura que puede
el Shader Model 4.0 se considera equivalente alcanzar la GPU es otro factor que no se debe
al Unified Shader Model, una denominacin pasar por alto. Las tarjetas que se detallan
utilizada por OpenGL pero tambin por mu- al final, y que cubren la gama media-alta de
chos fabricantes o montadores de tarjetas y ordenadores de sobremesa, pueden reque-
que se refiere a un conjunto de instrucciones rir potencias que estn entre los 120/220 y
consistente, ms o menos comn para todos 350/700 (el primer valor corresponde a acti-
los tipos de shaders (aunque sigue, como vidad mnima y el segundo, a actividad mxi-

153
Simulacin visual de materiales

ma). Adems de que esto implica una alimen- En general, un bus es una va de transfe-
tacin secundaria solo para la tarjeta, algunas rencia de datos. Esto implica varios parme-
pueden requerir nominalmente hasta 500 o tros que no son demasiado diferentes a los
600 vatios pero al alcanzar picos de trabajo que se utilizan para describir la circulacin en
pueden necesitar algo ms y, si no cuentan las autopistas: la anchura (en bits) de la va, la
con esta potencia, el ordenador se cuelga, velocidad (de sincronismo) y la existencia de
por lo que es recomendable suministrarle una controladores que regulen el trfico. Fsica-
potencia algo superior a la nominal. Y todo mente se relacionan con trazas impresas en
esto est ligado al consumo, a la temperatura la placa base, que pueden verse a simple vis-
y al ruido. ta y que han substituido al cableado de los pri-
La mayor o menor temperatura de la tar- meros ordenadores. Pero no se deben iden-
jeta se debe a que el movimiento de la co- tificar demasiado literalmente los buses con
rriente elctrica genera calor, tanto mayor estas marcas fsicas que no son sino el so-
cuanto mayor sea la velocidad. Hay una re- porte para conexiones lgicas bastante ms
lacin bsicamente lineal entre las frecuen- complejas y que dependen de la organizacin
cias de reloj de un procesador y lo que se de los datos: aqu se acabara la analoga con
denomina potencia trmica de diseo, o TDP las autopistas (aunque podemos prolongarla
(thermal design power). Y hay un lmite para si pensamos que los vehculos pueden trans-
las frecuencias posibles que solo puede su- portar cosas muy diversas y que podramos
perarse aumentando la potencia de voltaje medir el trfico en funcin, no de los vehculos
suministrada. Pero la relacin entre el vol- sino en funcin de las personas y cosas que
taje de los chips y la TMD es exponencial, estos transportan).
debido a que al aumentar el calor del chip Dado que las tarjetas grficas evoluciona-
aumenta la resistencia. Este aumento del ron hasta convertirse en un componente inde-
calor requiere enfriar de algn modo el chip pendiente que se debe conectar a las placas
para evitar que resulte daado. Y el aumento base, es evidente que la va de conexin en-
del calor puede hacer que la velocidad dismi- tre la tarjeta grfica y el ordenador (la GPU y
nuya. De ah que la potencia y la necesidad la CPU) tiene una gran importancia pues se
de refrigerar las tarjetas se hayan convertido pueden crear cuellos de botella que ralenticen
en un problema importante a medida que ha todo el proceso.
ido aumentando su potencia en los ltimos El primer bus de conexin directa entre la
aos. Hay muchos medios que se han pro- GPU y la CPU se produjo en 1974 (era un
bado: enfriar los ordenadores con agua, con componente de un ordenador pionero en la
nitrgeno lquido, con tubos de cobre. Y con poca, el Altair 8800). Pero el mercado de los
el mtodo ms corriente, que es colocar un PC adopt inicialmente el bus ISA (Industry
gran ventilador sobre los chips, lo que gene- Standard Architecture) de IBM, que apareci
ra otro problema: el ruido. Cuando trabajan tambin en 1981 y tena una anchura de 8/16
al mximo, estas tarjetas pueden producir bits con una velocidad de 8 MHz. Esto supu-
entre 45 y 55 dB de ruido, lo que es una cifra so una innovacin fundamental pues permi-
digna de consideracin. tira en breve plazo ampliar la capacidad de
los ordenadores en funcin de las diferentes
Conexiones externas necesidades de los usuarios. Pronto siguie-
ron otros tipos que introdujeron mejoras su-
Un componente muy importante en el rendi- cesivas: el NuBus de los Macintosh, el MCA
miento de los ordenadores personales es el (Microchannel Architecture) de IBM, o el EISA
bus de conexin entre las tarjetas grficas y (Extended Industry Standard Architecture),
la CPU, lo que justifica que le dediquemos un lanzado en 1988 por una asociacin de com-
apartado. petidores de IBM.

154
Recursos bsicos

A partir de 1996 aproximadamente, se im- La denominacin puerto indicaba que solo


pusieron tres tipos de bus para substituir a se poda conectar un dispositivo (en un bus
los citados: el primero fue VESA, que pronto se pueden conectar varios). Su anchura era
cedi su posicin a PCI y AGP. Se caracte- tambin de 32 bits, el clock rate de 66 MHz y
rizaban, en primer lugar, por una conexin la tasa de transferencia de 266 MB/s. Las di-
dedicada de modo exclusivo al flujo de infor- ferentes versiones que fueron apareciendo se
macin entre la CPU y la GPU. Y, despus, por denominaron 2X (pues la velocidad, 133, y la
un crecimiento sostenido de sus caractersti- tasa de transferencia, 532 MB/s, eran dobles
cas principales: la memoria, la velocidad y el que en el anterior), 4X (266 MHz, 1 GB/s),
ancho de banda. Tanto VESA com PCI se de- 8X (533 MHz, 2 GB/s). La duplicacin de las
nominaron buses locales debido a que amplia- tasas de transferencia se consegua sin mo-
ban localmente la CPU por medio de ranuras dificar las caractersticas fsicas principales,
de expansin. VESA (Video Electronics Stan- aumentando los ciclos del reloj. El ltimo tipo,
dards Association), aparecido en 1992, era el AGP 8X, se lanz hacia 2000.
fundamentalmente una extensin de ISA, con Con todo, ya a principios de la dcada de
un conector de 16 bits agregado para llegar a 1990 comenz a apreciarse cada vez ms
32 bits, muy grande, una caracterstica que lle- claramente que las necesidades siempre cre-
v a su rpida substitucin por otros modelos cientes de aumento de la tasa de transferen-
ms pequeos y con prestaciones similares. cia llegaran pronto a un lmite si se ligaban
En 1993 se introdujo el PCI (Peripheral exclusivamente al aumento de la anchura del
Components Interconnect). Su anchura era bus paralelo. Este aumento repercuta en el
de 32 bits, el clock rate de 33 a 100 MHz y la coste pero tambin en ruido y en otros pro-
anchura de banda de 132 a 800 MB/s. El PCI- blemas tcnicos. As se plante una nueva
X apareci en 1998 como una extensin del tecnologa que utilizaba transferencia en serie
PCI, basada principalmente en la ampliacin pero ligndola a un aumento de la frecuen-
de la anchura del bus a 64 bits y la frecuencia cia y a un tipo nuevo de recurso compartido
del reloj a 133 MHz. que dejaba de ser propiamente el bus para
En 1997 apareci AGP (Accelerated Gra- pasar a ser el switch: un punto de conexin
phics Port) como solucin a los cuellos de entre varias lneas. Cada dispositivo del sis-
botella que se producan con los buses PCI. tema tiene una conexin directa a este switch

1X (36 clavijas)

4X (64 clavijas)

8X (98 clavijas)

16X (164 clavijas)

8.9 cm

Ancho de banda Ancho de banda Tasa de


Fecha Bus Reloj (GHz) por va (MB/s) total para x16 transferencia
2003 PCIe 1.0 2,5 ~250 MB/s ~8 GB/s 2,5GT/s
2007 PCIe 2.0 5,0 ~500 MB/s ~16 GB/s 5,0GT/s
2010 PCIe 3.0 8,0 ~1 GB/s ~32 GB/s 8,0GT/s

Figura 3.3 Esquema (arriba) y caractersticas principales de las distintas versiones del PCIexpress.

155
Simulacin visual de materiales

que conecta mltiples entradas con mltiples cerca de 1 GB por segundo para una sola
salidas. pista (lane) y en una direccin, lo que equi-
En 2003, apareci este nuevo modelo de vale a 32 GB/s de ancho de banda total para
bus, el PCIe o PCI Express (Peripheral Com- un x16.
ponent Interconnect Express) con interfaz La tabla de la figura 3.3 muestra los princi-
punto a punto, lo que quiere decir que, a dife- pales datos de los buses PCIexpress.
rencia de los anteriores, la transferencia era En las tarjetas actuales todos los buses de
en serie. Pero la diferencia fundamental era conexin entre la GPU y la CPU son PCIex-
que la frecuencia era mucho mayor, con lo press. Y tambin, en prcticamente todos los
que se alcanzaban anchuras de banda efec- casos, la versin es 2.0 y el tipo x16. Las es-
tiva muy superiores a las anteriores. Por aa- pecificaciones del PCIexpress 3.0, reciente-
didura, los datos podan ser enviados por dos mente aparecido, son de 1 GB/s direccional
direcciones a la vez (en paralelo los datos van y 2 GB/s bidireccional, por lo que para x16
en una sola direccin) pues cada conexin in- supone un mximo terico de 16 GB/s direc-
clua dos cables, uno en una direccin y otro cional y 32 GB/s bidireccional.
en la opuesta. Otra ventaja adicional es que la Adems de esta conexin principal, la ma-
va de transmisin no se comparta como en yora de las tarjetas grficas tienen al menos
los PCI, por lo que haba menos congestin dos conectores, un conector DVI (Digital Vi-
en el trnsito. Los PCIe que surgieron a par- sual Interface) que soporta pantallas de tipo
tir de esta fecha se distinguen por el nmero LCD, y un conector VGA, que soporta las cl-
de lanes (calles) que utilizan. Las conexiones sicas pantallas CRT que ya estn en vas de
son escalables y se denomina x1, x2, x4, x16 desaparicin por lo que algunas tarjetas han
o x32: la cifra a continuacin de la x indica el optado por dos conectores DVI en lugar de
nmero de carriles de datos de conexin con uno de cada, lo que no implica necesariamen-
la placa base. La anchura de banda dual est te abandonar la opcin clsica pues es posi-
relacionada directamente con estos valores ble conectar un CRT mediante un adaptador.
que para el PCIe 1.0 son: 5 Gbps/400 MB/s Otro conector relativamente corriente desde
(x1), 20 Gbps/1.6 GBps (x4), 40 Gbps/3.2 2003 es el HDMI (High Definition Multimedia
GBps (x8), 80 Gbps/6.4 GBps (x16). En com- Interface), que se utiliza para conectar con-
paracin con los anteriores, un carril simple solas de juego y DVD a un monitor. Adems
es aproximadamente el doble de rpido que de estos tres conectores habituales algunas
un PCI normal. tarjetas incluyen conectores para TV, para
En 2007 apareci la versin 2.0, que cmaras de vdeo o para cmaras digitales.
duplicaba las tasas de transferencia del Y, desde 2007, salidas DP (Display Port) que
anterior, hasta unas 5 GT/s (gigatransfers/ puede acabar desplazando a los anteriores.
segundo), con un ancho de banda de 500 Por ejemplo, la ATI Fire Pro (2010) tiene
MB/s. En noviembre de 2010 se publicaron hasta 4 salidas de tipo Display Port que, con
las especificaciones de la versin 3.0, que 2 Gb GDDR5 de memoria, permite manejar
alcanzara los 8 GT/s. Con una frecuencia hasta 4 pantallas de 30 con resoluciones de
de 8 GHz la anchura de banda alcanzara 2.560 x 1.600 cada una.

HDMI VGA DVI

Figura 3.4 Conectores bsicos de una tarjeta grfica.

156
Recursos bsicos

La base algortmica. El concepto de ridos durante el proceso de rendering (vase


shader Upstill, 1990, p. 211). Dicho de otro modo: es
un algoritmo que se utiliza para calcular todo
Los lenguajes de programacin por hardware tipo de efectos de representacin. El concep-
se denominan tambin lenguajes de shaders to introducido por Cook ha pasado a ser una
(shading languages) debido a que se basan parte fundamental de los lenguajes de progra-
en la programacin de bloques de cdigo que macin por hardware pues proporciona una
pueden compartirse entre aplicaciones y que abstraccin extraordinariamente til y flexible
se denominan shaders, un trmino que podra que puede ser utilizada a todos los niveles y
traducirse, con reservas, por sombreadores. para todo tipo de finalidades. El trmino alu-
El concepto de shader ha evolucionado de a la funcin principal de un shader que es
tanto en los ltimos aos que su uso actual modificar de algn modo las caractersticas de
puede resultar equvoco debido a que se utili- una superficie (sombrearla o modularla), al
za a dos niveles bastante distintos. Un shader igual que lo hara una luz que se moviese por
puede estar embebido en hardware, forman- encima de ella.
do parte de la GPU, o estar a disposicin de
un programador, como parte del software que
se comunicar en su momento con la GPU
de diferentes modos. Volveremos a esta dis-
color final
tincin al final de esta seccin, despus de
haber explicado sus fundamentos y su origen,
y tambin en el captulo siguiente.

+ color
Shader trees cobre

El concepto de shader fue introducido por Ro- *


bert Cook en un artculo publicado en 1984
(vase Cook, 1984). El trabajo de Cook en peso ambient *
Lucasfilm, que posteriormente se convertira comp.
ambiental
en Pixar, llev a la clasificacin de los shaders peso specular
comp.
en diferentes categoras: shaders de superfi- especular
cies, de luces, de efectos atmosfricos, etc.
rugosidad
Sobre esta aportacin original se desarroll el normal vista superficie
primer lenguaje de shaders, RenderMan en
cuyo desarrollo tuvo tambin un papel impor-
tante otro gran investigador que ha aportado
mltiples tcnicas a la simulacin de materia- color final
les, Pat Hanrahan.
Otra aportacin fundamental dentro de
esta evolucin fue la aparicin, por estas mis- mix
mas fechas, de los lenguajes procedurales en
el que jugaron un papel principal investigado-
shade tree shade tree
res como Ken Perlin, David Peachey o Steven para texture para
vetas
Worley, entre otros, a quienes ya me he referi- madera madera madera
obscura obscura
do en el captulo anterior.
Un shader es bsicamente un procedimien-
to invocado por un programa ms general para Figura 3.5 Ejemplos de shaders para simular cobre y para
computar el valor o conjunto de valores reque- simular madera. Adaptados del artculo de Cook de 1984.

157
Simulacin visual de materiales

La figura 3.5, reelaborada a partir de un Las transformaciones principales de este


grupo de figuras que aparecen en el artculo estadio son las que se engloban bajo la deno-
original de Cook, muestra las ideas bsicas: minacin genrica de vertex shader. Concre-
dierentes funciones se combinan en una es- tamente, son operaciones de transformacin
tructura jerrquica que, en la cspide, las in- geomtrica de espacios de coordenadas, de
tegra en un resultado nico. iluminacin directa que afecta a los atributos
Los shaders se utilizan para programar las de los vrtices y, con algunas variantes se-
GPU y han substituido a secciones completas gn las API, de eliminacin de vrtices cuyas
de lo que se denomina, desde los inicios de normales apuntan en direccin contraria a
la computacin grfica, la rendering pipeline la direccin de visualizacin (culling) o que
que, hace muchos aos, estaba formado por estn fuera del espacio propio del frustrum
algoritmos fijos, embebidos en las placas de (clipping). Ms adelante se ampliar esta in-
las tarjetas y que no podan modificarse con formacin.
facilidad. Los shaders han permitido subsitutir El ejemplo siguiente, extremadamente
estas secciones rgidas por secciones progra- simple, muestra, en pseudocdigo simplifica-
mables, ms flexibles. do, el aspecto que tendra un programa para
Hay dos tipos de shaders que estn incor- crear un vrtice de color azul en la posicin 1,
porados a las dos libraries grficas que uti- 2. Los nmeros tras las barras son comenta-
lizan todas las tarjetas grficas: vertex sha- rios y delimitadores de bloques que remiten al
ders, y pixel o fragment shaders. Tambin prrafo siguiente.
puede encontrarse un tercer tipo: geometry struct vertex {
shaders, que se ha introducido con la versin /1
10.0 de Direct3D. tipoApi position;
tipoApi color;
tipoApi normal;
Vertex shaders
tipoApi textura;
}
A medida que se han ido desarrollando las dos vertex v; / 2
principales API de programacin por hardware, tipoApi matrizTransf;
OpenGL y DirectX, se han ido desarrollando y
vs (v.position)
estandarizando algunos estadios principales /3
de la rendering pipeline. El primero de estos {
estadios es el correspondiente a un conjunto nuevaPos = position * matrizTransf;
de operaciones corrientes que se llevan a cabo return nuevaPos;
}
sobre los datos principales recibidos de la apli-
cacin: los vrtices de los objetos de que est El primer bloque (1) define un tipo de dato
compuesta la escena y que incorporan la infor- complejo (struct) que incorpora tipos de datos
macin principal, geomtrica y no geomtrica: bsicos propios de la API. Por ejemplo, en Di-
coordenadas de posicin, vectores normales, rect3D el tipo sera D3DVECTOR3, es decir,
colores y coordenadas de textura. un vector de tres elementos.
Para cada vrtice se ejecutan una serie de El segundo bloque (2) define un vrtice v
operaciones de transformacin geomtrica: a partir de la estructura anterior y una ma-
operaciones de transformacin de coordena- triz, a partir de un tipo predeterminado en la
das locales en globales, de transformacin API. Por ejemplo, en Direct3D, el tipo sera
perspectiva del espacio del modelo en el WORLDVIEWPROJECTION, una matriz de 4
espacio del visor y de normalizacin de este x 4 floats. Cuando se transforma un vrtice
espacio. Los valores procesados se almace- desde el espacio modelo al espacio de la vis-
nan en una memoria temporal hasta que son ta se necesita llevar a cabo tres transforma-
enviados a la imagen de salida. ciones cannicas: primero, por la matriz glo-

158
Recursos bsicos

bal (world matrix), luego, por la matriz de la res modificados de los vrtices. Tras el proce-
vista (view matrix) y, finalmente por la matriz so de rasterizacin, esos valores son pasados
de proyecccin (projection matrix). Pero es- al procesador de pxeles/ fragmentos.
tas transformaciones se pueden concatenar Las operaciones matemticas que inclu-
por medio de una matriz compuesta como ye el procesador son operaciones bsicas
la indicada. de adicin, multiplicacin, producto vectorial
El tercer bloque (3) es el vertex shader, punto, mnimos y mximos. Estas operacio-
vs, propiamente dicho que, simplificado al nes se han ampliado en los ltimos aos a
mximo, toma un dato de entrada (la posi- producto vectorial cruzado, negacin y re-
cin del vrtice dado), lo multiplica por la ordenacin de vectores (component-wise
matriz de transformacion y devuelve el re- swizzling) y otros. Y ms recientemente, a la
sultado. inclusin de controles condicionales de flujo y
Para simplificar la exposicin hemos eli- otras operaciones.
minado palabras clave que ligaran estos
valores al conjunto de la rendering pipeline. Pixel / Fragment shaders
Si se utiliza, por ejemplo, el lenguaje CG de
NVIDIA, la declaracin primera deberan ha- El segundo estadio que se ha estandarizado
ber sido en los ltimos aos es el relativo al procesa-
miento de pxeles o fragmentos. La dife-
float4 position : POSITION
rencia de terminologa viene de las dos API:
float4 color : COLOR
DirectX utiliza la denominacin pixel shader
Una sintaxis como esta indica que el valor mientras que OpenGL utiliza la denominacin
de la variable position est ligado a la se- fragment shader. Algunos tericos prefieren
mntica propia de una determinada zona de esta ltima denominacin, que es ms co-
la rendering pipeline, lo que permitira ligar rrecta pues no hay una relacin directa entre
este fragmento de cdigo a formas ms com- los pxeles de la imagen final de salida y los
plejas de manejo de los vrtices. pxeles que se procesan, a menudo de modo
Los programas que afectan a los vrtices iterativo, antes de la salida final: un ejemplo
son procesados por una unidad especializada caracterstico es la serie de valores corres-
de hardware, el procesador de vrtices pro- pondientes a objetos que compartiran un
gramable (programmable vertex processor). mismo pxel pero que estn situados a dife-
El flujo de datos comienza cargando todos rentes distancias (con diferentes valores z),
los atributos de los vrtices: posicin, color, con lo que solo se conserva el valor del ms
coordenadas de textura, normales, etc. El cercano. Sin embargo, la denominacin ms
procesador de vrtices va cargando sucesi- extendida es la primera, que es la que utiliza-
vamente las instrucciones almacenadas en r en lo que sigue.
memoria y las va ejecutando hasta que el Los pixel shaders describen datos rela-
programa termina. Las instrucciones acce- tivos a los pxeles de la imagen de salida:
den sucesivamente a diferentes registros color, profundidad (coordenada z), valores
que contienen los valores correspondientes alfa. El dato principal es obviamente el co-
a los atributos de los vrtices que son de lor. Pero el color enviado desde la escena
solo lectura y han sido especificados por la se transforma en funcin de informacin
aplicacin principal. Los registros tempo- adicional, que se procesa en el estadio
rales son de lectura-escritura y se utilizan previo a la salida final. Entre la informacin
para almacenar valores intermedios de los que se procesa en este estadio est la in-
clculos. Los registros de salida son de solo formacin relativa a la iluminacin o a datos
escritura. Al terminar el trabajo del procesa- que alteran virtualmente la geometra, como
dor, los registros de salida contienen los valo- el relieve dado por bumps o normal maps,

159
Simulacin visual de materiales

por ejemplo. Esta informacin puede llevar les que veremos en la descripcin general de la
a descartar ciertos valores o a combinarlos rendering pipeline, acabar por ser enviado al
entre s. driver de la tarjeta grfica y, de ah, al monitor.
Las operaciones principales de este esta- La estructura de los programas de procesa-
dio son la rasterizacin de tringulos, la apli- miento de fragmentos/pxeles son ms simples
cacin y procesamiento de texturas y, con que los de vrtices pues, en definitiva, reciben
algunas variantes segn las API, operaciones un color de entrada y devuelven otro color. Na-
complementarias de control como antialiasing turalmente, en casos ms complejos este c-
o eliminacin de pxeles en funcin de la in- digo es ms largo y acepta datos diversos as
formacin suministrada por diversos buffers como diversas funciones de control, acceso a
(depth, alpha, stencil). registros, etc. Pero la idea bsica es crear es-
El ejemplo siguiente, extremadamente tructuras programables que, en el fondo, son
simple, como el anterior, muestra, en cdigo bastante simples para que se procesen de
simplificado, el aspecto que tendra un pro- modo independiente y a gran velocidad.
grama para procesar un pxel. Los programas que afectan a los fragmen-
tos son procesados por una unidad especia-
struct pixel { lizada de hardware, el procesador de frag-
/1 mentos programable (programmable pixel/
tipoApi color;
tipoApi otraInformacion; fragment processor). El flujo general es simi-
} lar al que se ha descrito antes para los vertex
pixel p; shaders.
/2
colAdd colorlum (datosCalculo);
Otros tipos de shaders
ps (p.color, colAdd)
/3 Adems de estos tipos principales hay mu-
{ chos otros tipos de shaders especializados.
nuevoColor = p.color * colAdd; En el captulo siguiente veremos mltiples
return nuevoColor;
} ejemplos de diferentes shaders que se utili-
zan en programas de simulacin para todo
tipo de efectos de representacin de materia-
El primer bloque (1) define un dato complejo les complejos o de efectos especiales.
(struct) que incorpora tipos de datos propios de A medida que estos shaders, que nacen por
la API. Por ejemplo, en Direct3D el tipo sera lo general en una determinada aplicacin, en el
COLOUR, que es un vector de 4 elementos software, van adquiriendo importancia, se van
(red, green, blue, alpha) en coma flotante. integrando en las tarjetas grficas, en el hard-
El segundo bloque (2) define un pxel p ware. Con esto, la velocidad de procesamiento
a partir de la estructura anterior. Y a conti- se multiplica de un modo espectacular. Natu-
nuacin, un color adicional que podra ser el ralmente, esto solo ocurre cuando el shader
resultado de un clculo de iluminacin avan- se ha consolidado, pues la inversin requerida
zada. O que podra ser otro pxel que se quie- para integrar un determinado algoritmo en el
re combinar con el anterior para interpolar el hardware es bastante ms costosa.
resultado. U otras operaciones. Algunos ejemplos recientes notables, a los
El tercer bloque (3) es el pixel shader, ps, que me referir ms adelante, son los sha-
propiamente dicho. Toma dos valores como ders de teselacin, que permiten subdividir un
argumento, dos colores, y los combina para objeto geomtrico, virtualmente, en mltiples
devolver el resultado nuevoColor. microfacetas para simular superficies curvas
Este color se pasar al frame buffer donde, o para otras finalidades. Otros, ms antiguos,
si no se modifica debido a procesamientos fina- que tambin se describirn ms adelante, son

160
Recursos bsicos

los correspondientes a procesos tales como de un sistema de coordenadas, con respecto


enmascaramiento (stencil shaders), lectura al cual quedan definidos los objetos virtuales,
de valores en profundidad (depth shaders) o y transformar este espacio, con su sistema de
fusin de valores provenientes de diferentes coordenadas, a otro espacio ms adecuado
canales (blending shaders). para la fase correspondiente de este proceso.
Partimos de la base de que ya existe un
Las tuberas de la representacin (ren- modelo. Este punto de partida es un tanto
dering pipeline) anmalo pues en realidad se corresponde
con el final del proceso: no podramos crear
Descripcin genrica. Fases principales un modelo, interactuando con el ordenador
para definir geometra, colores, luces, cma-
El trmino rendering pipeline se puede tra- ras, etc, si no contsemos con un programa
ducir, literalmente, como tubera de la re- que, a su vez, cuenta ya con una rendering
presentacin y, aproximadamente, como la pipeline que es, precisamente, la que hace
serie de procedimientos que se encadenan posible esta labor.
para llegar a la representacin. Es decir, la Pero partamos de esta base: existe un mo-
serie de operaciones normalizadas que se delo que ya hemos creado (o, si se prefiere,
deben llevar a cabo para pasar de una es- que existe misteriosamente) y que se enva
tructura virtual, una descripcin de entidades a la aplicacin que se encargar de enviarlo,
geomtricas y atributos fsicos, a una imagen a su vez, a la tarjeta grfica que lo enviar,
sinttica. Otra descripcin an ms sinttica finalmente, al monitor.
es la siguiente: es el conjunto de operacio- Esto implica que existe una aplicacin que
nes que hay que llevar a cabo para convertir acta de intermediaria entre el programa que
un modelo virtual 3D en una imagen 2D. La utilizamos para modelar (pongamos que 3ds
figura 3.6 resume este proceso simplificado. Max, Maya, SketchUp o el que sea) y los dis-
Es un proceso similar al que seguiramos positivos mecnicos (CPU, GPU y monitor)
para sacar una fotografa de una escena real que transformarn esta informacin en pun-
pero con una diferencia importante. La es-
cena que vamos a fotografiar no existe: no
Aplicacin (datos)
es sino una coleccin de nmeros que solo
pasarn a tener existencia virtual al final de
este proceso.
En este apartado se resumen los estadios
principales de dicho proceso sin entrar en ex-
cesivo detalle, pero procurando que queden Geometra y atributos
claras las peculiaridades ms generales de
cada estadio. Es una descripcin de la se-
cuencia bsica, dejando a un lado los avan-
ces recientes que afectan principalmente a la
paralelizacin. Para simplificar la descripcin Rasterizacin
se supondr que la secuencia de operacio-
nes es consecutiva. Como veremos ms ade-
lante, esto no es realmente as y la potencia
de las GPU recientes y los avances en su
programacin se basan en que muchas de Aplicacin (imagen)
estas operaciones se realizan en paralelo.
La mayor parte de las operaciones impli-
can especificar un espacio virtual, por medio Figura 3.6 La rendering pipeline. Esquema elemental.

161
Simulacin visual de materiales

tos de color visibles. Como ya he avanzado y


1 Transformacin veremos con algo ms de detalle, esto corre
de vrtices a cargo de una API (application programming
interface) que se encarga de la tarea de hacer

Procesamiento de vrtices
esta traduccin.
L
Lo primero que hace la API es traducir los
N 2 Clculo de datos abstractos de alto nivel que hemos es-
iluminacin
tado manejando, puertas, muros, terrenos,
etc., a datos abstractos de bajo nivel: con-
cretamente a vrtices. Pues para la rende-
3 Ensamblaje de ring pipeline este es el dato fundamental: una
primitivas puerta no es sino una coleccin de vrtices
con atributos. De hecho, cuando se comenz
a modelar arquitectura en los departamentos
ms avanzados de Europa, en la dcada de
4 Backface 1970 aproximadamente, la informacin se in-
Transformaciones de proyeccin
V culling troduca vrtice a vrtice.
Comenzando por tanto por aqu, los apar-
tados siguientes irn describiendo las opera-
ciones principales a un nivel muy general. La
5 Clipping figura 3.7 ilustra los estadios principales que
se describen algo ms extensamente en los
siguientes apartados.

6 Transformacin Procesamiento de vrtices y ensamblaje


proyectiva 2D de primitivas

0 Procesamiento y evaluacin de la infor-


macin de entrada. Los datos recibidos por
Procesamiento de pxeles/fragmentos

7 Rasterizacin el programa situado a nivel superior deben


inicial
procesarse adecuadamente para entrar en la
pipeline. Hay toda una serie de procedimien-
tos previos que definen el contexto en que se
8 Interpolacin llevar a cabo toda la secuencia, y que con-
y texturizacin cluyen con la recopilacin normalizada de la
informacin que se pasar al primer estadio
propiamente dicho.

9 Operaciones 1 Transformacin de vrtices. La informa-


complementarias cin principal por la que comienza el proceso
es la posicin geomtrica de cada vrtice y la
conectividad con que se relaciona con otros
vrtices. Por aadidura, cada vrtice incor-
10 Salida
final pora informacin adicional, adems de su
posicin geomtrica, tal como el color, que
resultar del color asignado por la aplicacin
superior, la normal derivada de la normal a la
Figura 3.7 La rendering pipeline. Esquema general. superficie en que est incluido o las coorde-

162
Recursos bsicos

pues, sean las que sean, acabarn siendo


normalizadas, es decir, reducidas a un rango
de 0,0 a 1,0.
Adems de las coordenadas del espacio
objeto, en una escena en la que hay varios
objetos se necesita un espacio comn a par-
tir del cual se puedan relacionar los diversos
objetos. Este espacio comn se denomina
espacio global (world space) que cuenta con
su propio sistema de coordenadas, el siste-
ma de coordenadas global (world coordinate
Figura 3.8 Transformacin de vrtices. Coordenadas de ob-
jeto y coordenadas globales. System), con un origen que se especifica au-
tomticamente por el programa de modelado
que se est utilizando y que se pasa a la API
L L correspondiente. Las coordenadas de los
objetos se transforman a las coordenadas
del espacio global mediante una transfor-
N N macin especfica denominada transforma-
cin de modelado (modeling transformation).
Esta transformacin puede implicar no solo
cambios de posicin sino tambin cambios

3 7
5
1
Figura 3.9 Transformacin de vrtices. Clculo bsico de
iluminacin.
2 6
0 4
nadas de textura que se hayan definido para
este vrtice, si es el caso. Estos datos vie- 7
3
nen definidos corrientemente en el espacio 1
5
objeto (object space). En este espacio hay
un origen de coordenadas y unos valores
que presuponen unas unidades determina- 2 6
das. El origen (de coordenadas 0,0,0) puede 0 4
ser el centroide del objeto (como ocurrira en
3 7
un objeto esferoide) o, si resulta ms conve- 1
5
niente, el centro de una cara (como ocurrira
en un prisma que representa un muro apo-
yado en el suelo). Las unidades dependern 2 6
de las finalidades del modelo: pueden ser 0 4
nanmetros, si se est trabajando en dise-
3 7
o microscpico, milmetros o centmetros, 5
1
si se est modelando un objeto domstico,
centmetros o metros, si se est modelando
una casa, metros o kilmetros, si se est di- 6
2
seando un barrio o una ciudad, o parsecs, 0 4
si se est diseando una galaxia. Para el
procesamiento interno esto es irrelevante Figura 3.10 Ensamblaje de primitivas.

163
Simulacin visual de materiales

de orientacin y cambios de escala, lo que el vector unificado correspondiente a la nor-


implica una serie de transformaciones conca- mal. Como el producto punto de dos vectores
tenadas. unificados es igual al coseno del ngulo que
forman, es posible asociar directamente este
2 Clculo bsico de la iluminacin. La infor- resultado con la intensidad de iluminacin reci-
macin suministrada por la aplicacin incluye bida. Es evidente que si el ngulo que forman
corrientemente la posicin, intensidad y color los dos vectores es 90, el vrtice no recibir
de luces. Estas luces modifican el color de los iluminacin, lo que se corresponde con el valor
vrtices a partir de un clculo elemental en del coseno, que es 0 en este caso. Y es evi-
el que se obtiene el producto vectorial punto dente que si el ngulo es 0, el vrtice recibir
del vector unificado correspondiente a la luz y la mxima iluminacin, lo que se corresponde
con el valor del coseno que es 1 en este caso.
Entre 0 y 1 se dan todas las variaciones de n-
gulos e intensidades de iluminacin.
El clculo de iluminacin y las transforma-
ciones del modelo y las que siguen se inte-
gran, como veremos ms adelante, en las
V aplicaciones recientes, en un nico estadio
de procesamiento de vrtices, el vertex sha-
der, que integra este clculo y estas transfor-
maciones por lo que tambin se le denomina
de transformacin e iluminacin o T&L (trans-
form & lighting).
Figura 3.11 Culling.
3 Ensamblaje de primitivas. A partir de la in-
formacin incorporada a la secuencia de vr-
tices, estos se agrupan en primitivas: tringu-
los en la mayora de los casos pero tambin
lneas o puntos si la escena los incluye.
Estas primitivas se recortan o se eliminan
a partir de operaciones adicionales de re-
ordenacin. Son operaciones que incluyen
sistemas sofisticados de indexacin para evi-
tar redundancias y que en las aplicaciones
recientes se apoyan en un buffer especial
creado en el primer estadio de la pipeline,
el index buffer. Si los tringulos que definen
Figura 3.12 Clipping. una superficie se computaran directamente,
cada vrtice se contara dos o ms veces.
En una escena con decenas o centenares
de miles de tringulos esto supone una car-
ga de memoria considerable e innecesaria.
Para evitarlo, se utilizan tablas que eliminan
la redundancia pero definen perfectamente la
topologa del objeto.
A continuacin siguen una serie de opera-
ciones fundamentales que pueden ejecutarse
Figura 3.13 Viewport mapping. en diferente orden del que sigue. Las opera-

164
Recursos bsicos

ciones de culling, por ejemplo, pueden especi- sultado de la transformacin perspectiva est
ficarse una vez que se conozca la posicin del limitado por los cuatro planos correspondien-
punto de vista, pues esto basta para definir la tes a la pirmide de visin. Todos los objetos o
relacin entre los vectores correspondientes partes de objetos que queden fuera del espa-
al punto de vista y la normal a una cara. Otro cio dado por esta pirmide, se eliminan. Por
tanto ocurre con las operaciones de clipping. aadidura, el usuario puede haber especifica-
Direct3D y OpenGL las ejecutan en diferente do dos planos de recorte perpendiculares a la
orden, por razones tcnicas en las que no es lnea de visin, uno ms cercano y otro ms
necesario entrar pero que describiremos de lejano, para que los objetos situados fuera de
modo general ms adelante. Para que sean estos planos tambin se eliminen.
ms comprensibles las diferentes fases aqu La escena visible corresponde, por tanto, a
se presentan de un modo diferenciado. todo lo que queda dentro de este espacio de-
limitado por 6 planos, cada uno de los cuales
Transformaciones de proyeccin define un hemiespacio, y que se denomina
frustrum (del latn fragmento, trozo). Todos
4 Transformacin perspectiva. Culling. los polgonos que queden fuera del frustrum
Tras este proceso, el espacio modelo se pro- se eliminan o se recortan.
yecta sobre un espacio perspectivo con un
nuevo origen: el correspondiente al punto de 6 Transformacin proyectiva 2D (viewport
vista. Los tringulos ms alejados del punto mapping). Tras todas estas operaciones y
de vista resultarn ms pequeos, despus transformaciones, el modelo est listo para
de esta transformacin, que los ms cerca- ser proyectado sobre el marco de salida con
nos. Las coordenadas vienen dadas en el lo que los objetos 3D se convierten en obje-
espacio del ojo o de la camara y se deno- tos 2D. Los pxeles definidos por el marco
minan coordenadas de ojo o de cmara (eye de salida tambin se normalizan y quedan
space o camera space y eye coordinates o definidos en el espacio de la ventana (win-
camera coordinates). dow space) con sus correspondientes coor-
Por aadidura, las coordenadas de todos
los objetos se transforman en coordenadas
homogneas (se les aade un cuarto compo-
nente, w) y se reproyectan sobre un espacio
normalizado (un cubo unitario). As, todos los
objetos tendrn coordenadas comprendidas
entre (-1,-1,-1) y (1,1,1). Este espacio se de-
nomina NDS, normalized device space y sus
coordenadas correspondientes NDC, norma-
lized device coordinates.
En este estadio se lleva a cabo tambin Figura 3.14 Rasterizacin inicial.
un proceso denominado culling o backface
culling. Los polgonos cuyas normales forman
un ngulo mayor de 90 con el vector corres-
pondiente al punto de vista se eliminan, pues
corresponden a caras no visibles de un volu-
men cerrado o a caras que, por alguna razn
(incluyendo errores del usuario), tienen esta
orientacin.

5 Clipping (frustrum clipping). El espacio re- Figura 3.15 Interpolacin y texturizacin.

165
Simulacin visual de materiales

denadas de ventana (window coordinates). los valores de los pxeles intermedios que se
Los valores estn comprendidos entre (0,0) crean entre dos pxeles cuyos valores son
y (x-1, y-1), siendo x e y las dimensiones de conocidos pues se corresponden con vrti-
la ventana. El origen vara segn las API. En ces proyectados directamente desde la esce-
OpenGL est en la parte inferior izquierda, en na. La gestin de texturas es una de las fun-
Direct3D est en la parte superior izquierda ciones principales de las tarjetas grficas en
de la pantalla. la medida en que introducen aceleracin por
Esta ltima transformacin se lleva a cabo hardware en elementos muy grandes y que
por una matriz especfica, la matriz de visin consumen una gran cantidad de recursos.
y la operacin que transforma valores dados Es el aspecto en que probablemente ms
en el normalized device coordinates a win- avances se han llevado a cabo en los ltimos
dow coordinates se denomina proyeccin o aos. Las texturas se aplican por medio de
transformacin de visor o viewport mapping o funciones progresivamente ms complejas
viewport transformation. a medida que evolucionan las aplicaciones
y que permiten llevar a cabo substituciones,
Procesamiento de pxeles/fragmentos recortes, mezclas, combinaciones diversas,
transformaciones de traslacin, rotacin, in-
7 Rasterizacin inicial. El resultado de todo versin o cambio de escala, por medio de
el proceso anterior es que a cada primitiva matrices especficas, etc. Los valores resul-
le corresponder un conjunto de fragmentos/ tantes del acceso a las texturas almacenadas
pxeles. Pxeles (pixels, el trmino utilizado en memoria y manipuladas o combinadas
por Direct3D) y fragmentos (fragments, el de diversos modos se fusionan con un pro-
trmino utilizado por OpenGL) son trminos ceso de aplicacin de la textura en funcin
casi sinnimos pero hay una diferencia im- de otras entradas en el proceso debidas al
portante de matiz que ya hecomentado y que clculo de iluminacin avanzada o a otras
est relacionada con la diferencia de termi- modificaciones. El resultado de este proceso
nologa de Direct3D y OpenGL. Un pxel se es que cada fragmento y, en consecuencia,
corresponde exactamente con una posicin cada pxel recibir una nueva asignacin de
y un valor almacenados en memoria (en el color.
frame buffer) para ser proyectados en la
imagen final. Un fragmento se corresponde Operaciones complementarias y salida
con la serie de valores a partir de los cuales final
se actualiza un pxel. Viene a ser, por tanto,
como un pxel potencial, como el valor de un 9 Operaciones complementarias y fina-
pxel que puede variar en funcin de los cl- les de rasterizacin. Si la escena incluye
culos que se llevan a cabo por los shaders especificaciones especiales se procesan en
correspondientes en este nivel de procesa- este estadio previo al final. Si, por ejemplo, la
miento. Los pxeles/fragmentos pasan por escena incluye niebla (fog), el valor de cada
una serie de operaciones antes de ser en- fragmento se modifica en funcin de la distan-
viados al buffer. cia a la cmara y en funcin de los parme-
tros asociados a este efecto.
8 Interpolacin y texturizacin. Una vez El ltimo estadio es procesar una se-
que se cuenta con una coleccin de pxeles/ cuencia de pruebas de control que es-
fragmentos que corresponden a los colores tn incorporadas tanto a DirectX como a
previos de los vrtices, se pasa a un proce- OpenGL. Estas pruebas han evolucionado
so de interpolacin y, en su caso, de proyec- en las ltimas aplicaciones por lo que dar
cin de texturas almacenadas en memoria. una informacin breve que se matizar ms
La interpolacin consiste en la deduccin de adelante:

166
Recursos bsicos

a) Alpha test. Los pxeles con un determi- suman), b) substraccin (los valores de los
nado valor alfa son eliminados o atenuados. pxeles se restan), c) multiplicacin (los va-
Esta prueba se ha integrado en otras en ver- lores de los pxeles se multiplican), d) fusin
siones ms recientes; alfa (alpha blending: se utilizan los valores
b) Depth test. Los pxeles cuyas coorde- alfa de una de las fuentes para combinarlos
nadas de proyeccin x e y coinciden con las con los de la otra fuente).
de otro pxel pero cuya coordenada z es ma- Adems de estas operaciones principales,
yor son eliminados (pues quiere decir que se pueden encontrarse tambin las siguientes
proyectan sobre la misma posicin respecto Pixel ownership test. Se utiliza para ave-
al punto de vista y quedaran ocultos por el riguar si el fragmento especificado (en el
de coordenada z menor). Normalmente este frame buffer) pertenece al contexto GL.
test se realiza en colaboracin con un sector Si no es as, el sistema de ventanas de-
de memoria especial, el z-buffer, que alma- cide la suerte final de este pxel. Puede
cena estos valores para acelerar este proce- que se descarte o que pase al siguiente
samiento. Las tarjetas modernas utilizan otro test.
buffer ms preciso y ms efectivo denomina- Scissor test. Es un recorte (clipping) adi-
do w-buffer; cional, en 2D, que se lleva a cabo para
c) Stencil test. Los pxeles se enmascaran comprobar si los fragmentos quedan
en funcin del contenido del stencil buffer. Un dentro del rectngulo de la ventana de
stencil buffer almacena valores enteros, por lo salida.
general de 1 byte per pxel, de tal modo que Multisample fragment operations. Se lle-
el pxel se representara con uno u otro color va a cabo para eliminar el efecto de alia-
en funcin de este valor. El trmino deriva de sing en los bordes de las primitivas. Se
que acta como una plantilla superpuesta al denomina as porque el buffer contiene
rea de rendering. Se utiliza en combinacin varias muestras por pxel, cada uno de
con el depth-buffer y sus aplicaciones ms ellos con sus valores propios de color,
caractersticas estn ligadas al clculo de depth y stencil.
sombras en aplicaciones 3D (principalmen- Occlusion query. Este test comprueba el
te shadow volumes) y tambin a reflexiones nmero de fragmentos o muestras que
planas, pues permite enmascarar las zonas han pasado el depth test. Esta informa-
de las superficies reflectantes evitando erro- cin es til para determinar la visibilidad
res (como reflejos que se saldran de la su- de los objetos. Si, por ejemplo, un objeto
perficie). Hay muchos otros usos, tales como determinado no incluye ningn fragmen-
ocultar un objeto o representar una parte del to que haya pasado el depth test, esto
conjunto, etc. En OpenGL es un test que se significa que esta completamente oculto
lleva a cabo antes del depth test. por otros objetos.
d) Blending. Un pxel puede pasar las sRGB Conversion. En caso de que est
pruebas anteriores de un modo total o par- activado este espacio de color, los colo-
cial. En este ltimo caso, los valores del pxel res resultantes de las operaciones ante-
deben fusionarse con los valores de otros riores se convierten a este espacio de
pxeles. En el caso caracterstico de un ob- color.
jeto semitransparente, parte de sus valores Dithering. Cuando los colores no son
se retienen despus del depth test y debern colores reales (24 bpp o ms) sino que
combinarse con los del objeto que est en su estn basados en tablas de color (LUT,
misma lnea de visin. Esta mezcla corre a Look Up Tables, 8 bpp), la representa-
cargo de esta operacin. Hay varios mtodos cin se basa en esta tcnica que distri-
de blending. Los principales son los siguien- buye los puntos con arreglo a determina-
tes: a) adicin (los valores de los pxeles se dos patrones para simular la apariencia

167
Simulacin visual de materiales

de color real. En general, el programador Logical operations. Es una alternativa


no decide este patrn (basado en algorit- que, si se activan las opciones corres-
mos estandarizados) sino que esto corre pondientes, substituye a blending y lle-
a cargo de la GPU que se est utilizando. va a cabo operaciones de tipo and, or,
xor, etc., sobre los fragmentos que llegan
aeste estadio.
Por otro lado, hay tests que se han elimina-
do o se han desplazado. Por ejemplo, la ver-
sin 9.0 de Direct3D inclua un alpha test que
descartaba pxeles con valores alfa (transpa-
rentes). En la versin 10.0 este test desapa-
reci y se incorpor en parte al pixel shader y,
en parte, al depth / stencil shader.
En Direct3D 10 el output merge incorpo-
ra principalmente las operaciones de depth
Figura 3.16 Operaciones complementarias.
test y stencil test que se basan en un bu-
ffer unificado, as como el blending de los
diferentes render targets. El pixel shader
puede dar como salida diferentes valores
para diferentes render targets. Estas render
targets comparten una misma funcin de
blending, pero esta funcin puede activarse
o desactivarse para cada una de las render
z3 targets.
z2 En OpenGL 3.0 las operaciones que se
z1 agrupan en la categora fragment opera-
tions siguen el siguiente orden estricto: 1
Pixel ownership test, 2 Scissor test, 3 Multi-
sample fragment operations, 4 Stencil test,
5 Depth test, 6 Occlusion query, 7 Blending,
Figura 3.17 Depth test. 8 sRGB conversion, 9 Dithering, 10 Logical
operations.

10 Salida final. Por ltimo, los resultados


que sobreviven a todas estas pruebas se
envan al back buffer que mantiene la infor-
macin preparada para ser enviada al front
buffer, a la salida final. Contiene informacin
que es substituida por esta nueva entrada.
Pero tambin es posible fusionarla (blen-
ding) con la nueva. Esta operacin se deno-
mina, en Direct3D, render target blending.
Pueden especificarse varios render targets
(buffers de atributos). El pixel shader produ-
ce valores independientes para cada render
target. La fusin (blending) puede activar o
desactivarse de modo independiente por
Figura 3.18 Stencil test. cada render target.

168
Recursos bsicos

En cualquier caso, el resultado de todo relacionarlos con texturas, aplicarles transfor-


este proceso es una imagen que se enva al maciones bsicas y proyectivas, etc. La otra
frame buffer y, de este, a la pantalla del dispo- alternativa, bastante ms lgica si se tiene en
sitivo concreto que se vaya a utilizar. cuenta que gran parte de este cdigo es el
mismo para cualquier tipo de aplicacin, era
utilizar funciones predeterminadas y adaptar-
3.2 Estructuras mediadoras entre las a la maquinaria concreta que se estuvie-
hardware y software ra utilizando. Pero este ltimo paso se pue-
de separar en dos partes aunque, en algn
Las dos grandes API caso, sea algo menos eficiente: funciones
genricas que sirven para cualquier mquina
Una API (application programming interface) y funciones especficas que sirvan para una
es, en general, un programa especial que mquina particular. Esta separacin es algo
incorpora un conjunto de funciones y proce- menos eficiente, porque hay que escribir ms
dimientos que actan como intermediarios cdigo y el resultado es menos compacto e
para comunicarse con otro programa. Estas implica ms llamadas a funciones. Pero tiene
funciones y procedimientos se organizan en la enorme ventaja de que podemos reutilizar
bibliotecas (libraries) que quedan a disposi- un enorme nmero de funciones genricas.
cin de los desarrolladores y que facilitan su Esto es lo que hacen las API. Proporcionan
trabajo al permitirles pasar por alto detalles funciones genricas que pueden ser enten-
tediosos. didas de un modo automtico por los drivers
En el caso de la programacin de fun- de los diferentes fabricantes. Un driver es un
ciones grficas, esta necesidad surgi en el pequeo programa que se encarga de tomar
momento en que haba que repetir una y otra las funciones genricas y aplicarlas a una m-
vez grandes cantidades de cdigo para adap- quina particular por medio de funciones espe-
tarlos a dispositivos especficos. La primera cficas para esa mquina.
empresa que adopt este procedimiento fue OpenGL apareci en 1992. Era la res-
Silicon Graphics, y as naci lo que luego se- puesta de la empresa lder en aplicaciones
ra OpenGL. Pronto le sigui otra empresa, 3D en aquellas fechas, Silicon Graphics, al
Microsoft, y as nacieron DirectX y Direct3D. problema principal que se haba creado con
Estas dos API han dominado el mundo de el desarrollo de estas aplicaciones. Los orde-
las aplicaciones grficas desde entonces. En nadores tenan componentes distintos y las
este apartado se describe a grandes rasgos empresas de desarrollo de software tenan
su evolucin y sus caractersticas ms gene- que escribir versiones diferentes de sus apli-
rales. caciones insertadas en programas especia-
les, en drivers que traducan los modos en
Visin conjunta de la evolucin histrica que las funciones generales tenan que apli-
de OpenGL y DirectX carse en cada caso.
Se haban propuesto soluciones basadas
Para crear un juego, un escenario interactivo en estndares institucionales, independien-
o una aplicacin que permita simular proce- tes de marcas concretas. El ms famoso era
sos de todo tipo haba, hace unos cuantos PHIGS (Programmers Hierarchical Interac-
aos, dos alternativas. La primera consista tive Graphics System), que se dise en la
en programarlo todo desde el comienzo. Esto dcada de 1980 y se convirti en un estndar
supona escribir enormes cantidades de cdi- ISO en 1989, y del que se proporciona una
go, una buena parte del cual estara dedicado amplia descripcin en una de las obras princi-
a hacer cosas tan bsicas como agrupar vr- pales sobre computacin grfica, la de Foley
tices, computar sus modificaciones de color, et al. (1990). Pero es notorio que estos es-

169
Simulacin visual de materiales

fuerzos siempre han ido por detrs de la evo- integracin de funciones de transformacin
lucin comercial. La aplicacin propia de Sili- e iluminacin, que ya existan en OpenGL,
con Graphics en aquella poca (IRIS GL) era fue el primer paso hacia una integracin ms
muy superior, entre otras cosas porque era de compleja que llevara a la integracin de uni-
uso ms simple, y se haba convertido en un dades de pixel shader y vector shader, ms
estndar de hecho. Pero otras empresas po- flexibles y programables.
derosas, como Sun y Hewlett-Packard, tenan Las primeras funciones que se integraron
tambin sus propias aplicaciones grficas, fueron la proyeccin de texturas y la repre-
basadas en extensiones propias de PHIGS. sentacin de polgonos. Posteriormente se
Esto llev a Silicon Graphics a sacar un es- aadieron funciones para acelerar los clcu-
tndar abierto (no lo poda hacer con IRIS por los geomtricos implicados en operaciones
problemas tcnicos y legales). bsicas de traslacin y rotacin de vrtices.
Al dejar disponible este primer estndar, Si- El paso principal fue el soporte para shaders
licon ceda parte de su trabajo a otras empre- programables que permitan manipular vrti-
sas. Pero como contrapartida se liberaba de la ces y texturas del mismo modo que se hara
responsabilidad de mantener actualizados lo con programas que actuaban desde la CPU.
device drivers para todo tipo de tarjetas grficas A esto se aadieron tambin mecanismos de
y programas comerciales. Ese mismo ao Sili- soporte de tcnicas de supersampling e inter-
con, cre un consorcio, el OpenGL ARB (Archi- polacin.
tectural Review Board), un grupo de compaas A principios de la dcada de 2000, el lder
que se dedicaran a mantener y revisar este pri- era OpenGL seguido a corta distancia por Di-
mer estndar y los que le siguieran. rect5 y luego por muchos otros (Apple Quic-
Esto tuvo unas consecuencias muy impor- kdraw 3D, Argonaut Brender, Criterion Ren-
tantes pues a partir de esa fecha todos los derware, Rendermorphics, Reality Lab),
desarrolladores podan hablar en un lenguaje incluido Intel que sac su propia API, 3DR,
comn. Sin embargo, las funciones comunes que se supona que daba soporte comn a
que quedaban disponibles eran muy limita- travs de los Pentium, hasta que Microsoft le
das. A partir de ah comenz una evolucin convenci de sacar un producto comn para
que, en paralelo con la propia evolucin de Windows 95.
las tarjetas grficas, fue incrementando pro- Sin embargo, a partir de la aparicin de Di-
gresivamente el abanico de funciones y la rect3D 9, en 2002, la situacin se modific.
propia accesibilidad a estas funciones. Y co- Los crticos tuvieron que reconocer por pri-
menz tambin la competencia con Microsoft, mera vez que esta versin era al menos tan
pues esta compaa sac su propio estndar, buena como la de OpenGL y que Microsoft
DirectX, en 1995, como respuesta a la deci- haba hecho algo ms que replicar muchas de
sin de OpenGL. las funciones de OpenGL. Entre otras cosas,
Hubo un intento fallido de elaborar un es- introducir un nuevo lenguaje, HLSL, que faci-
tndar comn. En 1997, Microsoft y Silicon litaba an ms el trabajo de los programado-
iniciaron un proyecto, denominado proyecto res. De hecho, OpenGL tuvo que introducir
Fahrenheit, para elaborar una interfaz comn, importantes cambios en su estructura para,
un proyecto al que tambin se uni Hewlett- entre otras cosas, llegar a gestionar las tex-
Packard en 1998. Pero los problemas finan- turas con eficiencia. La versin 2.0 que apa-
cieros y la realidad de una competencia muy reci en 2004 recogi parte de estos nece-
dura entre las empresas acabaron por abortar sarios cambios pero que no iban mucho ms
este proyecto en 1999. all que mantenerse a la misma altura que Di-
La NVIDIA GeForce 256, que sali en 1999, rect3D 9. En 2006, ARB, el consorcio creado
fue la primera tarjeta grfica que introdujo fun- por Silicon, dej la gestin de estos cambios
ciones ligadas a este tipo de desarrollos. La en manos de Khronos, otro consorcio que

170
Recursos bsicos

naci en 2000, por iniciativa de una serie de ponente introducido en 1993 por Microsoft
lderes en el campo de la computacin grfica para facilitar la comunicacin entre progra-
(3Dlabs, ATI, Discreet, Evans&Sutherland, mas. OpenGL no es orientado a objetos. Ini-
Intel, NVIDIA, SGI y Sun) para crear estn- cialmente, OpenGL se construy en torno a
dares abiertos que sirvieran para todo tipo de otro concepto muy poderoso, el de mquina
plataformas y dispositivos. En 2008 apareci de estados finitos, aunque posteriormente
la versin 3.0, que supona una cierta ruptura ha evolucionado hasta ser muy similar a un
con las versiones anteriores y una renovacin sistema basado en objetos. Una mquina de
importante. Pero, segn los crticos, no sufi- estado finito, o FSM (finite-state machine) o
ciente, pues se debera haber acometido una automta de estado finito, es una abstrac-
renovacin radical lo que, por lo que parece, cin matemtica que se utilizaba, y se utiliza,
no fue posible debido a desacuerdos entre los para disear programas digitales. Se basa en
promotores. la idea de un modelo concebido como una
En cualquier caso, a lo largo de los ltimos serie finita de estados, de transiciones entre
aos las posiciones se han equilibrado y han esos estados y de acciones. Las operaciones
quedado como las dos API hegemnicas si comienzan a partir de un estado inicial (start
bien la aparicin de nuevas tecnologas hace state), pasa por una serie de transiciones y
prever cambios muy importantes en los prxi- termina con uno de los posibles estados in-
mos aos. En los apartados siguientes se corporados al sistema.
resume la evolucin de cada una de las dos Direct3D est diseado de tal modo que
grandes API. el hardware est virtualmente presente y el
programador puede olvidarse en parte de la
Diferencias principales necesidad de acomodar el programa a los
dispositivos, si bien complica algo ms la
Direct3D es una aplicacin creada por una programacin pues debe acomodar las fun-
empresa, Microsoft, para funcionar sobre ciones al hardware virtual. La implementacin
una plataforma concreta, Windows. Puede resulta ms sencilla pues parte del trabajo
utilizarse en otras plataformas pero no de ya est hecho. OpenGL est diseado de tal
modo directo ni con toda la funcionalidad. Es modo que el hardware no se tiene en cuenta y
un subconjunto de DirectX que se describe el programador puede olvidarse por completo
ms adelante. OpenGL es una aplicacin de este asunto. Pero la implementacin resul-
abierta que est disponible para todos los ta ms complicada pues es necesario acomo-
sistemas operativos corrientes (Windows, dar la aplicacin al dispositivo concreto que
Mac, Linux). Tambien acepta extensio- se vaya a utilizar.
nes desarrolladas por otros programadores Direct3D est especialmente preparado
que se registran oficialmente en la OpenGL para juegos y aplicaciones interactivas pues
Extension Registry. El registro especifica naci con esta finalidad claramente presen-
convenciones de nomenclatura y recomen- te. OpenGL naci con un amplio abanico de
daciones para desarrollar extensiones. Sin posibles aplicaciones que no incluan los jue-
embargo, a diferencia de Direct3D, requiere gos y aplicaciones interactivas como priori-
bibliotecas especficas para hacer cosas ta- dades. Su gama de funciones es ms amplia
les como crear una ventana y eliminarla al y esta es una de las razones, junto con su
final. Esto corre a cargo de la GLUT, que se independiencia de Windows, por la que es
describe ms abajo. preferido en muchas aplicaciones cientficas
Direct3D utiliza un lenguaje de programa- y acadmicas.
cin orientado a objetos y basado en clases. Direct3D no tiene un sistema de extensio-
Mantiene compatibilidad desde sus inicios nes como el de OpenGL. Pero tiene un sis-
con COM (component object model), el com- tema de diferentes API con un ncleo fijo de

171
Simulacin visual de materiales

caractersticas, y mantiene la compatibilidad caractersticas principales se resumen breve-


con versiones previas por medio del COM mente en los apartados siguientes. La nume-
de Microsoft. OpenGL cuenta con un siste- racin de versiones es algo equvoca, pues
ma sofisticado de extensiones que permite a hubo un gran nmero de subversiones de la
los desarrolladores de hardware implementar primera versin que abarcaron 11 aos. Pero
sus propias extensiones a las especificacio- lo mantengo para ordenar la exposicin. Aun-
nes de OpenGL lo que, a su vez, permite a que la fecha inicial que se da corrientemente
los desarrolladores de OpenGL acceder antes es 1992, hasta 1993 no estuvieron realmente
a nuevas funciones de hardware. El OpenGL disponibles los primeros productos. En 1992
ARB puede hacer que una extensin sea se- se cre tambin el OpenGL ARB para se-
mioficial dndole soporte antes de que se in- guir el desarrollo de este estndar y preve-
corpore oficialmente a las especificaciones. A nir, entre otras cosas, conflictos legales. Las
partir de la versin 3.0 se eliminaron muchas primeras comisiones incluan representantes
funciones y caractersticas obsoletas. de SGI (Silicon), Intel, Microsoft, Compaq,
DirectX se distribuye de dos modos: run- Digital Equipment Corporation, Evans &
time y SDK. El primer modo, runtime, se Sutherland e IBM. En los ltimos aos los
descarga por los usuarios para poder utilizar miembros participantes han sido 3DLabs,
aplicaciones que usan DirectX o viene incor- Apple, ATI, Dell, IBM, Intel, NVIDIA, SGI y
porado directamente al sistema operativo. El Sun Microsystems. La primera versin in-
segundo, SDK (software development kit) es clua todas las herramientas bsicas que se
un mdulo completo que incluye todas las mantienen en la actualidad: transformacio-
herramientas y bibliotecas de funciones nece- nes de vrtices y primitivas, modificacin de
sarias para desarrollar aplicaciones propias. colores de vrtices por asignaciones directas
El programa y la documentacin completa de y por modificaciones derivadas de clculos
Direct3D puede descargarse de: http://www.mi- de iluminacin, transformaciones de objetos
crosoft.com/games/en-us/aboutgfw/pages/directx.aspx. y proyecciones, clipping, rasterizacin, ope-
OpenGL est compuesta por tres mdulos raciones sobre fragmentos y pxeles, opera-
principales: GL, el ncleo bsico de funciones ciones sobre los frame buffers, etc. En 1997
de OpenGL; GLU (GL Utilities), utilidades y apareci la versin 1.1. Su principal innova-
funciones auxiliares; GLUT (GL Windows in- cin fue la adicin de soporte para arrays de
terface utility toolkit), incluye diversas herra- vrtices y texturas as como funciones para
mientas para la gestin de la interfaz. Y hay copiar y gestionar texturas de diversos tipos.
otras como GLX, AGL, WGL. Las convencio- La versin 1.2 (1998) aada recursos para
nes de nomenclatura son sencillas. Un nom- texturas 3D y algunas funciones de proce-
bre como glColor3f implica cuatro campos: samiento de imgenes (matrices de gestin
a) gl, la biblioteca de funciones utilizada, b) de colores, funciones de convolucin, de
Color la raz principal, c) 3 el nmero de control de histograma, de fusin de colores)
argumentos, d) f el tipo de dato (f float, i in- y algunas funciones especiales tales como
teger, v vector). La documentacin oficial control de LOD (level of detail) para textu-
de OpenGL puede descargarse de: http://www. ras. Una variante posterior (1.2.1) incluy
opengl.org/. tambin control de texturas mltiples. La
versin 1.3 (2001) incorporaba funciones
Evolucin histrica de las diferentes ver- adicionales para la gestin de texturas ml-
siones de OpenGL y Direct3D tiples, mapas cbicos, muestreo mltiple, y
funciones adicionales paa combinar textu-
A partir de 1992 en que, como ya he dicho, ras. La versin 1.4 (2002) aadia gestin de
apareci OpenGL, fueron apareciendo dife- sombras por hardware, coordenadas para
rentes versiones y variantes de versiones. Las procesamiento de efectos de niebla, gene-

172
Recursos bsicos

racin automtica de mipmaps y algunas y rendering. En 2006 apareci la versin


funciones adicionales para el control de tex- 2.1; esta versin inclua soporte para pixel
turas. Tambin inclua funciones tales como buffers y texturas sRGB (texturas con corre-
stencil wrapping. La versin 1.5 (2003) in- cin de color segn este espacio de color).
clua funciones adicionales para el control Inclua tambin una versin revisada (1.20)
de sombras, soporte para vertex buffers y del lenguaje GLSL.
control de oclusiones. Tambin permita utili- OpenGL 3 (2008-2010) apareci en ju-
zar texturas con dimensiones que no fueran lio de 2008. Inclua complementos para co-
potencias de 2. sas que ya haban aparecido en la versin
OpenGL 2 (2004-2008) apareci en sep- anterior, como frame buffer objects, vertex
tiembre de 2004 y su principal diferencia con array objects o sRGB. Adems inclua fun-
las anteriores fue que inclua soporte para un ciones matemticas ms precisas basadas
lenguaje ensamblador realmente basado en en formatos de nmeros en coma flotante
la GPU, denominado ARB pues fue desarro- de 32 bits. Y otra versin revisada (1.30) del
llado por el consorcio del mismo nombre al lenguaje GLSL. Esta versin, desarrollada
que he aludido antes. Este lenguaje se con- en colaboracin con Khronos, supuso una
vertira en un estndar de hecho para la im- ruptura importante pues, hasta entonces, la
plementacin de vertex shaders y fragment compatibilidad con versiones anteriores se
shaders. Los responsables principales del haba mantenido. A partir de esta versin va-
diseo de este lenguaje fueron 3DLabs, una rias funciones y recursos se eliminaron como
compaa que fabricaba tarjetas grficas y obsoletos. En marzo de 2009 apareci la ver-
que era pionera en la adaptacin de las tar- sin 3.1; en agosto de 2009 la versin 3.2, y
jetas grficas a las aplicaciones 3D. Aunque en marzo de 2010 la 3.3. Estas nuevas ver-
el lenguaje ARB es de bajo nivel, se relacio- siones incorporaban cosas tales como nue-
na directamente con lenguajes posteriores vas funciones para la gestin ms eficaz de
basados en C con los que es posible escribir texturas o instancias de objetos basadas en
shaders, concretamente con lo que tambin la reutilizacin de datos de vrtices; soporte
apareci por estas fechas y que acabara para geometry shaders, funciones adiciona-
por ser otro nuevo estndar de OpenGL, el les de control de fragment shaders, filtrado de
lenguaje GLSL (OpenGL shading language) mapeados cbicos sin costuras (seamless) y
y que permitira a los programadores subs- fragment depth clamping. Y nuevas versiones
tituir las funciones fijas para vrtices y frag- (1.40, 1.50) del GLSL.
mentos por shaders personalizados escritos OpenGL 4 apareci en marzo de 2010.
en un lenguaje muy similar a C. Las tarjetas Inclua nuevos estadios de shaders que per-
grficas que se fabricaron con soporte para miten descargar teselacin geomtrica de la
este nuevo estndar fueron las primeras que CPU, mejoras en la salida de rendering y anti-
admitan la programacin de shaders a ni- aliasing, mayor flexibilidad de organizacin de
vel de hardware lo que supuso una nueva shaders por medio de subrutinas, separacin
revolucin pues abra el camino para superar de datos de textura mediante un nuevo tipo
la rigidez de las tarjetas anteriores que solo de objeto denominado sampler object, ope-
incluan las funciones selecionadas por los raciones matemticas basadas en datos en
fabricantes. Las limitaciones, sin embargo, coma flotante con precisin de 64 bits y una
seguan siendo importantes. Esta versin in- nueva revisin del lenguaje GLSL
corporaba, adems de funciones mejoradas
para shader objects, vertex shaders y frag-
ment shaders, otras funciones adicionales
tales como point sprites, separate stencils Como ya he dicho, Microsoft reaccion a la
y funciones adicionales de fusin (blending) publicacin en abierto de la primera versin

173
Simulacin visual de materiales

de OpenGL sacando a la luz su propio estn- sin 8.0 de DirectX pas a integrarse en un
dar en 1995. Pero esta decisin tambin estu- nuevo mdulo denominado DirectX Graphics
vo motivada por problemas que emergieron a que realmente era Direct3D con una serie
partir de la salida de Windows 95, que no es- de funciones adicionales propias de Direct-
taba preparado para dar soporte adecuado a Draw. DirectDraw se sigue incluyendo pero
aplicaciones de videojuegos o de simulacin sin actualizaciones, y est en desuso y ha
3D, debido principalmente a restricciones de sido reemplazado por Direct2D o Direct3D.
acceso a la memoria base y a que el propio Con Windows 7 ya se utiliza Direct2D. Y otros
sistema estaba orientado a otro tipo de apli- componentes, para msica, productos multi-
caciones. La solucin provisional fue DirectX, media, etc., sobre los que se puede encontrar
que fue evolucionando hasta convertirse en ms informacin en internet, son DirectInput
un conjunto de componentes o API dirigidas a (proporcionaba un interface para interactuar
diferentes tipos de aplicaciones. con dispositivos de entrada de datos como te-
Unos de los principales componentes de clados, ratones, joysticks, etc), DirectSound ,
DirectX es Direct3D. Es el producto principal DirectMusic, DirectShow, DirectX Media, etc.
al que me referir en lo que sigue; y propor- Las cuatro primeras versiones de DirectX
ciona un conjunto de funciones que permiten aparecieron en un par de aos. La primera
programar algoritmos de diversos tipos para versin, DirectX 1 (1995), era poco ms que
aplicaciones de dibujo de entidades grficas un kit para desarrolladores de juegos y que
y de modelado 3D y simulacin visual, que permita incorporar a Windows funciones mul-
proporcionan aceleracin por hardware, en timedia. La siguiente, DirectX 2 (1996), era ya
funcin de las disponibilidades de la tarjeta un componente del propio Sistema Operativo
grfica con que se cuente. Otros componen- Windows (Windows 95 y Windsows NT). Fue
tes de DirectX eran DirectDraw y Direct2D. una versin a la que se le dio una gran publi-
En aplicaciones 2D se utilizaba el mdulo Di- cidad, para captar a los usuarios de juegos de
rectDraw para acelerar la representacin de vdeo, entre otras cosas. A finales del mismo
grficos por medio de funciones incorporadas ao 1996, aparecieron diferentes versiones
al hardware que podan acceder directamen- de DirectX 3, las versiones 3.0a y 3.0b. La
te a la memoria de vdeo o utilizar toda una siguiente versin, DirectX 4, no lleg a apa-
serie de algoritmos bsicos. A partir de la ver- recer pues Microsoft puso a trabajar a dife-
AMD Stream Processor
shade trees(Cook)

CG, HLSL, GLSL


RenderMan

Open CL
CUDA
ISL

1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008 2010
OpenGL

Direct3D5 OPenGL1.1
Direct 3D6 OPenGL1.2

OPenGL1.3
Direct3D9 OPenGL1.4
OPenGL1.5
OPenGL2

OPenGL3

OPenGL4
Direct3D11
Direct3D10
Direct3D7
Direct3D8

Figura 3.19 Evolucin histrica de las diferentes versions de Direct3D y Open GL.

174
Recursos bsicos

rentes equipos en las versiones 4 y 5 simul- de texturas y para la aplicacin de mapas de


tneamente con la idea de sacar la versin 4 relieve bsicos (bump mapping).
como una versin a corto plazo mientras se Con Direct3D 7.0 (1999) se introdujo el
completaba la siguiente. Los desarrolladores formato de texturas DDS as como apoyo
de juego criticaron las caractersticas de las adicional para aceleracin de transformacio-
versiones de prueba de la versin 4 con lo nes y clculo de iluminacin integrados en
que se salt directamente a la versin 5. hardware (lo que era realizable a partir de la
La primera versin de Direct3D que apa- aparicin de la NVIDIA Geforce) as como la
reci con estas ltimas versiones fue aco- capacidad para asignar buffers de vrtices a
gida con un gran nmero de crticas, hasta la memoria fsica de la tarjeta grfica (vertex
el punto de que algunos de los crticos ms buffers) uno de los primeros avances de Di-
respetados recomendaron a Microsoft que rect3D con respecto a OpenGL. Tambin se
abandonara el proyecto y adoptara OpenGL. mejoraron las funciones de soporte a textu-
Las crticas iban dirigidas principalmente a ras mltiples. En general, fue una versin que
que las operaciones ms simples, tales como supuso un avance fundamental para Direct3D
cambios de estado, requeran la creacin y aunque tambin complic considerablemente
gestin de objetos denominados execute bu- la programacin, lo que llevara a otra renova-
ffers, a diferencia de OpenGL que llevaba a cin en el lenguaje.
cabo estas operaciones mediante simples lla- Con Direct3D 8.0 (2001) se introdujeron
madas a funciones. nuevos conceptos de programacin funda-
La versin DirectX 5 apareci en 1997. mentales, los vertex shaders y pixel shaders,
Al ao siguiente, 1998, apareci la siguiente lo que facilitara el trabajo de los programa-
versin, DirectX 6, al ao siguiente, 1999, dores al permitirles desentenderse del estado
DirectX 7, y en 2001, la DirectX 8 que du- del hardware, concentrndose en la tarea a
rara algo ms. Todas estas versiones iban desarrollar en una determinada fase del flujo
acompaadas de variantes que salan a los de estados de la rendering pipeline. El driver
pocos meses. se encargaba de traducir las instrucciones
Microsoft no acept las crticas a la primera correspondientes a instrucciones de mqui-
versin de Direct3D ni las recomendaciones na. Esto supuso un avance fundamental con
de que abandonara el proyecto sino que sac respecto a OpenGL, que segua anclada en
una segunda versin (aunque la denomin 5 una serie de transiciones de estados basa-
para mantener la sincrona con DirectX) no- dos en su finite state machine pero que es-
toriamente mejorada, la Direct3D 5.0 que es taba comenzando a quedar obsoleto ante la
considerada como la primera versin efectiva, generalizacin de los conceptos derivados de
pues a partir de esa fecha fue aceptada y las la programacin basada en objetos. Algunos
posiciones con respecto a OpenGL comen- problemas de facilidad de uso de esta versin
zaron a equilibrarse. Esta versin remplaz se mejoraron con la siguiente sub-versin, la
los execute buffers con una API especfica 8.1. Con esta versin tambin se abandon la
denominada DrawPrimitive. Sin embargo, dependencia de funciones heredadas de Di-
las crticas continuaron pues se le consider rectDraw, que pas a convertirse en otra API
como una copia de las funciones equivalen- de la familia de DirectX y se integr en las
tes de OpenGL pero sin la estructura de base nuevas funciones de Direct3D.
adecuada. Con la versin Direct3D 6.0 se DirectX/Direct3D 9 (2002-2006) apare-
introdujeron mejoras en la estructura y funcio- cieron en diciembre de 2002. Con esta nue-
nes adicionales para gestionar multitexturas y va versin de Direct3D los crticos aceptaron
stencil buffers, as como funciones renovadas con toda claridad que era al menos tan bueno
para gestionar texturas. Tambin se incorpo- como OpenGL, tanto por lo que respectaba
raron mtodos de apoyo para la compresin a la funcionalidad como a la facilidad de uso.

175
Simulacin visual de materiales

Supona el afianzamiento de una renovacin procesadores de flujos en paralelo CUDA de


radical de muchos aspectos estructurales e NVIDIA y FireStream de ATI/AMD, buscando
introduca nuevas funciones para texturas y mtodos unificados de programacin. Tam-
renders as como optimizaciones especficas bin se incluan nuevos algoritmos de com-
para Windows Vista. Tambin inclua una ver- presin de texturas.
sin definitiva del HLSL (high level shader
language). En estas ltimas versiones se Procesos bsicos en OpenGL y Direct3D
mantenan caractersticas que ya estaban
incorporadas en la primera versin, noto- Supongamos que queremos crear un progra-
riamente su relacin con el COM de Micro- ma muy simple, en una API, que dibuje una
soft que facilitaba la relacin con cualquier pequea imagen en la pantalla. El cdigo re-
programa que utilizara este componente, tal querido implica una serie de palabras clave,
como C++, C#, Visual Basic.Net o Delphi. Ya tanto en DirectX como en OpenGL, junto con
desde finales de la dcada de 1990 DirectX una coleccin de parmetros que puede re-
fue popularizndose como una alternativa sultar un poco apabullante. Pero si lo reduci-
entre los usuarios de Windows. A diferencia mos a lo esencial, escribindo las llamadas
de OpenGL, Microsoft busc desde el prin- principales en pseudcodigo, el resultado se-
cipio una relacin ms directa del lenguaje ra algo as:
con el hardware, lo que inicialmente retard
su uso directo pues los fabricantes de hard- Main
{
ware no daban facilidades para este acceso
CrearVentanaAplicacion // 1
directo, pero a la larga le proporcion ma- CrearObjetosComplementarios // 2
yores ventajas a medida que la posicin MantenerBucleMensajes // 3
dominante de Windows le permiti trabajar RepresentarEscena // 4
directamente con los fabricantes de tarjetas CerrarSalir // 5
}
grficas.
DirectX/Direct3D 10 (2006-2009) apare-
cieron en noviembre de 2006 para el nuevo Veamos qu es lo que se hace en cada uno
sistema operativo Windows Vista y posterio- de los pasos anteriores de un modo algo ms
res. Incorporaba nuevas estructuras, como el detallado. La estructura de este pseudocdi-
shader model 4.0, el conjunto de funciones go es la caractersticas del lenguaje C y sus
agrupados en lo que se denominaba geome- derivados: una funcin principal (main) que
try shader. El SDK de esta nueva versin se llama a otras funciones incluidas en un bloque
ofreci a partir de febrero de 2007. delimitado por corchetes angulares. Lo que
La versin Direct3D 11.0 (2008- ) se distri- hacen este conjunto de funciones es, en otras
buy junto con Windows 7, y se present en palabras, arrancar y organizar el sistema, po-
julio de 2008 como un superconjunto de Di- ner en marcha una serie de procesos bsicos
rect3D 10.1. Sus principales novedades eran y salir. En el apartado que sigue se describe
la inclusin de tesselation, la capacidad para con un poco ms de detalle esta estructura
incrementar en tiempo real el nmero de divi- superior. En los siguientes, algunos detalles
siones poligonales de un modelo, el rendering adicionales sobre los procesos bsicos. Para
con multithread, la capacidad para represen- simplificar la exposicin me referir principal-
tar escenas procesando diversas lneas en mente a Direct3D.
paralelo, los compute shaders, la capacidad
de utilizar la rendering pipeline para procesar Inicializacin, procesos bsicos, cierre
tareas no grficas tales como aceleracin f-
sica y procesamiento de flujos (stream pro- 1. Crear una ventana para la aplicacin
cessing), de modo ms o menos similar a los Los primeros pasos son ms complicados y

176
Recursos bsicos

menos intuitivos y son tambin los que varan En OpenGL, habra por aadidura una l-
ms entre las dos grandes API. nea, al comienzo, que activara la inicializa-
En Direct3D, el cdigo bsico, simplificado, cin especfica del mdulo GL y que sera
tendra este aspecto: algo as:

WNDCLASS wnd ={}; void myinit(void)


RegisterClass (&wnd); {
HWND hWnd = CreateWin (texto, tamao, varios); glClearColor(1.0, 1.0, 1.0, 1.0);
glColor3f(1.0, 0.0, 0.0);
En la primera lnea se crea un objeto glMatrixMode(GL_PROJECTION);
(wnd), una ventana, a partir de una clase glLoadIdentity();
gluOrtho2D(0.0, 500.0, 0.0, 500.0);
predefinida por medio de la palabra clave de glMatrixMode(GL_MODELVIEW);
Direct3D WNDCLASS. En la segunda lnea }
se registra este objeto. En la tercera lnea se
le da un tamao, un texto y otros atributos y Con este cdigo se inicializa propiamente
se le asigna un handle por medio de otra pa- OpenGL y se establece un determinado esta-
labra clave, HWND. El handle (literalmente do: un color de fondo, un color para los obje-
mango o asa) nos permitir referirnos al tos, se inicializan las matrices bsicas que se
objeto creado por medio de un puntero (el utilizarn para la transformacin de los obje-
signo & indica que guardamos una direc- tos del modelo y de proyeccin
cin en memoria para apuntar al objeto, lo
que ocupa mucho menos espacio que el pro- 2. Crear objetos complementarios
pio objeto). Aqu tambin aparecen diferencias importan-
En OpenGL, el cdigo bsico tendra ms tes entre las dos API. En Direct3D hay que
o menos este aspecto: crear especficamente un objeto Direct3D y
a partir de ah, un dispositivo Direct3D. El
glutInit (&argc, argv); cdigo bsico sera una primera lnea como
glutInitDisplayMode (); las que siguen:
glutInitWindowSize (500, 500);
glutCreateWindow (My First Program); DIRECT3D d3d;
La primera lnea crea un objeto d3d (el
En la primera lnea se inicializa la bibliote- nombre es arbitrario) de la clase DIRECT3D
ca de utilidades que permite adaptar la API a (el nombre no es arbitrario).
las diferentes plataformas. Esto implica crear Una aplicacin Direct3D necesita crear un
un handle a la ventana y al contexto en que objeto de tipo Direct3D que es una interfaz de
funcionar el programa. La segunda lnea tipo COM. Todas las aplicaciones necesitan
especifica el modo de representacin. Los dar este paso: se inicializa un objeto que, a
argumentos afectan al tipo de buffer (nico, su vez, crea otros objetos que engloban todas
doble) y al color. El primer argumento dentro las funciones que vayamos a utilizar y, al final,
del parntesis poda ser GLUT_SINGLE (otra se destruye, liberando memoria y recursos.
alternativa sera GLUT_DOUBLE, que indica Un objeto Direct3D permite crear otros
otro tipo de buffer). Y el segundo argumento objetos que cumplen diferentes cometidos.
podra ser GLUT_RGB para indicar que se El primero y principal es un dispositivo de
trabajar con color real. Otra alternativa sera tipo Direct3Ddevice que representa la tarjeta
GLUT_INDEX para indicar que se trabajar grfica que vayamos a utilizar. No sabemos
con color indexado. La tercera lnea especi- qu tarjeta grfica utilizar nuestro programa
fica el tamao de la ventana. La cuarta lnea por lo que necesitamos una interfaz espec-
crea la ventana con un determinado ttulo. fica, independiente, para relacionarse con la
tarjeta que sea.

177
Simulacin visual de materiales

funciones que se vayan a utilizar para mane-


a = D3Dadapter_Default; jar estos eventos, la funciones de devolucin
b = DeviceTypeHAL; de llamada (callback). Las funciones disponi-
c = Windowed;
d = BackBuffer; bles son, entre otras, las siguientes:
e = etc
DIRECT3DDEVICE d3Ddevice (a, b, c, d, e,); glutDisplayFunc() [1]
glutReshapeFunc() [2]
Las cinco primeras lneas representan los glutKeyboardFunc() [3]
parmetros del dispositivo que se crea en la glutMouseFunc() [4]
ltima lnea y que se pasan como argumen- glutPassiveMouseFunc() [5]
tos al dispositivo d3Ddevice (el nombre es glutIdleFunc() [6]

arbitrario) de la clase DIRECT3DDEVICE (el
nombre no es arbitrario). [1: El contenido de la ventana necesita regenerarse;
La primera lnea establece como tarjeta gr- 2: La ventana se ha cambiado de tamao o se ha movido.
fica la dada por una variable que apunta a la tar- 3: Teclado accionado; 4: Ratn accionado; 5: Ratn
no accionado pero movido; 6: Llamada aunque no
jeta concreta que utilice el ordenador en que se
haya ningn evento]
vaya a utilizar la aplicacin. La segunda especi-
fica el tipo de dispositivo. En Direct3D hay dos Las funciones seleccionadas deben regis-
tipos principales de dispositivos: por hardware y trarse previamente mediante procedimientos
por software. Al configurar las preferencias de especficos (por ejemplo glutReshapeFunc
un programa corriente de simulacin 3D se en- (resize) para cambiar el tamao de la venta-
contrarn estas dos alternativas. Por ejemplo, na; glutKeyboardFunc (key) para responder al
en 3ds Max se puede escoger uno u otro si se teclado). Una vez registradas pueden utilizar-
va a men Customize/ Preferences/ Viewports/ se mediante procedimientos para representar
Display Drivers. Un dispositivo de hardware re- la escena (que invoca a una funcin principal
presenta una tarjeta grfica real. Este tipo de denominada display), para cambiar el tamao
dispositivo se denomina corrientemente HAL de la ventana (que invoca de nuevo a la fun-
(hardware abstraction layer). Es el dispositivo cin display con otros parmetros), para reco-
principal. Un dispositivo de software simula un ger datos de entrada del usuario, etc.
dispositivo por hardware. Es ms lento y sue-
le utilizarse por los desarrolladores para probar 3. Configurar el bucle de mensajes
funciones sin comprometerse con una deter- Si se arrancara la aplicacin, y se enviaran
minada tarjeta. O puede utilizarse por usuarios datos como los que se describen ms ade-
si por alguna razn tienen problemas con el lante al dispositivo virtual que se ha creado
principal. La tercera lnea especifica si quere- en el paso anterior, que a su vez los enviara
mos que la aplicacin corra en modo ventana a la ventana virtual que hemos creado en el
(la alternativa sera a toda pantalla) y la cuarta primer paso, estos datos se mostraran un
lnea especificara el tamao del buffer que co- instante y luego se borraran. Para que los
mentaremos ms adelante. Y habra otros par- resultados se mantengan en pantalla hay que
metros ms que no necesitamos comentar pero renovarlos constantemente. Y, por aadidura,
que describiran otras caractersticas que debe hay que procesar los mensajes derivados de
cumplir nuestro dispositivo virtual. eventos que proceden de la interaccin con
En OpenGL, la inicializacin debe comple- el usuario por medio de las funciones que se
tarse de varios modos. Puede ser necesario, han registrado en el paso anterior (entradas
por ejemplo, registrar las funciones de devo- de teclado, movimientos de ratn, etc.).
lucin de llamada (callback functions). Los Para ello, la aplicacin debe entrar en
programas interactivos reaccionan a eventos un bucle, denominado bucle de mensajes
(movimientos o clics del ratn, entradas de (message loop) que recibe mensajes deri-
teclado, etc.). En esta fase se configuran las vados de eventos diversos (una entrada de

178
Recursos bsicos

teclado, un clic de ratn, un objeto que apa- El pseudocdigo bsico (en Direct3D) po-
rece al invocar una orden, etc.) hasta que dra ser algo as:
recibe un mensaje concreto de salir de la
aplicacin. clear d3Ddevice (clearBackBuffer, clearZBuffer)
d3Ddevice->IniciarEscena
El pseudocdigo correspondiente sera
{
algo as: [funciones para dibujar elementos, etc]
d3Ddevice->FinalizarEscena
While(GetMessage(mensajeTalycual) }
{ 5. Cerrar y salir
TraducirMensaje (mensajeTalycual)
EnviarMensaje (mensajeTalycual) Al finalizar el proceso hay que destruir todos
} los objetos que se hayan creado para liberar
recursos del ordenador.
Mientras mensajeTalyCual no sea Salir El pseuddigo sera algo as:
la aplicacin se regenerar constantemente y d3d->Release();
d3Ddevice->Release();
ser visible en pantalla.
En la prctica esto es ms complejo, sobre La primera lnea libera el objeto Direct3D que
todo con juegos que necesitan sacar el mximo hemos creado en el paso 2 y la segunda lnea
partido de los recursos del sistema e incluyen libera el dispositivo virtual que hemos creado
clusulas condicionales para que, si no hay en el paso 3.
mensajes que procesar, se lleven a cabo otras En OpenGL no es necesario, como en
tareas. Pero lo esencial es que hay un paso de Direct3D, gestionar la ventana de la aplica-
este tipo que debe ser tenido en cuenta. cin. Pero al terminar el proceso tambin
hay que liberar los objetos que se hayan
4. Representar la escena creado y salir explcitamente, mediante fun-
El contenido de la escena no solo debe man- ciones concretas.
tenerse en pantalla sino que debe renovarse
constantemente. Si, por ejemplo, hacemos un Creacin y representacin de primitivas
zoom, el contenido previo debe borrarse para
mostrar el nuevo contenido. Y si desplazamos En este caso, al igual que en los siguientes,
la ventana por la pantalla ocurrir otro tanto. Y no hay diferencias importantes entre Direct3D
si rotamos un objeto, otro tanto. y OpenGL, por lo que dar una descripcin
Para llevar a cabo estas tareas Direct3D conjunta en pseudocdigo indicando en algn
utiliza surfaces. Una surface almacena una caso estas diferencias.
imagen, del tipo que sea. Y se guardarn, en La primitiva grfica ms sencilla que pode-
el buffer correspondiente (una zona de me- mos dibujar es un tringulo. El pseudocdigo,
moria en espera de ser procesada), tantas que se desarrollar algo ms en lo que sigue,
imgenes como la memoria lo permita. Hay al sera algo as:
menos dos buffers, un front buffer y un back
buffer. El front buffer guarda la imagen que {
CrearEstructuraVrtices // 1
aparecer en pantalla, la imagen final. El back
CrearBufferVrtices // 2
buffer est oculto pero preparado para saltar VertexShader // 3
al front buffer. As, en cada marco (frame), las EnsamblarPrimitivas // 4
dos imgenes, la guardada en el front y back ClipCullRasterize // 5
buffer, se alternan con tal rapidez que se evita PIxelShader // 6
DibujarPrimitiva // 7
el leve parpadeo que si no fuera as podra }
ser perceptible. Hay otros buffers que vere-
mos ms adelante.
1. Crear la estructura de vrtices

179
Simulacin visual de materiales

El primer paso es leer los valores de la apli- indicamos el tipo utilizado en la API corres-
cacin e integrarlos en una estructura ade- pondiente, que sera en ambos casos un vec-
cuada. Los valores principales que se van a tor de tres o cuatro elementos. El segundo
leer son vrtices, entendidos como datos que bloque rellena esta estructura con valores
incorporan tanto valores de posicin geom- que corresponden a un tringulo determinado
trica como atributos diversos (color, normales, (en la prctica, estos valores seran variables
coordenadas de textura, etc.). que el usuario especificara) y a tres colores,
Esta estructura puede ser un tipo de dato rojo, verde y azul, para cada uno de los tres
corriente en cualquier lenguaje de programa- vrtices.
cin, una estructura (struct), un tipo de dato Hay varias cosas que se han eliminado en
compuesto que el usuario puede definir para este pseudocdigo. Por ejemplo, Direct3D re-
almacenar con comodidad valores de diferen- quiere que, adems de lo anterior, se rellene
tes tipos. En el ejemplo simple que estamos un descriptor denominado FVF (flexible ver-
siguiendo, como necesitamos guardar infor- tex format). Este descriptor admite una serie
macin sobre, al menos, dos tipos de datos de valores para los vrtices, los dos de la es-
relativos a los vrtices, su posicin (que tructura y algunos ms (por ejemplo el valor
implica tambin tres valores) y su color, lo de la normal, el color especular o las coorde-
primero que se necesita es crear esta estruc- nadas de textura que utilizaremos ms ade-
tura y rellenarla con los valores del tringulo lante). Esta especificacin es necesaria pues
que vamos a dibujar. El cdigo tendra el si- Direct3D no puede procesar cualquier tipo de
guiente aspecto: datos. En cualquier caso, lo que nos importa
de este paso es que contamos con una serie
struct MisVertices de datos estructurados que se pasan al si-
{ guiente estadio.
tipoApi xyz;
tipoApi color;
}; 2. Crear el buffer de vrtices y el buffer de
MisVertices vertices [] = Indices
{ El paso siguiente es meter los vrtices que
{0,0,0, RGB (255,0,0)}
{0,2,0, RGB (0,255,0)} hemos creado en dos buffers especficos, un
{0,1,0, RGB (0.,0,255)} vertex buffer y un index buffer, prefijados por
} la aplicacin. Estos buffers, cuando se trabaja
con decenas de miles de datos, son funda-
El primer bloque define la estructura que mentales para acelerar el proceso. Deben ser
consta de 4 datos: las tres coordenadas (que entendidos, por tanto, como un recurso de
seran de tipo float para tener suficiente preci- optimizacin aunque en el contexto de este
sin aunque no lo hemos indicado) y el color ejemplo simple aparezcan como una compli-
que sera un tipo de dato preestablecido (tam- cacin innecesaria..
bin con tres valores internos). Por tipoApi Para que la GPU pueda acceder al lista-
do de vrtices, estos necesitan ser coloca-
v6
dos en una zona especfica de memoria, en
v7
un buffer especial denominado vertex buffer
v1 v2
v5 v8 (hay varios buffers de este tipo en las tarje-
v0 tas modernas que quedan disponibles para
v1 alimentar la pipeline). Los vertex buffers se
v0 v3 v4
crean con mtodos tambin especficos y
v3 v2 que representan las operaciones que llevara
efectivamente a cabo la tarjeta grfica real
Figura 3.20 Indices a polgonos. que se usara en la aplicacin. Este mtodo

180
Recursos bsicos

requiere una serie de argumentos de los que que se especifican los vrtices (denominado
nos basta con mencionar dos: la estructura winding order) es importante aunque no va-
que contiene los vrtices que hemos defini- mos a entrar en los detalles de cmo hacerlo
do previamente y un puntero al vertex buffer y porqu.
(pVB). Por aadidura, una vez creado, se En los listados que siguen el vrtice v0
requiere bloquear un rea de memoria para est repetido 2 veces en el caso del cuadri-
guardar estos valores y, una vez hecho esto, ltero (los tringulos correspondientes se in-
desbloquearlo. Esto es lo que se resume en dican entre corchetes, como T0, T1, etc) y
el pseudocdigo siguiente: el vrtice v0 est repetido 8 veces en el caso
del octgono.
CrearVertexBuffer(sizeof(MisVertices)*3, pVB)
pVB->Lock() Vertex quad[6] = { v0, v1, v2 [T0] v0, v2, v3, [T1]};
pVB->UnLock() Vertex octagon[24] = {v0, v1, v2 [T0] v0, v2, v3 [T1] v0, v3,
v4 [T2] v0, v4, v5 [T3] v0, v5, v6 [T4] v0, v6, v7 [T5] v0, v7,
Un vertex buffer almacena los vrtices pero v8 [T6] v0, v8, v1 [T7] };
no dice nada sobre cmo se relacionan es-
tos vrtices entre s para formar primitivas Para evitar esta repeticin se utilizan ndices,
geomtricas. Esto requerir especificacio- de tal modo que hay una nica lista de vrti-
nes adicionales que definan la topologa de ces y la lista de ndices se remite a esta lista
agrupacin de los vrtices. Para ello se utili- de vrtices. La duplicacin se lleva en reali-
zan estructuras predefinidas que almacenan dad a la lista de ndices, pero esto es mucho
diversas topologas que quedan disponibles mejor pues esta lista solo contiene nmeros
para estadios posteriores: listas de puntos, enteros que ocupan mucha menos memo-
listas de lneas dadas por dos puntos, listas ria. Y el uso de vertex cache evita tambin
de puntos concatenados, listas de tringulos el procesamiento doble. El cdigo quedara
de diversos tipos, etc. Las denominaciones como sigue para el tringulo (la lista de ndi-
correspondientes en Direct3D son PointList, ces viene a decir: usa los vrtices 0,1,2 para
LineList, LineStrip, TriangleList, TriangleStrip, construir el tringulo 0 (T0) y los vrtices 0,2,3
etc. Y las correspondientes en OpenGL son para construir el tringulo 1 (T1).
gl_point, gl_lines, gl_line_strip, gl_line_loop,
gl_triangle, gl_triangle_fan, etc. Hay variantes Vertex v[4] = {v0, v1, v2, v3};
indexList[6] = {0, 1, 2 [T0] 0, 2, 3 [T1]};
en las que no vamos a entrar sobre el modo
en que se crean las primitivas. Y como sigue para el octgono:
Pero si agruparamos vrtices que poste-
riormente se definiran, por ejemplo, como un Vertex v[9] = {v0, v1, v2, v3, v4, v5, v6, v7, v8};
indexList[24] = { 0, 1, 2 [T0] 0, 2, 3 [T1] 0, 3, 4 [T2] 0, 4, 5
polgono de varios lados formado por tringu-
[T3] 0, 5, 6 [T4] 0, 6, 7 [T5] 0, 7, 8 [T6] 0, 8, 1 [T7] };
los, nos encontraremos con vrtices duplica-
dos: un cuadriltero tendr 6 vrtices (2 x 3) y El almacenamiento de los vrtices (es decir,
un octgono 24 vrtices (8 x 3). Esto duplica de un ndice que apunta a una serie de pro-
innecesariamente el nmero de vrtices. Para piedades geomtricas y no geomtricas) en
evitarlo se recurre a ndices de modo que se buffers independientes es una de las claves
eviten duplicaciones y estos ndices se alma- de la aceleracin por hardware de los pro-
cen en un index buffer. El procedimiento de gramas de simulacin. En relacin con esto
creacin es similar al de un vertex buffer. hay varios detalles tcnicos sobre el uso ms
Tambin como en el caso anterior este bu- adecuado de buffers dedicados en los que no
ffer requiere invocar una funcin especfica podemos entrar y que afectan tambin el ma-
para crear el buffer e insertarlo en la pipeli- nejo de objetos geomtricos ms complejos
ne. El cdigo siguiente muestra un ejemplo como curvas y superficies.
de cmo se aplica este mtodo. El orden en

181
Simulacin visual de materiales

3. Procesamiento de vrtices (vertex shader) sino que otro tanto ocurre con las coordena-
El modo ms sinttico de explicar lo que hace das de texturas y cualquier otro valor ligado a
un vertex shader es decir que recibe una se- las coordenadas de los vrtices.
rie de vrtices como entrada y devuelve otra Una de las transformaciones que tienen
serie de vrtices como salida. Entre estos dos lugar en este estadio es la de coordenadas
extremos se llevan a cabo una serie de opera- de espacio local a coordenadas de espacio
ciones que modifican los valores originales de modelo. En muchas aplicaciones, los objetos
los vrtices. Estas operaciones son, por lo ge- se crean en coordenadas locales lo que sim-
neral, operaciones afines, operaciones proyec- plifica considerablemente el procedimiento de
tivas que preservan relaciones pero modifican creacin. Una vez creados en su propio es-
valores concretos. Este estadio tambin se pacio (local space) se colocan en posiciones
denomina procesamiento de vrtices (vertex variables en el espacio global (world space).
processing) e incluye diversos tipos de opera- Esto requiere el uso de las tres transformacio-
ciones por vrtices (per-vertex operations). nes clsicas: traslacin, rotacin y cambio de
Es importante insistir en que el trmino escala. Estas transformaciones son comple-
vrtice puede resultar equvoco y sera ms jas y requieren el uso de matrices de transfor-
adecuado substituirlo por datos bsicos de macin. Pero afortunadamente, Direct3D se
entrada. Pues, como ya se ha dicho, los vr- encarga de llamar a funciones predefinidas
tices almacenan informacin geomtrica pero que se encargan de automatizar el proceso
tambin atributos diversos. Y, en este esta- por medio de una matriz de transformacin
dio, no solo las posiciones de los vrtices se del modelo (modeling transformation matrix).
transforman por las matrices de transforma- La parte principal del procesamiento de
cin del modelo y las matrices de proyeccin, vrtices es la transformacin de coordena-
das, que vena dada en el espacio modelo,
a las coordenadas de proyeccin que depen-
Coordenadas de objeto den del punto de vista escogido. Para esto se
requiere ejecutar tres transformaciones can-
Matriz nicas que ya hemos visto en la seccin sobre
modelo-vista la rendering pipeline. Estas transformacio-
nes tambin requieren el uso de matrices de
Coordenadas de vista transformacin. Pero es un proceso muy es-
tandarizado que funciona prcticamente igual
Matriz en las dos API, si bien el orden y otros detalles
proyeccin pueden cambiar. Estas tres transformaciones
cannicas se automatizan por medio de tres
Coordenadas de clipping
matrices: a) de vista (viewing transformation),
que sita y orienta la cmara virtual en la
Divisin escena; b) de proyeccin (projection trans-
perspectiva formation), que define el campo visual; c) de
visor (viewport transformation), que ajusta el
Coordenadas de dispositivo normalizado
resultado a las dimensiones de la ventana de
salida. En cada caso hay que inicializar las
Transformacin matrices como matriz de identidad y asignar-
a visor le despus los valores correspondientes. Las
Coordenadas de ventana matrices son de 4 x 4 (coordenadas homo-
gneas). Hay diferencias entre D3D y Open
GL pues en este ltimo caso las matrices de
Figura 3.21 Transformaciones de vrtices. transformacin son parte del estado (OpenGL

182
Recursos bsicos

state) y deben ser definidas antes de los vrti- yeccin se combinan en una nica matriz,
ces a los que se van a aplicar, pero no vamos que a veces se denomina WVP (World-View-
a entrar en estos detalles. Projection). El resultado es lo que se deno-
La primera matriz que hay que invocar es, mina el espacio de proyeccin (projection
por tanto, la matriz de transformacin (ma- space). Este resultado se normaliza para que
trizTransf en el ejemplo que se dar ms sea independiente de cada caso particular.
adelante) que sita los vrtices en la posicin Esto es, las coordenadas de anchura y altu-
del espacio que se requiera segn la escena ra deben estar comprendidas en el intervalo
que estemos creando. [-1,1] y las coordenadas de profundidad en el
La segunda matriz sita la cmara, esto rango [0,1]. Despus de esta conversin las
es, el punto a partir del cual se llevar a cabo coordenadas se denominan NDC (normalized
la proyeccin de la escena. Esto requiere de- device coordinates, coordinadas normaliza-
clarar previamente la matriz y, a continuacin, das del dispositivo). Tanto este ltimo paso
definir tres vectores: el primero, que define la como los anteriores se corresponden con la
posicin de la cmara, el segundo, que define descripcin general y las ilustraciones que se
el punto al que apunta y el tercero, que define han dado en la seccin anterior.
su orientacin. Estos cuatro valores se pasan El vertex shader solo necesita invocar a
como argumento a un mtodo predefinido esta matriz para procesar el vrtice que sea.
(por ejemplo claseMatrixLookAt) que imple- Es decir, repitiendo el ejemplo que hemos
menta la transformacin. El cdigo podra te- dado en la seccin anterior, todo el proceso
ner un aspecto como lo que sigue: descrito que en versiones previas tena que
especificarse, ahora queda condensado.
claseMatrix matrizVista;
claseVector3 Ojo (0,-10,0); struct vertex { tipoApi position; tipoApi color; tipoApi nor-
claseVector3 LookAt (0,0,0); mal; tipoApi textura;}
claseVector3 Up(0,1,0); vertex v;
claseMatrixLookAt(&matrizVista, &Ojo, &LookAt, &Up); tipoApi matrizTransf;
dispositivo->SetTransform();
La tercera matriz (matrizProyeccin) del vs (v.position) {nuevaPos = position * matrizTransf; return
pseudocdigo que sigue, lleva a cabo esta nuevaPos;}
proyeccin por la que todo el sistema de El buffer correspondiente almacenar la ma-
coordenadas cambia de tal modo que el nue- triz combinada matrizTransf, pues dado que
vo origen de coordenadas pasa a ser el punto esta matriz vara con cada objeto se necesita
de vista dado por la segunda matriz. Afortu- actualizarla en cada caso: almacenarla en un
nadamente, la API se encarga de los detalles buffer facilita esta actualizacin. Las API mo-
de esta transformacin y el cdigo bsico es dernas cuentan con buffers que se utilizan en
muy simple. En la primera linea se declara la funcin de la frecuencia de actualizacin pre-
matriz, en la segunda se define el ngulo de vista para cada caso. Pueden crearse buffers
visin (fov: field of view) y en la tercera se para, por ejemplo, variables de luces o efec-
define la relacin de aspecto (aspect) divi- tos de niebla o cualquier otro conjunto de pa-
diendo la anchura por la altura de la ventana rmetros que requieran ser actualizados con
que hemos definido previamente: frecuencia segn las aplicaciones previstas.

fov(anguloVision); 4. Ensamblaje de primitivas/geometry shader


aspect(anchuraVentana, alturaVentana); Despus del procesamiento de vrtices sus
frustrum(left, right, bottom, top, zNear, zFar )
claseMatrix matrizProyeccion(fov,aspect, zNear, zFar) posiciones y atributos quedan fijados y se
puede pasar a otro estadio denominado en-
samblaje de primitivas (primitive assembly).
Las matrices de espacio modelo, vista y pro- En este estadio, los vrtices se agrupan en

183
Simulacin visual de materiales

primitivas completas con arreglo a la lista de bir una tira de 8 tringulos, y devuelve como
topologas admisibles que hemos visto en el salida otra primitiva, que, en este caso, sera
primer estadio: puntos, lneas con dos o ms la misma, por lo que se podra prescindir de
vrtices, tringulos, polgonos y, en general, este estadio. Para qu sirve entonces? Para
mallas poligonales con un nmero arbitrario los casos en que se definan primitivas ms
de vrtices. Este agrupamiento depende de complejas que solo pueden ser procesadas
cmo se ha especificado la creacin de los por este shader. Pues tambin puede recibir
vrtices: en los casos ms simples el agrupa- una primitiva y devolver otras varias reestruc-
miento ya viene definido por el tipo dado en el turadas segn los requerimientos del usuario
momento de la creacin, en otros casos pue- o del propio sistema. Esta reestructuracin
de ser necesario un reagrupamiento debido a puede consistir en algo tan simple como la
que, por ejemplo, una malla poligonal se ha creacin de nuevos vrtices por interpolacin.
modificado debido a operaciones de recorte Pero tambin puede modificar los tipos de pri-
definidas por la pirmide de visin. mitiva: una serie de puntos puede convertirse
La principal razn de ser de este estadio es en una serie de tringulos o una serie de l-
que determinadas operaciones, notoriamente neas pueden colapsarse en puntos. Algunas
clipping, modifican las primitivas al cortar el aplicaciones tpicas de este nuevo shader
conjunto en determinados puntos, lo que re- son las siguientes: la creacin de billboards
quiere rehacer la estructura del conjunto de o sprites a partir de puntos, la creacin de
vrtices. lneas con grosor a partir de lneas simples,
De hecho, las funciones especficas que la teselacin como fase previa para aplicar
se realizan en este estadio pueden variar se- mapas de desplazamiento (si bien esta fun-
gn las versiones y segn las aplicaciones. cin ha sido ampliada con el nuevo shader
En algunas descripciones de las operaciones de teselacin), la creacin de extrusiones por
que se llevan a cabo en el estadio de primitive hardware, la multirresolucin automatizada,
assemby se incluyen las siguientes, adems la creacin de pelo, hierba, etc. Todo esto re-
de la reagrupacin de vrtices en primitivas percute en la reduccin de los vertex buffers,
predeterminadas tras el recorte (clipping) de que no necesitan gestionar geometra adicio-
las primitivas con el frustrum: conversin a nal y, por tanto, en una aceleracin general de
coordenadas homogneas; transformacin a estos procedimientos.
coordenadas de visor; back-face culling. Son
operaciones que, como veremos, se descri- 5. Clipping. Culling. Proyeccin 2D. Rasteri-
ben ms corrientemente como propias de zacin
otros estadios. Hay que recordar que la serie Tras todas las transformaciones anteriores,
de operaciones que se llevan a cabo no sigue los datos de la escena estn preparados para
una secuencia lineal y pueden incorporarse ser enviados a la ventana de salida. Esto re-
a diferentes fases de un procesamiento que quiere toda una serie de operaciones finales
cada vez se ejecuta con ms intensidad en que se agrupan en este apartado, para seguir
paralelo. las descripciones generales de la rendering
Por otro lado, en las rendering pipelines pipeline, pero que pueden haberse producido
recientes de Direct3D y OpenGL ha apareci- antes.
do un nuevo estadio denominado geometry La informacin de la escena que llega a
shader. Este estadio, que se etiqueta como este estadio es la de una serie de datos es-
opcional, se sita entre el ensamblaje de tructurados (vrtices con atributos que com-
primitivas y el proceso final de rasterizacin. ponen primitivas) situados en el interior de un
El geometry shader recibe como entrada el volumen limitado por 6 planos, el frustrum. A
resultado del ensamblaje de primitivas. As, partir de ah, se realizan a cabo las siguientes
siguiendo con el ejemplo anterior puede reci- operaciones principales.

184
Recursos bsicos

Clipping. Como deca, esta operacin pue- macin las unidades son pxeles. Las coor-
de haberse efectuado, segn las diferentes denadas de profundidad z se conservan pues
aplicaciones, durante la fase de ensamblaje son utilizadas por el depth-buffer. Esta trans-
de primitivas. En cualquier caso, lo fundamen- formacin viene dada generalmente por una
tal es que cada primitiva se compara geom- funcin simple que admite cuatro comandos,
tricamente con el frustrum de lo que resultan los dos primeros dan la posicin del visor (la
tres posibilidades: a) la primitiva queda com- esquina inferior izquierda) en la pantalla ge-
pletamente dentro del frustrum y se conserva, neral en caso de que la salida no sea a pan-
b) la primitiva queda completamente fuera del talla completa y los dos siguientes, las dimen-
frustrum y se descarta, c) la primitiva queda siones:
parcialmente dentro del frustrum con lo que
viewportTransform ( x, y, anchura, altura )
se computa la interseccin y se crean nuevos
vrtices que hay que volver a ensamblar. Conviene recordar que las coordenadas de
Culling o backface culling. Cada cara trian- pantalla de OpenGL son diferentes que las
gular o poligonal tiene una normal que se de- de Direct3D (Windows). En Windows el ori-
riva de las coordenadas de los vrtices que gen est en la parte superior izquierda de la
lo forman y de cmo estn ordenados. La pantalla y en OpenGL est en la parte inferior
convencin corriente es que si el orden es ho- izquierda.
rario (clockwise) con respecto al observador, Interpolacin de valores de vrtices. Los
el lado es frontal y visible, y si es antihorario vrtices incorporan informacin sobre propie-
(counterclockwise), el lado es posterior e in- dades adicionales a la informacin geomtri-
visible. Esta convencin deriva de que la ma- ca. Durante el proceso de rasterizacin los
yora de los objetos que hay en una escena vrtices se convierten en pxeles, y se crean
son slidos cerrados, por lo que los polgonos pxeles en todas las posiciones intermedias.
cuyas normales forman un ngulo mayor de Los valores de estos pxeles creados en po-
90 con el vector correspondiente al punto siciones intermedias son desconocidos. Sus
de vista se eliminan pues corresponderan a valores se deducen por interpolacin entre
caras no visibles de un volumen cerrado o a los vrtices adyacentes. Esto incluye tambin
caras que, por alguna razn (incluyendo erro- los valores de profundidad (depth values,
res del usuario) tienen esta orientacin. Dicho z-values). De este modo, cada nuevo pxel
de otro modo, el observador no puede ver los contar con la misma serie de atributos que
tringulos posteriores de un objeto porque los vrtices originales. En el caso de los va-
quedan ocultos por los frontales. Por esta ra- lores de profundidad, esto requiere cmputos
zn, todos los tringulos con esta orientacin adicionales para tener en cuenta la distorsin
se eliminan de la pipeline. Esto reduce poten- perspectiva, pero esto se lleva a cabo me-
cialmente el nmero de polgonos a procesar diante funciones internas automatizadas en
aproximadamente a la mitad. Vase las ilus- las que tampoco es necesario entrar.
traciones correspondientes a estos estadios La salida del proceso de rasterizacin es,
en la seccin anterior. por consiguiente, una serie de pxeles o frag-
Transformacin a coordenadas del visor mentos (el trmino de OpenGL) en una de-
(viewport transform). Despus de la pro- terminada posicin en 2D y que incorporan
yeccin y la transformacin a coordenadas valores derivados de los vrtices originales.
normalizadas del dispositivo (NDC) con que Si, por ejemplo, una lnea va a cubrir una do-
finalizaba el vertex shader, las coordenadas cena de pxeles en la pantalla, este proceso la
2D que conformarn la imagen de salida se convierte en 12 fragmentos. Cada fragmento
transforman en un rectngulo que se almace- almacena la informacin proveniente de los
nan en un back buffer dedicado al visor de vectores (color, coordenadas de textura, posi-
salida (viewport). Despus de esta transfor- cin en profundidad, etc.) adems de sus co-

185
Simulacin visual de materiales

rrespondientes coordenadas de ventana (win- O suprimirla, como ocurrira si se descarta


dow coordinates). Dado que, para seguir con porque otro fragmento coincide con su posi-
el ejemplo de la lnea, estos valores solo se cin pero segn la informacin almacenada
conocan para dos fragmentos, el correspon- en el depth buffer tiene un valor de profun-
diente al inicio y al final, los otros diez valores didad menor o porque el stencil buffer espe-
de este ejemplo se determinan por interpola- cifica un valor de substitucin previamente
cin, si el modo de representacin es suavi- almacenado.
zado (smooth shading), o reciben de modo Aunque estamos suponiendo un caso sim-
uniforme el valor del ltimo vrtice si el modo ple, sin texturas, podemos recordar que, como
de representacin es plano (flat shading). se ver en el apartado siguiente, una de las
Cada tipo de primitiva incorpora por aa- principales operaciones que se llevan a cabo
didura reglas adicionales que se utilizan para en este estadio es la proyeccin de texturas.
enriquecer la representacin. Los polgonos Las coordenadas de textura tambin se han
pueden incluir patrones, o contornos resal- transformado en el vertex shader y son uno de
tados, las lneas pueden tener grosor y los los datos que se mantienen en la proyeccin
puntos pueden tener grosor u otros atribu- de los vrtices sobre el espacio 2D de salida.
tos (estas cosas se controlan, por ejemplo, 7. Cargar el buffer. Dibujar la primitiva. Liberar
en OpenGL por funciones especficas, glPo- el buffer
lygonMode, glLineWidth, glPointSize y gl- Cuando todo est listo para ser representado
PointParameter) o estar asociados a texturas en la pantalla de salida, pasando por alto toda
con canales alfa que las recortan para simu- una serie de operaciones adicionales que
lar iconos o partculas (lo que se denomina pueden tener que llevarse a cabo antes de
corrientemente sprites). Por otra parte, todas este paso final y que se describirn sumaria-
estas primitivas fragmentadas se tratan por mente ms adelante, el ltimo paso es cargar
medio de funciones adicionales de antialia- la informacin en el frame buffer. Esto impli-
sing, otro tema que tambin dejaremos para ca su inicializacin mediante mtodos espe-
ms adelante. cficos que tampoco vamos a detallar y que
utilizan formatos especficos preestablecidos.
6. Pixel/Fragment shader Los fragmentos que han sobrevivido de to-
Los valores interpolados con que finaliza el dos los anteriores se convertirn finalmente
estadio anterior se pasan al estadio siguiente en pxeles virtuales que, cuando todo el pro-
como datos de entrada. El pixel/fragment sha- grama se lleve a cabo en un dispositivo real,
der lee los datos de entrada y los convierte pasarn a ser pxeles reales. Al terminar el
en datos de salida. Estos datos de salida son proceso hay que liberar el buffer y dejarlo dis-
pxeles/ fragmentos que pueden tener hasta 8 ponible para otros procesos.
atributos de color, ms un valor de profundi-
dad opcional. El pixel shader es semejante al La rendering pipeline en Direct3D y
vertex shader pues debe procesar cada uno OpenGL
de los elementos de entrada que recibe para
devolver un valor similar. Al igual que el ver- Las figuras 3.22 y 3.33 resumen las operacio-
tex shader procesa todos y cada uno de los nes que se han descrito con ms detalle en
vrtices que le llegan, el pixel shader procesa los apartados anteriores pero situndolas en
todos y cada uno de los fragmentos que han el orden en que se presentan en las dos API
surgido de la interpolacin de los valores de principales. Esta descripcin est basada en
todos y cada uno de los vrtices. Su funcin las versiones ms recientes (2012) de estas
es calcular el valor del fragmento a partir de la API. Las diferencias principales con respecto
informacin de entrada y la informacin adi- a versiones anteriores estn en la inclusin de
cional que pueda modificar esta informacin. un nuevo estadio, Tessellation, de otros esta-

186
Recursos bsicos

Aplicacin Aplicacin

Input 1 Index Vertex 1 Vertex


assembler buffer puller buffers,
Transform
Vertex feedback
buffer buffers...

Vertex 2 Textura
Vertex 2 Textura
shader shader

Hull shader 3 3
Tessellator Tessellation
Recursos de memoria (buffers, texturas, otros)

Recursos de memoria (buffers, texturas, otros)


Domain shader

Geometry 4 Geometry 4
Textura Textura
shader shader

Clip+Project 5 Clip+Project 5
+Etc+Rasterize +Etc+Rasterize

Stream
6 Stream (Stream
6 Stream
output buffer output) buffer

Pixel 7 Textura
Fragment 7 Textura
shader shader

Depth/ Depth/
Stencil Stencil

Output 8 Render (Output 8 Render


merger target merger) target

Salida (driver de vdeo) Frame buffer

Figura 3.22 Rendering Pipeline de Direct3D 11. Figura 3.23 Rendering Pipeline de OpenGL 4.

187
Simulacin visual de materiales

do algo menos reciente pero tambin relativa- 3. Teselacin. Las versiones recientes han
mente nuevo, Geometry Shader (que apareci aadido este estadio que implica shaders
en la versin 10 de Direct3D) y en algunas di- adicionales. En Direct3D 11 hay tres nuevos
ferencias de detalle importantes en los ltimos estadios que aqu hemos reunido en uno: a)
estadios. Esto cambiar en los prximos aos hull shader, b) tessellator, c) domain shader.
(ya habr cambiado cuando este libro se publi- La funcin general de este estadio es subdi-
que), pero todo lo que interesa aqu es hacerse vidir de un modo eficiente la geometra en el
una idea del modo particular en que los esque- momento en que se necesita restaurndola
mas generales que se han presentado antes despus a su estado original. Las superficies
se aplican en casos particulares. que llegan a este estadio general estn com-
puestas por parches (patches), triangulares
1. Recopilacin y reestructuracin de datos o cuadrangulares, definidos por una serie
(input assembler/vertex puller). El primer esta- de puntos de control que han sido previa-
dio es recopilar la informacin enviada por la mente transformados en el vertex shader. El
aplicacin. Esto corre a cargo del primer esta- hull shader es un estadio programable que
dio del procesamiento, el ensamblador de en- tiene dos funciones principales. La primera,
tradas (input assembler, en Direct3D) o el ti- opcional, es convertir los parches de un tipo
rador de vrtices (vertex puller, en OpenGL). de representacin (una determinada base
En este estadio se leen datos geomtricos, matemtica) a otra. La segunda es compu-
vrtices e ndices que se utilizan para combi- tar factores de teselacin adecuadas que
narlos en primitivas geomtricas tales como se pasan al siguiente estado, el tessellator.
tringulos y lneas. Otra forma de describirlo Esto permite que la teselacin sea adap-
es decir que es el estadio en el que se proce- tativa y se acomode a los diferentes casos
san los comandos enviados por la aplicacin a (por ejemplo, a la mayor o menor distancia
la que se sirve. Hay, por tanto, todo un proce- del punto de vista). Los factores de tesela-
so complejo implicado por el que los coman- cin (TessFactors) se especifican para cada
dos deben ser interpretados y traducidos a los arista del parche y en la versin 11 pueden
tipos y funciones que pueden ser procesadas variar de 2 a 64, lo que implica las corres-
por la API, sea Direct3D u OpenGL. Entre es- pondientes subdivisiones de los tringulos
tos procesos hay que incluir transformaciones o cuadrngulos. El tessellator es un esta-
de formato y operaciones de desempaqueta- dio configurable pero no programable. Esto
do (unpacking) de datos bsicos. quiere decir que su funcin es fija, aunque
admite diversas configuraciones previas. A
2. Vertex shader. El vertex shader se ejecuta partir de los datos recibidos por el hull sha-
una vez por cada vrtice. Recibe un vrtice der subdivide cada parche en nuevos trin-
como dato de entrada y devuelve un vrtice gulos o cuadrngulos. No tiene acceso a los
como dato de salida. Su funcin es trans- puntos de control sino que se limita a ejecu-
formar cada vrtice desde las coordenadas tar la subdivisin especificada. Cada vrtice
dadas en espacio objeto o espacio modelo resultante se pasa al estadio siguiente. El
a coordenadas dadas en espacio de recor- domain shader es un estadio programable
te (clip space). Estadios anteriores diferen- que tiene una funcin principal: evaluar la
ciados, como el ensamblaje de primitivas representacin resultante de los datos ante-
(primitive assembly), que reestructura las riores, opcionalmente, aplicar determinadas
primitivas en funcin de los resultados de operaciones tales como desplazamientos y
los recortes operados en el volumen de la pasar los resultados al estadio siguiente, el
escena que importa para el punto de vista geometry shader, o bien, si este estadio no
considerado, el frustrum, se integran en este se aplica, al siguiente, el procesamiento de
estadio. proyecciones (clipping).

188
Recursos bsicos

4. Geometry shader. Es un estadio opcional cenados en buffers especiales. Los valores


que toma como entrada los vrtices de una procesados se envan a un buffer que alma-
o ms primitivas y genera ninguno o nuevos cena colores preparados para ser enviados a
vrtices. Es decir, que puede reducir o au- la salida final y que se denomina corriente-
mentar y reorganizar las primitivas recibidas. mente render target.
Tambin puede aadir atributos adicionales a
una primitiva. Se utiliza para casos tales como 8. Operaciones finales (Tests. Output merger.
la creacin de sprites a partir de puntos, de Pixel transfers). En Direct3D el estadio output
lneas con grosor a partir de lneas simples, merger toma los fragmentos recibidos del pi-
de la simulacin de pelo o hierba a partir de xel shader y los somete a una serie de ope-
lneas o la generacin de mapas de desplaza- raciones finales tales como pruebas de com-
miento multiplicando las primitivas a partir de probacin de la profundidad (depth test) o de
una base simple. supresin de zonas por plantillas (stencil test),
adems de la principal operacin final que es
5. Procesamiento de proyecciones y rasteri- la fusin de las imgenes destinadas a la sa-
zacin (clipping, project, rasterize). En este lida con datos recibidos de otras vias (render
estadio se completan las operaciones de target blending). Hay que tener en cuenta que
transformacin que proyectan los vrtices el pixel shader puede emitir diferentes valores
que han pasado los estadios anteriores sobre para diferentes render targets, que deben fu-
el visor de salida (viewport) tras someterlos a sionarse en un nico valor final. En OpenGL
operaciones adicionales de recorte (clipping), hay operaciones finales similares que se basan
eliminacin de caras no visibles (culling), pro- en lo que se engloba bajo la denominacin de
yeccin perspectiva, normalizacin del frus- empaquetado y desempaquetado de pxeles
trum y, en algunos casos, pruebas previas de (pixel packing and unpacking), y que se refiere
profundidad (depth testing). El resultado es al modo en que los datos de imagen se escri-
una serie de datos 2D, fragmentos candidatos ben en la memoria. Estos datos se guardan en
a convertirse en pxeles de salida. buffers especiales para datos de pxeles (pixel
unpack buffer, pixel pack buffer). Las operacio-
6. Procesamientos adicionales (stream out- nes (pixel transfer operations) se definen para
put. transform feedback). Tanto Direct3D cuatro clases de grupos de pxeles: RGBA
(stream output) como OpenGL (transform fee- component (cuatro componentes, red, green,
dback) cuentan con recursos adicionales para blue, alpha), Depth component (un nico com-
escribir los resultados de los estadios anterio- ponente de profundidad), Color index (un ndi-
res en memoria, en buffers especiales. Esto ce a una tabla de color), Stencil index (un ndice
permite que los resultados del procesamiento a una plantilla). Las operaciones denominadas
de vrtices en diversos estadios vuelvan a los pixels transfer que se llevan a cabo sobre estos
shaders que lo necesiten e incluso, si es pre- datos bsicos pueden consistir en conversio-
ciso, a la CPU. nes de formato o modificacin de los rangos
de estos grupos pero tambin en operaciones
7. Pixel shader. Fragment shader. El pixel/ ms complejas de tratamiento de imgenes (fil-
fragment shader se ejecuta una vez por cada tros basados en convoluciones, etc.).
fragmento. Recibe un color como entrada y,
en funcin de informacin adicional que pue- La explotacin del paralelismo, los
de venir de diversas vas, entre ellas el proce- nuevos lenguajes y las nuevas tecno-
samiento de texturas, devuelve un color como logas
salida. Con variantes segn las API, pueden
incluir operaciones de antialiasing o elimina- Una API es, como ya hemos visto, una aplica-
cin de pxeles en funcin de los datos alma- cin que proporciona recursos para especifi-

189
Simulacin visual de materiales

car el modo en que diferentes componentes Shader que se considera el primer lenguaje
de una aplicacin general interactan entre s comercial de alto nivel para la programacin
y con los componentes de la mquina concre- de grficos en tiempo real, que apareci en
ta sobre la que estas aplicaciones generales 2000 y que se dio a conocer en una publica-
funcionarn. Adems de esto, y en paralelo a cin de Dave Baldwin en octubre de 2001.
la evolucin de las tarjetas grficas y las pro- Posteriormente aparecieron el lenguaje
pias API, pueden proporcionar recursos adi- CG de NVDIA, cuya primera especificacin
cionales de programacin que permiten aadir se public en junio de 2002. Y el lenguaje
nuevas funciones a estos recursos bsicos, HLSL de Microsoft, cuya primera especifi-
ampliando las posibilidades para sacar el cacin se public en noviembre de 2002,
mximo partido del hardware y hacer que los como parte de la primera versin (beta) de
programas funcionen de modo ms efectivo. DirectX 9.0.
A medida que estas funciones adicionales Estos tres lenguajes, herederos de Ren-
se fueron desarrollando surgi la necesidad derMan, se han influenciado entre s conside-
de utilizar un lenguaje compartido entre los rablemente. La descripcin que sigue de cada
programadores. Las primeras API, como ya uno de ellos es necesariamente sinttica y se
hemos visto, se creaban en lenguaje ensam- centra en las diferencias principales.
blador, adaptado a cada dispositivo espec- RenderMan, el padre de todos los lengua-
fico y, despus, por medio de lenguajes ge- jes de shaders, apareci en 1988 despus de
nerales (C, C+++, Java, lenguajes propios de varios aos de desarrollo y de varias prue-
la API, etc.) ligados a clases y bibliotecas de bas parciales en diferentes contextos. Con
funciones especficas. l apareci tambin la plena integracin del
Pero la escritura de shaders se facilita con- concepto de shader en un lenguaje de pro-
siderablemente si se utilizan lenguajes dise- gramacin relacionado directamente con una
ados especificamente para ellos y que no aplicacin grfica de simulacin visual. En los
tengan que preocuparse por especificaciones aos posteriores sera la base de pelculas
tcnicas que pueden dejarse en manos de la tan conocidas como Parque Jursico (Steven
API. Por esta razn surgieron los lenguajes Spielberg, 1993), La guerra de las galaxias
de programacin de shaders. (Georges Lucas, 1999, Star Wars Episode1:
Por aadidura, como tambin veremos The Phantom Menace) , El seor de los ani-
ms adelante, han surgido tecnologas espe- llos (Peter Jackson, 2001, Lord of the Rings:
cficas (Stream Processor, CUDA, OpenCL) The Fellowship of the Ring), por no citar sino
dirigidas especficamente a explotar el para- algunas de las ms famosas. Y de otras pe-
lelismo y hacer ms eficiente el funcionamien- lculas desarrolladas integramente por orde-
to de las tarjetas grficas posibilitando que se nador como Toy Story (1994), A Bugs Life
ejecuten mltiples secuencias en paralelo. (1998), Monsters Inc (2001) o Finding Nemo
(2003), entre muchas otras.
Lenguajes de programacin de shaders La principal diferencia entre RenderMan y
los lenguajes que le seguiran es que estos
El primer lenguaje de shaders interactivo se actan como un lenguaje independiente que
desarroll durante la dcada de 1990 en un deja que la GPU se relacione con el progra-
sistema grfico de procesamiento en paralelo ma de aplicacin por medio de una interfaz
denominado PixelFlow en la universidad de que consiste en un mdulo independiente.
North Carolina. Uno de los principales inves- Esto est basado en razonamientos indus-
tigadores que trabajaron en este proyecto fue triales y comerciales (descargar a los pro-
Marc Olano, que posteriormente pas a traba- gramadores de la tarea de tomar en consi-
jar con SGI y, junto con otros investigadores deracin las variantes de cada plataforma).
de esta empresa, contribuy a crear OpenGL Pero esto no era as con RenderMan, que

190
Recursos bsicos

relacionaba directamente los programas de En 2000 apareci ISL (OpenGL Interactive


modelado y los mdulos de representacin. Shading Language) que fue el primer intento
Estaba concebido como un interface de ren- de crear un lenguaje con las caractersticas
dering completo. de RenderMan pero adaptado a OpenGL.
Aparte de esta diferencia fundamental, En 2002 fue substituido por GLSL y en la ac-
proporcionaba toda una serie de recursos ta- tualidad ya no est disponible. Su principal
les como la descripcin de primitivas geom- inconveniente desde el punto de vista de su
tricas, organizacin jerrquica de los objetos, difusin comercial era que requera utilizar
transformaciones automatizadas, atributos OpenGL API como lenguaje ensamblador. Por
de materiales, luces o cmaras por medio de otro lado, poda funcionar en una variedad de
shaders especializados, que ahora ya estn GPU incluso en las no programables. Esto es
integrados en OpenGL o Direct3D, por lo que otra diferencia fundamental con GLSL, que
los lenguajes de ms alto nivel que se han se dirige en exclusiva a GPU programables.
construido por estas y otras firmas no requie- Dicho de otro modo, GLSL apunta al futuro
ren tenerlos en cuenta. en el que se supone que todas las GPU se-
La parte ms interesante es la correspon- rn programables mientras que ISL apunta al
diente al RenderMan Shading Language, que pasado, a GPU con menos capacidades. Al
es un mdulo integrado en RenderMan y que igual que OpenGL, est basado en C. Pero el
permite describir libremente cualquier tipo de cdigo es bastante diferente debido al requi-
shader que puede posteriormente ser pasado sito del lenguaje ensamblador
al mdulo de representacin a travs de la in- Como ya he dicho ms arriba, GLSL
terfaz de RenderMan. (OpenGL Shading Language, a veces de-
Es un lenguaje basado en C, como los que nominado GLSlang) se considera el primer
siguen, y por tanto muy similar a estos. La lenguaje comercial de alto nivel para la progra-
diferencia principal tiene que ver con el nivel macin de grficos en tiempo real. Apareci
de abstraccin. Los lenguajes que siguen uti- en 2000 (desarrollado por 3DLabs junto con
lizan dos tipos principales de abstraccin del OpenGL ARB) y se dio a conocer en una pu-
shader: vertex shaders y pixels o fragment blicacin de Dave Baldwin en octubre de 2001.
shaders. RenderMan utiliza cinco diferentes Aunque se introdujo como una extensin de la
niveles de abstraccin: light shaders, dis- versin 1.4 de OpenGL, su desarrollo oficial
placement shaders, surface shaders, volume se dio a partir de la versin 2.0 de OpenGL.
shaders e image shaders. Esto facilit considerablemente la tarea de los
Hay tambin otras diferencias de menor programadores, no solo por ser un lenguaje
importancia como un mayor nmero de tipos ms intuitivo y sencillo sino porque permita
de datos o variables predefinidas en Render- escribir para diferentes plataformas (Windows,
Man. De hecho, algunos tipos especiales uti- Mac OS, Linux). Las sucesivas versiones de
lizados por OpenGL, como los calificadores OpenGL fueron incluyendo diferentes versio-
uniform y varying fueron inventados por Ren- nes del lenguaje. La ltima versin de GLSL,
derMan y la mayora de las funciones internas correspondiente a OpenGL 4.0, es la GLSL
son tambin similares. 4.0. Es muy similar al C, lo que tambin facilita
La diferencia principal, ya mencionada, es considerablemente su uso.
que RenderMan se relaciona peor con todo HLSL (High-Level Shader Language)
tipo de tarjetas grficas, razn por la que, fue presentado por Microsoft en 2002, junto
pese a seguir siendo una referencia notable con Direct3D9. Sus caractersticas genera-
por su alta calidad, no se ha utilizado en orde- les, sintaxis, tipos de funciones, organizacin
nadores ms o menos corrientes. Pixar lo ha general, son similares al lenguaje GLSL de
desarrollado para su propio software, Render- OpenGL. Al igual que este, se basa extensa-
Man Pro Server. mente en la programacin de vertex shaders

191
Simulacin visual de materiales

y fragment shaders, que en este lenguaje ficos (por ejemplo sampler, que representa
se denominan pixel shaders. Una diferencia una textura).
importante es que el compilador no tiene en CG puede utilizarse tanto con DirectX
cuenta el entorno dado por DirectX sino que como con OpenGL. Sin embargo, al ser neu-
enva el cdigo directamente al lenguaje en- tral con respecto a la plataforma hay ciertas
samblador de la GPU o bien lo traduce a cdi- cosas que no estn incluidas, tales como
go binario en mdulos denominados tambin el manejo de vertex buffers y pbuffers o el
vertex shaders y pixel shaders. Estos mdu- rendering to textures. De hecho, un progra-
los tienen sus propias versiones de imple- ma escrito en CG es un vertex shader o un
mentacin (Vertex Shader 1.0, 2.0, 3.0, etc., pixel shader y requiere que todo el resto de
o Pixel Shader 1.1, 1.4, 2.0, 3.0, etc.). Esto las funciones propias del procesamiento de la
independiza estos mdulos con respecto al rendering pipeline se desarrollen por uno de
driver, lo que puede tener ventajas pero tam- estos dos programas.
bin inconvenientes. En GLSL la compilacin
est integrada en el driver, lo que da ms res- Las aplicaciones grficas de propsito ge-
ponsabilidad a los fabricantes de la GPU pero neral (GPGPU)
tambin les da ms libertad para optimizar y
mejorar la arquitectura de sus productos. Otra Hacia 2005 comenz a resultar cada vez ms
diferencia notoria es que HLSL est diseado evidente que las API tradicionales estaban
por Microsoft para Direct3D, lo que asegura basadas en modelos de un nivel de abstrac-
que funcione bien en mquinas y programas cin que ya no era adecuado para la compu-
con estos productos pero probablemente no tacin de propsito general.
tanto en otros casos. Los grandes supercomputadores haban
CG (C for Graphics) es un lenguaje de desarrollado tcnicas especficas de com-
programacin de shaders desarrollado por putacin en paralelo en la ltima dcada del
NVIDIA en colaboracin con Microsoft para la siglo xx, tcnicas como la aplicacin de ins-
programacin de vertex shaders y pixel sha- trucciones nicas a mltiples datos median-
ders. La primera versin apareci en 2002, el te unidades trabajando en paralelo (SIMD,
mismo ao que HLSL. Es muy similar a este single instruction, multiple data), tcnicas
lenguaje, tan similar que segn algunos son que se acabaron por denominar genrica-
lo mismo y solo se diferencian por razones mente como propias de procesadores de
comerciales. Y porque HLSL solo puede com- flujos, stream processors. Las GPU, a me-
pilarse en plataformas que incorporen DirectX dida que iban aumentando su potencia y
mientras que CG se puede compilar tanto con sus recursos, estaban especialmente prepa-
DirectX como con OpenGL. radas para adoptar este tipo de tcnicas, y
La funcin de CG es desarrollar un shader los fabricantes tenan el incentivo comercial
que luego se compila en el lenguaje ens- de que, de este modo, se ampliara su clien-
amblador de la GPU adaptndolo a la plata- tela a diversos campos cientficos, como la
forma especfica, DirectX u OpenGL. Para biotecnologa o las finanzas, adems de las
adaptarse a los diferentes tipos de tarjetas aplicaciones grficas tradicionales. As sur-
sin exponer el cdigo se utiliza el concepto gi, en torno a la dcada de 2000, lo que se
de perfil que compila el cdigo segn el perfil denomina ya corrientemente Computacin
propio de la plataforma anfitriona y optimiza de propsito general sobre GPU, GPGPU
el shader correspondiente para sacar partido (general purpose computing on graphics pro-
del perfil correspondiente. Est basado en C cessing units).
y la principal diferencia es que hay tipos de En 2006, ATI sac un primer producto des-
datos ampliados para hacer que el lenguaje tinado a estas nuevas aplicaciones, que se
sea ms adecuado a la programacin de gr- denomin close to metal y que proporciona-

192
Recursos bsicos

ba acceso directo a elementos de bajo nivel CUDA (NVIDIA)


y recursos para llevar a cabo mtodos de
computacin paralela masiva. Este producto Por su parte, en 2007, NVIDIA lanz la pri-
tuvo una vida corta debido, por un lado, a que mera versin de CUDA (computer unifed
ATI (AMD) decidi apoyar el nuevo estndar device architecture), un conjunto de herra-
OpenCL y al desarrollo de FireStream. mientas de desarrollo de algoritmos para sus
GPU (a partir de la serie G8X), basadas en el
FireStream (ATI) / Stream processor (AMD) lenguaje C y ligadas a un compilador espec-
fico. Su motivacin principal era explotar las
Las investigaciones de ATI sobre aplicacio- posibilidades de la GPU explotando el para-
nes generalizadas de la GPU se concreta- lelismo ofrecido por sus numerosos ncleos
ron en la nueva tecnologa ATI FireStream. que permiten el lanzamiento de varios hilos
En 2006, con la adquisicin de ATI por AMD, (threads) simultneos.
esta tecnologa se reconstruy y se renom- La mayora de los lenguajes de programa-
br como AMD Stream processor. Estaba ba- cin no cuentan con estructuras nativas que
sado en la serie Radeon X1900 y se aplicaba permitan hacer que los procesos se desarro-
a las GPU codificadas como Radeon R580. llen en paralelo. En el mejor de los casos pue-
Se utiliz en campos cientficos y financie- den iniciar varios hilos de ejecucin dejando
ros. Segn AMD, la capacidad de los nuevos en manos de la CPU la gestin de estos hilos,
procesadores equipados con esta nueva tec- pero con el requisito de tener que modificar el
nologa era ocho veces superior a la de los cdigo fuente segn la arquitectura de hard-
anteriores. ware en que se vaya a ejecutar el programa.
Hasta la fecha (2014) han aparecido cua- La gran aportacin de CUDA es que cuen-
tro generaciones. La primera, a mediados ta con estas estructuras y que permite explo-
de 2007. La segunda, el AMD FireStream tar el cdigo desde la GPU, lo que tambin
9170, poco tiempo despus, estaba basada permite aumentar de un modo espectacular
en tecnologa de 55 nm, al igual que la si- el rendimiento pero sin que el programador
guiente, para la RV670. La tercera, el AMD tenga que ocuparse de este asunto. El pro-
FireStream 9250 y 9270, estaba basada en la gramador escribe el cdigo como si se fuera
RV770 y apareci en junio de 2008 (la 9250) a ejecutar en un nico hilo sin preocuparse
y noviembre de 2008 (la 9270). Pueden en- de la gestin, la sincronizacin, etc. El cdigo
contrarse datos ms recientes, incluida la ser ejecutado descomponindolo en el n-
cuarta y ltima versin, en internet. mero de hilos que sea necesario y asignando
Puede programarse con varios lenguajes, cada uno a un ncleo del proceso pero sin
basados en C, con extensiones al lenguaje que el programador tenga que preocuparse
Brook+, que es a su vez una extensin de de la gestin de estas descomposiciones.
BrookGPU, un lenguaje de programacin CUDA se proporciona como un conjunto de
de flujos desarrollado por la universidad de tres componentes principales que pueden des-
Stanford, dirigido principalmente a GPGPU, cargarse gratuitamente de la url de NVIDIA.
es decir, a facilitar la programacin en para- El controlador CUDA es el primer compo-
lelo de GPU para aplicaciones de propsito nente a instalar y facilita la ejecucin de los
general. Su primera versin beta importante programas y la conexin entre la GPU y la
apareci en 2004 y le sigui otra versin beta CPU. El segundo componente es el toolkit,
mejorada en 2007, que inclua interfaces si- que incluye un compilador (nvcc), un perfilador
milares a las de OpenGL. Las versiones pos- de cdigo y una serie de bibliotecas de funcio-
teriores se denominaron Brook+ e incluan nes as como una gua introductoria. El tercer
computaciones de doble precisin especial- componente es el CUDA Developer SDK, que
mente adaptadas a las GPU de AMD. incluye cdigos de ejemplo y documentacin

193
Simulacin visual de materiales

adicional. Los cdigos de ejemplos incluyen, ejecucin en paralelo tanto en procesadores


entre otros, varios proyectos que muestran nicos como mltiples y admite computacin
cmo integrar CUDA en DirectX y OpenGL en coma flotante con la precisin especificada
Una de sus limitaciones principales era por el lenguaje. Est preparado para trabajar
que no contemplaba el rendering de texturas. con API grficas, como OpenGL. Se basa en
Tambin tiene algunas limitaciones desde el un nivel de abstraccin del hardware que tie-
punto de vista de la programacin, como que ne presente los desarrollos previsibles a corto
no se puede utilizar recursividad o punteros a plazo.
funciones o funciones con parmetros varia- Su estructura bsica es similar a la de
bles. Con todo, la aceleracin de los clculos OpenGL y DirectX: a) una capa de relacin
proporcionada por el alto paralelismo com- con la plataforma en la que se crea un con-
pensa sobradamente estas limitaciones. texto, a travs de la cual se seleccionan los
Todas las tarjetas grficas de NVIDIA de dispositivos presentes en el sistema, se ini-
los ltimos aos incluyen varios ncleos cializan los dispositivos virtuales y se crea
CUDA, tantos ms cuanto ms potente sea un bucle de procesamientos de mensajes,
la tarjeta en cuestin. Y cuantos ms ncleos b) una estructura de ejecucin en la que se
se incluyan, tantas ms tareas se podrn eje- gestionan los recursos y se ejecutan las ins-
cutar de modo simultneo, lo que aumenta trucciones principales ligadas a las diferentes
extraordinariamente la eficacia de la GPU. As unidades de procesamiento, los compute ker-
que puede asociarse, con ciertas reservas, el nels, que potencian la ejecucin en paralelo
mayor nmero de ncleos con la mayor ve- de datos y tareas especficas.
locidad de procesamiento. Pero las reservas La ejecucin est ligada a la existencia de
son debidas a que no en todos los casos se un nmero determinado de dominios de com-
puede sacar partido de la ejecucin simult- putacin (computational domains). Cada ele-
nea de varias tareas. mento de un dominio se denomina elemento
de trabajo, work-item. El dominio define el
OpenCL nmero total de work-items que se ejecuta-
rn en paralelo, el tamao global del work.
En 2009 apareci OpenCL (open computing Los work-items se pueden agrupar y comu-
laguage), un lenguaje de computacin abierto nicar entre ellos y sincronizar sus ejecucio-
que se basa en un lenguaje de programacin nes de modo que se controle el acceso a la
(basado en C) ligado a una interfaz de progra- memoria.
macin de aplicaciones. OpenCL est espe- La memoria est tambin gestionada de
cialmente preparado para crear aplicaciones un modo flexible, con mltiples direcciones
que hagan un uso extenso del paralelismo de espacios accesibles de diferentes modos y
para el procesamiento de datos y tareas que que pueden ser etiquetados con distintos cua-
puedan ejecutarse en unidades independien- lificadores (private, local, constant, global).
tes. Estas unidades pueden residir tanto en la Los tipos de datos son los corrientes en
CPU como en la GPU. La especificacin ori- lenguajes dirigidos a la computacin grfi-
ginal se llev a cabo por Apple pero se la ce- ca: vectores y escalares, structs, punteros y
di al grupo Khronos (un consorcio industrial tambin imgenes, como tipos especficos.
creado para apoyar las API de estndares Tambin las funciones principales son las que
abiertos, al que se uni OpenGL en julio de se encuentran corrientemente en estos len-
2006) que cre un grupo especial, el Compu- guajes: funciones mtemticas (la biblioteca
te Working Group, en 2008, para convertirla math.h de C), funciones de lectura y escritura
en un estndar abierto (ver www.khronos.org). de matrices ligadas a imgenes, funciones
OpenCL es particularmente adecuado para geomtricas, etc., y funciones especficas de
acceder a recursos heterogneos. Soporta la sincronizacin.

194
Recursos bsicos

3.3 Procesamiento de materiales e perficie triangular en el estadio a cargo del


iluminacin pixel shader.
Durante el estadio del vertex shader tam-
Estructuras generales bin se pueden modificar los colores del
material por la accin de luces virtuales di-
Definicin y registro de parmetros bsi- rectas. Dado que estas son las principales
cos de materiales operaciones que tienen lugar, junto con las
transformaciones de coordenadas, a veces
En Direct3D y OpenGL los materiales son, en se denomina a este estadio T&L (transforma-
principio, estructuras simples que definen el tion and lighting).
color del material y el modo en que este color Tambin en este estadio tiene lugar un pri-
puede quedar modificado por la luz, en caso mer procesamiento de texturas que, por su
de que esta incida sobre la superficie en una importancia, se tratar con algo ms de deta-
direccin tal que resulte visible desde el punto lle en el apartado siguiente.
de vista en que se vaya a procesar la escena.
En general estas estructuras admiten al Modificacin de parmetros bsicos por la
menos cuatro valores: diffuse, ambient, emis- iluminacin de la escena
sive y specular. Son los mismos valores que
se encuentran en cualquier programa de si- Por lo que respecta a la iluminacin, lo pri-
mulacin: corresponden al color local, al color mero es recordar que los programas de simu-
de la zona en sombra, al color de la emisin lacin cuentan con recursos avanzados para
en caso de que el material sea emisivo y al crear luces que simulan las luces reales y para
color del reflejo en caso de que el material desarrollar clculos de iluminacin avanzada
sea reflectante. (iluminacin global), que computen como que-
Una vez que se han definido estos va- dara iluminada una escena determinada con
lores se utilizan mtodos especficos para, esos tipos de luces. Pero este tipo de simu-
en su caso, modificar los valores de los vr- lacin de la iluminacin, que se describe con
tices. Los valores son de tipo RGBA (red, detalle en el libro que he citado en la introduc-
green, blue, alpha). El pseudocdigo podra cin, consume muchos recursos, es muy lento
ser algo as: y requiere procesos que, en general, tienen
que llevarse a cabo externamente a la GPU.
tipoApiMaterial nuevoMaterial; En casos ms generales o simplemente
[asignacin de memoria] para visualizar la escena correctamente, hay
nuevoMaterial.Diffuse = RGBA (1.0, 1.0, 1.0, 0.0); que utilizar mtodos ms sencillos como los
nuevoMaterial.Ambient = RGBA (0.0, 0.0, 0.0, 0.0); que estn incorporados desde las primeras
nuevoMaterial.Specular = RGBA (0.0, 0.0, 0.0, 0.0);
versiones a Direct3D y OpenGL. Aqu, la ilu-
nuevoMaterial.Emissive = RGBA (0.0, 0.0, 0.0, 0.0);
dispositivo >> SetMaterial(&nuevoMaterial); minacin se basa en la asignacin de valores
a los vrtices. Cada vrtice recibe un determi-
nado peso (weight) que puede estar activado
La primera lnea define un material (nuevo- o desactivado y, en caso de que est activa-
Material); la segunda le asigna un lugar en do, puede ser ajustado por un sistema gene-
la memoria; las siguientes lneas asignan un ral muy bsico o modificado por luces simples
color a los cuatro valores citados, y la ltima que se incluyan en la escena.
lnea inicializa el material. Es decir, que todo se basa en tres me-
Los colores se asignan a los vrtices canismos muy simples. En primer lugar hay
como datos de entrada en el estadio a car- que activar o desactivar la iluminacin. El re-
go del vertex shader y se interpolan para sultado aparentemente paradjico es que, si
obtener los valores intermedios de cada su- se activa la iluminacin pero no hay luces en

195
Simulacin visual de materiales

la escena, todo aparecer negro. Pero si se Tanto en Direct3D como OpenGL hay
desactiva, sin luces en la escena, aparecer dos mtodos bsicos de clculo de la ilu-
iluminado, pues el programa utiliza un siste- minacin: flat shading y smooth shading (o
ma de luces por defecto, al igual que ocurre Gouraud shading) .
en muchos programas comerciales de ren- En el primer caso se computa el produc-
dering. to vectorial punto del vector Luz normaliza-
Suponiendo por tanto que queramos utili- do con el del vector normal a la superficie
zar nuestras propias luces, el primer paso es igualmente normalizado. Como este pro-
activar la iluminacin. En pseudocdigo esto ducto es el coseno del ngulo formado por
supondra escribir algo as: los dos vectores y este coseno es 0 cuando
el ngulo es 90 y 1 cuando el ngulo es 0,
dispositivo->SetRenderState(Lighting, True)
resulta sencillo ajustar la intensidad en fun-
Una vez que la iluminacin est activada, cin de un valor lineal comprendido entre 0
se pueden utilizar dos modos simples de ilu- y 1, lo que se corresponde con la menor o
minacin: ambient lighting y direct lighting. mayor incidencia de la luz sobre la superfi-
Con ambient lighting, un mtodo que ya est cie. Vase la figura 3.9, correspondiente al
en desuso en programas avanzados de si- clculo de iluminacin que se ha dado en
mulacin pero se mantiene por razones de secciones anteriores.
compatibilidad y se utiliza en algn caso en En el segundo caso se aplica el mismo
videojuegos, todo queda iluminado por igual procedimiento pero se enva la informacin
lo que evita que aparezcan superficies com- adecuada al pixel shader para que interpole
pletamente negras. Con direct lighting todo estos valores entre los vrtices correspon-
queda iluminado segn una direccin dada dientes. El resultado es que la superficie
por un vector. Cada uno de estos dos modos mostrar un degradado continuo en lugar de
puede activarse mediante funciones simples facetas planas lo que producir el efecto de
semejantes a la anterior. que la superficie tiene una curvatura continua
Por aadidura pueden crearse (o utilizar- (un efecto traicionado por los contornos).
se) tres tipos de luces: luces puntuales (point Cada uno de estos modos depende por
lights), focales (spot lights) y direccionales aadidura de las propiedades de los materia-
(directional lights). Las luces puntuales tienen les que ya he citado en el apartado anterior:
una posicin dada en el espacio e irradian color difuso, ambiente, emisivo y especular
por igual en todas direcciones. Las luces fo- que modifican esta modelacin bsica. El cl-
cales tienen una posicin dada e irradian en culo de iluminacin da lugar, por consiguiente,
una direccin principal. Adems, tienen un a que cada vrtice cuente con un color prima-
cono interno y un cono externo que determi- rio (correspondiente a la definicin de mate-
nan cmo se distribuye su iluminacin. En la rial) y un color secundario (correspondiente,
zona que abarca el cono interno la intensidad en principio, a su modificacin por la luz).
es mxima. En la zona comprendida entre el
cono interno y externo la intensidad pasa de Texturas
ser mxima a ser nula. Las luces direcciona-
les no requieren una posicin en el espacio e Estructura y registro de los datos
irradian en una direccin nica.
Para crear estas luces se utilizan funcio- Un mapa de textura se crea a partir de la lec-
nes especficas que piden los valores que he- tura de un archivo o a partir de un algoritmo
mos citado en cada caso: posicin, direccin, que activa un proceso de generacin artificial
ngulo de los conos internos y externos, junto o a partir de operaciones per-pixel que se
con otro valor comn a las tres, la intensidad y aplican a datos que ya residen en el frame
el color, dados por tres valores RGB. buffer y se reenvan a la pipeline. En cualquier

196
Recursos bsicos

caso, el mapa de textura es un conjunto de tipos de datos (3 colores de 8 bytes) que una
datos estructurados muy importante, tanto textura corriente, una imagen. Pero en el caso
por su finalidad como por su tamao. del normal map estos colores representan in-
El cdigo para gestionar estos datos ten- formacin geomtrica que se traduce en una
dra un aspecto como lo que sigue: apariencia de relieve, como se ver en otros
captulos, ms adelante. Y, por otro lado, ade-
apiTextura2D (clase, width, height, format, type, miplevel,
ms de texturas 2D, que es el tipo ms corrien-
border, datos)
te, hay tambin texturas 1D y texturas 3D.
donde apiTexture2D sera la funcin de La aplicacin de mapas de textura para fi-
creacin propia de cada API y los argumen- nalidades distintas que la representacin de
tos tendran el significado siguiente: clase, materiales, finalidades tales como simulacin
el tipo de objeto predeterminado, en su caso de relieve (bump map, normal map), simula-
(por ejemplo textura2D), width, height las cin de reflejos (environment map) y otras, se
dimensiones en pxeles, format el formato lleva a cabo con funciones especficas duran-
de los datos (por ejemplo RGBA, es decir te la fase de rasterizacin.
red, green, blue, alpha), type el tipo de da- Para que las texturas puedan relacionarse
tos (normalmente unsigned_byte), miplevel con la geometra, los vrtices deben incluir un
el nivel de mipmap (vase las explicaciones atributo especfico que ya he citado: las coor-
que se dan ms adelante), border, el tipo denadas de textura. Estas coordenadas se
de borde (corrientemente 0) y datos, la co- procesan durante el estadio correspondiente
leccin de valores que constituyen concre- a las transformaciones generales, el vertex
tamente la textura. shader, como un dato geomtrico ms y no
La lectura de un archivo implica, en primer se relacionan con el mapa hasta los estadios
lugar, una descodificacin de los datos, que finales. Estas coordenadas, denominadas
llegarn estructurados en un formato espec- convencionalmente (u,v), identifican un ele-
fico (tif, jpg, gif, png, etc.), para convertirlos mento de la textura que se denomina un texel.
en datos estructurados en un array, un tipo de Lo que se denomina el espacio de textura
datos corriente en cualquier lenguaje. Dado (texture space) est normalizado y va de 0,0
el volumen y la importancia de estos datos, a 1,1. El valor 0,0 corresponde generalmen-
la creacin de buffers dedicados a las textu- te al extremo superior izquierdo. Cada texel
ras fue una de las primeras mejoras de las queda situado en este espacio 2D, el espacio
tarjetas grficas. Estos texture buffers pueden de textura.
rellenarse con datos provenientes de esta de- Las coordenadas de textura vienen dadas
codificacin inicial pero, tambin, de datos desde la aplicacin principal, sea mediante
reprocesados que ya estaban almacenados y especificaciones del usuario, sea mediante
haban seguido su curso en la pipeline pero especificaciones automticas y, como deca,
que pueden haber sido sometidos a opera- es parte de la informacin incluida en los vr-
ciones especficas (per-pixel operations). Un tices, independiente del mapa especfico que
buffer de textura es un array de m x n x k en vaya a ser proyectado sobre la geometra.
donde m, n son las dimensiones espaciales Esto quiere decir que la estructura de vrti-
(correspondientes en principio a pxeles) y k ces, en caso de incluir coordenadas de textu-
la profundidad en bpp (bits per pixel). ra, tendra este aspecto:
Una textura 2D es, por tanto, una matriz struct MisVertices
de datos. Aunque la idea general es que es- {
tos datos se corresponden con imgenes esto vector3 xyz;
no es as en muchos e importantes casos. Por vector3 color;
float u, v
ejemplo, un normal map, que se utiliza para
};
simular relieves, tambin contiene los mismos

197
Simulacin visual de materiales

Es decir, un vector 3D que se corresponde este trfico entre la CPU y la GPU que retrasa
a la posicin geomtrica, un vector 3D que se el clculo. Pese a todo, esto puede ocurrir y
corresponde al color (prescindimos del posi- se puede reducir de varios modos. Un modo
ble cuarto canal, alfa), y un decimal en coma es contar con caches, zonas de memoria que
flotante que corresponde a las coordenadas atrapan los datos ms frecuentes y reducen
u, v. as el tiempo de acceso y que tambin estn
Los datos correspondientes al mapa o ma- incorporadas a las modernas GPU. Otro re-
pas se almacenan, como ya hemos visto, en curso importante que veremos ms adelante
un texture buffer, la zona de memoria local es el uso de mipmaps para reducir el nivel de
que se utiliza para almacenar mapas de tex- detalle y, en consecuencia, el tamao efectivo
tura. Si el espacio es insuficiente, se mantie- de los mapas. Esto implica utilizar operacio-
nen en la memoria del sistema hasta que son nes denominadas texture fetch que, en pocas
req