Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Tnl En Opengl

Iniciado por Lord Trancos 2, 18 de Abril de 2004, 01:59:35 PM

« anterior - próximo »

Lord Trancos 2

 ¿Como se usa TnL (por HW claro..) en OpenGL? ¿Son las displays lists? ¿Es alguna extension? ¿Alguien me puede iluminar (y transformar :D) sobre este tema?
on los años y mucho esfuerzo he llegado a atesorar una ignorancia total sobre casi todas las cosas.
Gate to Avalon (mi Blog)

ethernet

 Yo no hago nada especial y desde luego por soft no lo hace.

saludos

TheAzazel

 Hola,
en OpenGL al contrario q con Direct3D no tienes que hacer nada "raro" para utilizar el TnL del chip grafico..creo q en Direct3D tienes q averiguar si lo tiene y luego si lo vas a usar para almacenar las listas de vertices en la memoria de la tarjeta para que funcione bien..pero en OpenGL va todo automatico...si la tarjeta tiene soporte TnL lo utilizara...si no...no lo hara :)
Asiq creo q todo lo q hayas hecho hasta ahora sobre OpenGL ya sta usando el TnL jeje
pos na, un saludo

Lord Trancos 2

 Osti tu que guay! :D
Una "feature" mas y sin mover un dedo! xDD
on los años y mucho esfuerzo he llegado a atesorar una ignorancia total sobre casi todas las cosas.
Gate to Avalon (mi Blog)

Zeigon

 y yo me pregunto, sin saber nada de opengl ni direct3d, q pasa si no quieres usar el TnL, por no sobrecargar la tarjeta o por cualquier razón¿? :huh:  no puedes desacitvar esto de opengl (aunq supongo q sí)?
eigon
----------------------------------------------
El arca de Noe fue construida por amateurs.
El Titanic por profesionales.

DraKKaR

 No estoy nada seguro de lo que voy a decir pero... no se donde leí/me dijeron que: no hay que utilizar primitivas indexadas para aprobechar el TNL? ¿O lo de las primitivas indexadas era solo para la caché de vértices?

Zeigon: la filosofia con la que está construido OpenGL impide que el API tenga decisión sobre estas cosas. En teoria opengl te abstrae del hardware gráfico.

seryu

 tienes qe tirar de TnL vertex caches
Citar
When rendering using the hardware transform-and-lighting (TnL) pipeline or vertex-shaders, the GPU intermittently caches transformed and lit vertices. Storing these post-transform and lighting (post-TnL) vertices avoids recomputing the same values whenever a vertex is shared between multiple triangles and thus saves time. The post-TnL cache increases rendering performance by up to 2x.

Because the post-TnL cache is limited in size, taking maximum advantage of it requires rearranging triangle rendering-order. The easiest way to rearrange triangle-order for the post-TnL cache is to use the NVTriStrip library (.LIBs and source are available for free: here).

If you are interested in exploring the performance characteristics of the post-TnL cache yourself, here are the details: The post-TnL cache is a strict First-In-First-Out buffer, and varies in size from effectively 10 (actual 16) vertices on GeForce 256, GeForce 2, and GeForce 4 MX chipsets to effectively 18 (actual 24) on GeForce 3 and GeForce 4 Ti chipsets. Non-indexed draw-calls cannot take advantage of the cache, as it is then impossible for the GPU to know which vertices are shared.

BeRSeRKeR

 La verdad es que hace mucho tiempo que no estoy demasiado al tanto de estos temas pero creo que para depurar los vertex & pixel shader en Direct3D, tienes que activar el modo REF por lo que, he ahí la utilidad de poder intercambiar entre un modo u otro.

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

Lord Trancos 2

 A ver,... que me he perdido.... osea que para utilizar TnL si que tengo que hacer algo, ¿no? ¿De que extension o intrucciones he de tirar mano?  (nooo)  
on los años y mucho esfuerzo he llegado a atesorar una ignorancia total sobre casi todas las cosas.
Gate to Avalon (mi Blog)

seryu

 resumiendo:

·El T&L se activa solo.
·No puedes desactivarlo.


Si te da soporte hard el API sin hacer nada, para que quieres complicarte? vamos, si quieres saber como OPTIMIZAR tu codigo para sacar provecho, oka, pensaba que querias algo asi.

Y comentar que el TnL existe desde la primera gforce, de hecho esa era su 'gran' novedad. La gama de radeon tb las tienen todas, a menos que exista algun modelo mu raro que no conozca claro.  :)  

Ithaqua

 Cuando usas OpenGL, describes tanto la iluminación como las transformaciones:

- Iluminación: glLight, glMaterial etc
- Transformación: glRotate/Scale/Translate, glLoadMatrix etc

Cuando vas a dibujar, le envías toda la geometría a la tarjeta y es ella la que opera con toda ella para "transformarla e iluminarla" y mostrar el resultado final. Te da exactamente igual el hardware que haya debajo porque tú te limitas a describir cómo va a tener que ser transformada e iluminada, pero el proceso en cuestión no lo haces tú. Si el hardware que hay debajo soporta TnL y es compatible con el modo gráfico que tú le has pedido, se usará. Si no lo soporta mala suerte, pero la gran ventaja es que tú no tienes que preocuparte por ello a la hora de picar código.

Drakkar:

Lo que comentas de las primitivas indexadas es para que la tarjeta pueda hacer uso de la caché T&L de vértices. Si no hay índices no hay manera de distinguir entre vértices, por lo que en modos no indexbZ§t no se hace uso de ella.
thaqua^Stravaganza
http://ithaqua.stravaganza.org

Lord Trancos 2

 Asias de nuevo por aclararme las cosas  :lol:  
on los años y mucho esfuerzo he llegado a atesorar una ignorancia total sobre casi todas las cosas.
Gate to Avalon (mi Blog)






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.