Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Test De Libreria

Iniciado por zupervaca, 03 de Octubre de 2005, 02:08:26 AM

« anterior - próximo »

zupervaca

 muchas gracias por vuestra ayuda, por lo que veo sucede lo mismo, vaya raye :(  

zupervaca

 un amigo lo ha probado con una ati 9800 pro y dice que le va bien dx y ogl :blink:

_Grey

 Tu amigo esta fumaooooooooooo, seran los drivers!??!?! no creo no, tengo los CATGALYST 5.6, que yo sepa no tienen nada de raro.... nop?!

Saludos.

PD: Pero lo de tu amigo es seguro, seguro!?!?!?

zupervaca

 el me dijo que bajo hace poco los 5.9, podias descargarlos por si acaso, a mi amigo se lo mande cuando me dijisteis que fallaba y aun me ha contestado ahora jeje, el mas que programador es jugon de cs y demas juegos del estilo con lo que tiene miles de juegos instalados y dice que cada dos por tres mira si hay actualizaciones

_Grey

 cuando puede actualizo, de todas formas deberia de funcionar tal cual esta, pero actualizare e informare, a ver si hay suerte.

Saludos.

_Grey

 CATALYST 5.9, y sigue igual, con la ultima version que has colgado.

zupervaca

 le preguntare mañana al counter strakero si le veo a ver que tiene montado en el ordenador, me tocara ir hasta su casa y todo para verlo :(  

jazcks

 ahora no se ve nada, solo el fondo gris y un cuadro negro, puedo salir con alt-f4.

Aqui va mi log por si te sirve (ati x300)
Citar
glGenBuffersARB: 0x69424630
glBindBufferARB: 0x694245f0
glBufferDataARB: 0x69424670
glDeleteBuffersARB: 0x69424610
glActiveTextureARB: 0x69422730
glClientActiveTextureARB: 0x69422750
glCreateShaderObjectARB: 0x69425810
glShaderSourceARB: 0x69425830
glCompileShaderARB: 0x69425850
glCreateProgramObjectARB: 0x69425870
glAttachObjectARB: 0x69425890
glLinkProgramARB: 0x694258b0
glUseProgramObjectARB: 0x694258d0
glDetachObjectARB: 0x694257f0
glDeleteObjectARB: 0x694257b0
glGetUniformLocationARB: 0x69425bf0
glUniform1iARB: 0x69425990
glUniform2iARB: 0x694259b0
glUniform3iARB: 0x694259d0
glUniform4iARB: 0x694259f0
glUniform1fARB: 0x69425910
glUniform2fARB: 0x69425930
glUniform3fARB: 0x69425950
glUniform4fARB: 0x69425970
glUniformMatrix4fvARB: 0x69425b50

[[Program shader (id=-2147483647)
{
   Vertex shader (id=1073741825)[
uniform mat4 mWorldViewProjection;
uniform float tiempo;
void main()
{   
   //gl_Position = ftransform();
   gl_Position = mWorldViewProjection * gl_Vertex;
   gl_TexCoord[0] = gl_MultiTexCoord0;
   gl_TexCoord[1] = gl_MultiTexCoord0 + vec4(tiempo, tiempo*2, 0, 0);
}

], Pixel shader (id=536870913)[
uniform sampler2D texture0, texture1;
void main()
{   
   gl_FragColor = (texture2D(texture0,gl_TexCoord[0]) + texture2D(texture1,gl_TexCoord[1]));
}]]]

[[Program shader (id=-2147483646)
{
   Vertex shader (id=1073741826)[
uniform mat4 g_WorldViewProjection;
uniform float4 g_TextureSize;
uniform float4 g_VertexSize;

void main()
{
   gl_Position = gl_Vertex;
   gl_Position *= vec4(g_VertexSize[2], g_VertexSize[3], 0, 1);
   gl_Position += vec4(g_VertexSize[0], g_VertexSize[1], 0, 0);
   gl_Position *= g_WorldViewProjection;
   
   gl_TexCoord[0] = gl_MultiTexCoord0;
   gl_TexCoord[0] *= vec4(g_TextureSize[2], g_TextureSize[3], 1, 1);
   gl_TexCoord[0] += vec4(g_TextureSize[0], g_TextureSize[1], 0, 0);
}


], Pixel shader (id=536870914)[
uniform sampler2D g_Texture;

void main()
{   
   gl_FragColor = texture2D( g_Texture, gl_TexCoord[0] );
}
]]]

Shader::GetVar(g_WorldViewProjection) = -1
Shader::GetVar(g_TextureSize) = -1
Shader::GetVar(g_VertexSize) = -1
Shader::GetVar(g_Texture) = -1
Shader::GetVar(tiempo) = -1
Shader::GetVar(texture0) = -1
Shader::GetVar(texture1) = -1
Shader::GetVar(mWorldViewProjection) = -1

TheAzazel

 zupervaca, yo lo he probado con los catalyst 5.6, 5.8 y 5.9 en diversas ATI con diversos procesadores y en todos...lo mismo... yo creo que es algo que hace completamente diferente...es como esto que he visto hoy...

http://techreport.com/onearticle.x/8872


que luego pasa lo que pasa... cada uno(ati y nvidia) lo hacen como les da la gana y no puede ser....el que se complica luego es el developer...

zupervaca

 muchas gracias otra vez por los logs, me he dado cuenta que el unico id negativo es el del program shader, los demas son valores positivos y correlativos entre si, aunque eso si, algo raros ya que ogl normalmente los da desde 1 hasta X correlativamente y -1 si es error, para que os hagais una idea de lo que digo este es mi log en nivida y ogl
Log creado

glGenBuffersARB: 0x69639370
glBindBufferARB: 0x69639270
glBufferDataARB: 0x696392b0
glDeleteBuffersARB: 0x69639330
glActiveTextureARB: 0x6950a3c0
glClientActiveTextureARB: 0x696339f0
glCreateShaderObjectARB: 0x696399b0
glShaderSourceARB: 0x696399f0
glCompileShaderARB: 0x69639a30
glCreateProgramObjectARB: 0x69639a70
glAttachObjectARB: 0x69639ab0
glLinkProgramARB: 0x69639af0
glUseProgramObjectARB: 0x69639b30
glDetachObjectARB: 0x69639970
glDeleteObjectARB: 0x696398f0
glGetUniformLocationARB: 0x6963a170
glUniform1iARB: 0x69639cb0
glUniform2iARB: 0x69639cf0
glUniform3iARB: 0x69639d30
glUniform4iARB: 0x69639d70
glUniform1fARB: 0x69639bb0
glUniform2fARB: 0x69639bf0
glUniform3fARB: 0x69639c30
glUniform4fARB: 0x69639c70
glUniformMatrix4fvARB: 0x6963a030

[[Program shader (id=3)
{
Vertex shader (id=1)[
uniform mat4 mWorldViewProjection;
uniform float tiempo;
void main()
{
//gl_Position = ftransform();
gl_Position = mWorldViewProjection * gl_Vertex;
gl_TexCoord[0] = gl_MultiTexCoord0;
gl_TexCoord[1] = gl_MultiTexCoord0 + vec4(tiempo, tiempo*2, 0, 0);
}

], Pixel shader (id=2)[
uniform sampler2D texture0, texture1;
void main()
{
gl_FragColor = (texture2D(texture0,gl_TexCoord[0]) + texture2D(texture1,gl_TexCoord[1]));
}]]]

[[Program shader (id=6)
{
Vertex shader (id=4)[
uniform mat4 g_WorldViewProjection;
uniform float4 g_TextureSize;
uniform float4 g_VertexSize;

void main()
{
gl_Position = gl_Vertex;
gl_Position *= vec4(g_VertexSize[2], g_VertexSize[3], 0, 1);
gl_Position += vec4(g_VertexSize[0], g_VertexSize[1], 0, 0);
gl_Position *= g_WorldViewProjection;

gl_TexCoord[0] = gl_MultiTexCoord0;
gl_TexCoord[0] *= vec4(g_TextureSize[2], g_TextureSize[3], 1, 1);
gl_TexCoord[0] += vec4(g_TextureSize[0], g_TextureSize[1], 0, 0);
}


], Pixel shader (id=5)[
uniform sampler2D g_Texture;

void main()
{
gl_FragColor.rgb = texture2D( g_Texture, gl_TexCoord[0] );
gl_FragColor.a = 0.5f;
}
]]]

Shader::GetVar(g_WorldViewProjection) = 3
Shader::GetVar(g_TextureSize) = 1
Shader::GetVar(g_VertexSize) = 2
Shader::GetVar(g_Texture) = 0
Shader::GetVar(tiempo) = 3
Shader::GetVar(texture0) = 1
Shader::GetVar(texture1) = 2
Shader::GetVar(mWorldViewProjection) = 0

la diferencia vereis que estan en los "id" de los program shader, vertex shader y pixel shader, despues ya como consecuencia de esto los Shader::GetVar (obtener variables del shader) fallan con lo este problema queda descartado, me parece que va a ser algo que hay que inicializar en las ati antes de usar los shaders, otra cosa no se me ocurre por que como dije antes para obtener el identficador del program shader uso esto: m_idProgram = pAPI->glCreateProgramObjectARB(); y esto mas facil no puede ser ;), despues en el log tambien puse los punteros a las funciones de la dll por si acaso alguno daba error, pero veo que esta perfecto, cuando lo solucione invitare a caviar a todo el foro jeje (es coña, primero hay que pagar la factura del piso :P)

zupervaca

 he bajado un programa que comprueba si los shaders compilan correctamente en glsl, me daban unos warnings con lo que podia ser algo de esto, en gamedev vi un hilo de un tio que tiene el mismo problema que yo <_<

el archivo pruebas.shd quedaria asi:
// Shader de opengl
[Vertex Shader]
uniform mat4 mWorldViewProjection;
uniform float tiempo;
void main()
{
//gl_Position = ftransform();
gl_Position = mWorldViewProjection * gl_Vertex;
gl_TexCoord[0] = gl_MultiTexCoord0;
gl_TexCoord[1] = gl_MultiTexCoord0 + vec4(tiempo, tiempo*2, 0, 0);
}

[Pixel Shader]
uniform sampler2D texture0, texture1;
void main()
{
gl_FragColor = (texture2D(texture0,gl_TexCoord[0].st) + texture2D(texture1,gl_TexCoord[1].st));
}


y el archivo sprite.shd quedaria asi:
// Sprite.shd
// Permite renderizar sprites compatibles con la clase dib::Direct::Graphics::Utils::Sprite

[Vertex Shader]
uniform mat4 g_WorldViewProjection;
uniform float4 g_TextureSize;
uniform float4 g_VertexSize;

void main()
{
gl_Position = gl_Vertex;
gl_Position *= vec4(g_VertexSize[2], g_VertexSize[3], 0, 1);
gl_Position += vec4(g_VertexSize[0], g_VertexSize[1], 0, 0);
gl_Position *= g_WorldViewProjection;

gl_TexCoord[0] = gl_MultiTexCoord0;
gl_TexCoord[0] *= vec4(g_TextureSize[2], g_TextureSize[3], 1, 1);
gl_TexCoord[0] += vec4(g_TextureSize[0], g_TextureSize[1], 0, 0);
}


[Pixel Shader]
uniform sampler2D g_Texture;

void main()
{
gl_FragColor.rgb = (float3)texture2D( g_Texture, gl_TexCoord[0].st);
gl_FragColor.a = 0.5f;
}

lo que he cambiado ha sido un casting y ponerle a las coordenadas de textura al final un .st, os lo pongo asi para que no os bajeis el .rar entero otra vez, me he dado cuenta que puede que ati de otros valores para los shaders, pero sea correcto ya que son numeros negativos, pero a su vez correlativos

editado: por si a alguien le interesa el programa esta aqui http://developer.3dlabs.com/downloads/index.htm se llama ShaderGen

Lord Trancos 2

 P4 2.4GHz 512Mb WinXP GeForce6600 256Mb AGP8x

~33fps

rula sin aparentes problemas  :rolleyes:  
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.