Messages récents

Pages: [1] 2 3 ... 10
1
Blabla de sceners / Re : HS pixelartdisk
« Dernier message par Graindolium le Hier à 19:00:42 »
A une époque ou de nouveau Star Wars sorte tout les jrs .

S'éloignant de celle ou l'on scrutaient l’entraille de la terre pour y voir des vers .

la justice par l'injustice causant la connaissance,
 là mort est  la cause de toute connaissance,
   s’agissant ,  agissant ,  d'inversé tout les rôles , jusqu'à l’interprétation d ce que tu peut comparé d'une substance chimique abondante et vitale, à une autres,
  oxygène et sodium ,   pour finalement comprendre que malgré tout perception il est impossible de les comprendre autrement que par une vision d'assemblage ,  ils sont ce que nous croyons qu'il sont,
 exactement comme si tu n'était rien d'autre que ce que tu pouvais faire,

sont pouvoir était si pure qu'il pouvait par expérience seulement retracé les causalités de notre monde jusqu'à ça conception ,
 ces paradoxes devenait un lieux de détente propice à l'abstraction,
  s'il c'était convaincu d'une modélisation pour reflété ce qu'il ne vois pas , ça propre existence , étrange bizarre magique ,
   il y avait toujours des esprits
2
Blabla de sceners / Re : HS pixelartdisk
« Dernier message par Graindolium le 21 Novembre 2017 à 18:58:02  »
function chaos_particul_sequence(){
 var tim0 = TIME();
 o_random = 1;  c_random = 0;

 var C = new Vus3D(1440, 900, 85,100);
 C.perspect = 3000;
 C.microball = false;//!
 C.lighting = light_metal;

 space_sombr_profondeur = 10;
 //C.spac_color = space_e;//
 C.spac_color = space_sombr;//space_f;//space_granit
 //C.ditord  = ditord_e;

 C.direct_draw = true;//chek==0?true:false;

 function chaos_art2(inject_particl,cadre_prodondeur,inject_courb){
   
   function disto_espace(v,random_index){
     var retenu = c_random;
     c_random = random_index;
     
     for(var j=0; j<35; j++){
       var cen4 = rf_v3(j/35*5+1);
       var dis = v.d(cen4)/(1+rf(3));
       dis=2/(dis*dis+1);
       var mr0 = new mat3(rf_sign(dis),rf_sign(dis),rf_sign(dis));
       v.r(cen4,mr0);
     }
   
     //v.r(cen,mr);
     c_random = retenu;
     return v;
   }

   var co1= new vect3(rf(1),rf(1),rf(1));
   var co2= new vect3(rf(1),rf(1),rf(1));
   var co3= new vect3(rf(1),rf(1),rf(1));

   for(var k=0; k<30; k++){
     var len_serpent = 5+Math.floor(rf(5));
     var p1 = new vect3(0,0,0),
         p5 = rf_v3(1);
     var cm = tentacul_courbe(p1, len_serpent,p5,1, .5 ,1 ,0);//.5+rf(.5)
     //cm.sp(cm.centre_gravite());
     //cm.continu_volum();
     cm.poisson();

     var gluant = .1+rf(.8);
     for(var r=0; r<10; r++){
       var cm2 = tentacul_courbe(cm.ptr[cm.len-1].v.new(), 5,rf_v3(1),.3, gluant ,1 ,0);//.5+rf(.5)
       //cm2.continu_volum();
       cm2.poisson();
 
       var gluant2 = .1+rf(.9);
       var larg = rf(.3);
       for(var b=0; b<20; b++){
         var cm3 = tentacul_courbe(cm2.ptr[cm2.len-1].v.new(), 3,rf_v3(1),.1+larg, gluant2 ,1 ,0);
         //cm3.continu_volum();
         cm3.poisson();
   
         for(var u=0; u<cm3.len; u++){cm3.ptr[u].v=disto_espace(cm3.ptr[u].v,152)}
         inject_courb(cm3,.03*2 ,space_e(cm2.ptr[cm2.len-1].v,co3),co2 ,.3);
       }
       for(var u=0; u<cm2.len; u++){cm2.ptr[u].v=disto_espace(cm2.ptr[u].v,152)}
       inject_courb(cm2,.08*3 ,co2,co1 ,.3);
     }
     for(var u=0; u<cm.len; u++){cm.ptr[u].v=disto_espace(cm.ptr[u].v,152)}
     inject_courb(cm,.05*3 ,co1,co3 ,.3);
   }


   co1= new vect3(rf(.5),rf(.5),0);
   co2= new vect3(rf(.5),rf(.5),0);
   co3= new vect3(rf(.5),rf(.5),0);

   for(var k=0; k<20; k++){
     var len_serpent = 8+Math.floor(rf(5));
     var p1 = new vect3(0,0,0),
         p5 = rf_v3(1);
     var cm = tentacul_courbe(p1, len_serpent,p5,1, .5 ,1 ,0);//.5+rf(.5)
     //cm.sp(cm.centre_gravite());
     //cm.continu_volum();
     cm.poisson();

     var gluant = .1+rf(.2);
     for(var r=0; r<5; r++){
       var cm2 = tentacul_courbe(cm.ptr[cm.len-1].v.new(), 5,rf_v3(1),.3, gluant ,1 ,0);//.5+rf(.5)
       //cm2.continu_volum();
       cm2.poisson();
 
       var gluant2 = .1+rf(.2);
       for(var b=0; b<10; b++){
         var cm3 = tentacul_courbe(cm2.ptr[cm2.len-1].v.new(), 5,rf_v3(1),.1, gluant2 ,1 ,0);
         //cm3.continu_volum();
         cm3.poisson();
   
         for(var u=0; u<cm3.len; u++){cm3.ptr[u].v=disto_espace(cm3.ptr[u].v,382)}
         inject_courb(cm3,.03*(rf(4)+2) ,co3,co1 ,.8);
       }
       for(var u=0; u<cm2.len; u++){cm2.ptr[u].v=disto_espace(cm2.ptr[u].v,382)}
       inject_courb(cm2,.08*(rf(2)+2) ,co2,co3 ,.8);
     }
     for(var u=0; u<cm.len; u++){cm.ptr[u].v=disto_espace(cm.ptr[u].v,382)}
     inject_courb(cm,.05*3 ,co1,co2 ,.8);
   }

 }

 //cumul_particl = 756 000 particls
 //full = 2 268 000

 function sequencag_scene(scene,cadre_prodondeur){
   //scene = function genere les particls  par function injection_particl
   //cadre_prodondeur = vect2(min_z,max_z)
   c_random = 0;

   var particl = new Array();
   var focal = new vect3(0,0,0);
   function inject_particul(s,c, opac){
     if(s.v.z>=cadre_prodondeur.x && s.v.z<cadre_prodondeur.y ){
       particl.push( [new Sphr(s.v.new(),s.r),c.new(),opac] );//(new Sphr(pp,ray*w  ),co7,w_opac)
       //s.r .01
     }
   }

   function inject_courb(cou,ray,c,c1,opac){
     var presence = false;
     var np = cou.len-1;
     var iter_pre = 5  *(cou.len-1)+1;//itération du sempleur de test
     var p_ant = cou.get_ptr(-.1);
     for(var k=0; k<iter_pre; k++){
      var t = k/iter_pre;
      var v = cou.get_ptr(t*np);
      var dis = v.v.d(p_ant.v);
      p_ant.v = v.v.new();
      if(v.v.z>=cadre_prodondeur.x-dis && v.v.z<cadre_prodondeur.y+dis ){
        presence = true;
      }
     }
     
     if(presence){
       var iter = 2000  *np+1;
       cou.croiser();
       
       var densiter = 1/80;
       var densiteur = densiter,  t=0,
           ptr_ant = cou.get_cptr(-densiteur);
       courb_trac :
       for(var k=0; k<iter; k++){
        //var t = k/iter;
        //var gaus = 1/(1+Math.pow((t-.5)*25,2));
        //var gaus2= 1/(1+Math.pow((t-.5)*45,2));
        //var v = cou.get_cptr(t*np);//get_ptr

        t+=densiteur;
        if(t>np) break courb_trac;
        var gaus = 1/(1+Math.pow((t/np-.5)*15,2));
        var gaus2= 1/(1+Math.pow((t/np-.5)*25,2));
        var v = cou.get_cptr(t);//get_ptr
        densiteur = densiteur/v.v.d(ptr_ant.v) * densiter;
        ptr_ant.v=v.v.new();

        var co = c.bary(c1,gaus);


        inject_particul( new Sphr(v.v,ray*v.w*(gaus+1)+.01 ),co,opac  );
        v.v.z+=.001
        inject_particul( new Sphr(v.v,ray*v.w*gaus*8  +.01 ),co,opac/5  );
        v.v.z+=.001
        inject_particul( new Sphr(v.v,ray*v.w*gaus2*15+.01 ),co,opac/10  );
       }
     }
   }

   scene(inject_particul,cadre_prodondeur,inject_courb);
   C.direct_draw = true;

   
   var tim1 = TIME();
   //réaliser trie des particules  plus approprier qu'un compile opaciter
   //tri matriciel
   //diviser par ligne de 1024
   var n_ligne = Math.floor(particl.length/1024);//évoluable avec une racine carré pour le côté carré de la matrice et une récursion de trie matriciel pr les lignes
   var reste = particl.length - 1024*n_ligne;
   if(reste>0){n_ligne++}else{reste=1024}
   var curseur_lign = new Array(n_ligne);
   for(var k=0;k<n_ligne;k++){ curseur_lign[k] = 0; }
   
   //tri matriciel
   for(var x=0; x<n_ligne; x++){//trie les lignes en premier
     
     var fin_ligne = Math.min( (x+1)*1024 , particl.length);
     var len_crus = fin_ligne-x*1024;//idéalement 1024  sauf dernière ligne
     for(var curs=0; curs<len_crus; curs++){
       var z = cadre_prodondeur.y+1;
       var pl = x*1024+curs;
       var index = -1;//pl;
       for(var k=pl; k<fin_ligne; k++){
         if(particl[k][0].v.z<z){
          z = particl[k][0].v.z;
          index = k;
         }
       }
       //permute
       [particl[pl][0].v.x , particl[index][0].v.x ]=
       [particl[index][0].v.x , particl[pl][0].v.x ];
       [particl[pl][0].v.y , particl[index][0].v.y ]=
       [particl[index][0].v.y , particl[pl][0].v.y ];
       [particl[pl][0].v.z , particl[index][0].v.z ]=
       [particl[index][0].v.z , particl[pl][0].v.z ];
       [particl[pl][0].r   , particl[index][0].r   ]=
       [particl[index][0].r   , particl[pl][0].r   ];
       [particl[pl][1].x   , particl[index][1].x   ]=
       [particl[index][1].x   , particl[pl][1].x   ];
       [particl[pl][1].y   , particl[index][1].y   ]=
       [particl[index][1].y   , particl[pl][1].y   ];
       [particl[pl][1].z   , particl[index][1].z   ]=
       [particl[index][1].z   , particl[pl][1].z   ];
       [particl[pl][2]     , particl[index][2]     ]=
       [particl[index][2]     , particl[pl][2]     ];
     }
   }
   
   for(var x=0; x<particl.length; x++){//trie la colonne
     var z = cadre_prodondeur.y+1;
     var index   = -1;
     var index_k = -1;
     for(var k=0; k<n_ligne-1; k++){
       if(curseur_lign[k]<1024){
         var cle = 1024*k+curseur_lign[k];
         if(particl[cle][0].v.z<z){
          z = particl[cle][0].v.z;
          index = cle;
          index_k = k;
         }
       }
     }
     if(curseur_lign[n_ligne-1]<reste){
       var cle = 1024*(n_ligne-1)+curseur_lign[n_ligne-1];
       if(particl[cle][0].v.z<z){
        z = particl[cle][0].v.z;
        index = cle;
        index_k = n_ligne-1;
       }
     }

     curseur_lign[index_k]++;//avance le curseur

     //var dis = //Math.abs(focal.z-particl[index][0].v.z);
     //          particl[index][0].v.d(focal);
     //particl[index][0].r += dis/85;//                  focal_blur
     C.particul(particl[index][0],particl[index][1],particl[index][2]);
   }

   //2268000particl 0:3:51
   PRINT("texty" , particl.length +"p/" +HEUR(TIME()-tim1)+"<br>" ,1);
   return true;
 }

 function sequencage_progressif(scene,cadre_prodondeur,n_tranch){
   n_tranch = Math.max(0,Math.floor(n_tranch) );
   var pat = Math.abs(cadre_prodondeur.y-cadre_prodondeur.x)/n_tranch;
   for(var k=0; k<n_tranch; k++){
     sequencag_scene(scene,new vect2(cadre_prodondeur.x+pat*k,cadre_prodondeur.x+pat*(k+1) ));
   }
 }

 function scene_densiter(scene,cadre_prodondeur,limit_particl){
   //scene = function genere les particls  par function injection_particl
   //cadre_prodondeur = vect2(min_z,max_z)
   //return un tableau de position séquentiel

   //cumulation de point pr densité des particles divise sequence par 4000
   var densite_fram = 4000;//augmenter si objet très complex
   var particl_total = 0;
   var particl_z = new Array(densite_fram);
   for(var k=0; k<densite_fram; k++){particl_z[k]=0}
   var distence = cadre_prodondeur.y-cadre_prodondeur.x;

   function inject_particul(s,c, opac){
     if(s.v.z>=cadre_prodondeur.x && s.v.z<cadre_prodondeur.y ){
       var fragment_densit = Math.floor((s.v.z-cadre_prodondeur.x)/distence*densite_fram);
       particl_z[fragment_densit]++;
       particl_total++;
     }
   }

   function inject_courb(cou,ray,c,c1,opac){
     var presence = false;
     var np = cou.len-1;
     var iter_pre = 5  *(cou.len-1)+1;//itération du sempleur de test
     var p_ant = cou.get_ptr(-.1);
     for(var k=0; k<iter_pre; k++){
      var t = k/iter_pre;
      var v = cou.get_ptr(t*np);
      var dis = v.v.d(p_ant.v);
      p_ant.v = v.v.new();
      if(v.v.z>=cadre_prodondeur.x-dis && v.v.z<cadre_prodondeur.y+dis ){
        presence = true;
      }
     }
     
     if(presence){
       var iter = 2000  *np+1;
       cou.croiser();
       
       var densiter = 1/80;
       var densiteur = densiter,  t=0,
           ptr_ant = cou.get_cptr(-densiteur);
       courb_trac :
       for(var k=0; k<iter; k++){

        t+=densiteur;
        if(t>np) break courb_trac;
        var v = cou.get_cptr(t);//get_ptr
        densiteur = densiteur/v.v.d(ptr_ant.v) * densiter;
        ptr_ant.v=v.v.new();


        inject_particul( new Sphr(v.v,1 ),c,1  );
        v.v.z+=.001
        inject_particul( new Sphr(v.v,1 ),c,1  );
        v.v.z+=.001
        inject_particul( new Sphr(v.v,1 ),c,1  );
       }
     }
   }

   var tim1 = TIME();
   scene(inject_particul,cadre_prodondeur,inject_courb);
   
   
   var tabl_sequence = [];
   tabl_sequence.push(cadre_prodondeur.x);
   var cumul_desnite = 0;
   for(var k=0; k<densite_fram; k++){
    if( cumul_desnite+particl_z[k] > limit_particl){
      tabl_sequence.push((k-1)/densite_fram*distence+cadre_prodondeur.x);
      cumul_desnite = 0;
    }
    cumul_desnite += particl_z[k];
   }
   tabl_sequence.push(cadre_prodondeur.y);

   PRINT("texty" , "particl_total = "+ particl_total +",sequentiel_total_time = " +HEUR(TIME()-tim1)+"nombr_sequence = "+(tabl_sequence.length-1)+ "<br>" ,1);

   return tabl_sequence;
 }

 function sequencage_densitique(scene,cadre_prodondeur){
   //une preveiw totale pour connaitre les concentration de particl à séquencer
   var sequenc = scene_densiter(scene,cadre_prodondeur,1000000);//limite de 1millions de particles
   for(var k=0; k<sequenc.length-1; k++){
     sequencag_scene(scene,  new vect2(sequenc[k],sequenc[k+1] )  );
   }
 }

 /*
   faire une preveiw totale pour connaitre les concentration de particl à séquencer
   taffé courbe en particl à flux uniforme
   taffé filing du rayon d'intensité particl

   effet light par point, ensuite mètre une grosse particles comme source light

   la guerre c'est une hiostoire vrais
   l'amours c'est de la science fiction
 */
 
 //sequencag_scene(chaos_art1,new vect2(-20,20));
 //sequencag_scene(chaos_art2,new vect2(-20,20));
 //sequencage_progressif(chaos_art1,new vect2(-15,15),4);
 //sequencage_progressif(chaos_art2,new vect2(-20,20),13);
 //scene_densiter(chaos_art2,new vect2(-20,20),1000000);
 sequencage_densitique(chaos_art2,new vect2(-20,20));

 //C.compil_opacity();
 //C.ambient_oclusion_effectd2(3);
 C.DD.contraste(3);

 C.canvas_set("can");

 if(chek == 0){  PRINT("texty" , "preview" + HEUR(TIME()-tim0) +"<br>" ,1) }
 else{ PRINT("texty" , "Calcul high terminer !! " + HEUR(TIME()-tim0) +"<br>" ,1) }
}

