Discussions for Scenes for Version 1.2.X Fullscreen Mode here

  Forum / Everything about iStripper

EverthangForever
Joined in Oct 2009

2432 post(s)
January 5, 2018 (edited)
@Z22 the quality is outstanding now with this layering imho.
Just using crosseyed, the combined 'center' image looks sharper than the outers &
the model really pops out like never before...Kudos squire 👌❤️👍
hoping it is not gonna be a ***** converting .scn to 3D camera..crossing fingers ;-)
Z22
Joined in Aug 2017

1166 post(s)
January 5, 2018 (edited)
It should be ok now in a 3d camera as it's all in shader now, you can remove the 1st sprite in each node


delete this


sprite
{
pos: 0, 0
source: Girl
}

end

can get rid of the nodes too if you like
TheEmu
Joined in Jul 2012

3309 post(s)
January 5, 2018
@Z22 - your latest version is superb.

If I am right the grey edges might be eliminated by ***** alpha to be only either 0.0 or 1.0, but that might result in a ragged edge instead.

I am sure that the mass of "if" statements could be reduced somehow - I will think about it after I return from the pub.

Also - why do you use two clipSprites per image - the bottom one without using a shader, the top one with. Why not just have one clipSprite with the current the bottom one just being the first layer of the stack inside the shader.

Z22
Joined in Aug 2017

1166 post(s)
January 5, 2018 (edited)
The extra clip is just a left over from the previous version.

A for/ next loop could reduce the mass of if's i guess, it still would result in just as may if's as far as the gpu is concerened but would be a lot neater.
TheEmu
Joined in Jul 2012

3309 post(s)
January 5, 2018 (edited)
A for loop would require the use of arrays and would probably be slower than the separate ifs. They can be tidied up, and I have started to do so but I do not want to commit anything before I fully sober up - it is Friday night after all - so I will finish it off tomorrow. What I have at the moment may only be marginaly more efficient, but it is neater in that the conditions are simpler to read and to understand. But it is also untested.

I have reduced the difference between the L and R shaders to a single character (a minus sign that appears in the L version and not the R version) and will change them to be a single shader with a uniform specified by the .scn file to determine which way the offset is to be applied. The size of the shaders has also been reduced from about 9000 characters each to about 3000.
Z22
Joined in Aug 2017

1166 post(s)
January 5, 2018 (edited)
cool, could do with adjusting the offsets to be a curve rather than linear progression as that will help with the edge smearing problem. well... it might help, then again it may make it worse...
TheEmu
Joined in Jul 2012

3309 post(s)
January 5, 2018
Do you have any particular curve in mind?
Z22
Joined in Aug 2017

1166 post(s)
January 5, 2018
I'm not sure, because the body has a sperical like falloff where there are a lot of shades close together(which shouldn't have much difference in offset) near the edge and few near the middle(which should have a larger offset).

I may just be overthinking it and its fine as is
Z22
Joined in Aug 2017

1166 post(s)
January 5, 2018
Having looked at it again, i don't think it needs a curve after all. Have a look at the version i posted in the other thread to see if it's much different from the version you have been working from.
TheEmu
Joined in Jul 2012

3309 post(s)
January 5, 2018
At first glance that version is much the same as the one I have been working on - I had added the Girl00 stuff myself.
EverthangForever
Joined in Oct 2009

2432 post(s)
January 6, 2018 (edited)
Side by Side views: ~ Just a few questions ?
I have been using crosseyed because the TriDef system I have won't allow SBS use outside their player.
I am curious about the model size we will be confined to when we use other SBS glasses say for table clips. ( what do different brands offer ) I am assuming the field of view available with generic shutter glasses, is normally only half width of normal use.

With headset/glasses on, is it posssible to zoom it up so that you can fill the eyes view with only part of what would normally be the PC screen. ? Is there a 16: 9 type headset view that gives you one 3D model reclining, ~ is that possible using iS fullscreen?
A lot of our table .scn's require models' full length body across screen. That is quite wide proportionally.
I want to make .scn's that if using SBS, it will view wide enough, not just a square view.
What generic SBS system is recommended to achieve this.. Ease of setup & use.
Do I need to vertically center the clipsprite for .scn mods if the glasses can be set 'prezoomed' so to speak..
Hope all that makes sense...? If not, I'll try asking somewhat differently later on.;-)
Z22
Joined in Aug 2017

