ATI+OGL+Geometry Shaders

category: general [glöplog]
it's not 4k, where effects are almost everything you can do.

But the probability that xTr1m is, in fact, doing a 4k is very high, since all his prods so far were 4k intros :) A fallback is out of the question then -- except if he makes e.g. a geometry-shaderized 4k version and a GS-less 5k version.
added on the 2009-02-19 12:37:07 by KeyJ KeyJ
hey KeyJ :)

No this time I'm working on my first big demo. Sure GS would be a nice thing, but I think I can (will have to) manage without. I'll just consider it a limitation of the target platform.
added on the 2009-02-19 13:32:08 by xTr1m xTr1m
It's hard to find OpenGL 3.1 compliant geometry shaders. For some reason glCompileShader or something like that is crashing the drivers with my shader, and I can't find good enough examples.
added on the 2010-02-17 05:53:57 by xernobyl xernobyl
Which driver? Got no such problems here. They're working pretty much as expected/specced here (on current ati and nvidia drivers). But damn geforce 8/9 are slow at it..
added on the 2010-02-17 09:10:31 by Psycho Psycho
Psycho - just don't output more than, is it 24bytes per vertex? Just enough to expand a particle per point :p
added on the 2010-02-17 10:26:22 by hornet hornet
I'm not sure of the version, but I've updated them in December.
I have in the VS:
Code:attribute vec3 vertex; out float a; out vec3 b; ... gl_Position = ...; a = ...; b = ...;

and in the GS:
Code:in float a[4]; in vec3 b[4]; out vec3 p; (...) ... = gl_PositionIn[i]; ... = a[i]; ... = b[i];
added on the 2010-02-17 21:52:51 by xernobyl xernobyl
is geometry shaders really necessary ??? because everything that can be done with this can also be done from code with opengl no?. is it just a performance stuff ? and i cant really think about stuff that would benefit of this expect palm trees or pubic hair rendering
added on the 2010-02-17 21:57:50 by Tigrou Tigrou
No, software rendering is fine.
added on the 2010-02-17 22:04:11 by xernobyl xernobyl
For another answer you can read navis's post on his workflow.

It's compiling now, after a little code optimization... still doesn't explain why it crashed.
added on the 2010-02-17 23:11:39 by xernobyl xernobyl
xernobyl: [4] inputs for the geoshader?
Btw, if on nvidia remember to read the NV_geometry_shader4 spec, to see what you should NOT use.
added on the 2010-02-18 00:54:49 by Psycho Psycho
How are you supposed to declare the inputs, for 4 vertexes (line adjacency)?
added on the 2010-02-18 02:10:27 by xernobyl xernobyl
From what I read in the specification I'm supposed to declare the geometry shader inputs as
Code:in vec4 a[]; or in vec4 a[gl_VerticesIn];

But the first way gives "array must be redeclared with a size before being indexed with a variable", and the second way gives some error related to the index being wrong (3 instead of 4), but isn't VerticesIn suposed to be set only at link time?
added on the 2010-02-19 00:00:12 by xernobyl xernobyl
I've inlined the code manually and suddenly everything works.
added on the 2010-02-19 04:30:14 by xernobyl xernobyl