Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





3 extensiones que hacen lo mismo?

Iniciado por Loover, 03 de Diciembre de 2002, 12:21:51 PM

« anterior - próximo »

Loover

                                Quiero saber si el usuario puede usar "texture_edge_clamp"; creía que bastaba con mirar si tenía la extensión:

GL_EXT_texture_edge_clamp

pero me he dado cuenta que mi tarjeta soporta aún otra más muy parecida en nombre (radeon 7200):

GL_SGI_texture_edge_clamp

y que la voodoo banshee de un amigo tiene:

GL_SGIS_texture_edge_clamp (fijaros en la "s")

¿Cualquiera de estas 3 hacen lo mismo? ¿Porqué tienen nombres diferentes? ¿Diferentes desarrolladores?

Nota: El texture_edge_clamp le va a mi amigo de la banshee bien (partiendo una imagen en bloques (texturas) de 256x256 no se notan los bordes)

¿Bastas con chequear si tiene UNA DE LAS 3 extensiones?                                
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

Ithaqua

                                Yo tiraría siempre por la EXT o ARB. Si no recuerdo mal antes (no se ahora) las 'mejores' extensiones (más usadas/que suplían carencias importantes del API base), promocionaban. Que pasaban de ser del fabricante a formar parte del standard OpenGL o a una EXT, por eso te podías encontrar con 2 extensiones que en realidad hacían lo mismo.                                
thaqua^Stravaganza
http://ithaqua.stravaganza.org

Loover

                                Gracias por la información.
Hombre pero si a las banshee les va bien... tampoco es para quitarselo.  Si veo que una tarjeta no tiene la EXT que dices que es la mejor, pero si una de las otras, meteré un WARNING en el debug.log.
De momento parece que a la banshee de mi amigo le va bien usando la "SGIS".                                
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

Ithaqua

                                Pensaba que te referías a que tenía ambas.
Por norma general te decía de buscar la EXT/ARB porque será la que tenga mayor difusión. Eso sí, el caso especial de las voodoos tira por tierra todo ésto ;-)
Cosas de tener drivers de OpenGL poco cuidados.                                
thaqua^Stravaganza
http://ithaqua.stravaganza.org

Loover

                                Si, mira en el general la tarde que nos pasamos buscandole drivers :(
Y ni manera, ninguno le da una versión de OGL superior a la 1.1.0                                
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

Loover

                                Aquí podeis bajaros tres logs de mi libreria con diferentes tarjetas:

Radeon 7200
http://www.lovernio.host.sk/radeon%207200.log

GeForce3
http://www.lovernio.host.sk/GeForce3.log

Banshee :D
http://www.lovernio.host.sk/banshee.log

Y vereis lo de las extensiones que os decía.
PD: si no os sale a la primera, darle a recargar.                                
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

Whoiam

                                GL_EXT_texture_edge_clamp

que hacwe esta extension ?                                

Loover

                                Cuando aplicas un filtro LINEAR a una textura en opengl veras que automaticamente aparecen 4 lineas extrañas en cada uno de los 4 bordes de la textura. Esto se debe a que el filtro linear NECESITA para cada pixel, conocer el valor de los pixeles de alrededor... ¿pero qué pasa si estamos en un borde y no hay pixel? pues que al no poder hacer bien la mezcla, salen esas molestas lineas.
Si es una única textura la que renderizamos posiblemente no se noten mucho. Sinembargo, en mi caso, para poder cargar imágenes de cualquier tamaño las parto en bloques más pequeños (según el maximo de textura que soporte la tarjeta y según las dimensiones de la imagen). Pues bien, al cortarla en bloques, se notaban claramente las divisiones.
Lo que hace estas extensión, que esta incluso en la banshee (GL_SGIS_TEXTURE_EDGE_CLAMP) es evitar (no sé cómo internamente) la aparición de esas lineas:



glTexParameteri (GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);

glTexParameteri (GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);

glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);

glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);



PD: Si usas un filtro NEAREST no es necesario utilizar esto. Es decir, que si una tarjeta no soporta dicha extensión (aún no conozco ninguna, pero quién sabe) usare dichos filtros por defecto. (Los LINEAR son de mayor calidad).

PPD: esta extensión se utiliza también al hacer SkyBoxes, por el mismo motivo.                                
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!






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.