Jump to content

  • Log In with Google      Sign In   
  • Create Account

Adversus

Member Since 15 Apr 2011
Offline Last Active Mar 10 2013 02:18 PM

Topics I've Started

Stereo when using an infinity projection matrix

09 March 2013 - 06:10 PM

I am rendering a skydome using an infinity projection matrix and I want to move the final image left and right by a certain amount of pixels which I already know so it appears at the max parallax.
 
I could render it to a slightly larger framebuffer and then move that however I was wondering if there was a way of doing this (possibly by changing the infinity projection matrix)?
 
Below is the code used to generate the infinity projection matrix:

 

buildProjectionMatrixInfinityPerspectiveFovLH(f32 aspectRatio)

{

 

 

const f64 yScale = 1.0f / tan(45.0f / 2.0f);

 

 

const T xScale = (T)(yScale / aspectRatio);

 

 

const T Epsilon = 0.000001f;

 

M[0] = xScale;

M[1] = 0;

M[2] = 0;

M[3] = 0;

M[4] = 0;

M[5] = (T)yScale;

M[6] = 0;

M[7] = 0;

M[8] = 0;

M[9] = 0;

M[10] = 1.0f+Epsilon;

M[11] = 1.0f;

M[12] = 0;

M[13] = 0;

M[14] = -1.0f;

M[15] = 0;

definitelyIdentityMatrix=

 

false;

 

 

return *this;

}

 

Thanks.


Using a Catmul Rom spline for steering assist

22 October 2011 - 09:23 AM

I'm looking to use a Catmull Rom spline for steering assist in a driving game.

Currently I compute the spline and then use linear interpolation along the 2nd and 3rd control points to determine t.

i.e.

vector3df v2toV3 = v3 - v2;

f32 t = v2toV3.getLength();

v2toV3.normalize();

vector3df v2topos = GetTrans().GetPosition() - v2;

t = Boundval( 0.0f, v2topos.dotProduct( v2toV3 ) / t, 1.0f );

Which I then use to determine the point along the spline and I use that to feed into a pid controller

My problem is the linear interpolation to detemine t. As this value could be slightly behind or ahead of the car's position depending on the curvature of the spline.

What I really need is a way of determining the position along the spline that intersects the shortest line from the car to the line between the two control points.

If any of that makes sense? :-)

Using a Catmul Rom spline for steering assist

22 October 2011 - 09:16 AM

I'm looking to use a Catmull Rom spline for steering assist in a driving game.

Currently I compute the spline and then use linear interpolation along the 2nd and 3rd control points to determine t.

i.e.

vector3df v2toV3 = v3 - v2;

f32 t = v2toV3.getLength();

v2toV3.normalize();

vector3df v2topos = GetTrans().GetPosition() - v2;

t = Boundval( 0.0f, v2topos.dotProduct( v2toV3 ) / t, 1.0f );

Which I then use to determine the point along the spline and I use that to feed into a pid controller

My problem is the linear interpolation to detemine t. As this value could be slightly behind or ahead of the car's position depending on the curvature of the spline.

What I really need is a way of determining the position along the spline that intersects the shortest line from the car to the line between the two control points.

If any of that makes sense? :-)


Moving a 3D object in screen space

15 April 2011 - 08:37 AM

Hi I want to move a 3D object 50 pixels down in the screen and I can't figure out the maths to that.

I have the projection, model and view matrices plus all the screen dimensions. Could some tell me how to do this?

Cheers,
John.

PARTNERS