//testé organisme en sphère avec pousse par présence stimulus
//testé séquengae d'opaciter sur particles

function enter(){
 //tube_vertebralise();
 //chaos_particul();
 chaos_particul_sequence();
}



ça me fait grossièrement un moteur de particls ,  théoriquement j'peut faire autant de million de particls que je veux,
j'ai une densification qui me découpe des séquences homogène limité à 1millions

mes courbes sont densifier homogènement  avec simplicité, fallait juste un calcule de distance

brèf je fais ce que je pouvais pas faire avant, pas aussi vite et pas autant de qualité ,
 Chaosfissure deviens possible même que j'ai des idées de bossé sur une représentation du body en énergie particls only 0_0

   particl_total = 6 049 584
   sequentiel_total_time = 0:0:33
   nombr_sequence = 7
      995266p/0:3:17
      992358p/0:2:51
      994951p/0:3:3
     1001335p/0:3:34
      999311p/0:2:59
     1002074p/0:4:27
       64289p/0:0:17
   preview 0:26:17


chrome gère mieux la mémoire ,  firefox décumule sont gabage pas assez vite ça peut planté , à cause de ça faudra peut être songé à une table prédéfini et faire des permutations moche ,  sinon chrom même si il plante à chaque enregistrement d'image (spécimen tellement exploité qu'il a fini par devenir fou ) il éclate la mémoire d'est qu'ont touche quelque chose  et s’arrête avec gestionnaire de tache , reste à le réinstaller   sans internet  bonne chance ,   mais brèf il serait capable de me compiler 100 millions de particles sans faire une saucisse
3
Blabla de sceners / Re : HS pixelartdisk
« Dernier message par Graindolium le 18 Novembre 2017 à 16:37:18  »
par ce que c'est mon devoir de stimuler les consciences future,

 tu es déjà mort,  mais tu ne le sais pas encore,

