Any guesses on what the shader is supposed to do? Have you confirmed that the triangle is on screen (by writing a solid color in the fragment shader)?
The result should look like this (http://www.iquilezles.org/apps/shadertoy/?p=monjori).

If i change the fragment shader to the following i get as supposed an filled rectangle.

void main(void)
{
gl_FragColor = gl_Color;
}

Onumis

09-23-2011, 08:45 AM

My guess is that you are not passing the uniforms correctly:
http://www.opengl.org/wiki/GLSL_:_common_mistakes

mobeen

09-24-2011, 08:52 PM

I agree to what BionicBytes says here. Pass the uniforms as floats like this,

My guess is that you've blown well past your instruction limit and are now sailing out merrily somewhere in the region of the Small Magellanic Cloud.

What kind of hardware are you trying to run this monstrosity on?

arekkusu

09-26-2011, 09:13 AM

GLSL does not have an instruction limit:

"A shader should not fail to compile, and a program object should not fail to link due to lack of instruction space or lack of temporary variables. Implementations should ensure that all valid shaders and program objects may be successfully compiled, linked and executed."

Alfonse Reinheart

09-26-2011, 01:44 PM

Yeah, like any implementation has ever allowed that. Please; that's one of the Ivory Tower ideals that 3D Labs put into the original GLSL proposal. And like virtually all of those ideals, it amounted to nothing.

Shaders can and will fail to compile/link due to lack of instructions or temporaries.

Xmas

09-28-2011, 03:41 AM

My guess is that you've blown well past your instruction limit and are now sailing out merrily somewhere in the region of the Small Magellanic Cloud.
That shader is horrible to read, but I don't think it's anywhere close to instruction or temp limits on any modern PC GPU. It will even "run" on many smartphones.