Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Comenzando con Shaders. Problemas en uso de texture2D

Iniciado por Licantropo23, 14 de Diciembre de 2006, 08:20:04 PM

« anterior - próximo »

Licantropo23

Hola a todos! Quiero hacer algunas cosas con shaders, en Opengl SL. Mi tarjeta grafica es un poco malilla asi que tendre que comprarme una nueva. Si me podeis recomendar alguna que no sea muy cara y que este bien.
Tambien queria preguntaros por un problema que tengo. Tengo un vertex shader con lo siguiente:


#version 110

uniform vec4 azul;
attribute vec4 attribColor;
uniform sampler2D tex;


void main(){
   gl_FrontColor=texture2D(tex,gl_TexCoord[0].st);
   gl_TexCoord[0]= gl_MultiTexCoord0;
   gl_Position= ftransform();
}




Lo que quiero es usar el shader para modificar el color cogiendolo de la textura. El problema que tengo es que al introducir la instruccion texture2D el shader si es correcto, pero el programa al que enlazo el shader deja de ser valido.  Alguien sabe porque puede ser? Puede ser por la tarjeta (Geforce MX440)?
Gracias.

tamat

ese shader esta mal, creo que antes de comenzar a programar deberias mirar un poco como van los shaders, y sobretodo la diferencia entre pixel y vertex shader ya que ahí estas mezclando ambos.
Por un stratos menos tenso

Licantropo23

Hola de nuevo. Se que hay dos tipos de shader, pero debido a mi tarjeta solo puedo utilizar el vertex shader. ¿Por que esta mal? ¿No se puede usar texture2D en vertex shader? En el libro que me he leido pone que se puede usar tanto en vertex shader, como en fragment shader. Gracias por contestar.

BeRSeRKeR

Los accesos a textura desde un vertex shader sólo se pueden llevar a cabo a través de shaders 3.0, si no recuerdo mal.

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

Licantropo23

Ok, muchas gracias. Entonces creo que es por eso. En cuanto a una tarjeta grafica decente y no muy cara?

ethernet

Cita de: "BeRSeRKeR"Los accesos a textura desde un vertex shader sólo se pueden llevar a cabo a través de shaders 3.0, si no recuerdo mal.

Saludos.

Teóricamente es así, pero parece que a algunos conocidos fabricantes no les ha salido implementarlo.

tamat

Ups, me disculpo por mi anterior post, me pareció leer gl_FragColor donde pone gl_FrontColor y por eso pensé que mezclabas ambos shaders.

De todos modos no es muy util (salvo para situaciones muy complejas) leer colores en el vertex shader, lo obvio sería dejar que sea el fixed pipeline el que lo haga a partir de las coordenadas de textura que dejes desde el vertex shader.
Por un stratos menos tenso

Licantropo23

Ok, no pasa nada si yo no es que sepa mucho, por eso te preguntaba que porque estaba mal, porque yo lo veia bien. Ahora mismo solo estoy haciendo pruebas para ir familiarizandome con los shaders. Mas adelante ya me metere con mas profundidad. Muchas gracias a todos por contestar.






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.