Cloak Effect - Where do I even start?

I want to create a cloaking effect in my game like off the film “Predator” or like the infiltrator from PlanetSide 2…

I’m using Slick2D as my framework. Do I use a shader? Pixel manipulation? I have no idea…

http://iridar.net/wp-content/uploads/2016/06/20111118_4ec6f04249c20.jpg

Here’s an example of the effect I’d like.

I want to say that it’s just sphere mapping

That doesn’t really help me, I’m currently completely clueless where to even start with this, how does sphere mapping relate to this? What is sphere mapping? How do I implement it in Slick2D?

A shader would be your best bet if you are already able to work with that and if slick does support shaders.

You could render your scene onto a FBO and use that fbo in the shader to mix the background and the character according to your idea of a cloak effect.
(research perlin noise in glsl, color blending basics and refraction)
If you do not know how to implement a basic passthrough shader that renders a texture, then you should take a step back and learn how to use shaders and opengl first, ThinMatrix has some very good beginner tutorials for the basics of opengl with lwjgl on youtube.

Pixel manipulation is slow, but that would work for a few textures per frame, it won’t give you refraction and custom blending though.

An easy way is to pre bake the sprites cloaked form, this is a huge workload though and changes will be tedious.

A simple approach would be what the original DooM games did for the invisible enemies:

from the DooM Wiki:

[quote]When a partially invisible thing is being drawn in Doom, instead of drawing the usual pixel data of the thing’s sprite the engine only considers the sprite’s basic shape. The space occupied by the sprite is then filled with the fuzz effect, which works by copying vertically adjacent pixels back and forth in a pattern (the fuzz table, defined in an array in r_draw.c) inside the framebuffer while applying the sixth colormap (counting from zero) to them. The final result is that the sprite appears as a translucent shadow, fuzzy and somewhat darker than the area of screen it was drawn over.
[/quote]
As for the colormap:

[quote]Colormap 6 is used to give a sprite partial invisibility by remapping pixels behind the object to darker shades of nearby pixels.
[/quote]
Of course a true approach will consider the object’s volume, but I’m guessing it all boils down to tweaking the pixels that would be rendered if the invisible object wasn’t there in the first place.