Jump to content

jchunn

Members
  • Posts

    149
  • Joined

  • Last visited

Posts posted by jchunn

  1. when I just downloaded the pkg awhile ago I ended up with two bricks in the render plugin. and no varicose

    I have seen this before. Take a look at this post if you are getting doubles in the menu and see if that solves it.

    It is not that a dont want all your plug ins. But the drop down menu for the effects has a tendency to become taller then my screen. And then I usually removes the plug ins I use the lest. So separate dll`s would bee nice. :wink:

    I have considered this in the past. I don't think it is a bad idea... in fact I agree that it is a good idea. Two requests is enough for me to get the hint. It will take me about a half hour to do. I'll split them up with my next update. I am working on another effect, so when that is done (probably this weekend) I'll post a version with the dll's seperated out.

  2. one time I could download individual plug ins. is that not the case any longer with yours?

    only in a pkg. ?

    I actually like to just pick and choose which ones I want, in this case I only want to use varicose. is there separate download anywhere?

    No. I may split them up in a future build, but for now they are all together.

  3. Wow, Focal Point @ Quality=3 on a 7MP image even makes my QX6700 cry a little ... (Core 2 quad-core 2.66ghz). Took about 23 minutes of CPU time as reported by Task Manager, which divided by 4 is about 5m:45s human time (divide by 4 because of 4 CPU cores each doing roughly equal work).

    Cool stuff, definitely needs perf work though ;)

    Okay, I've made another performance change. Rick, if you get the time, I'd like to know what the results of that same test look like with the latest (March 8, 2008 or newer) version. I realize you are not my personal QC team... but if you get the chance I'd be interested in the difference in the scenario quoted above.

    Any further performance gains would require some serious changes.

  4. I downloaded the Vandermotten framework, but i changed my mind, and then modified the source, so it don`t use it.

    I made the config dialog, token parameters, and made them update, everything is good except one thing: The render loop do not change the image! Can somebody tell me why

    It is working, but the code is apparently not changing the pixels that you are writing out. Try this...

    At the end of your render function, change this:

         
        T = srcArgs.Surface.GetBilinearSampleWrapped(vx, vy);
        dstArgs.Surface[x, y] = T;

    To this:

         
        T = srcArgs.Surface.GetBilinearSampleWrapped(vx, vy);
        T = ColorBgra.Black;
        dstArgs.Surface[x, y] = T;

    All that is doing is turning every pixel to black. As you can see, it works fine... every pixel is turning back... so, in your code, "T" is getting written to the canvas, but apparently it is not being changed at all (or not enough to notice) by your code.

    I briefly reviewed you code, and it appears to be fine in terms of a working effect... I think your effect code is just not doing what you expect.

    I'd like to know if this helped or if you are still having troubles.

  5. First of all, I want to apologize, because I think this question has been asked before, I used the search menu and couldn't find the thread.

    I'm creating an image with several eye's in it. I decided to use ash's method instead of my own for this project. My question is, can i add veins in the eye? I want settle red veins, not a ton of them, just a few. I'm a where of the 'vein' plug in, but I'm not sure how to put it together, any help would be great, if someone knows how to find the page where this was asked please send it to me and close.

    Thanks

    Kevin

    By "vein" plugin, I assume you mean the "Varicose" plugin. If so, add the step below to Ash's eye tutorial between step 5 and 6 and you should be good to go. Use the rectangular select tool to select the white section of the image before you run the Varicose plugin.

    file.php?id=1584

    Which, once you finish the tut, will give you something like this:

    file.php?id=1585

    12758_43d212f8bd2d6b9e7ab56106617fc65b

    12758_4e07e97838eff297e1f3739f8edefdf2

  6. I am copying from a website. For instance, the Paint.NET logo at the top of the forum has a transparent background. When pasted into Paint.NET, it is filled white. All transparency is lost. Also, I am using PdN v3.22

    This is because web browsers on Windows copy images to the clipboard as bitmaps, which do not support transparency. The applicaction that is being copied "from" must support the ability to copy other image types or they will always be bitmaps.

  7. Why would this thread be locked? It is obviously of interest to some members (like myself). I would love to see the simple tutorials just get moved to the "simple tuts" forum, or better yet, just move the really good ones to the "expert tuts" section, so that nobody gets insulted.. kinda like what the sticky's are for, but with more room, since the sticky's take up almost a whole screen now.

  8. ...once I understood that what he is trying to do is just get the "min" and "max" rgb values from the entire image (all pixels), and he didn't want to do that for every call to OnRender, since he only needed to do that once.

    Oh. I didn't bother reading the code... silly me.

    @PhilipLB: in that case, do it in OnSetRenderInfo, as jchunn said. hehe :D

    Don't feel bad... I made the exact same mistake with my first (deleted) response :oops:

  9. Instead of looping through the whole image each time Render is called, you should only loop through the pixels passed by the array of Rectangles passed to the method. Otherwise, you're processing the entire image hundreds of times.

    Yes, that was in my original post, but I deleted it once I understood that what he is trying to do is just get the "min" and "max" rgb values from the entire image (all pixels), and he didn't want to do that for every call to OnRender, since he only needed to do that once. In other words, as you know, you are correct, and I agree.

    Put the part of the code that you only want to execute once in the "OnSetRenderInfo" method (instead of the "OnRender" method). OnSetRenderInfo only executes once per render (before OnRender starts getting called), whereas OnRender executes multiple times per render. Save the max values at the module level, and use the values in OnRender.

    Don't do that unless you absolutely must. It's not multi-threaded. Render is automatically multithreaded, and will give better performance.

    True, but this is a case where it makes much more sense to do it in the OnSetRenderInfo.

    It is no better or worse, performance-wise, than trying to figure out if this is the first time you are entering the "OnRender" method and just doing it one time in that method. Either way, you are executing the code exactly once, and by doing it in the OnSetRenderInfo, you actually eliminate the need to run logic multiple times to determine whether this is the first pass in OnRender or not, so overall performance would actually be (negligably) better by doing it in OnSetRenderInfo.

    The problem, however, is that it is possible that the second call to OnRender could complete before the first call has completed, because the first call will be MUCH slower since it has to iterate through the entire image. In that case, the threading model would introduce a bug that would be difficult to debug. Since his "min" and "max" values are not yet set, any "OnRender" calls that completed before the first one would have bad data, and the only fix would be to go back to using OnSetRenderInfo, or create a "hack" to delay all other threads until the first thread completes.

    OnSetRenderInfo is garaunteed to complete before the first call to OnRender, so that is what I would recommend.

  10. Thanks, That's great. The limiter works perfectly. I just tried it on a 19mb TIFF file and it only took about 60 seconds on limit 5 quality 3. Very well done and great plugin. Funny I spent thousands to buy the best lenses i could find and now want to make my images fuzzy!

    Do you know if anyone has a plugin that will creat a soft white border around a picture (like a vignette effect only white) I will be shooting several weddings this year and some of the clients want this soft white border effect on several shots. It can be done with the filters I have but it's better done afterwards because the filter effect is part of the image that can't be changed.

    Hmmmmm... that sounds like a good idea for a new plugin :)

    Something like this? http://z.about.com/d/graphicssoft/1/0/Y/j/4/ak23-16vignette.png

  11. Wow, Focal Point @ Quality=3 on a 7MP image even makes my QX6700 cry a little ... (Core 2 quad-core 2.66ghz). Took about 23 minutes of CPU time as reported by Task Manager, which divided by 4 is about 5m:45s human time (divide by 4 because of 4 CPU cores each doing roughly equal work).

    Cool stuff, definitely needs perf work though ;)

    Were you using the latest version (with the "blur limit" setting)?

  12. Put the part of the code that you only want to execute once in the "OnSetRenderInfo" method (instead of the "OnRender" method). OnSetRenderInfo only executes once per render (before OnRender starts getting called), whereas OnRender executes multiple times per render. Save the max values at the module level, and use the values in OnRender.

×
×
  • Create New...