Discussions for Scenes for Version 1.2.X Fullscreen Mode here

  Forum / Everything about iStripper

Z22
Joined in Aug 2017

1166 post(s)
August 28, 2018
https://drive.google.com/open?id=13VifbVrdduotyN9b66NVUBZiTRKrLr_W

Changed it to do all 3 channels and removed the r>g*x compare, added variable offset spread acording to brightness on each channel(found that helped in some other shaders so i added it here too).

need to balance the Dcutoff between deblocking vs detail loss but it's not too bad atm, especially so as this is then passed into the enhancement shader so...
Z22
Joined in Aug 2017

1166 post(s)
August 28, 2018
oops, think i have the h and v swapped.

ComboVR should be ComboHR ect..
TheEmu
Joined in Jul 2012

3309 post(s)
August 28, 2018 (edited)
@Z22 - you are right. I think I was subconciously assuming that G403.r was a low limit and G405.r was a high limit even though conciously I knew that was not the case. It was a matter of me pattern matching the code to a similar fragment and making a false match - but it was past my bedtime by then.

However, with your latest code you are still always calculating many values that are only used if Girl.a is greater than zero. As a lot of the area of any clip is transparent this is a lot of lot of unnecessary work. I would move everything that is currently outside the function, with the exception of the declaration and initialisation of Girl, into it immediately after the if ( Girl.a > 0.0 ) so that you only do all of this when it is needed.

It is almost certain that there are ways to improve this code by using vectors rather than scalars for most of the variables and by using vector comparisons, but I do not have time to look at that now. Maybe this evening.
Z22
Joined in Aug 2017

1166 post(s)
August 28, 2018
Ahh, i though that it initializes the values then just looped round the void so it would only touch all those texture offsets and addition once per frame. Will change it, ta.


Yeh, vectorising the if's will help i guess(i still haven't got round to learning how to go about it) Getting it to work as best it can is what i am doing atm though. I may abandon it and start again with another method as this causes as many probles it fixes. Maybe i need to make it more conditional or provide a texture as a pattern for it to hunt down and replace with another pattern texture.

EG: x=red o=green(though it does happen in other colours, will take a screenshot so you can see)

XoXoXo
XXXXXX
XoXoXo
XXXXXX
XoXoXo
XXXXXX

which is the pattern i want to remove really, i have preciousle refered to it as a tarten pattern.

But that would require loads of in/out patterns even if i matched with a brightness offset to reduce the number.
Z22
Joined in Aug 2017

1166 post(s)
August 28, 2018
If you look at her crotch on the right you can clearly see the pattern which is present on the left girl too, this pattern is present on unscaled girls and appear to be on all the cards to varying degrees. While in this image it's mostly a vertical pattern it does appear as a crosshatch on other girls.
Z22
Joined in Aug 2017

1166 post(s)
August 28, 2018 (edited)
I think i will try seperating the if's into their own loops then "break"ing out of the loop once the if is true.
TheEmu
Joined in Jul 2012

3309 post(s)
August 28, 2018 (edited)
@Z22

Ahh, i though that it initializes the values then just looped round the void so it would only touch all those texture offsets and addition once per frame. Will change it, ta.

No, they are calculated seperately for each pixel (strictly for each fragment, but you can loosely think of a fragment being a pixel) as they have to be because they are dependant on the pixel's x and y coordinates. Anything you declare as a const could be optimised to be evaluated once per frame - but consts can not depend on anything that varies from pixel to pixel. Also anything declared as a uniform is calculated only once per frame (they are called uniforms because thay have the same value at each pixel) but you can't initialise a uniform in a fragment shader they have to be initialised much earlier in the compute shader or its equivalent.
spoophmaniac
Joined in Dec 2007

128 post(s)
September 4, 2018
I was just wondering are there any scenes that support 2560x1080 ultrawide?

When I switch to full screen mode I either have black bars on the sides or one black bar on the right.

Thank you.
TheEmu
Joined in Jul 2012

3309 post(s)
September 4, 2018 (edited)
Very few scenes are written for such an aspect ratio, but at least for simple scenes it is quite simple to edit the .scn files to fill such screens. However you will usualy have to supply your own background images unless you do not mind ***** due to stretching the image horizontally. Look for size: clauses in Texture or Sprite nodes and change them to suit your system.
Number6
Joined in Oct 2010

1103 post(s)
September 4, 2018 (edited)
@TheEmu

I have been discussing this with @spoophmaniac in PMs.

I have seen a few videos that has linked to.

On a very simple basis I tried the Perforations FullScreen Scene. I resized the Camera and The Quad to the screensize. The resized camera gives a ***** (as you pointed out) and i removed this by scaling the clips to -1.33, 1, 1).

What appears to be the problem is that the shader is locking itself to one side of his screen and it appears to be constrained to 1920 x 1080 irrespective of the resizing. The blue model shadow in the backgound of the scene is now visible in the black bar to the right of the shader which suggests resizing the camera has worked but resizing the quad for shader hasn't. I've even changed the hot spot and the position to no avail.

