Age Verification
This website contains age-restricted material including nudity and explicit content. By entering, you confirm being at least 18 years old or the age of majority in the jurisdiction you are accessing the website from.
I am 18+ or older - Enter
I am under 18 - Exit
Our parental controls page explains how you can easily block access to this site.

Discussions for Scenes for Version 1.2.X Fullscreen Mode here

  Forum / Everything about iStripper

Z22
Joined in Aug 2017

1166 post(s)
November 22, 2017 (edited)
Cut down to minimum(i think) version of the normal map shader

https://drive.google.com/open?id=1-0lnOCDFnjiwU3iIiBZIghpTE1YQ7O4y

Background is olive because the blue channel has a black background rather than 0.5
Some clothes go olive too.
Z22
Joined in Aug 2017

1166 post(s)
November 22, 2017 (edited)
Having

highp float Colours0 = ( G0.r + G0.g + G0.b )/3;

rather than

highp float Colours0 = ( G0.r + G0.g + G0.b );

reduces noise but lessens the resulting effect.

gl_FragColor = vec4( ((1.0+Red.x)*0.5), ((1.0+Gre.y)*0.5), (G4.r + G4.g + G4.b)/3.0+0.5, 1.0);

turns the background gray but you loose z resolution.
Z22
Joined in Aug 2017

1166 post(s)
November 22, 2017 (edited)
Finaly got the refraction version working..

https://drive.google.com/open?id=1TYTgwfZgktsirTWVeaOkwhG1ZyKjXZuB

It still has some bugs with dark colours and the EPBlur may no longer be needed but i thought i would leave it in anyway(it needs setting corectly too).

It also works with the 3d version. You need 2 copies of the refract shader and have something like

color.r = texture2D(texture0, vec2( refR.x+0.496, refR.y)).r;
color.g = texture2D(texture0, vec2( refG.x+0.496, refG.y)).g
color.b = texture2D(texture0, vec2( refB.x+0.496, refB.y)).b;

in one

color.r = texture2D(texture0, vec2( refR.x+0.504, refR.y)).r;
color.g = texture2D(texture0, vec2( refG.x+0.504, refG.y)).g;
color.b = texture2D(texture0, vec2( refB.x+0.504, refB.y)).b;

in the other.

closer values can help stop your eyes freaking out.
Z22
Joined in Aug 2017

1166 post(s)
November 22, 2017 (edited)
Slight adjustment to make the Red and Gre values fit into 0.0 to 1.0 range

highp vec3 OutV = vec3( (1.0+Red.x)*0.625, (1.0+Gre.y)*0.625, Blu0 ) ;

and

highp vec3 OutV = vec3( (1.0+Red.x)*0.625, (1.0+Gre.y)*0.625, Blu0+0.25 ) ;

Adjust Blu to get rid of the dark colours problem, bit janky as it goes over 1.0 and i'm not sure the if the refract clamps it to 1.0 or can use 1.25 so it may loose some detail, but it's not much as its only the highlights on the source image that get pushed over.

Edit:- refract doesn't care if it's over 1.0, it's just if it has positive and negative numbers(eg:- -1.0 to 1.0) that bork it.
lukaszr
Joined in Dec 2007

722 post(s)
November 22, 2017
@Z22
Today I bought new batteries to my 3D glasses and saw your 3D scene. I have to say - very good job.
Can you make the scene with 3D effect only? I mean without the "see through" / "glass-like" effect?
Z22
Joined in Aug 2017

1166 post(s)
November 22, 2017
@lukaszr Yeh you can do it. Though atm you just get one view of the girl suspended in front of the screen with no depth to her body. I think you could do some fakery with the camera3D settings in the .scn(not tried yet) but that would again just be flat images. It should be possible to get at least a somewhat janky version with depth working but that requires a fair bit of work.
Z22
Joined in Aug 2017

1166 post(s)
November 23, 2017
Hmm... i wonder what happens if i push the result of a refract through another refract...
Z22
Joined in Aug 2017

1166 post(s)
November 23, 2017 (edited)
Ahhhhh. solved the 2 textures into one shader " bug"

framebuffer
{
size: 3840, 2160
id: 3D

clipSprite{
pos: 1920, 1080
source: CleanGirl, 0
source: BG, 1
shader: fragment, 3D.fsh
}
}

***** knows why both sources have to be inside a clipsprite but it works.

