diff options
author | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2012-11-02 14:25:59 +0000 |
---|---|---|
committer | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2012-11-02 14:25:59 +0000 |
commit | 2c0b722536a4ec2f723c289b695b983741c678f8 (patch) | |
tree | 650e06f5837b7995a60bf51b47f5ec9de4ee9ebe /packages/noncvs/windows/extra/Gem/examples/10.glsl/tri2fan.geom | |
parent | 69101e6e7eb00acaee619d4aa815d4a85925cc60 (diff) |
commit windows binaries from old rsync auto-build setup, including Gem 0.93.1
svn path=/trunk/; revision=16520
Diffstat (limited to 'packages/noncvs/windows/extra/Gem/examples/10.glsl/tri2fan.geom')
-rw-r--r-- | packages/noncvs/windows/extra/Gem/examples/10.glsl/tri2fan.geom | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/tri2fan.geom b/packages/noncvs/windows/extra/Gem/examples/10.glsl/tri2fan.geom new file mode 100644 index 00000000..45961e25 --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/tri2fan.geom @@ -0,0 +1,51 @@ +// Cyrille Henry 2010 + +#version 120 +#extension GL_EXT_geometry_shader4 : enable + +void main(void) +{ + + int i; //increment variable + vec4 pos1,pos2, pos3, pos4, pos5; // tmp + vec3 high; + + for(i=0; i< gl_VerticesIn; i += 3){ // for all triangles + pos1 = gl_PositionIn[i]; + pos2 = gl_PositionIn[i+1]; + pos3 = gl_PositionIn[i+2]; + pos4 = (pos1 + pos2 + pos3) / 3.; // center of the triangle + + high = 10.*cross(pos2.xyz-pos1.xyz,pos3.xyz-pos2.xyz); + // hight and orientation of the piramide + + high = normalize(high); + high *= length(pos2-pos1); + pos5 = pos4 ; + pos5.xyz += high; + + gl_Position = gl_ModelViewProjectionMatrix * pos1; + EmitVertex(); + gl_Position = gl_ModelViewProjectionMatrix * pos4; + EmitVertex(); + gl_Position = gl_ModelViewProjectionMatrix * pos5; + EmitVertex(); + gl_Position = gl_ModelViewProjectionMatrix * pos2; + EmitVertex(); + gl_Position = gl_ModelViewProjectionMatrix * pos4; + EmitVertex(); + gl_Position = gl_ModelViewProjectionMatrix * pos5; + EmitVertex(); + gl_Position = gl_ModelViewProjectionMatrix * pos3; + EmitVertex(); + gl_Position = gl_ModelViewProjectionMatrix * pos4; + EmitVertex(); + gl_Position = gl_ModelViewProjectionMatrix * pos5; + EmitVertex(); + + EndPrimitive(); + // new primitive + } + +} + |