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

  Форум / Всё о iStripper

pickle1
MODERATOR
Присоединился в Mar 2019

1353 Сообщения
4 May 2020
I should refactor it into a supershader with functions rather than a bunch of frambuffers.

The translator function in Forum failed on this one.

I'm getting old - I have not a clue what you just said!

😉😊😆
EverthangForever
Присоединился в Oct 2009

2477 Сообщения
4 May 2020
Lol @pickle..now where is that 'blind leading da blind' gif ?
Z22
Присоединился в Aug 2017

1166 Сообщения
4 May 2020
I should re write the scene and its shaders into a more compact form. i can take the code from seperate shaders and combine them into one. That will save using so many framebuffers as i did in the scene we are talking about and may give a speed boost (not much).
Stanston
Присоединился в Aug 2018

1012 Сообщения
4 May 2020
@pickle1
I'm getting old - I have not a clue what you just said!
Yes i'm saying the same thing to me, but i will try to Help you :)
For Refactor maybe he means Rescaling,
https://en.wikipedia.org/wiki/Feature_scaling
and here is the Framebuffer
https://learnopengl.com/Advanced-OpenGL/Framebuffers
Z22
Присоединился в Aug 2017

1166 Сообщения
4 May 2020 (edited)
refactoring is basically re-writing code to make it more efficient/smaller... i think. well... thats what i meant anyway.
Z22
Присоединился в Aug 2017

1166 Сообщения
4 May 2020 (edited)
The frambuffer link is more of what istripper is doing for us when we add something like this to the scene.scn file

framebuffer
{
id: DoSomethingWeird
size: 3840, 2160
pos: 1920, 1080

sprite
{
source: Girl
shader: TurnInsideOut.fsh
}
}
pickle1
MODERATOR
Присоединился в Mar 2019

1353 Сообщения
4 May 2020
refactoring is basically re-writing code to make it more efficient/smaller... i think. well... thats what i meant anyway.

You guys carry on enjoying yourselves and don't worry about old fossils like me. 😆

I find your conversations (and @Dorsai6 with his playlist generator) fascinating but the truth is - after 40 years in IT one thing I learned is sometimes it pays not to tamper - so I am happily running a vanilla version of iStripper though I did recently go mad and installed the Belka skin from @lukaszr.

But I'm happy to sit rocking in my chair and let it all go whoosh over my head. 😊

Keep being creative.
EverthangForever
Присоединился в Oct 2009

2477 Сообщения
4 May 2020
Keep working it @Z22.
methink the orig Hue.fsh shader is hauntingly beautiful btw 👍
Z22
Присоединился в Aug 2017

1166 Сообщения
4 May 2020
To be fair most of it is above my head too. I just throw enough s**t at the wall some of it sticks.
Z22
Присоединился в Aug 2017

1166 Сообщения
4 May 2020
@ET, cheers dood. Some of the colour combinations do look somewhat ghostly. Perhaps i should have saved it for halloween... You could do a remix... nudge nudge wink wink.
EverthangForever
Присоединился в Oct 2009

2477 Сообщения
4 May 2020 (edited)
having to use a default empty directory to call the clipsprite tends to screww
with any textural .scn re-mixing cos it will try to grab those other textures
but worth a try.. tks for whats there maestro !
Z22
Присоединился в Aug 2017

1166 Сообщения
4 May 2020 (edited)
You can have other directories for textures. i did with hue3

texture
{
id: Feedback
size: 3840, 2160
source: empty/
}


texture
{
id: Tex
size: 3840, 2160
source: Textures/natural-fence.jpg
}

The problem i thought we had in the past isn't actually whats going on with the "undocumented feature" (aka bug)

I had thought the feedbackbuffer was grabbing the entire camera node as its input when it tried and failed to load a texture from the empty directory, but it looks to only be grabbing the last sprite in the camera node, and most importantly that sprite can be invisible (opacity: 0.0) I only figured it out the other day.

You can scale and reposition the girl as much as you like in the camera node and it wont affect the feedback.

change your .scn to say ...
camera {

type: 2D
size: 3840, 2160
pos: 1920, 1080

sprite
{
//source: Invert
}

sprite
{
pos: -900, 0
scale: 0.6, 0.5
source: Refract
}

// Last sprite will be the input to the Feedbackbuffer next frame.

sprite
{
opacity: 0.0 // If only using for feedback you can set to 0.0.
source: Hue
}

}
EverthangForever
Присоединился в Oct 2009

2477 Сообщения
4 May 2020 (edited)
so close yet so far..ok will try
Z22
Присоединился в Aug 2017

1166 Сообщения
4 May 2020 (edited)
If you turn invert back on you can see what is being refracted to make the girl, and if you change it to hue then you can see the buffer that is eating it's own tail (last frames output is this frames input).
EverthangForever
Присоединился в Oct 2009

2477 Сообщения
4 May 2020 (edited)
https://www.istripper.com/forum/thread/29408/35?post=661985
Всё о iStripper / Share your FullScreen - Member Created Scenes here
edit: post deleted by me
this version above doesn't work either on my rig..just noise & vague model as before.
only orig Hue.fsh works. I tried alpha transparency mod of hue to no avail.
It just all went white
if it is somethang peculiar to gpu or memory, someone needs to chime in & say Hue2 works
OK on their end
Z22
Присоединился в Aug 2017

1166 Сообщения
4 May 2020 (edited)
Which of the hue scenes was it (hue.fsh) from (there may have been changes between them)
Z22
Присоединился в Aug 2017