1166 post(s)
January 6, 2018 (edited)
SBS mode should fill the entire screen. This is because the display alternatly displays the left image stretched to full screen and then the right image while switching the shutters of the glasses, not sure how the passive sets like lg deal with sbs but it looks like interlace through a polarising filter.

The only restriction on the girls is the normal full screen limitation as when you make propper SBS content you have to shrink the x to 0.5 so the tv can stretch it out again when it decodes the 3dSBS. This squishing of the screen and loss of IQ is why it would be better to use alternate frame packing version of 3d. Not sure about checkerboard 3d, and top/bottom 3d would be ***** for the girls.
Z22
Joined in Aug 2017

1166 post(s)
January 6, 2018
So, for SBS 3d you create your scene as normal but you scale the whole scene to x 0.5 and position it on one half of the screen. you then add a copy but offfest to the other half and with the alternate girl/girls. So yes, girls that lay across the whole screen can be done in SBS 3d.
Z22
Joined in Aug 2017

1166 post(s)
January 6, 2018
I don't get why you need to use tridef anyway, can't you just select 3d SBS mode on your tv?
EverthangForever
Joined in Oct 2009

2432 post(s)
January 6, 2018 (edited)
No SBS settings for thir glasses are only configurable on their player.
DDD even want to lock peeps into buying their special DDD screens now. Quite ridiculous.
~ btw what system ^ graphics card are you currently using for SBS.?
Z22
Joined in Aug 2017

1166 post(s)
January 6, 2018
For my setup the gfx card doesn't matter as the tv is a 3d capable display with its own glasses, So i just play a sbs video and then select sbs 3d on the tv itself.

But if you want to know my spec...
win 10 x64
amd 1800x@stock
32GB ram@ 3400
nvidia gtx 1080@2100
something like 9TB of storage both ssd and spinning rust.
58" hisense k730 4k (bullshit HDR) 3dtv
Z22
Joined in Aug 2017

1166 post(s)
January 6, 2018
//By Z22

clip {
id: Clip
deny: top, pole
}

framebuffer{
size: 3840, 2160
pos: 1920, 1080
id: Girl
clipSprite {
pos: 0, 1080
scale: 0.5, 1.0
standingHeight: 1900
sittingheight: 1500
source: Clip
blend: true
}
}

framebuffer
{
size: 3840, 2160
id: Discard01

clipSprite
{
pos: 1920, 1080
source: Girl
shader: fragment, Discard_Stack_L.fsh
}
}

framebuffer
{
size: 3840, 2160
id: Discard02

clipSprite
{
pos: 1920, 1080
source: Girl
shader: fragment, Discard_Stack_R.fsh
}
}

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

sprite
{
pos: -960, 0
source: Discard01
}

sprite
{
pos: 960, 0
source: Discard02
}
}
Z22
Joined in Aug 2017

1166 post(s)
January 6, 2018
Above is the corrected code for the SBS version of Stack_3d from my latest post on the other thread.
Z22
Joined in Aug 2017

1166 post(s)
January 6, 2018 (edited)
@TheEMU

i went with this curve
0,0

1,0.125
2,0.25
3,0.35
4,0.55
5,0.75
6,0.95
7,1.2
8,1.55
9,2
10,2.5
11,3
12,3.55
13, 4.2
14,5
15,6
16,7
17,8.5
18,11
19,15

it's not exact as i did it by eye in a graphing plot app, its not far off though. It may need to be flattened a bit, maybe half way between this and linear as before.
Z22
Joined in Aug 2017

1166 post(s)
January 6, 2018
Packed it down by using a far simpler method...


//By Z22

uniform sampler2D texture0;
varying vec2 gl_TexCoord[];
uniform vec2 textureSize0;
float outX;
void main ()
{
vec2 Offset = vec2(1.0) / textureSize0;
vec2 vTexCoord = gl_TexCoord[0].xy;

vec4 Girl00 = texture2D(texture0, vec2( vTexCoord.x, vTexCoord.y )) ;

float combine = (2.0*((Girl00.r + Girl00.g + Girl00.b)/3.0))-1.0;

float outX = float (combine/1000.0);

vec4 Girl01 = texture2D(texture0, vec2( vTexCoord.x + outX, vTexCoord.y )) ;

gl_FragColor = vec4(Girl01.r, Girl01.g, Girl01.b, Girl01.a);
}
TheEmu
Joined in Jul 2012