Wonder if this solves the dusty bug....

super simple example of it workin as a glass effect

https://drive.google.com/open?id=1lsXpSOO6YUImfBJnbKvSC9dDisDHepGz
Z22
Joined in Aug 2017

1166 post(s)
November 27, 2017
Coming attraction...
EverthangForever
Joined in Oct 2009

2457 post(s)
November 27, 2017 (edited)
@Z22 woohoo something great that you are forging above 👍
I tried to edit the link back here to that, from my share post, however..
Totem made the share thread post uneditable due to...some forum ruling about hours avail to re-edit.. grrr
Z22
Joined in Aug 2017

1166 post(s)
November 27, 2017
Yeh, it's a tit for doing that if someone replies while your editing
EverthangForever
Joined in Oct 2009

2457 post(s)
November 27, 2017
http://www.istripper.com/forum/thread/29408/19?post=560187
Everything about iStripper / Share your FullScreen - Member Created Scenes here
Background sends my eyes skitz when crossed to see the girl in that pic. When eyes crossed the second from right girl has problems because you can see the pole and no pole across her body. Suggest add...
Ok tried to delete that all..and try here instead..keep dem share posts for links and such :-)
@Z22 thanks lots...Its just the bare bones concept to show peeps.
With me it is a matter of one''s mind saying one wants to see it close to yr face
plus moving one's finger side to side helps lock it in with the bars there.
The overlap can be brain trained to go away by practice. I have a floater in my eye so I know
how easily that is accomodated by just not thinking about it...but hey thats just me....hehe
Feel free to edit or make new mixes as you see fit all squires ;-)

PS ... i wish @Theemu had a uniform for his Fairy Magic.fsh for us to center the
stars output higher or lower on a clipsprite quad.

Jhonyrocky1
Joined in May 2016

5 post(s)
November 27, 2017 (edited)
Please give the nappi and angie line for free, because i have no money. Please i am requesting please..


Edit by Mod:
Absolutely no need to ask the same question multiple times so they were removed

Also, begging is very annoying and unbecoming
Z22
Joined in Aug 2017

1166 post(s)
November 27, 2017 (edited)
The sprite under "/////// Name behind poles" is causing a 50% fps drop on my system

animate: 24, PingPong, easeOutElastic, pos, 600, 0, 0
thats causing it.

I don't think it likes having 10 animates

Cant you group then into nodes?
Z22
Joined in Aug 2017

1166 post(s)
November 27, 2017
reduced animation calls by combining into a node

node1
{
//half pole right
sprite {
pos: 500, 738, -100
size: 25, 576
hotspot: 0.5, 1.0
scale: -1.0, 1.0, 1.0
source: halfpole

}
//half pole middle
sprite {
pos: 300, 738, -100
size: 25, 576
hotspot: 0.5, 1.0
source: halfpole
scale: -1.0, 1.0, 1.0

}
//half pole left
sprite {
pos: 100, 738, -100
size: 25, 576
hotspot: 0.5, 1.0
source: halfpole
scale: -1.0, 1.0, 1.0

}
animate: 24, PingPong, easeOutElastic, pos, 0, -64, -300
}
Z22
Joined in Aug 2017

1166 post(s)
November 27, 2017


