hi,
what about using a shader?
I've attached some exemple...

Le 11/09/2015 01:45, Pagano, Patrick a écrit :

​Hey has anyone done a Star field with GEM?

Do you have a patch i can look at

I would prefer not to use a movie


Patrick


/Patrick Pagano B.S, M.F.A/
Audio and Projection Design Faculty
Digital Worlds Institute
University of Florida, USA
(352)294-2020


_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

// Cyrille Henry 2007

void main()
{
    gl_TexCoord[0] = gl_MultiTexCoord0;
    gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;

}
//https://www.shadertoy.com/view/Md2SR3
// License Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported 
License.

// The input, n, should have a magnitude in the approximate range [0, 100].
// The output is pseudo-random, in the range [0,1].

uniform vec2 iResolution, iMouse;

float Hash( float n )
{
        return fract( (1.0 + cos(n)) * 415.92653);
}

float Noise2d( in vec2 x )
{
    float xhash = Hash( x.x * 37.0 );
    float yhash = Hash( x.y * 57.0 );
    return fract( xhash + yhash );
}

void main( void )
{       
    // Add a camera offset in "FragCoord-space".
    vec2 vCameraOffset = iMouse.xy;
    vec2 vSamplePos = ( gl_FragCoord.xy + floor( vCameraOffset ) ) / 
iResolution.xy;

    vec3 vColor  = vec3(0.0, 0.0, 0.0);
        
        // Sky Background Color
        vColor += vec3( 0.1, 0.2, 0.4 ) * vSamplePos.y;

    // Stars
    // Note: Choose fThreshhold in the range [0.99, 0.9999].
    // Higher values (i.e., closer to one) yield a sparser starfield.
    float fThreshhold = 0.97;
    float StarVal = Noise2d( vSamplePos );
    if ( StarVal >= fThreshhold )
    {
        StarVal = pow( (StarVal - fThreshhold)/(1.0 - fThreshhold), 6.0 );
                vColor += vec3( StarVal );
    }
        
        gl_FragColor = vec4(vColor, 1.0);
}
#N canvas 947 378 779 651 10;
#X obj 76 443 glsl_program;
#X obj 149 366 pack 0 0;
#X obj 170 346 t b f;
#X obj 166 301 change;
#X obj 148 182 change;
#X msg 149 392 link \$1 \$2;
#X floatatom 170 327 2 0 0 0 ID - -, f 2;
#X floatatom 148 205 2 0 0 0 ID - -, f 2;
#X obj 167 413 print linking;
#X obj 142 111 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X msg 90 141 open texture.vert;
#X obj 76 163 glsl_vertex;
#X obj 76 281 glsl_fragment;
#X text 174 109 <- load shader;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 322 56 pd Gem.init;
#N canvas 340 107 682 322 gemwin 0;
#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
-1 -1 1 1;
#X obj 102 161 r \$0-gemstart;
#X obj 102 182 select 1 0;
#X msg 102 214 create \, 1;
#X msg 177 215 destroy;
#X obj 102 239 t a;
#X obj 318 54 inlet;
#X obj 318 255 gemwin;
#X obj 318 100 t a a;
#X obj 318 287 outlet;
#X obj 350 128 route create destroy;
#X obj 350 150 t b;
#X msg 350 172 1;
#X obj 390 150 t b;
#X msg 390 172 0;
#X obj 350 195 t f;
#X msg 350 219 set \$1;
#X text 118 122 rendering;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 1 4 0;
#X connect 3 0 5 0;
#X connect 4 0 5 0;
#X connect 5 0 8 0;
#X connect 6 0 8 0;
#X connect 7 0 9 0;
#X connect 8 0 7 0;
#X connect 8 1 10 0;
#X connect 10 0 11 0;
#X connect 10 1 13 0;
#X connect 11 0 12 0;
#X connect 12 0 15 0;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 16 0 0 0;
#X coords 0 -1 1 1 85 40 1 100 100;
#X restore 304 77 pd gemwin;
#X msg 31 304 print;
#X msg 32 202 print;
#X msg 39 424 print;
#X obj 76 90 alpha;
#X obj 76 604 square 4;
#X obj 76 32 gemhead 50;
#X obj 76 57 t a b;
#X obj 146 81 change;
#X msg 146 61 1;
#X obj 326 486 b;
#X msg 132 546 texunit 0;
#X obj 76 580 pix_texture;
#X obj 74 500 pix_image img3.jpg;
#X obj 416 257 gemmouse;
#X obj 416 306 pack f f;
#X msg 85 231 open starfield.frag;
#X msg 326 508 iResolution 512 512;
#X msg 421 344 iMouse \$1 \$2;
#X connect 0 0 28 0;
#X connect 0 1 25 0;
#X connect 1 0 5 0;
#X connect 2 0 1 0;
#X connect 2 1 1 1;
#X connect 3 0 6 0;
#X connect 4 0 7 0;
#X connect 5 0 0 0;
#X connect 5 0 8 0;
#X connect 6 0 2 0;
#X connect 7 0 1 0;
#X connect 9 0 10 0;
#X connect 9 0 31 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 11 1 4 0;
#X connect 12 0 0 0;
#X connect 12 1 3 0;
#X connect 14 0 15 0;
#X connect 16 0 12 0;
#X connect 17 0 11 0;
#X connect 18 0 0 0;
#X connect 19 0 11 0;
#X connect 21 0 22 0;
#X connect 22 0 19 0;
#X connect 22 1 24 0;
#X connect 23 0 9 0;
#X connect 24 0 23 0;
#X connect 25 0 32 0;
#X connect 26 0 27 0;
#X connect 27 0 20 0;
#X connect 28 0 27 0;
#X connect 29 0 30 0;
#X connect 29 1 30 1;
#X connect 30 0 33 0;
#X connect 31 0 12 0;
#X connect 32 0 0 0;
#X connect 33 0 0 0;
_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to