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
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