Giter Club home page Giter Club logo

mlbevelreflect's Introduction

ML Bevel Reflect - GIMP Plugin

Version: 2013-03-10

WARNING: This is for Gimp 2.8, i.e., completely outdated.

Overview and Examples

Example output (plus a drop shadow effect): example result

Input images:

example result example result

Other probe input and result:

example result

Normal map output example:

Installation / Compilation

This plugin is compatible with GIMP 2.8 (and should be with any 2.x version I guess).

So far there is only a Windows precompiled binary: MLBevelReflect-win-2013-03-10.zip (176 KB)
Compiling yourself should not be hard on other platforms, it is a single .c file: source code on github
To install, just copy the binary in the gimp/plug-ins folder.

Usage

With an RGB or RGBA image with white foreground objects on a black background, call 'filters/Map/MLBevelReflect'.

Invert input
For convenience: enable when you have an input image with black on white.

Slope Options
Flat is more like a 45 degree slope. The shape in the center is determined by the max. smoothing radius setting. You can use 1 pixel wide anti aliased foreground objects.
Round leads to a very smooth surface. Attention: Thick/wide objects currently take a very long time to compute!

Reflection Color
Normal map encodes the normal direction in RGB as commonly used by other programs.
A spherical probe image can be used as an environment map. The top left pixel is used for the background of the resulting image. If you want to use the alpha channel, both the input image as well as the probe image must be in RGBA.

Specularity
A diffuse reflection is an experimental option. At the moment it is probably better to manually blur the probe image yourself.

You can resize the dialog to resize the preview.

Future Work / Known Restrictions

  • White (foreground) objects touching the border will cause unwanted effects.
  • Thick white objects take a very long time to compute for the round slope.
  • Diffuse reflection does not really work very well.
  • Output is not yet anti aliased.
  • The reflection direction is a little bit off (not quite spherical).
  • There are some artifacts for the flat slope, it is not very smooth.
  • Convert to GEGL operations.

License / Donation

This plugin is free to use (released under the GPL). However, you might consider a donation, especially if you make money with it.

mlbevelreflect's People

Contributors

vaifrax avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

mlbevelreflect's Issues

Hangs GIMP on 64 bit Linux

I know it's been a while, but I am trying to get this to work on current Linux 64 bit systems and the plugin hangs up and stops responding when using with current gimp releases forcing me to terminate the plugin.

Not sure if this has anything to do with it when I compile the plugin it compiles, but I get this warning at the end of the compile:

MLBevelReflect.c: At top level:
MLBevelReflect.c:77:17: warning: ‘mlbr_constraint’ declared ‘static’ but never defined [-Wunused-function]
   77 | static gboolean mlbr_constraint(gint32 imageId, gint32 drawableId, gpointer data);

This in on Manjaro Linux KDE 64bit.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.