3309 post(s)
January 6, 2018
You beat me to it. I was just about to start finishing off my modifications to your 20 layer version but last night I realised that it could be further modified to be continuous rather than using discrete layers and that it would lead to something like that which you have just posted - which despite looking like very different code is, I think, equivalent to the original but with an infinite number of infinitely thin layers (well as close to an infinitely thin as floating point numbers allow). I will probably finish off my version anyway just for my own satisfaction.

P.S. Those last two lines can be reduced to

gl_FragColor = texture2D(texture0, vec2( vTexCoord.x + outX, vTexCoord.y )) ;
Z22
Joined in Aug 2017

1166 post(s)
January 6, 2018 (edited)
cool, it's basically what i was doing in my first glass shader. mine has a bit of a bug though, there seems to be 2 girls output rather than just the resulting offset one. odd...

It becomes visable if i use a lower divisor for combine. 1000 looks ok, 500 has weird double girl effect.
Would like to see your version when you have finished it.
TheEmu
Joined in Jul 2012

3309 post(s)
January 6, 2018
Any bug is probably comming from how you are handling things in the .scn file. For this use I don't think you need to bother with framebuffers and can just do everything using a clipSprite with shader (or a duplicated clipSprite) in the camera node.

Your latest version can be reduced to

uniform sampler2D texture0;

void main ()
{

vec2 vTexCoord = gl_TexCoord[0].xy;
vec4 Girl00 = texture2D(texture0, vec2( vTexCoord.x, vTexCoord.y )) ;

vTexCoord.x += ( Girl00.r + Girl00.g + Girl00.b )*0.0006666 - 1.0e-3;
gl_FragColor = texture2D ( texture0, vTexCoord );

}

but that, like your original, doesn't make use of textureSize0 to scale the offset and perhaps it should.
Z22
Joined in Aug 2017

1166 post(s)
January 6, 2018 (edited)
texturesize0 was just a leftover from the source file i haddnt removed.

i dont think i'm doing anything weird in the .scn really

framebuffer{
size: 3840, 2160
pos: 1920, 1080
id: Girl
clipSprite {
pos: 0, 1080
standingHeight: 1900
sittingheight: 1500
source: Clip
blend: true
}
}


framebuffer
{
size: 3840, 2160
id: Discard01

clipSprite
{
pos: 1920, 1080
source: Girl
shader: fragment, Smeartest_L.fsh
}
}

camera node....

sprite
{
pos: -960, 0
source: Discard01
}


still using the framebuffers in this one as is easy to add in the scale: 0.5, 1.0 to the first buffer for SBS mode.
Z22
Joined in Aug 2017

1166 post(s)
January 6, 2018 (edited)
If i use yours and set *0.00106666 it starts getting the same problem, can you check if it does it with your one?
  • 0.01006666 give strong glass effect. left girl
Z22
Joined in Aug 2017

1166 post(s)
January 6, 2018 (edited)
It helps if you add the clean girl to the output

from my version...

gl_FragColor = (texture2D(texture0, vec2( vTexCoord.x + outX, vTexCoord.y )) + texture2D(texture0, vec2( vTexCoord.x, vTexCoord.y )) )/2.0;

Edit, on closer inspection in photoshop that breaks the effect
Z22
Joined in Aug 2017

1166 post(s)
January 6, 2018 (edited)
I think the layer method may actually work better. I have been looking at the results in photoshop and the simple method glitches out before it has significant x shift to be of use. easiest place to see is the nose and how it gets shifted when her head is turned to the side a bit

atm i have a max shift of 15 pixels in layer method, most i can have before it goes glassy in the simple method is about 5.

Z22
Joined in Aug 2017

1166 post(s)
January 6, 2018
Had enough of going cross eyed for now....
EverthangForever
Joined in Oct 2009

2432 post(s)
January 7, 2018 (edited)
Ok, I will take the plunge and install Nvidia's 3DTVPlay for a 14 day trial.
Maybe I can make my DDD shutter glasses compatible somehow for SBS.
I read somewhere that NVidea had extended trial version expiry to six months.
I guess that is well over by now...

http://www.nvidia.com/object/3dtv-play-overview.html
Z22
Joined in Aug 2017

1166 post(s)
January 7, 2018
The DDD glasses work with TriDef then?

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 !