il devait donné l'information toute en là faisant mystérieuse,   ça présence fait la différence ,

ils se souvienne de l'amours et de la perte ,

Alors j'boss des put1 d'courbe interpoler d'particle avec densité d'itération pour un flux régulier ainsi qu'un filling du rayon particls !
4
Blabla de sceners / Re : HS pixelartdisk
« Dernier message par Graindolium le 18 Novembre 2017 à 00:44:39  »



faudrait taffé des courbe, puis différente fractalisation pour le moment je tap une répartition sur sphère, puissant mais vite envahissant,
une fougère serait sympa   rien de plus simple,

ensuite vas falloir passé par une approximation de la division séquençage, suivent la quantité de point sur des tranches plutôt fine

rien de sorcier, puis avec un peut de travaille sur du chaos fractaliste ont devrait obtenir un tas de courbe visuellement agréable,

fractalisé permet de comblé beaucoup d'espace visuel de façon très rapide,  avec un seul paterne 3D ,


j'arriv à farcir sans probl 2 000 000 de points par séquence en ~2mins négligent le draw particle si elle sont grosse ça prend plusse
avec  1 000 000 000 de points j'imagine ,  ben oui ont vas en arrivé à là avec des courbe interpolé de 3 à 7 point itéré par 100   ont risque d'approché un ou deux milliards, 24heurs de calcule //ça vas  ça vas  ça reste humainement faisable !! faut juste pas faire d'là merde !
avec ce genre de quantité  le plus relou vas être de discerné des composants détailler dans la séquence ou non ...