camera {
type: 3D
pos: 0, 0, 500
angle: 45

sprite {
pos: 0, -520, -1000
size: 6040, 1080
hotspot: 0.5, 0.0
source: Background2Dfb01
rot: 0, 0, 0
animate: 24, PingPong, easeOutElastic, pos, -1800, 0, 0
//resolution: 10
}
/////// Name behind poles
clipNameSprite {
pos: 0, 215, 0
scale: 0.333, 0.333
hotspot: 0.5, 1
color: 255, 215, 0
source: Clip
animate: 24, PingPong, easeOutElastic, pos, 600, 0, 0 // Move name to the right
}
node1
{
//half pole right
sprite {
pos: 500, 738, -100
size: 25, 576
hotspot: 0.5, 1.0
scale: -1.0, 1.0, 1.0
source: halfpole
}
//half pole middle
sprite {
pos: 300, 738, -100
size: 25, 576
hotspot: 0.5, 1.0
source: halfpole
scale: -1.0, 1.0, 1.0
}
//half pole left
sprite {
pos: 100, 738, -100
size: 25, 576
hotspot: 0.5, 1.0
source: halfpole
scale: -1.0, 1.0, 1.0
}
animate: 24, PingPong, easeOutElastic, pos, 0, -64, -300
}
node2
{
////+++++++++++++++++++++++++++++++++++++++++legs clones ////
// LegsRight model clone
clipSprite {
pos: 500, 160, -100
source: Clip
sittingHeight: 512
resolution: 20
scale: -1, 1, 1
opacity: 1.0
shader: fragment, Shaders/TheEmu - Fairy MagicET01.fsh // a tad -high on Y axis, shader needs a Uniform
}
//Legs Middle model clone
clipSprite {
pos: 300, 160, -100
source: Clip
sittingHeight: 512
resolution: 20
scale: -1, 1, 1
opacity: 1.0
shader: fragment, Shaders/TheEmu - Fairy MagicET01.fsh
}
//Legs Left model clone
clipSprite {
pos: 100, 160, -100
source: Clip
sittingHeight: 512
resolution: 20
scale: -1, 1, 1
opacity: 1.0
shader: fragment, Shaders/TheEmu - Fairy MagicET01.fsh
}
animate: 24, PingPong, easeOutElastic, pos, 0, -64, -300
}

node3
{
///+++++++++++++++++++++++++++++++++++++Torso sets // Torso Right model clone
clipSprite {
pos: -500, 800, -100
source: Clip
sittingHeight: 512
resolution: 20
scale: -1, 1, 1
opacity: 1.0
shader: fragment, Shaders/TheEmu - Fairy MagicET01.fsh
}
//Torso Middle model clone
clipSprite {
pos: -300, 800, -100
source: Clip
sittingHeight: 512
resolution: 20
scale: -1, 1, 1
opacity: 1.0
shader: fragment, Shaders/TheEmu - Fairy MagicET01.fsh
}
//Torso Left model clone
clipSprite {
pos: -100, 800, -100
source: Clip
sittingHeight: 512
resolution: 20
scale: -1, 1, 1
opacity: 1.0
shader: fragment, Shaders/TheEmu - Fairy MagicET01.fsh
}
animate: 24, PingPong, easeOutElastic, pos, 0, -64, -300
}
}
Z22
Joined in Aug 2017

1166 post(s)
November 27, 2017
Premake the girl + sparkles before the camera as there not different in the 3 instances.

framebuffer
{
id: Girl
source: Clip
sittingHeight: 512
resolution: 20
scale: -1, 1, 1
opacity: 1.0
shader: fragment, Shaders/TheEmu - Fairy MagicET01.fsh
}

cuts down on calls to the fairy shader

node2
{
////+++++++++++++++++++++++++++++++++++++++++legs clones ////
// LegsRight model clone
clipSprite {
pos: 500, 160, -100
source: Girl
}
//Legs Middle model clone
clipSprite {
pos: 300, 160, -100
source: Girl
}
//Legs Left model clone
clipSprite {
pos: 100, 160, -100
source: Girl
}
animate: 24, PingPong, easeOutElastic, pos, 0, -64, -300
}
EverthangForever
Joined in Oct 2009

2457 post(s)
November 27, 2017 (edited)
@Z22 brilliant..thanks

@TheEmu, I hope when Fairy Magic is recoded, that it stays as portable as it is now.
ie: Just Uniforms...no need for nesting specific quads declared in the .scn files working
from framebuffers insisted upon in order to keep it working . FM is so elegant as it is 👍
TheEmu
Joined in Jul 2012

3309 post(s)
November 27, 2017
The sprite under "/////// Name behind poles" is causing a 50% fps drop on my system

animate: 24, PingPong, easeOutElastic, pos, 600, 0, 0
thats causing it.

I don't think it likes having 10 animates

Cant you group then into nodes?

I had never noticed a simple animate like that cause any performance problems, and I have scenes with a large number of animate clauses scattered over many nodes - a few in the high 30's, a few in the mid 80's and one with 104 animates. It might be the combination of animate: acting on a node that uses a shader.

In any case, Z22's suggestion to group things with a node and factor out common stuff like this is a good one, not only for the animate caluses but for anything that can be factored out such as pos:, rot: and scale: - if nothing else it reduces the size of the code making it easier to read, makes it clear what is common and what is changing. In this particular example all the pos: clauses in a group have the same Y and Z components, so I would probably specify that in the enclosing node and then only specify the change in the X component for the individual sprites.
Z22
Joined in Aug 2017

