Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Cg Y Ati?

Iniciado por zupervaca, 06 de Agosto de 2005, 09:25:04 PM

« anterior - próximo »

zupervaca

 poz eso si alguien sabe si el cg de nvidia es compatible con ati? he mirado por el web pero no he visto nada al respecto

BeRSeRKeR

 En teoría debería funcionar ya que se tomaría el path de la ARB pero en la práctica tengo entendido que hay algunos problemillas de compatibilidad más los bugs que tenía Cg (no sé cómo está ahora mismo), pero mejor que eso te lo diga alguien que lo utilice.

Por otro lado, ¿tienes pensado crear dos renderers, uno en Direct3D y otro en OpenGL?. Porque si no es así, supongo que la mejor elección es HLSL (en caso de Direct3D) o GLSL (en caso de OpenGL). Eso sí, no sé si el GLSL es soportado por aceleradoras anteriores a las GeForce5200/Radeon9500.

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

zupervaca

 es que me encuentro ante un dilema y no es de programacion si no de prevision y riesgos mentales  :lol:, el tema shaders en directx lo tengo mas o menos claro, pero en opengl nunca lo he mirado y me imagino que se programaran de forma diferente que en directx, con lo que si compilo para directx tendria que usar unos shaders y si lo hago en opengl otros, o eso, o hacer que un precompilador para uno de los dos, vaya pirula  :P, mirare el glsl que me mencionas a ver que cosas cambia respecto a directx

gracias

zupervaca

 he estado mirando el cg y me parece muy bueno ya que con el mismo shader puedes hacerlo para directx y opengl y ademas no hay diferencias en el codigo, pero veo que solo es para windows y linux, con lo que todo lo que tengo montado para mac se iria al carallo y eso no es bueno, y despues aunque para consolas no tenga nada montado, como toda la libreria que he hecho solo depende de funciones estandard de c no creo que tuviera problemas para compilar en ellas usando opengl o directx, o haciendolas en un plis, uso cosas como el memcpy etc

he buscado info sobre el glsl que me dijiste pero solo encuentro documentos hablando de el muy por encima, mirare por la web de opengl a ver si viene algo mas detallado, si supieras algun sitio que se parezca a la ayuda que se tiene con las directx pero con el glsl ponlo por favor  :lol:

BeRSeRKeR

 
Cita de: "zupervaca"he estado mirando el cg y me parece muy bueno ya que con el mismo shader puedes hacerlo para directx y opengl y ademas no hay diferencias en el codigo
Exacto, por eso te pregunté si querías hacer dos renderers, uno para Direct3D y otro para OpenGL, porque en ese caso Cg sería una buena opción.

Cita de: "zupervaca"he buscado info sobre el glsl que me dijiste pero solo encuentro documentos hablando de el muy por encima, mirare por la web de opengl a ver si viene algo mas detallado, si supieras algun sitio que se parezca a la ayuda que se tiene con las directx pero con el glsl ponlo por favor  :lol:
Pues el único sitio que conozco donde hay ejemplos de GLSL es en la web de Humus, pero seguro que hay mas (busca por glSlang).

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

Zaelsius

 
Cita de: "zupervaca"con lo que todo lo que tengo montado para mac se iria al carallo
Un aviso: A día de hoy, en Mac OS X no hay soporte GLSL a nivel de driver. Sin embargo, se puede usar el software renderer para probar los shaders.. aunque es demasiado lento. No sé de quien será la culpa, si de Apple o ATI/NVIDIA. Tengo entendido que ATI realiza sus propios drivers para Mac, pero que era Apple quien se encargaba de los drivers para NVIDIA.. En cualquier caso, conociendo a Apple, no habrá soporte GLSL hasta que no se actualicen las dos familias de drivers.

Por ahora el único camino a los shader en Mac es el uso de ARB_fragment_program y ARB_vertex_program, en las tarjetas que los soporten claro :( .

Edit: Acabo de ver que sí hay soporte CG para Mac OS X: http://developer.nvidia.com/object/cg_toolkit.html. Le echaré un vistazo a ver si consigo hacerlo funcionar.

ethernet

 Para hacer test te recomiendo un buen software programado por un buen español :). Se trata de Shader Designer ( http://www.typhoonlabs.com/ ) que es un aherramienta que te permite ver rápidamente el resultado de un shader sin tern que crear tú un programa, con la ventaja de que puedes variar un montón de parámetros con mucha sencillez. Dentro del setup vienen algunos ejemplos de shaders que pueden servirte de referencia.

Otra web que te recomiendo para GLSL es http://www.lighthouse3d.com/opengl/glsl/ que viene un tutorial desde el principio y con algunos ejemplos de shader, tanto en C++ como para Shader designer.

un saludo

zupervaca

 el opengl es el mazinger z de los ordenadores, necesitas mil dependencias para hacerlo rular  <_<  

Zaelsius

 Acabo de probar una demo de Cg en el Mac y funciona : ). Tengo una GeForce FX 5200, no sé si funcionará en una ATI.. supongo que sí.

En la página de Cg hay una tabla con los perfiles soportados y sus equivalencias OpenGL/DirectX.

Lo que saco en claro es que si no utilizas un perfil cuya equivalencia sea una extensión NV_lo_que_sea, deberia funcionar en ATI tambien. Le pasaré la demo a un amigo que tiene un Mac Mini(Radeon 9200), a ver si le funciona.

ethernet

 No entiendo a qué te refieres, supongo que lo dirás por las extensiones.


Zaelsius

 
Cita de: "ethernet"No entiendo a qué te refieres, supongo que lo dirás por las extensiones.
Me refiero a esto:



Al compilar los shaders(ficheros .cg), tienes que especificar el perfil que quieres usar para convertir el código a ensamblador específico de cada plataforma/extensión.

Luego, en teoría, si usas OpenGL, y quieres poder ejecutar los shaders en tarjetas ATI y NVIDIA, sólo podrías usar los perfiles arbvp1 para VS y arbfp1 para PS.

zupervaca

 coño tio me acabas de sacar de muchas dudas, gracias, ¿de donde descargaste el .h .lib y .dll para mac? en la web de nvidia no lo vi y por eso pense que para mac no iva

editado: jeje ya lo vi si es que toy atontao de ver tantas webs

http://developer.nvidia.com/object/cg_toolkit.html

ethernet

 zaelsius: Me refería a lo de mazinguerZ que decía supervaca  XD

Zaelsius

Cita de: "ethernet"zaelsius: Me refería a lo de mazinguerZ que decía supervaca  XD
:P  

zupervaca

 aps yo pense que le decias a el tambien jeje, lo digo mas que nada por sus extensiones que esta hecho un poco al "vuelo" como si fuera un parche, pero lo peor de todo es la falta de documentacion real y eso crea mucha confusion






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.