This post includes three main body-line clipping filters: V2.1, V3, and V3.1.
They are listed in order: V2.1 → V3 → V3.1
What these filters actually are
All three filters are built around Godot shader logic, color-space matching, nearby-pixel checks, and short-range region filling.
They are NOT true body-part recognition models.
That means if some small or awkward exposed body parts are still missed, it is mostly because this setup is already reaching the practical limit of Godot-side heuristic detection and the recognition method used here — not because of one tiny coding mistake or one small threshold being wrong.
So if a version still misses a small exposed detail, especially under:
heavy stylization
dark shading
compression
unusual colors
difficult poses
black clothing near skin
pink or red backgrounds
that is mainly an engine / recognition limitation, not just a bug.
Custom Body Line Clipping V2.1 Best for: strong and simple overall censor coverage
V2.1 is the most direct and aggressive version of the three.
It focuses on broad body-line clipping and usually gives the strongest first-pass coverage.
This is the best choice if the goal is to catch as much as possible quickly.
The tradeoff is that it can be rougher and less precise in difficult scenes.
Use this if:
broad censor coverage matters more than precision
a simpler version is preferred as a starting point
the content does not have too many difficult shadows or confusing background colors
Custom Body Line Clipping V3 Best for: better handling of shadowed skin and more stable body continuity
V3 improves on V2.1 by adding better support for darker or shadowed body regions and more controlled local expansion.
In practice, it usually holds body areas together better when lighting gets weird or when skin tones shift into darker purple or low-light colors.
Use this if:
V2.1 misses shadowed or darker body regions
a better balance between coverage and control is needed
the scene has more difficult lighting or color variation
Custom Body Line Clipping V3.1 Best for: the most refined balance between coverage and precision
V3.1 is the most advanced and most refined version of the three.
It is designed to be more careful about when and where it expands the censor region.
In practice, this is usually the best balance between:
catching important exposed areas
avoiding unnecessary spreading into unrelated shapes
Use this if:
the most polished version is wanted
the best balance between precision and body-part coverage is needed
harder scenes are being tested and less unnecessary spreading is preferred
Which one should be used?
Simple rule:
Start with V2.1 if the goal is the strongest and simplest broad coverage
Move to V3 if V2.1 misses body areas under dark or difficult lighting
Use V3.1 if the goal is the most refined overall balance
Important limitation
These filters do NOT actually understand anatomy the way a trained segmentation or body-part detection model would.
They work by estimating likely regions from:
color
shading
nearby pixels
local support and short-range connection logic
So edge cases will always exist.
Small missing body-part censoring can still happen, especially with:
stylized anime art
strong shading
compression
unusual color grading
black clothing near skin
pink/red backgrounds
tiny exposed details
At this point, further improvement would likely require moving beyond pure Godot shader heuristics into a more advanced recognition or segmentation pipeline.
Quick usage note
The screenshot above shows a short guide for how to stack and use the filters.
The three body-line clipping filters included here are:
Custom Body Line Clipping V2.1
Custom Body Line Clipping V3
Custom Body Line Clipping V3.1
Choose the one that fits the scene best, then combine it with Censor/Repeated Text as needed. Some cheap talks
This is inspired from endofbeen, I'm studying embedded system and actually have some free time so I decided to make it in 2 hours.
This mod uses the python script made by @Eilysia over on discord to put Hotscreen censors overlay always on top of other windows. This fixes the issue of some programs being displayed on top of the censors overlay.
The mod enable you to have it automatically start with Hotscreen and handle killing the python script when Hotscreen is closed. You only need to have the mod loaded in one of your Hotscreen instances if you have multiple screens, the script handles all screens.
Tested and working with:
Edgeware++
Firefox's Picture-in-picture that allows you to have videos always on top as a floating window
I made a mod that adds games when you're locked in Hotscreen and punishes you
For now there's only 1 game: Dice! Roll the dice against the computer. If you score lower than the bot, time will be added. If you do better, time will me removed. There's also a full system that forces you to play x times in a defined duration (every day for example) and you get punished if you don't play enough (time added, countdown remove, collections toggled, up to you!). Chaster users will recognize some of it :eyes:
I hope to add more games soon! Wheel of fortune with customizable actions is partially working and most of it is implemented, just need more time cooking.
This mod does not have visual kinks or flairs, it's a purely functional lock extension with basic UI for now, but I hope some interesting features. Again, hope to have something more kinky one day.
Please read a more detailed description and the limitations on the github page.
I wanted to automate saving crops So I generated a box scene that does the work.
Attention!!! This scene box may slow your PC, due to instant screenshots when selected bodypart recaptured by Hotscreen. By default it saves files in directory "C:/Users/Admin/Downloads/" which you probably don't have, so: 1. You need to open .tscn file with Notebook
2. Change "C:/Users/Admin/Downloads/" in two lines (screenshot) to the path whereever you want captions to be stored. - You can just change "Admin" to your PC name, and captions will be stored in your system Downloads folder
3. NOTE that in path you MUST put Forward slashes (/) between folders. If you just copy path from Explorer, there will be Back slashes (\), and Scene box will not work.
Installation: 1. Just put .tscn file in your CUSTOM_DATA directory
2. Open .tscn file with Notebook, change caption save directory
3. To add follow in Hotscreen: Add a Filter - Mods - Box scene - Edit filter - Select custom scene - AutoCapture.box.tscn
*It just makes screenshots of captured bodyparts and saves them. I picked the best ones and made a collage
The Concept: So I wanted to create a findom mod that was more immersive and felt more interactive. So with the help of AI I created a findom shop with a fitting banking system called LoserCard™. To create this mod and write this post I used AI. Its very findom and humiliation heavy so please always remember, that this is a fantasy! So stay safe and have fun!
The "Beta Shop" Mechanics:
On detection of nudity you will get a message by your mistress which brings to this mandatory shopping site. The Mistress has a quota you have to hit before the checkout even unlocks. She’ll also call out specific items she wants (shoes, bags, whatever), and if you don't add exactly what she's demanding, you’re not leaving.
The Payment Gateway:
I spent a lot of time on the "BetaSafe" authentication system. It’s designed to be annoying and humiliating:
Oath Typing: You have to type out randomized phrases like "I AM A PATHETIC LOSERCARD HOLDER" to authorize the drain. If you make a single typo, the UI mocks you, wipes your progress, and makes you start over.
Captchas: You have to do image captchas to prove you're a "good boy" before the transaction goes through.
The Loan System & "Loser-Rating": If you run out of cash, the mod doesn't just stop. You have to open a support terminal with the LoserCard AI to beg for credit. It’ll "scan your footprint," ask you to rate how much of a loser you are, and then give you a high-interest loan based on your ego. You also have to sign a long-winded TOS that basically says your financial freedom is over.
Live Chat & The Leaderboard
I didn't want the Mistress to just be a static image while you’re in the shop, so I built a window called BetaChat™. If you're stalling at the checkout or taking too long to type your apology, she actually gets bored and starts "treating herself." She’ll buy luxury items—like first-class flights or spa days—using your balance in real-time. It’s basically a penalty for being slow; the longer you wait, the more of your money she just throws away. I also added a leaderboard where you can compare yourself to other NPC findom users
Technical Infos You can set your own folders for Shop Items, Mistress Portraits, and Captcha images. Included an emergency stop/reset for which closes all the popups
For shop items to display the right price you must name the picture like this: Shoes_400.jpg
Feedback is always appreciated, let me know what you think!
Update: For ease of use I added the photoset which I used so test it.
I didn't like how built-in blur looked like at high values So I generated a shader for another variant of adjustable Gaussian Blur
Adjustables through code: uniform float blur_radius : hint_range(0.0, 50.0) - The radius of the blur in pixels. Higher = more blur. uniform float blur_intensity : hint_range(0.1, 5.0) - Higher values make the blur softer/more spread out for the same radius
There are little more, but I'm not sure what they do...
Installation: 1. Just put .filter file in your CUSTOM_DATA directory
2. To add follow in Hotscreen: Add a Filter - Custom filters - Blur_shader
If you don't want to download anything, you can just copy it's code: 1. Follow in Hotscreen: Add a Filter - Mods - Shader effect
2. Press "Expand code window" and delete all the code
3. Paste this, and then press "Apply shader code": shader_type canvas_item;
// --- Adjustable Parameters --- // The radius of the blur in pixels. Higher = more blur but slower. uniform float blur_radius : hint_range(0.0, 50.0) = 17.0; // The intensity (sigma) of the gaussian distribution. // Higher values make the blur softer/more spread out for the same radius. uniform float blur_intensity : hint_range(0.1, 5.0) = 1.0;
// always put this to get if the border must be smoothed uniform int use_smooth;
// this allows to sample the current screen correctly global uniform int ScreenRotation; global uniform sampler2D CurrentScreenTexture;
// Normalize texel size to be consistent across resolutions (based on 1920 width reference) float coherent_texel = 1.0 / 1920.0; vec2 texel = vec2(coherent_texel, coherent_texel * SCREEN_PIXEL_SIZE.y / SCREEN_PIXEL_SIZE.x);
// Calculate Sigma based on radius and user intensity adjustment // Standard Gaussian relation: sigma ≈ radius / 3.0 covers 99% of the curve float sigma = max(0.1, (blur_radius / 3.0) * blur_intensity);
// Determine how many pixels to sample on either side of the center // We clamp to prevent performance spikes, maxing out at roughly 32 samples per axis int range = int(ceil(sigma * 3.0)); range = clamp(range, 1, 32);
vec4 accum = vec4(0.0); float total_weight = 0.0;
// --- Horizontal Pass --- for (int i = -range; i <= range; i++) { float x_offset = float(i) * texel.x; float weight = gaussian(float(i), sigma);
// Normalize horizontal result accum /= total_weight;
// --- Vertical Pass --- // To do a true 2D Gaussian separable blur, we take the result of the horizontal pass // and blur it vertically. Since we can't store intermediate textures easily in one pass, // we simulate this by accumulating the vertical samples of the *already horizontally blurred* logic? // NO: In a single pass fragment shader, we cannot actually do two distinct passes without a backbuffer. // // OPTIMIZATION FOR SINGLE PASS: // A true separable blur requires two draws. In a single custom shader slot like this, // doing a full 2D Gaussian kernel (sampling X then Y for every pixel) is O(R^2) and very slow. // // ALTERNATIVE APPROACH FOR SINGLE PASS: // We will perform a standard 2D Gaussian Kernel sampling (Radial Gaussian). // It is less efficient than separable but looks correct and fits the single-pass constraint. // We reset accum and sample in a grid/circle pattern.
accum = vec4(0.0); total_weight = 0.0;
// Sample in a square grid, discarding corners outside the radius for efficiency for (int y = -range; y <= range; y++) { for (int x = -range; x <= range; x++) { float dist_sq = float(x*x + y*y);
// Optimization: Skip pixels outside the effective radius circle if (dist_sq > float(range * range)) continue;
// Always put this code to correctly manage the transparency if smooth blending enabled if (use_smooth == 1) { final_color.a *= texture(TEXTURE, UV).r; } final_color.a *= COLOR.a;
With the help of AI i created a timer which increases the more you look at nudity.
The idea would be to punish the user for looking at nudity and increasing the time spent in chastity.
Rule:
Red light = stop, hands off.
Green light = go jerk off to the censor.
NO CHEATING ! NO CHEATING ! NO CHEATING !
This is a version without any humiliation words, because I’m not sure if you enjoy being humiliated like my subs do, and sexual preferences vary too. So this version contains absolutely no humiliation.