en +    j'en est pas encore parler mais avec cette technique de particls séquencé il y a moyen de sauvé une séquence et de compiler les autres plus tard, de threadé de faire fumé 2PC avec là même scène juste à 2 séquençages arrière/devant et de recomposé après,
en brèf y a moyen de taffé une scène sur plusieurs jrs voir même d'utiliser plusieurs PC  ::)

en très brèf avec un peut de taff sur la technique y a moyen d'obtenir des images à la choasfissure en ~3000*2000

l'algo de tri est ultra puissant, presque proportionnel linéairement~ pas comme le classique qui est exponentiel,
1mins pour un million de pain alors que le classique le fait en 9h 0_0  :o  :o faut pas déconné c'est le jour et là nuit,  et ça peut encore être optimisé ! 
 d’ailleurs sans cette algo  taffé des particles en aussi grande quantité serait bad pour la mémoire&&temps_process,
j'ai eu un petit éclaire de génie sur le cou,


uais à vrais faire j'ai pas testé une limitation de point de la table d'opacité , peut être que ça rend bien , même si mon but est de garder du double flottant par canal pour des effet postproc sans artéfacts ,
une accumulation d'une 100ène de point de très faible opacité sur un point opaque,
   pusss   uais ça marcherais mal  ça demande une analyse de toute la liste de point d'opacity à un moment donné,
    c'est destructif ont perdrait de la qualité et puis ont resterait limité par la mémoire ont en reviendrais au même , brèf ma technique avec trie reste là plus adapté,

