14.04.2013 Views

Untitled - Departamento de Ciencias e Ingeniería de la Computación

Untitled - Departamento de Ciencias e Ingeniería de la Computación

Untitled - Departamento de Ciencias e Ingeniería de la Computación

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.6 Conclusiones<br />

Las limitaciones <strong>de</strong> GLSL no lo hacen inutilizable, aunque también es cierto que es el menos utilizado <strong>de</strong> estos<br />

lenguajes. GLSL perdió mucho mercado cuando SONY <strong>de</strong>cidió usar Cg como lenguaje <strong>de</strong> sha<strong>de</strong>rs. Por otra parte, en el<br />

mercado <strong>de</strong> PC tampoco es usado <strong>de</strong>masiado, probablemente por DirectX sea <strong>la</strong> elección a elegir por <strong>la</strong> mayoría <strong>de</strong><br />

los <strong>de</strong>sarrol<strong>la</strong>dores. Y por supuesto, como es <strong>de</strong> imaginar, <strong>la</strong> opción elegida por Microsoft para su X-BOX 360 es HLSL.<br />

Cg es utilizado en <strong>la</strong> P<strong>la</strong>ystation 3 y en algunos, pero no muchos, títulos <strong>de</strong> PC. La P<strong>la</strong>ystation 3 utiliza como API<br />

gráfica a PSGL, una variación <strong>de</strong> OpenGL ES que <strong>de</strong>sp<strong>la</strong>za a GLSL en favor <strong>de</strong> Cg. La razón <strong>de</strong> este cambio radica en<br />

que NVIDIA <strong>de</strong>sarrollo para SONY a <strong>la</strong> GPU <strong>de</strong> <strong>la</strong> P<strong>la</strong>yStation 3, <strong>la</strong> RSX.<br />

A nivel práctico po<strong>de</strong>mos <strong>de</strong>cir que <strong>la</strong> elección <strong>de</strong> un lenguaje es influenciada por factores como <strong>la</strong> API a utilizar, el<br />

po<strong>de</strong>r <strong>de</strong> <strong>la</strong>s herramientas, <strong>la</strong> facilidad <strong>de</strong> integración al proyecto y los ejemplos disponibles, más que con factores<br />

específicos <strong>de</strong>l lenguaje. En gran parte esto se <strong>de</strong>be a que estos lenguajes son muy simi<strong>la</strong>res.<br />

Como opinión personal diría que el hecho <strong>de</strong> no tener un effect framework hace menos atractivo a GLSL, pero<br />

probablemente se <strong>de</strong>ba a una costumbre, más que una verda<strong>de</strong>ra <strong>de</strong>sventaja. Herramientas <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong><br />

sha<strong>de</strong>rs como Ren<strong>de</strong>rMonkey evitan el uso <strong>de</strong>l effect framework, utilizando una organización visual en vez <strong>de</strong><br />

código.<br />

Un tema que pue<strong>de</strong> preocupar, es el soporte futuro <strong>de</strong> los lenguajes. Los sha<strong>de</strong>rs es una tecnología que todavía tiene<br />

que madurar y es por eso que es un tema que no <strong>de</strong>be tomarse tan a <strong>la</strong> ligera. Cg tal vez sea el que más duda pue<strong>de</strong><br />

generar, dado que David Kirk <strong>de</strong> NVIDIA manifestó en su momento <strong>la</strong> falta <strong>de</strong> interés <strong>de</strong> competir por imponer su<br />

lenguaje. Textualmente dijo:<br />

“As we started out with Cg it was a great boost to getting programmers used to working with programmable<br />

GPUs. Now Microsoft has ma<strong>de</strong> a major commitment and in the long term we don’t really want to be in the<br />

programming <strong>la</strong>nguage business”<br />

Con <strong>la</strong> utilización <strong>de</strong> Cg en <strong>la</strong> P<strong>la</strong>yStation 3 <strong>la</strong> expectativa <strong>de</strong> vida <strong>de</strong> Cg cambio dramáticamente, nuevamente NVIDIA<br />

comenzó a prestarle atención. Este nuevo resurgimiento se pue<strong>de</strong> ver en <strong>la</strong> nueva versión <strong>de</strong>l FXComposer, <strong>la</strong><br />

herramienta <strong>de</strong> NVIDIA que en su primera versión era solo exclusiva para HLSL. A<strong>de</strong>más, Cg ya tiene <strong>de</strong>finido los<br />

perfiles para Sha<strong>de</strong>r Mo<strong>de</strong>l 5, lo cual es l<strong>la</strong>mativo dado que el publico general se entero <strong>de</strong> <strong>la</strong> existencia <strong>de</strong> <strong>la</strong><br />

<strong>de</strong>finición <strong>de</strong> este sha<strong>de</strong>r mo<strong>de</strong>l gracias a <strong>la</strong> nueva versión <strong>de</strong> Cg.<br />

3.7 Otros lenguajes<br />

Existen otros lenguajes a<strong>de</strong>más <strong>de</strong> HLSL, Cg y GLSL, <strong>de</strong> los cuales hab<strong>la</strong>remos a continuación. Primero se hab<strong>la</strong>ra <strong>de</strong><br />

Sh, un enfoque para programar sha<strong>de</strong>rs totalmente distinto al <strong>de</strong> los lenguajes anteriormente vistos. Luego, se verán<br />

enfoques para <strong>la</strong> programación no gráfica, o cálculos <strong>de</strong> propósito general, sobre GPUs.<br />

Desafortunadamente, solo se dará un breve pantal<strong>la</strong>zo <strong>de</strong> estos enfoques, solo se tratará <strong>de</strong> conocer su naturaleza.<br />

No es el objetivo <strong>de</strong> este libro profundizar sobre este tema.<br />

Página 62

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!