Jump to content


  • Posts

  • Joined

  • Last visited

About ryanr23

  • Birthday 01/01/1970

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

ryanr23's Achievements


Rookie (2/14)

  • First Post
  • Week One Done
  • One Month Later
  • One Year In
  • Conversation Starter

Recent Badges



  1. v1.3 posted for download! See the first post of the thread for download link and details.
  2. Goonfella, you definitely have the original "slower" version of the v1.2 plugin. Can you delete that and download again and see if that speed things up? Your CPU should be plenty fast enough. Also, I just committed some code to add "Diffusion Factor" as another user configurable property for the effect. This affects how "fuzzy" the shadow gets. If you have any feedback on the concept, let me know and/or take a look at the updated code on GitHub before I build a new version for download. Thanks!
  3. Can you check the version of ShadowEffect.dll by right clicking and going to the Details Tab? I believe the version should be If it's something else, you might see if you have the wrong copy. Also, what kind of computer (CPU?) do you have? I'm pretty sure GPU performance doesn't have any affect on this, unless there's some magic going on that I'm unaware of.
  4. Updated. Renders much faster for me, take a look and see if you get the same results. Good catch!
  5. I just profiled both plugins and found that retrieving the property value from the token in the render loop is slowing the operation down significantly. Pull those out of the loop and it runs significantly faster. I'll get that updated and post a new version soon.
  6. Bumping this as the plugin has been refreshed for v4.0. How do I update the thread title?
  7. Where can I find your shadow plug in to download?


  8. Thanks for the feedback! No, the operation isn't simply looking for alpha values of 255, but it isn't much more complex than that. Sorry for the simplistic explanation. It takes the source pixel, converts to black and scales the alpha based on the configured shadow alpha. So if your configured alpha is 115, a pixel with alpha of 255 will get scaled to 115, a pixel with an alpha of 128 will get scaled to 58. Obviously 0 goes to 0. I assume that you are implying that multiple src pixels get mapped to one destination pixel in the shadow in which case you would want to blend the source pixels to calculate the destination pixels value. In which case, I agree... I haven't gotten there yet. However, I might be able to accomplish the same thing by blurring the image before calculating the shadow, rather than blurring the shadow after the fact. I'm not sure... Also, if it wasn't apparent from the original post, the current plugin translates the source layer into a shadow layer. The source layer is not preserved. The result of the operation is a mostly transparent layer that can be overlayed on other images to appear to give it depth. This is how the google maps API works. BTW, I'm not super familiar with the entire Paint.NET API at this point, but by "UserPixelOps.Normal.ApplyStatic()" did you mean "UserBlendOps.NormalBlendOp.ApplyStatic()"?
  9. This plugin creates a shadow as if from a direct light source in front of the object in question. As with the other shadow plugins, you need to be working on a layer with transparencies. The shadow is applied to all opaque pixels on the layer. Also, the bottom of the image is assumed to be the "ground" and the shadow is relative to that point. View project on GitHub Requirements Paint.NET v4.0+ Installation As usual, copy the dll to the Effects folder and restart Paint.NET. Download ShadowEffect_1_3.zip (3/30/2015) Added Diffusion Factor Added Plugin Browser compatibility ShadowEffect_1_2.zip Plugin example See GitHub page for latest example. Previous Versions -- Ryan
  • Create New...