08-14-2013 11:30 PM
//
// Simple passthrough vertex shader
//
attribute vec3 in_Position; // (x,y,z)
attribute vec4 in_Colour; // (r,g,b,a)
attribute vec2 in_TextureCoord; // (u,v)
//attribute vec3 in_Normal; // (x,y,z) unused in this shader.
varying vec2 v_vTexcoord;
varying vec4 v_vColour;
void main()
{
vec4 object_space_pos = vec4( in_Position.x, in_Position.y, in_Position.z, 1.0);
vec4 new_position = gm_Matrices[MATRIX_WORLD_VIEW_PROJECTION] * object_space_pos;
new_position.x -= 0.005*new_position.z;
gl_Position = new_position;
v_vColour = in_Colour;
v_vTexcoord = in_TextureCoord;
}
08-15-2013 03:41 AM
08-15-2013 12:21 PM
mat4 leftMat=mat4(1,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1);
/*(1,0,0,1),
(0,1,0,0),
(0,0,1,0),
(0,0,0,1);*/
void main()
{
vec4 object_space_pos = vec4( in_Position.x, in_Position.y, in_Position.z, 1.0);
mat4 view_Off = gm_Matrices[MATRIX_VIEW]*leftMat;
gl_Position = ((gm_Matrices[MATRIX_WORLD]*gm_Matrices[MATRIX_PROJECTION])* view_Off ) * object_space_pos;
v_vColour = in_Colour;
v_vTexcoord = in_TextureCoord;
}
08-16-2013 04:26 PM
float viewCenter = HMD.HScreenSize * 0.25f;
float eyeProjectionShift = viewCenter - HMD.LensSeparationDistance*0.5f;
ProjectionCenterOffset = 4.0f * eyeProjectionShift / HMD.HScreenSize;
ProjectionCenterOffset = 0.5 - (HMD.HScreenSize / HMD.LensSeparationDistance);