1166 Сообщения
4 May 2020
only thing i can see atm that isn't commented out or just a referance is the size of the search area

y01<4.01;

in the older version its

y01<3.01;
EverthangForever
Присоединился в Oct 2009

2477 Сообщения
4 May 2020 (edited)
I am struggling to work in this fashion
.
You have different code values (according to the Beyond Compare app) for the same shader name
Hue.fsh used in Z22_Hue2 and Z22_HueGlass_b
imho modded shaders need to have unique names...or we be barking up the wrong trees, especicially for peeps who use common shader folders over many presets ...ahmen

:(
Z22
Присоединился в Aug 2017

1166 Сообщения
4 May 2020
point taken. Will try to remember to do that in future.
Z22
Присоединился в Aug 2017

1166 Сообщения
7 May 2020
Noticed something weird

if i have
dist == (distance(G, H));

rather than
dist = (distance(G, H));
i get a different result.

Anyony know whats going on with that?
TheEmu
Присоединился в Jul 2012

3309 Сообщения
7 May 2020 (edited)
@Z22

The == operator is a comparison for equality that evalutes to 0 for not equal or to 1 for equal. It is not an assignment.

The statement dist == (distance(G, H)); is valid because the shader language's syntax is based on that of C which allows expressions anywhere that you would expect statements. In the example the function distance will be called, its return value compared with dist and the result discarded, in particular dist will not be updated by this statement and if distance has no side effects the whole statement can be optimised away because it has no visible effect.

In any sensible language such statements would be errors, but they are valid in C or GLSL.

The following is a valid, if rather pointless, function

void func(void)
{ 42;
}

It is also easy to make the opposite error and use = where you intend to ==, e.g.

if ( a == 0 ) do_something();

will compare a with 0 and only call do_something if a is equal to zero

but

if ( a = 0 ) do_something();

will set a to the value 0 and will never call do_something() whereas

if ( a = 1 ) do_something();

will set a to 1 and will always call do_something()
Z22
Присоединился в Aug 2017

1166 Сообщения
8 May 2020

in shader it gives a higher result that the propper "=" version.

Thankfully atom ***** if i put "if( a = 0 ) do somthing();" so i catch those mistakes. It was just weird that it didn't catch it in the dist = . Thanks for explaining why.
Z22
Присоединился в Aug 2017

1166 Сообщения
16 May 2020
https://drive.google.com/open?id=1rhUh0T1fqlD0Wa3-tKrkYmlmVM8FwluY

Waterfall
This is a first pass so will change without filename changes for every little difference hence releasing it in this thread.

I'm not happy with the top of the screen so need to find a better way than baseing it off the background texture.
Think you can see where i'm heading though.
Z22
Присоединился в Aug 2017

1166 Сообщения
18 May 2020
https://drive.google.com/open?id=1KvU7y7b9ikOjdRS_-FWKBKci9_USupT2

Just the foam effect.

still a work in progress, i need to reduce the gpu load, think i know how.
Z22
Присоединился в Aug 2017

1166 Сообщения
18 May 2020
https://drive.google.com/open?id=1Lg_zXyznhLYQLbuuZLs0Z25uKg8o-EQK

As above but the "particles" are being refracted.
Z22
Присоединился в Aug 2017

1166 Сообщения
20 May 2020
hmm...
this...
for (float y=(0.0); y<5.01; y+=1.0)
{
for (float x=(0.5*-y); x<0.5*y; x+=0.5)
{
x *=2.0;
vec2 p1 = vTexCoord.xy + Offset * vec2(x, y);

crashes istripper but
this ...
for (float y=(0.0); y<5.01; y+=1.0)
{
for (float x=(0.5*-y); x<0.5*y; x+=0.5)
{

vec2 p1 = vTexCoord.xy + Offset * vec2(x*2.0, y);

doesn't

err dafuk? Something with amd's compiler perhaps?
Z22
Присоединился в Aug 2017

1166 Сообщения
20 May 2020
nm, i have realised why.
SetFuego
Присоединился в Mar 2008

737 Сообщения
20 May 2020
I think, in the first case x itself is multiplied by 2.0 in each loop pass, whereas in the second case only x*2.0 is passed to the function vec2.
As a programmer in the last millennium I think...right @z22 ?
Z22
Присоединился в Aug 2017

1166 Сообщения
20 May 2020 (edited)
Yeh, i think it's because it's the var in the for loop, so the first pass it's fine but when it gets back to do the next for it has a spaz as the value is lower than the starting x.

Have found something else weird though.

for (float y=(0.0); y<25.01; y+=1.0)
{
float xd = (0.25*y);
float xdm = (0.26*y);
for (float x=(-xd); x<xdm; x+=(xd))
{

works
for (float y=(0.0); y<25.01; y+=1.0)
{
float xd = (0.25*y);
float xdm = xd+0.1;
for (float x=(-xd); x<xdm; x+=(xd))
{

crashes.
SetFuego
Присоединился в Mar 2008

737 Сообщения
20 May 2020
Whoa, wicked, I checked it before you edited it...😖

But no matter if 0.25 or 0.26, because the error is in the absolute assignment xdm = xd+0.1. The 2nd x-loop is dead, because it can never reach xdm with 0.1 as content with a step size of 0 (xd=(0.25*0)) in the first loop pass. y is =0 in the first pass.

Вам ещё не разрешается участвовать

Будучи бесплатным пользователем iStripper, вам не разрешается отвечать на форуме или же создавать новую тему.
Но вы можете просмотреть основные категории форума или познакомиться с его участниками !