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.
Even if i have a good pc running hotscreen + game (like cs2, overwatch ect...) make me lag or less fps so with this mod you can choose what .exe launch make hotscreen pause and hotscreen restart when you leave it.
Posted by: Wombatant1 - 03-13-2026, 10:05 AM - Forum: Mods
- No Replies
Hi,
I Claude-ed a simple mod that allows for vibration triggering on bodypart detecion, with customizable delay and 'grace period' that is the same thing as 'stay detected during' setting in filters.
Simply put - add a mod, click connect (the connection takes longer than other apps of this kind, no idea why tho) select the vibe intensity and bodyparts it has to react to and you're good
I'm working on patterns and and multi-vibrating toys, but i can't make it satisfactory.
Implemented patterns menu is availbe in v1.3, but i don't like this ui, so consider this a wip:
you can select different patterns for different bodypart and then select which bodypart triggers the vibration. (there's 'escalation mode' but it's not functional as patterns kind of eliminated it's use
You select what body part can send a msg, the cooldown between msg, and a cooldown for false detection
To use it: In Discord serveur, go to your channel → Edit Channel → Integrations → Webhooks → New Webhook → Copy URL, then paste it into the new field in the mod's UI.
Found this on Xtoys. Apparently a way to make your toys react to Hotscreen levels collections.
I just have difficulty finding the mod. Anyone have an idea?
A common thing I would think is a prompt-style popup where you need to type in a phrase.
Is this possible to do with a mod so a pop-up window with some text could appear over the body and you need to type in some text?