pr moi l'algo de trie est opérationnel,
mais il reste aussi à testé un trie en arborescence,
c'est juste que au lieux d'avoir une matrice ont a un arbre,
 ont divise la liste en n branche basiquement 2 ou 3 ou 4 branche
 les n sous liste ont également diviser en sous liste qui sont elles aussi redivisé jusqu'à une longueur de liste abordable  genre 1024,
 puis suffit de là trié , puis de trié chaque nœud de branche jusqu'à la colonne mère
 une colonne mère de 4 listes trié ça doit être rapide à trié !
mais comme y a d'autres nœud à trié je sais pas si ça prend + ou - de temps,  c'est peut être pareil  ???

ben un tri dans un arbre de 2branches par nœud , uais ça fait cour en conditionnelle , puis quant une branche est fini le reste de l'autre n'est pas trié ...   c'est un moyen de brisé complètement le brassage exponentiel du tri d'un ensemble de points;
et ça serait ça l'algo le plus au point pour avoir un rapport proportionnel complètement linéaire
0_0
trie 2 liste de 1
puis 2 liste de 2
  2 liste de 4
2 liste de 8
... 16  32  64  2^7  256  2^n  ...
ça serait parfait
5
Blabla de sceners / Re : HS pixelartdisk
« Dernier message par Graindolium le 16 Novembre 2017 à 22:45:00  »
//cumul_particl = 756 000 particls
//full = 2 268 000

pour une liste de 10 000points
trie classique , soit appliqué une conditionnel min(n,x) pour un point sur les 10 000-n_déjà_trouvé
soit 10 000² / 2   conditions de trie

trie en matric ligne/colonne
trié d’abord les 100 lignes de 100points  = 100 * 100²/2
puis trier la colonne des plus petit  ~ 10 000 * 100 - 100²/2

si je me plante pas dans tout ce bordel
le classique = 50 000 000
le matriciel =  1 495 000

pr 1 000 000 de points
 500 000 000 000
   1 499 500 000


je crois que j'ai un petit algo à faire,
en géométrie cubique aller savoir peut être que ça optimise encore plus,

reste la récursion de trie matriciel par exemple trier des lignes de 1024  en matrice 32*32
1024²/2 =
  524 288
32* 32²/2 + 1024*32-32²/2 =
   48 640

576 + 976*1024 = 1 000 000
977 * 48 640  +  1 000 000 * 977 - 977²/2
~1 024 044 015.5  si tu gratte
 1 499 500 000


