• Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by Reptillian

  1. Here's what I have coded in. Paste it into code filter under G'MIC-QT->Various section and see what you get. You get this image: rep_pfrac 100,1,.25,10,1,0,0,0,1,0,0,1 rep_pfrac: rep_popcorn_fractal $* #$1==points_per_pixels# #$2==density# #$3==H# #$4==K# #$5==zoom# #$6==rotation_angle# #$7==origin_x# #$8==origin_y# #$9==formulamode# rep_popcorn_fractal: skip ${1=50},${2=1},${3=.05},${4=3},${5=1},${6=0},${7=0},${8=0},${9=0},${10=},${11=},${12=},${13=},${14=},${15=} f 0 r 100%,100%,1,1 repeat $! l[$>] eval ${-math_lib}" const pts=$1; const density=1/$2; const H=$3; const K=$4; const zoom=1/$5; const ang=($6/180)*pi; const origin_x=$7*-1*zoom; const origin_y=$8*zoom; const sd=max(w,h)/min(w,h); const sx=w>h?sd:1; const sy=w>h?1:sd; const cx=w/2; const cy=h/2; const ocx=origin_x*cx; const ocy=origin_y*cy; const angcondition=($6-360*floor($6/360))?1; rot_x(a,b)=a*cos(ang)-b*sin(ang); rot_y(a,b)=a*sin(ang)+b*cos(ang); if(!$9, if(narg($10), if(($10%3)==0,func_a(a)=sin(a);, if(($10%3)==1,func_a(a)=cos(a);, if(($10%3)==2,func_a(a)=tan(a); ); ); );, func_a(a)=sin(a); ); if(narg($11), if(($11%3)==0,func_b(a)=sin(a);, if(($11%3)==1,func_b(a)=cos(a);, if(($11%3)==2,func_b(a)=tan(a); ); ); );, func_b(a)=tan(a); ); if(!narg($12), if(narg($10), if(($10%3)==0,func_c(a)=sin(a);, if(($10%3)==1,func_c(a)=cos(a);, if(($10%3)==2,func_c(a)=tan(a); ); ); );, func_c(a)=sin(a); );, if(($12%3)==0,func_c(a)=sin(a);, if(($12%3)==1,func_c(a)=cos(a);, if(($12%3)==2,func_c(a)=tan(a); ); ); ); ); if(!narg($13), if(narg($11), if(($11%3)==0,func_d(a)=sin(a);, if(($11%3)==1,func_d(a)=cos(a);, if(($11%3)==2,func_d(a)=tan(a); ); ); );, func_d(a)=tan(a); );, if(($13%3)==0,func_d(a)=sin(a);, if(($13%3)==1,func_d(a)=cos(a);, if(($13%3)==2,func_d(a)=tan(a); ); ); ); ); popcorn_x(a,b)=a-H*func_a(b+func_b(K*b)); popcorn_y(a,b)=b-H*func_c(a+func_d(K*a)); , if(narg($10), if(($10%3)==0,func_a(a)=sin(a);, if(($10%3)==1,func_a(a)=cos(a);, if(($10%3)==2,func_a(a)=tan(a); ); ); );, func_a(a)=sin(a); ); if(narg($11), if(($11%3)==0,func_b(a)=sin(a);, if(($11%3)==1,func_b(a)=cos(a);, if(($11%3)==2,func_b(a)=tan(a); ); ); );, func_b(a)=cos(a); ); if(narg($12), if(($12%3)==0,func_c(a)=sin(a);, if(($12%3)==1,func_c(a)=cos(a);, if(($12%3)==2,func_c(a)=tan(a); ); ); );, func_c(a)=tan(a); ); if(!narg($13), if(narg($10), if(($10%3)==0,func_d(a)=sin(a);, if(($10%3)==1,func_d(a)=cos(a);, if(($10%3)==2,func_d(a)=tan(a); ); ); );, func_d(a)=sin(a); );, if(($13%3)==0,func_d(a)=sin(a);, if(($13%3)==1,func_d(a)=cos(a);, if(($13%3)==2,func_d(a)=tan(a); ); ); ); ); if(!narg($14), if(narg($11), if(($11%3)==0,func_e(a)=sin(a);, if(($11%3)==1,func_e(a)=cos(a);, if(($11%3)==2,func_e(a)=tan(a); ); ); );, func_e(a)=cos(a); );, if(($14%3)==0,func_e(a)=sin(a);, if(($14%3)==1,func_e(a)=cos(a);, if(($14%3)==2,func_e(a)=tan(a); ); ); ); ); if(!narg($15), if(narg($12), if(($12%3)==0,func_f(a)=sin(a);, if(($12%3)==1,func_f(a)=cos(a);, if(($12%3)==2,func_f(a)=tan(a); ); ); );, func_f(a)=tan(a); );, if(($12%3)==0,func_f(a)=sin(a);, if(($12%3)==1,func_f(a)=cos(a);, if(($12%3)==2,func_f(a)=tan(a); ); ); ); ); popcorn_x(a,b)=a-H*func_a(b+func_b(K*b+func_c(K*b))); popcorn_y(a,b)=b-H*func_a(a+func_b(K*a+func_c(K*a))); ); for(ix=0,ix<w,ix+=density, for(iy=0,iy<h,iy+=density, xx=zoom*(ix-cx)/cx; yy=zoom*(iy-cy)/cy; xx*=sx; yy*=sy; xx+=origin_x; yy+=origin_y; for(ptn=0,ptn<pts,ptn++, xnew=popcorn_x(xx,yy); ynew=popcorn_y(xx,yy); xval=((xnew-origin_x*sx)*cx/zoom+cx*sx)/sx; yval=((ynew-origin_y*sy)*cy/zoom+cy*sy)/sy; if(angcondition, temp_xval=xval-cx+ocx; temp_yval=yval-cy+ocy; xval=rot_x(temp_xval,temp_yval)+cx-ocx; yval=rot_y(temp_xval,temp_yval)+cy-ocy; ); if((round(xval)>=0&&round(yval)>=0)&&(round(xval)<w&&round(yval)<h), i(#0,round(xval),round(yval),0,0)+=1; ); xx=xnew; yy=ynew; ); ); ); " endl done
  2. I got news. Where I'm at, hospitals are getting filled with COVID-19 patients and in fact, less than 10 counties have hospitals at 10- percent capacity. Actually, I do not think it would be wise to try to find a job when I already have a roof over me. So, I will code up a few things.
  3. If there has to be extension to what PDN plugin supports, I would like to see plugins being able to access multiple layers. I may be biased as a inactive gmic-qt scripter that enjoys being able to work with multiple layers within GIMP/Krita. That would solve the group layer issue indirectly by temporarily treating layers as group layer, and enable batch filtering.
  4. That may have to do with softness setting. I'm not sure if this is even a bug at all. How I would fix that is to use lerp(a,b,c) to allow users to set up a transition between soft and hard.
  5. Have a look at gmic-qt plugin and see artistic section.
  6. That .zip file is a collection of note in gmic code form. It's only for scripters and programmers. Some of them can be copied and pasted into Custom Code gui filter. If you really want to code within g'mic scripting, I would start with downloading KDE Kate and open those files with KDE Kate (That is what I use), look into Custom Code filters under Various under gmic-qt plugin under Then, use the g'mic reference, and read tutorials on how to code. In a way, it's a lot easier to code in filters with gmic-qt than it is to work with c# or c++. Another source you can use to learn it is to read G'MIC-QT STDLIB or look at the g'mic-community repository. Almost every codes I done for g'mic-qt is found within reptorian.gmic. If you need more help, I would ask forum, and they'll help you understand how everything works better than I can.
  7. Back when I used CodeLab, I actually did struggled with autocomplete at times. Most of the time, I would like to have it disabled as it is a struggle at times. I don't look at keyboard when typing in.
  8. As I have mentioned I had plans to leave some files, well and TODO list. Here it is. I also did one final update with major reformatting. Here's some of the TODOs. And, then here's some of my note files. - GMIC Thank you for your support. @Seerose @lynxster4 @Eli @Djisves and other people here.
  9. Well, it turns out that the solution I have proposed isn't desirable, so, only @null54 can address this. @null54 : If you'd like to address this issue, please look at this thread for more discussion on this. -
  10. Saving it implies multiple output pictures. On Krita and GIMP, when you work with g'mic-qt filters that generates multiple layers from the interface, you get outputs of multiple layers. That is not possible on Paint.NET. Hence, why I was contacting one of the main maintainer of g'mic-qt to add a option to allow exports into a folder into Morph [Interactive], so @zaffer can save the outputs.
  11. @zaffer I should let you know that I am notifying @G'MIC to add a workaround for Paint.NET users, so you can generate multiple pictures and output to a folder. So, one wouldn't need to use TR's Morpher.
  12. @Pixey As far as I'm concerned, Paint.NET can only output to the same layer a plugin applies the effect on. So, this means that the filter needs workaround support akin to filters I have made workarounds for Paint.NET such as Non-Isometric Tiler and Tiled Form. I will notify @G'MIC as he is the author of the Morph[Interactive] filter. He can edit the current filter, and please notify the author of another thread asking for help on Morph that I have notified @G'MIC about this issue. So, it would be possible to generate multiple pictures generated from the Morph [Interactive] and output into a folder once this gets addressed.
  13. I got news, guys! I decided to get a job (couldn't earlier because of fatigue issues, and coronavirus lockdowns), so I will not be making filters for g'mic-qt any longer. There is a upgrade to Tiled Form filter though. In interest of programmers here - I will leave files and drop a note within Testing->Reptorian for anyone that wish to take over. This thread may be locked right after I do that though I may leave it open if any programmers asks me the intrinsic of those effects and how they work. I have not decided on that yet.
  14. Incoming update 2.9.1 tommorow. Source:
  15. Another news, I will be adding more features to Tiled Form filter soon. Also, will consider limitation of PDN filter and enable exports.
  16. I must admit, exquisite-looking entries.
  17. As someone that worked with Krita source code. Can confirm. Even seemingly small stuff can be difficult to create.
  18. I'll admit I have only refactored code, and I still am pretty much mostly refactoring code. However, with this commit, this means some of my filter will have more options. Picture result below with $ gmic sp lena sp dog sp cat rep_kodl \"r2dx 200% blur 5\",1.
  19. It been a while. I hope to see more pictures.
  20. I don't think the OP will be back. However, I will recommend you to learn kernel processing first, and then search for algorithm on denoising after. It's too late for anyone for the OP to ask for the OP, nor will anyone provide you the source without permission of the OP. I think that the plugin made by @ncoquard would require multi-threaded processing.
  21. Sure, understand scripting/programming. The closest to your request would be TileWorld or G'MIC-QT Interactive RPG Non-Isometric Tiler. They both utilize the concept of snapping to grid.
  22. From what I see, this is basically utilizing fourier transform. I have not read the code that much to determine that, but the example picture shows it, right?