1166 post(s)
November 27, 2017
just to save you the typing...

framebuffer
{
id: Girl
source: Clip
sittingHeight: 512
resolution: 20
scale: -1, 1, 1
opacity: 1.0
shader: fragment, Shaders/TheEmu - Fairy MagicET01.fsh
}



camera {
type: 3D
pos: 0, 0, 500
angle: 45

sprite {
pos: 0, -520, -1000
size: 6040, 1080
hotspot: 0.5, 0.0
source: Background2Dfb01
rot: 0, 0, 0
animate: 24, PingPong, easeOutElastic, pos, -1800, 0, 0
//resolution: 10
}
/////// Name behind poles
clipNameSprite {
pos: 0, 215, 0
scale: 0.333, 0.333
hotspot: 0.5, 1
color: 255, 215, 0
source: Clip
animate: 24, PingPong, easeOutElastic, pos, 600, 0, 0 // Move name to the right
}
node1
{
//half pole right
sprite {
pos: 500, 738, -100
size: 25, 576
hotspot: 0.5, 1.0
scale: -1.0, 1.0, 1.0
source: halfpole

}
//half pole middle
sprite {
pos: 300, 738, -100
size: 25, 576
hotspot: 0.5, 1.0
source: halfpole
scale: -1.0, 1.0, 1.0

}
//half pole left
sprite {
pos: 100, 738, -100
size: 25, 576
hotspot: 0.5, 1.0
source: halfpole
scale: -1.0, 1.0, 1.0

}
animate: 24, PingPong, easeOutElastic, pos, 0, -64, -300
}
////+++++++++++++++++++++++++++++++++++++++++legs clones ////
node2
{
////+++++++++++++++++++++++++++++++++++++++++legs clones ////
// LegsRight model clone
clipSprite {
pos: 500, 160, -100
source: Girl
}
//Legs Middle model clone
clipSprite {
pos: 300, 160, -100
source: Girl
}
//Legs Left model clone
clipSprite {
pos: 100, 160, -100
source: Girl
}
animate: 24, PingPong, easeOutElastic, pos, 0, -64, -300
}

node3
{
///+++++++++++++++++++++++++++++++++++++Torso sets // Torso Right model clone
clipSprite {
pos: -500, 800, -100
source: Girl
}
//Torso Middle model clone
clipSprite {
pos: -300, 800, -100
}
//Torso Left model clone
clipSprite {
pos: -100, 800, -100
source: Girl
}
animate: 24, PingPong, easeOutElastic, pos, 0, -64, -300
}
}
Z22
Joined in Aug 2017

1166 post(s)
November 27, 2017 (edited)
@THEEMU i think it may have been that he was calling the sparkle effect 3 times rather than the animates,

i can get away with

#define SECONDARY_PARTICLE_COUNT 10
#define SECONDARY_PARTICLE_MULTIPLICITY 8

without it maxing a core out now
Z22
Joined in Aug 2017

1166 post(s)
November 27, 2017
hmm... curious.
Z22
Joined in Aug 2017

1166 post(s)
November 27, 2017
21:9 just because someone asked if the scenes could be in 21:9
EverthangForever
Joined in Oct 2009

2457 post(s)
November 28, 2017 (edited)
woohoo maestro ...sure, using nodes simplifies...thanks lots, & more power to you @Z22 👍
tiny correction for peeps pasting this..
//Torso Middle model clone
clipSprite {
source: Girl // add this
pos: -300, 800, -100
}
http://www.istripper.com/forum/thread/29408/19?post=560463
Everything about iStripper / Share your FullScreen - Member Created Scenes here
Ahh, right. i did start out just adding defines but i wanted to try and figure out what was going on in the code too so i just swapped them out with istrippers versions as i read through it. The thing...
The thing that had my head scratching for a bit was the "void mainimage(in blah out blah)" bit, changing that to "void main(void)" sorted out the "no program " error.