muais ~ ont vas se débrouiller  :'(
je savais qu'un jour viendrais où j'aurais à me frité contre l'algo de trie ,
 ça serait parfait pour boussté les particls , juste pour ça justement,  après sans déconné y aura moyen de claqué une wtf quantité de particl, calcul de 3jrs , CPU fait ta prières !

si dieu a bien faite le monde comme un truc qui marche bien même là où personne est jamais aller,
 c'est prévus que même si ça passe limite ça face bien sont taff et puis c'est tout !
  si je suis amené à codé ça c'est que ça devrait m'être utile, vooiilà
   si ça existe et qui a pas d'autre solution aussi simplement c'est que c'est vrais ailleurs dans le monde donc ça na rien de sans raison que j'me tap cette algo, et par ce que toute ces conditions sont représenté il est cruchement probable que ça ne peut que fonctionné comme il convient !

fi toi à ton instinct de codeur , si ta une idée , cherche pas c'est quelle est bonne  :o  :)

bon après ont peut diviser la liste  avec un centre de gravité des point histoire de trancher dans un amas ,
 ça reste assez lol-esque

cette algo j'le sent comme un accouchement, beaucoup d'inquiétude pour un événement prévus pour être faisable ,     :o
aller c'est partie kéké




temps de trie matriciel de 756000particl 0:0:29 comprenant aussi le direct_draw des particles ,
le trie classique par contre j'ai pas réussi à le faire aboutir, temps infini, j'ai eu le temps de codé le trie matriciel en attendant même
   //réaliser trie des particules  plus approprier qu'un compile opaciter
   //tri matriciel
   //diviser par ligne de 1024
   var n_ligne = Math.floor(particl.length/1024);//évoluable avec une racine carré pour le côté carré de la matrice et une récursion de trie matriciel pr les lignes
   var reste = particl.length - 1024*n_ligne;
   if(reste>0){n_ligne++}else{reste=1024}
   var curseur_lign = new Array(n_ligne);
   for(var k=0;k<n_ligne;k++){ curseur_lign[k] = 0; }
   
   //tri matriciel
   for(var x=0; x<n_ligne; x++){//trie les lignes en premier
     
     var fin_ligne = Math.min( (x+1)*1024 , particl.length);
     var len_crus = fin_ligne-x*1024;//idéalement 1024  sauf dernière ligne
     for(var curs=0; curs<len_crus; curs++){
       var z = cadre_prodondeur.y+1;
       var pl = x*1024+curs;
       var index = -1;//pl;
       for(var k=pl; k<fin_ligne; k++){
         if(particl[k][0].v.z<z){
          z = particl[k][0].v.z;
          index = k;
         }
       }
       //permute
       [particl[pl][0].v.x , particl[index][0].v.x ]=
       [particl[index][0].v.x , particl[pl][0].v.x ];
       [particl[pl][0].v.y , particl[index][0].v.y ]=
       [particl[index][0].v.y , particl[pl][0].v.y ];
       [particl[pl][0].v.z , particl[index][0].v.z ]=
       [particl[index][0].v.z , particl[pl][0].v.z ];
       [particl[pl][0].r   , particl[index][0].r   ]=
       [particl[index][0].r   , particl[pl][0].r   ];
       [particl[pl][1].x   , particl[index][1].x   ]=
       [particl[index][1].x   , particl[pl][1].x   ];
       [particl[pl][1].y   , particl[index][1].y   ]=
       [particl[index][1].y   , particl[pl][1].y   ];
       [particl[pl][1].z   , particl[index][1].z   ]=
       [particl[index][1].z   , particl[pl][1].z   ];
       [particl[pl][2]     , particl[index][2]     ]=
       [particl[index][2]     , particl[pl][2]     ];
     }
   }
   
   for(var x=0; x<particl.length; x++){//trie la colonne
     var z = cadre_prodondeur.y+1;
     var index   = -1;
     var index_k = -1;
     for(var k=0; k<n_ligne-1; k++){
       if(curseur_lign[k]<1024){
         var cle = 1024*k+curseur_lign[k];
         if(particl[cle][0].v.z<z){
          z = particl[cle][0].v.z;
          index = cle;
          index_k = k;
         }
       }
     }
     if(curseur_lign[n_ligne-1]<reste){
       var cle = 1024*(n_ligne-1)+curseur_lign[n_ligne-1];
       if(particl[cle][0].v.z<z){
        z = particl[cle][0].v.z;
        index = cle;
        index_k = n_ligne-1;
       }
     }

     curseur_lign[index_k]++;//avance le curseur

     //var dis = //Math.abs(focal.z-particl[index][0].v.z);
     //          particl[index][0].v.d(focal);
     //particl[index][0].r = dis/185;//                  focal_blur
     C.particul(particl[index][0],particl[index][1],particl[index][2]);
   }
surement améliorable encore  ::)
c'est pas trop d'là merde du coup c'est même puissant finalement , heureusement que j'ai pensé à un algo de trie mieux adapté pour traité de là masse


//2 268 000 particl  0:3:51