Having seen videos of his scenes it appears that all those using the 3D cameras are centralised and have black bars down either side. All the 2D Camera ones (using shaders - I didn't try the Background 2D one) are shifted to the left with a wide black bar down the right.

I suggested he ask in here in the hope that someone more knowledgable than me, particularly regarding shaders and quads might be able to help.

Unfortunately the edited scenes seem fine on my machine but I only have a 1920 x 1080 screen.
TheEmu
Joined in Jul 2012

3309 post(s)
September 4, 2018 (edited)
The default origin differs between 2D and 3D scenes. You can adjust positions of things in the scene relative to this by using Pos: clauses in the various nodes and also by changing the hotspots for the scene elements. For 3D scenes the camera position and where it is pointing to are also of importance.

For the Perforations scene change the size: for the camera and for the quad into which the perforations shader renders its output. Tou will probably want to change the positions of the various items as well.
Number6
Joined in Oct 2010

1103 post(s)
September 4, 2018
For the Perforations scene change the size: for the camera and for the quad into which the perforations shader renders its output. You will probably want to change the positions of the various items as well.

Everything appears to be fine apart from the quad. Resizing it appears to have no effect, it seems locked in a 16:9 ratio. I have also tried changing the hotpot and the relative postion. It looks fine on mine but not on @spoophmaniac"s.

I have just sent him one with a slighly different approach.

I've created a dummy png the same size as his screen and put it in a framebuffer with the shader. I ve deleted the quad and replaced it with a sprite of the right dimensions. The sprite calls up the framebuffer.

I am waiting to hear back.
spoophmaniac
Joined in Dec 2007

128 post(s)
September 5, 2018
It is late where @Number6 is so he probably won't get my answer until tomorrow.
I had the same results as his previous attempts.
The perforation effect is locked to 16:9 and the blue shadow in the background goes across the space that is normally just plain black with other scenes.
I told him it is better than just plain black bars and I should wait until Totem supports wider screen resolutions.
He has been a good sport about all of this and I appreciate him trying as much as he does.
If there is anyone who does have an ultrawide monitor and has built scenes for 2560x1080.
I am more than happy to test scenes of people who try and I will capture it and post the video of the results.

Thank you.
TheEmu
Joined in Jul 2012

3309 post(s)
September 5, 2018
@spoophmaniac

That sounds very odd, very odd indeed. The iStripper software has no problem with higher horizontal pixel counts (people are running scenes on 4K screens). I suppose the aspect ratio might cause a problem but I can't think why that might be the case.

Have you made any modifications to the perforation.fsh file or are you using the one provided by Totem?

Can you either post or send me by PM a copy of the .scn file you are using? Or slightly better still make it available to download from somewhere because posting or PMing source code tends to reformat it - though this is a simple ,scn file so having the indentation messed up will not be too *****.
Number6
Joined in Oct 2010

1103 post(s)
September 5, 2018
@TheEmu

This is what I have tried for @spoophmaniac so far.

https://www.dropbox.com/s/n1dl4kc8syl58nj/Perforations_all.zip?dl=0

The shader files are the original Totem one, unaltered.

spoophmaniac
Joined in Dec 2007

128 post(s)
September 5, 2018 (edited)
@TheEmu

Yes I did not have the original Perforation scene myself it was graciously provided by Number6.
TheEmu
Joined in Jul 2012

3309 post(s)
September 5, 2018
@Number6, spoophmaniac

I can see no reason why any of those variations would not work. I was hoping to see a simple error because the fullscreen scene software has a nasty habit of just ignoring errors and continuing using a default value or just discarding the line in error but everthing looks OK to me and ought to work as expected.
Number6
Joined in Oct 2010

1103 post(s)
September 6, 2018 (edited)
Many thanks for looking at this @TheEmu

I was afraid of that. I couldn't see any logical reason why all the versions wouldn't work. Thank you for confirming that they, in theory, should work.

All the versions run on my PC but it is hampered by the fact that I don't have a monitor of the same resolution of @spoophmaniac.

I even did a final version removing the framebuffer and calling the dummy texture in the sprite clause and then applying the shader directly within that but @spoophmaniac has reported that it yields exactly the same results.

I have created a version of the Background 2D for his screen size and asked him to try it. If it works then at least we know that the problem is down to the handling of the shaders.

Also thanks to both you and @spoophmaniac.

The wife is extremely pissed off that I haven't done some of the things I was supposed to do.😟

Still I've had 40+ years to get used to her nagging and at least this has given me something far more interesting to contemplate.😆

EDIT

Even more frustrating is this.

I have a dual monitor system with an AMD graphics card. I used the eyefinity option to creat a single screen across the two monitors and ended up with first screencap attached. Yes it is horribly distorted because I haven't adapted the scene to compensate for the revised size, however it as actually playing at fullscreen without any black bars at a resolution of 3840 x 1080.

EDIT 2

I have just looked at the screencap actual dimensions. It is 3840 x 2160 pixels but squashed to fit the 3840 x 1080 virtual resolution - hence the major *****. Still it is a size beyond @spoophmaniac"s resolution and appears to be working correctly.

Edit 3

Second Screencap shows the "eyefinity" arrangement with the scene file correctly rescaled to make the models normal size. Strangely enough the scaling is back to 1, 1, 1. Capture reports itelf as 7680 x 2160 pixels. Scene looks fine over the dual monitors.

PS

Anyone else got any ideas?
Number6
Joined in Oct 2010

1103 post(s)
September 7, 2018 (edited)
Sorted!!!😊

Used a 3D camera and set the background texture size to 2560 x 1440 for the shader. Its oversize top and bottom but it does actually work on @spoophmaniac"s system giving him a widescreen fullscreen without any black bars.

@spoophmaniac altered the camera distance and model positions to suit his screen.

Still can't understand why it won't work with a 2D camera. Oh well back to the nagging missus and household chores.😢
EverthangForever
Joined in Oct 2009

2432 post(s)
September 7, 2018 (edited)
@Number6 , hi, I've always avoided using 2D camera anyhow because hotspot zero for textures being different to 'normal' 3D, and relying on a fixed camera only ~ appears to be a hard grind for nubie peeps playing first time with animations. But then there's a lot of things about Totem I don't understand. For instance, I don't know why they decided on putting perforations.scn up in 2D camera as an example .scn to add-on, considering the number of peeps affected by Trypophobia ..strange world indeed. lol 😆
http://www.istripper.com/forum/thread/29408/26?post=591279
Everything about iStripper / Share your FullScreen - Member Created Scenes here
07 Sept Modded for a transparent alpha in MaqFlp's ball shader together with planet texture & clouds.fsh, for a slow peel ~ drift in the clouds ~ effect. Inspired by Hilary C's yearnings for peace & l...
On an unrelated thought..I've been playing with @TheEmu 's alpha to transparent adjustment one liner ..
gl_FragColor.a = length(gl_FragColor.rgb);
in fragment shaders (above pic). Its sweet for including backgrounds for some scenes 👍
Z22
Joined in Aug 2017

1166 post(s)
September 7, 2018
Scale only needs 2 arguements. scale: x, y when dealing with anything that isn't a 3d object as they have a z of 0
Noticed you dont have a pos: for the camera (can't remember if you actually need it in camera2d)
TheEmu
Joined in Jul 2012

3309 post(s)
September 7, 2018 (edited)
@Z22 - pos: for a 2D camera is meaningless. It really ought to be an error to specify one but the software simply ignores it (as it does with many other things that logically should be reported as errors)

@EverthangForever - That one liner is crude and very cheap but it is often rather effective. It sets any black area as fully transparent, any dark area as partialy transparent and any bright area as fully opaque. You can tweak it a bit by multiplying by an overall factor which will adjust the threshold for what becomes fully opaque, or by using different scale factors for each of the r,g,b components or by using some function such as pow(length(gl_FragColor.rgb),K);
EverthangForever
Joined in Oct 2009

2432 post(s)
September 9, 2018 (edited)
Totally off topic @stref, ..however try playin yr Maria Rubio to this..
https://www.youtube.com/watch?v=DFydoVFdOVk
Z22
Joined in Aug 2017

1166 post(s)
September 9, 2018 (edited)
@TheEmu, Is there a way of passing a value to the next pass(texel) through the frag?
TheEmu
Joined in Jul 2012

3309 post(s)
September 9, 2018 (edited)
@Z22 - I am not sure what you mean by "next pass". Are you trying to pass data from one frame to the next in time or between two shaders operating in sequence for a single frame? And what are you trying to pass?
Z22
Joined in Aug 2017

1166 post(s)
September 9, 2018 (edited)
from one texel to the next in the same fragment shader, the next loop through.
just need to pass 2 floats. (x and y offsets of the current texel to modify the next results as a way of reducing false positives a+b/2)

eg: a result from 0 , 0 is able to be used in 0.001 , 0
TheEmu
Joined in Jul 2012

3309 post(s)
September 9, 2018 (edited)
@Z22 - no there is no way to do that even in principle. The way a fragment shader works is as if it operated on every texel in parallel, i.e. at the same time, and completely independantly of each other - there is no possililiy of any "sideways" communication channel to the same shader operating on another texel.

You could simulate the effect you want but only by repeating the calculation that you did for (0,0) when you calculate for (0.001,0)

An alternative is to split the shader into two parts with the results from the frst part being stored in a framebuffer as its colour and alpha values and having this used as a texture input to a second fragment shader. A special case of this would be if the two parts of the shader were identical to each other in which case the output from each would be a real image.
Z22
Joined in Aug 2017

1166 post(s)
September 9, 2018 (edited)
smeg. Looks like i will have to use a motion flow map and blur it before using it to warp the frame then. think it would be too expensive to recalc as it's already doing a max of 1009(might be 2018) if's per texel.

edit, err 27 or 54 if's not thousands, was being a dumbass.

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 !