@Theemu, @Z22
back in 2015/16 (when we had a debug screen in VGHD..:-?)
I struggled with Shadertoy's ~The Cave by BoyC~ MsX3RH
to make it compatible. You can see the very rough changes I had to
make to "void mainimage(in blah out blah)" if you find orig MsX3RH
and can use the Beyond Compare program you'll see it. I still need to tile
these Labyrinths properly , but gave up that when Totem iStripper
jettisoned the VGHD debug screen. I have trouble cross referring via
the 'new' way to the morass of data in vghd.log and won't even try.
http://www.istripper.com/forum/thread/29408/19?post=560445
Everything about iStripper / Share your FullScreen - Member Created Scenes here
For turning 2d images into 3d check out "stereo photo maker" @http://stereo.jpn.org/eng/index.html. It's a small stand alone program which can make and save images in couple diffrerent ways. have had...
@WA I want a Full Screen Scene file ( Fragment Shader ) that will take a single 2D image and Emulate a 3D Image from it on the fly.
Feed it the Model Dancing, and on the fly it produces 3D.

@WA
Btw, while I wus experimenting with sMsX3RH using double Labyrinths around end of November 2015
(~easiest way to find those Labys.,click under link on the date heading on yr web, which sorts it to date..~)

http://scenes.virtuastripper.net/

there you will see that..paths make the distinction more easy in iStripper
If you apply same shader to similar textures derived from different paths it will render them separately.
ie:.Make two quite separate open texture directories, one level deep.
....Put same named texture sets in each of these texture directories, but offset pixels content of second texture directory's image files as you like...saving to their original name as before the changes.
.....Make your .scn calls to 2 separate directories containing the same shader (can use same named .fsh ) but call em from these separate paths.

Two instances of shader compiler running concurrently should render the 'same' open textures separately :-)
Z22
Joined in Aug 2017

1166 post(s)
November 29, 2017 (edited)
@THEEMU

I'm trying to remap the midpoint of a range to a new point and the other values relative to that but i seem to need to use an if/else section and i cant get the result to come out of the if/else, i get an undefined variable "RedRemap"

if ((RedR) > Mid)
{
float RedRemap = float (0.5 + (RedR - Mid) * (1.0 - 0.5) / (1.0 - Mid));// remap the midpoint in the range and adjust all other values relative to that.
}
else
{
float RedRemap = float (Mid + (RedR - Mid) * (0.5 - 0.5) / (0.5 - 0.0));
}

//actual numbers in brackets may be wrong atm as i reverted to an old way because the newer way didn't work.

if i declare redremap anywhere else it just uses that value and not the value from the if/else.

// java version
//map(value, low1, high1, low2, high2)
//is equlivient to .. low2 + (value - low1) * (high2 - low2) / (high1 - low1)
TheEmu
Joined in Jul 2012

3309 post(s)
November 29, 2017
Once more I can't post what I need to post as text so I have resorted to a screen capture. @Totem - this is getting to be a real problem making technical discussions very difficult. Can you please make it possible to reliably post code snippets.
Z22
Joined in Aug 2017

1166 post(s)
November 29, 2017 (edited)
Cool, thanks. it was mainly the decleration of redrem i was getting wrong then.

i had
float redremap = (0.0);

I thought that just initialised it. I bet i have a bunch of files with wrong initilisations in them...

I had added the extra floats inside the if because it was being a dick.... rather i was being a tard.

That other way of doing is very useful as i read that gpu's don't like having if's, can that trinary gubbins be just for if's or is it for if/else?

so C = X ? A ;

I had been looking at step and smothstep but they clamp the values don't they.
TheEmu
Joined in Jul 2012

3309 post(s)
November 29, 2017 (edited)
I thought you coud use the "trinary gubbins" as either an if or if-then-else but there is no mention of it I can find in the GLSL definition. I think I am misremembering it from Gnu C where it is allowed as an extension to standard C. If you think about it an expression A ? B makes no sense - what is its value when A is false? It is only in an simple asignment that you could use it when it is possible to make a resonable assumption as to what value to use.

The step and smoothstep functions don't clamp, they return values in the range 0.0 to 1.0 so you often mutiply them by the range you want and add a base value, so you end up with expressions like

step(e,X)*(High-Low) + Low

or

smoothstep(e0,e1,X) *(High-Low) + Low
Z22
Joined in Aug 2017

1166 post(s)
November 29, 2017
I should be able to replace all of the EPBlurs if's then as it has a bunch, 24 i think.

Yeh, used the wrong word. meant if the result would be larger than 1.0 it returns 1.0.

You are not allowed to participate yet

As a free user of iStripper, you are not allowed to answer a topic in the forum or to create a new topic.
But you can still access basics categories and get in touch with our community !