j'vous dis pas la place en mémoire de fou que ça me fait ganier, et même une compilation de tabl_d'opacité prend plusse de temps,
c'est au poile pr les particl,

maintenant j'ai des problèmes pr itéré mon objet paramétrique fractalisé et distordu,
faudrait le séquencer en courbe_interpoler
...

ont se rapproche de chaosfissure , ont vas se faire un trip avec des particls 8)
6
Blabla de sceners / Re : HS pixelartdisk
« Dernier message par Graindolium le 16 Novembre 2017 à 00:23:36  »
finalement l'idée sera de séquencer une scène en tranche avec un compile_opacity associé,
le mode direct_draw marche nickel , ont se rend compte que c'est surtout la tabl_d'opacité qui prend du temps à compiler,

pour le moment ont a des particules comme ça,  avec du mastering/filing y a des chance que se soit regardable,

après faut savoir quoi foutre de ces particl,

j'observe encore les prod de chaosfissure , il est doué l'mec , parfois j'ai l'impression qui a du texturing de surface d'autre sont simplement des points opac oversamplé , d'autre encore ont l'ère d'un ta de courbe bien rendu , c'est soigné  ,du 1500*1000 souvent , si y texturise un fuseau de particule

mon kiff serait de distordre une paramétrique déjà bien touillé avec un espace_énergie pleins de tentacl ,
 - ça jamais été fait à ma connaissance
 - ça pousse au limite du tableau d'opacité ont est obligé de faire du séquençage là où je voulais en venir,
 - ça peut être terrible !

function séquençage de particl only y a mieux que de compiler l'opacité :
 en triant une tabl de particules,
  si y a 1000 000 de particl le mieux c'est de trier des lignes de 1000 puis la colonne de 1000
complètement faisable
7
Blabla de sceners / Re : HS pixelartdisk
« Dernier message par Graindolium le 13 Novembre 2017 à 22:24:05  »
si y en a qui veulent bien testé une récursion de framebuffer qui fait un fractal 2D
demo_webgl_fractal/


  ça me tap du 12fps sur 1440*900
y devrais y en avoir foule dans ma démo,
 je dois prévoir de géré un tableau de scène , chaque scène composé d'une function init()  et une scene()
  shaders
  caméra
  draw meshs
  postproc
( tableau shader )

ont sera vraiment aux petits oignons !


alors chaosfissure comment y fait ?   
 des surfaces interpoler texturé et tout en opacité ,
  pourrait se faire en shader raytrac , ou en CPU
 ensuite j'imagine qu'il fait des petites retouche ou/et du modélisme de scène ...

transformation par :
 - modélisme d'une forme_relative
 - fragmentation en forme_relative


flèche géométrique , pointe octogonale, sensation de vitesse vèrs effet fluide par aura mouvementé ,
passage premier plant vers recule ,
cible body modélisé , la flèche traverse le thorax ,
 texte "humain incarner"
flash psychique  récursion framebuffer pour fractal lumineux,
êxtrême vortex ,
 immersion de calque texture dans l'abstrait,
deviens arborescence vivace,
 vers posé sur la mousse , adn ruban ,

draw_mesh devra proposé :
 - position / directionnel / tilt
 - rotation / scal / distortion_function

avec ça ont aura des meshs de ouf prétexturé des plumes et des tubes pour over structuré un chaos blindé d'opacité
taffé séquençage, évolué focal_blur pour géré opacité ,  faisable en CPU !  pas en Webgl en tout cas pas réal time , problème pour la quantité d'opacité même en texturant des rubans , trop limite,

j'ai un algo de fou à faire,   
   ah non  ce qui fait c'est d'un très haut niveau déjà, j'pense pas rivalisé , déjà j'vais partir dans un délire à base de courbe et de contrainte d'espace , les meshs seront pré-calculer en hard définition , ont vas avoir besoin de coder des organismes des trucs wtf partout ,
ah oui faire des chaos d'abstraction ultra organique effet mystique contraste à la limite des apparitions de personnage d'éternité , élémentation d'universel framework ,

 ah oui  je sais  , mais ont risque de partir dans du 7jrs de calcule pour une image ,  pourquoi pas !

uais après observation attentive de ces oeuvres , j'pencherais plutôt pour de la 2D canvas nature avec pour la 3D le blur à rayon particule classique et un séquençage de l'image entière suivent un pat de l’arrière plant au premier, le reste c'est que des trais/particules/grosse_particules   et ont devrait excepté sont algo de fractalisme en fougère  obtenir le même genre de qualité sans passé concrètement par de la 3D, même si j'ai des idées aussi folle pour de la 3D séquencer  , tout ça pour dire que finalement sont rendu ne devrait pas être si inaccessible, et d'ailleurs en pure 3D y a moyen de faire bien pire !

c'est pas compliqué de faire de là 3D particl en 2D séquencer,

c'est que des courbe de particl avec des positions d’expansion du rayon, c'est comme ça qui obtiens des grosse particule étiré,
j'arriverais pas à se rendu en 2D canvas , c'est de la 3D !
et même que c'est de la 3D particule only qui fait , tendisse que moi j'vais commencer comme lui mais ensuite y a moyen d'envoyé des meshs ,

