#1
|
|||
|
|||
Warping Rendered Scene?
I have a custom Head Mounted Display (HMD). (Stereo = one micro display for each eye.) I need to warp the rendered (stereo) scene to compensate for the optical distortions of the HMD so I can view the scene without distortion.
What is the best way to do this? Is there some texture mapping I can use, or do I have to write my own rendering functions? Anything in the software that allows for specifying compensation of distortion in the HMD by warping the rendered scene prior to sending to HMD? Cheers, Bob Gray |
#2
|
|||
|
|||
#3
|
|||
|
|||
Lens Correction
But this looks like it is only for pincushion distortion.
I need to specify an "arbitrary" warping. The warping is specifyed by the pixel displacement. Instead for pixel (i, j) going to (i, j) it needs to go to (m, n). I have this correspondence for every pixel in the display. The warping is not symmetrical. Any way to specify this in the vizlens? Cheers, Bob Gray |
#4
|
|||
|
|||
The vizlens module simply creates a post-process shader that modifies the rendered image. If you are familiar with OpenGL shaders, it is very easy to create your own post-process shader. Here is a basic template for your own shader:
Code:
import viz import vizpp viz.go() viz.add('gallery.ive') distortionShader = """ uniform sampler2D vizpp_InputTex; void main() { vec2 texCoord = gl_TexCoord[0].st; //Perform distorion of texCoord gl_FragColor = texture2D(vizpp_InputTex, texCoord); } """ distortionEffect = vizpp.ShaderEffect(frag=distortionShader) vizpp.addEffect( distortionEffect ) |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Copying Scene? | Brett Lindberg | Vizard | 0 | 08-28-2009 11:56 PM |
addWindow only in one special scene | lilio | Vizard | 1 | 08-20-2009 09:45 AM |
Active scene | Chrissy2009 | Vizard | 2 | 07-13-2009 09:49 AM |
saving the scene | giancamati | Vizard | 1 | 12-21-2006 09:25 AM |
Collision with avatars and scene not working | JvdBosch | Vizard | 12 | 09-14-2006 06:01 PM |