Jump to content

3D Shader


hackbart

Recommended Posts

Hi,

 

since i do not want to buy a complete 3d system and thanks to amazon i was able to get an affordable used alternative (Zeiß Cinemizer OLED). I never thought that such a device is quite cool. Unluckily it does not support L/R images, at least with a 1080 desktop resolution. So i wrote a small shader which turns the left/right 3d image to up/down. The solution runs very well with the glass :)

 


sampler s0 : register(s0);

float4 main(float2 tex : TEXCOORD0) : COLOR
{	
 if ( tex.y < 0.5 ) {
   tex.x = tex.x / 2;
   tex.y = tex.y * 2;
 }
 else
 {
   tex.x = (tex.x / 2) + 0.5;
   tex.y = (tex.y - 0.5) * 2;
 }
 float4 l = tex2D(s0, tex);
 return float4( l.r, l.g, l.b, 1);
}

 

If you need down/up instead change the if comparision from tex.y<0.5 into tex.y>0.5.

 

Christian

 

 

  • Like 1
Link to comment

For me as regular spectacle wearer the usage is quite nice. I can set the dioptrine value directly on the glass and while watching a movie in 3D i neither got red eyes nor headache. To be honest the bad thing is that the advertising differs a bit from the reality. It is indeed like sitting in a cinema but more in the last row than near the front.

 

Christian

 

 

Link to comment
  • 3 years later...

You should be able to modify the celshader .shader file to better fit your uses. By default, it does indeed stick out a lot, but Im sure it can be tweaked.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...