bon ben reste à généré des particls  ::),  ( 2D séquentiel de l'arrière au devant de scène l'autre , mais n'importe quoi , direct en 3D ont vas ganier du temps pr les projet hardcore future, réfléchie mec réfléchie  )
j'aurais pas besoin d'oversamplé ce genre de composant !
 ensuite le mec doit surement avoir 16Go de RAM et bombardé en openGL ,

y a peut être une technique ultra bad pour séquencé de l'opaciter volumineuse en webgl,
   avec un shader qui coupe une bande fine de la profondeur,  succésivement, en espérant que le z_buffer pète pas les couilles
      lol ?

j'ai peut être une autre idée,  faire de 3D mais de la 2D juste pour les pétal de courbe de particule,  en gros accumuler les points d'opacité par couche d'écriture 2D, ont aura beaucoup beaucoup moins de points et le résultat sera plutôt 3D ,
 ça reviens à un optimisateur de points proche , là question c'est est qu'ont aurait des artéfacts
8
Blabla de sceners / Re : HS pixelartdisk
« Dernier message par Graindolium le 09 Novembre 2017 à 18:38:59  »
la vie n'est pas dans les leçons, les leçons sont dans la vie,
vous détenez une grande sagesse, peut être pas maintenant mais vous verrez,
l'histoire général !!  l'amours que l'ont porte , perdu puis retrouvez 0_0

mes leçons était merveilleuse j'étais incroyable surpuissant heureux fore en santé magique  infiniment mystérieux  à découvre mon âme,
quant j'ai perdu dieu je n'étais plus rien javais très peur triste beaucoup de solitude et de regret,
enfin j'eu jusqu'à des leçons muets vide et je su que dieu était réellement porté disparu, à croire qu'il n'avait même jamais existé , alors sans émotion sans vie , je devais convoité la vie sans crainte de la perdre, je sus que si dieu en ça présence me définissait c'est que j'étais dieu je l'avais grandement été sans le savoir,  jamais je ne l'avais perdu encore,
depuis j'ai appris de toute ces leçons que je devais m'aimé grandement pour accepté de resté ce que je suis , ça devais être là plus importante leçons ,

là mort en direct pour moi ,
mal -être dans l'endurance physique peut-être difficile de respiré,
puis là solitude !  infernal observation du film du vécu,
  tu est seul ,  tu a été seul regarde, là tu est encore seul,
     il y a personne pour toi maintenant ! tu pourrais mourir ! est ce que c'est dangereux ?!
   elle n'est pas là pour te caressé les cheveux, personne n'est là il n'y a que toi >_<
    extrême souvenir , si tu savait que tu est vivant, tu na rien qui survit
puis là PEUR ,
   je vais perdre tout ce que je possède, souvenir identité personnalité corps bien matériel , mon argent mon logement , ce monde
  deviens terreur infranchissable désolation d'une tristesse crus semé de regret
puis trou noir !  perte de toute émotion, vide de pensé , souffle coupé , fixation visuel, lèvre sèche déshydratation de la gorge , ralentissement cardiaque impressionnant .

puis    "m'en fiche :) :) :)"
   tu peut tout reprendre ça t’appartiens , tout ce que je suis ma matière mes souvenirs ,
    je n'étais que là pour m'amusé c'était temporaire , rien à foutre de mourir , c'est pas grave  tinquiète
vomissement jaune saturé,
c'est génial là vie , les arbres sont vert et orange le ciel est bleu    absolument pas un classique !

tout est Wath the fuck , ma vie est WTF , mes problèmes mes peurs ma perso ce que je fait de mon temps   c'est WTF, les gens mon voisinage mon logement mes proches ce pays ce monde     sont WTF,  toute est bizarre étrange stylé personnalisé pas commun ,pas vraiment codifier en somme, et complètement dingue, tordu presque , génial incroyable

je pouvais tout voir tout comprendre, les savoirs était partout suffisait de les regarder depuis mon point de vus, j'étais comme un nouveau né près à assimilé tout là beauté du réelle sans préjugé avec tout l’enthousiasme possible , j'estimais grandement cette connaissance de là force que j'étais

passé de triste à Artiste
 ceci est le WTF suprême ,  prend s'en   connaissance
9
Blabla de sceners / Re : HS pixelartdisk
« Dernier message par Graindolium le 07 Novembre 2017 à 08:49:42  »
bien ont dirais que ça deviens un petit kiff cette font Alien,

là j'ai testé les angularité différente, -PI/10 ; PI/1.5


reste à intégré l'option DRAW morse pixel   quant même temps qu'ont y est c'est toujours utile d'intégré des morses claire et lisible, ont sais jamais ça ma souvent servit et puis ça ouvre l'esprit initial,



j'parse  rotaill !
10
Actualités / Re : Cookie Demoparty - Paris - 8 & 9 décembre 2017
« Dernier message par Graindolium le 05 Novembre 2017 à 04:37:27  »
super l’invite
Pages: [1] 2 3 ... 10