forked from speed-dreams/speed-dreams-code
Bug #780 Cleaned up Cameras and added F8 = GoPro views.
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@5109 30fe4595-0a0c-4342-8851-515496e4dcbd Former-commit-id: c7e6c3dbde65408477facc0b7ca41431effa74da Former-commit-id: f8ecd0723b75adbc49bfe35ac1a9f0ab1f8e6c48
This commit is contained in:
parent
a3d5ff2c68
commit
ae2740da16
3 changed files with 180 additions and 135 deletions
|
@ -964,7 +964,7 @@ common_drive(const int index, tCarElt* car, tSituation *s)
|
||||||
|
|
||||||
car->_steerCmd = leftSteer + rightSteer;
|
car->_steerCmd = leftSteer + rightSteer;
|
||||||
|
|
||||||
#define GLANCERATE 12 // speed at which the driver turns his head, radians per sec -> ~1/3s to full glance
|
#define GLANCERATE 3 // speed at which the driver turns his head, ~1/3s to full glance
|
||||||
newGlance = car->_glance;
|
newGlance = car->_glance;
|
||||||
|
|
||||||
if ((cmd[CMD_LEFTGLANCE].type == GFCTRL_TYPE_JOY_BUT && joyInfo->levelup[cmd[CMD_LEFTGLANCE].val])
|
if ((cmd[CMD_LEFTGLANCE].type == GFCTRL_TYPE_JOY_BUT && joyInfo->levelup[cmd[CMD_LEFTGLANCE].val])
|
||||||
|
@ -981,10 +981,10 @@ common_drive(const int index, tCarElt* car, tSituation *s)
|
||||||
newGlance = newGlance + GLANCERATE * s->deltaTime;
|
newGlance = newGlance + GLANCERATE * s->deltaTime;
|
||||||
} else if (cmd[CMD_RIGHTGLANCE].type == GFCTRL_TYPE_JOY_AXIS && joyInfo->ax[cmd[CMD_RIGHTGLANCE].val] > cmd[CMD_RIGHTGLANCE].min)
|
} else if (cmd[CMD_RIGHTGLANCE].type == GFCTRL_TYPE_JOY_AXIS && joyInfo->ax[cmd[CMD_RIGHTGLANCE].val] > cmd[CMD_RIGHTGLANCE].min)
|
||||||
{
|
{
|
||||||
newGlance = joyInfo->ax[cmd[CMD_RIGHTGLANCE].val] * 2*PI/3;
|
newGlance = joyInfo->ax[cmd[CMD_RIGHTGLANCE].val];
|
||||||
} else if (cmd[CMD_LEFTGLANCE].type == GFCTRL_TYPE_JOY_AXIS && joyInfo->ax[cmd[CMD_LEFTGLANCE].val] < cmd[CMD_LEFTGLANCE].max)
|
} else if (cmd[CMD_LEFTGLANCE].type == GFCTRL_TYPE_JOY_AXIS && joyInfo->ax[cmd[CMD_LEFTGLANCE].val] < cmd[CMD_LEFTGLANCE].max)
|
||||||
{
|
{
|
||||||
newGlance = joyInfo->ax[cmd[CMD_LEFTGLANCE].val] * 2*PI/3;
|
newGlance = joyInfo->ax[cmd[CMD_LEFTGLANCE].val];
|
||||||
} else {
|
} else {
|
||||||
// return view to center
|
// return view to center
|
||||||
car->_oldglance = 0;
|
car->_oldglance = 0;
|
||||||
|
@ -998,9 +998,9 @@ common_drive(const int index, tCarElt* car, tSituation *s)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// limit glance to 120 degrees either way
|
// limit glance
|
||||||
if (newGlance > 2*PI/3) newGlance=2*PI/3;
|
if (newGlance > 1) newGlance=1;
|
||||||
if (newGlance < -2*PI/3) newGlance=-2*PI/3;
|
if (newGlance < -1) newGlance=-1;
|
||||||
|
|
||||||
// Limit twitching between values
|
// Limit twitching between values
|
||||||
if (newGlance != 0) {
|
if (newGlance != 0) {
|
||||||
|
|
|
@ -305,11 +305,7 @@ class cGrCarCamInsideDriverEye : public cGrPerspCamera
|
||||||
float offset = 0;
|
float offset = 0;
|
||||||
|
|
||||||
p[0] = car->_drvPos_x;
|
p[0] = car->_drvPos_x;
|
||||||
#if 1 //SDW Remove Before Release
|
|
||||||
p[1] = car->_bonnetPos_y;
|
p[1] = car->_bonnetPos_y;
|
||||||
#else
|
|
||||||
p[1] = car->_drvPos_y;
|
|
||||||
#endif
|
|
||||||
p[2] = car->_drvPos_z;
|
p[2] = car->_drvPos_z;
|
||||||
sgXformPnt3(p, car->_posMat);
|
sgXformPnt3(p, car->_posMat);
|
||||||
|
|
||||||
|
@ -324,12 +320,8 @@ class cGrCarCamInsideDriverEye : public cGrPerspCamera
|
||||||
fovy = spanfovy;
|
fovy = spanfovy;
|
||||||
}
|
}
|
||||||
|
|
||||||
P[0] = car->_drvPos_x + 30.0 * cos(car->_glance + offset);
|
P[0] = car->_drvPos_x + 30.0 * cos(2*PI/3 * car->_glance + offset);
|
||||||
#if 1 //SDW Remove Before Release
|
P[1] = car->_bonnetPos_y - 30.0 * sin(2*PI/3 * car->_glance + offset);
|
||||||
P[1] = car->_bonnetPos_y - 30.0 * sin(car->_glance + offset);
|
|
||||||
#else
|
|
||||||
P[1] = car->_drvPos_y - 30.0 * sin(car->_glance + offset);
|
|
||||||
#endif
|
|
||||||
P[2] = car->_drvPos_z;
|
P[2] = car->_drvPos_z;
|
||||||
sgXformPnt3(P, car->_posMat);
|
sgXformPnt3(P, car->_posMat);
|
||||||
|
|
||||||
|
@ -400,8 +392,8 @@ class cGrCarCamInsideDynDriverEye : public cGrCarCamInsideDriverEye
|
||||||
fovy = spanfovy;
|
fovy = spanfovy;
|
||||||
}
|
}
|
||||||
|
|
||||||
P[0] = car->_drvPos_x + 30.0 * cos(car->_glance + offset);
|
P[0] = car->_drvPos_x + 30.0 * cos(2*PI/3 * car->_glance + offset);
|
||||||
P[1] = car->_drvPos_y - 30.0 * sin(car->_glance + offset);
|
P[1] = car->_drvPos_y - 30.0 * sin(2*PI/3 * car->_glance + offset);
|
||||||
P[2] = car->_drvPos_z;
|
P[2] = car->_drvPos_z;
|
||||||
|
|
||||||
#if (CamDriverEyeDynamicBehaviour == 3)
|
#if (CamDriverEyeDynamicBehaviour == 3)
|
||||||
|
@ -429,8 +421,8 @@ class cGrCarCamInsideDynDriverEye : public cGrCarCamInsideDriverEye
|
||||||
if (headTurn > PI/3) headTurn = PI/3;
|
if (headTurn > PI/3) headTurn = PI/3;
|
||||||
if (headTurn < -PI/3) headTurn = -PI/3;
|
if (headTurn < -PI/3) headTurn = -PI/3;
|
||||||
|
|
||||||
P[0] = car->_drvPos_x + 30.0 * cos(car->_glance + offset + headTurn);
|
P[0] = car->_drvPos_x + 30.0 * cos(2*PI/3 * car->_glance + offset + headTurn);
|
||||||
P[1] = car->_drvPos_y - 30.0 * sin(car->_glance + offset + headTurn);
|
P[1] = car->_drvPos_y - 30.0 * sin(2*PI/3 * car->_glance + offset + headTurn);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -631,8 +623,8 @@ class cGrCarCamInsideFixedCar : public cGrPerspCamera
|
||||||
fovy = spanfovy;
|
fovy = spanfovy;
|
||||||
}
|
}
|
||||||
|
|
||||||
P[0] = car->_bonnetPos_x + 30.0 * cos(car->_glance + offset);
|
P[0] = car->_bonnetPos_x + 30.0 * cos(2*PI/3 * car->_glance + offset);
|
||||||
P[1] = car->_bonnetPos_y - 30.0 * sin(car->_glance + offset);
|
P[1] = car->_bonnetPos_y - 30.0 * sin(2*PI/3 * car->_glance + offset);
|
||||||
P[2] = car->_bonnetPos_z;
|
P[2] = car->_bonnetPos_z;
|
||||||
sgXformPnt3(P, car->_posMat);
|
sgXformPnt3(P, car->_posMat);
|
||||||
|
|
||||||
|
@ -686,8 +678,8 @@ class cGrCarCamInfrontFixedCar : public cGrPerspCamera
|
||||||
fovy = spanfovy;
|
fovy = spanfovy;
|
||||||
}
|
}
|
||||||
|
|
||||||
P[0] = (car->_dimension_x / 2) + 30.0 * cos(car->_glance + offset);
|
P[0] = (car->_dimension_x / 2) + 30.0 * cos(2*PI/3 * car->_glance + offset);
|
||||||
P[1] = car->_bonnetPos_y - 30.0 * sin(car->_glance + offset);
|
P[1] = car->_bonnetPos_y - 30.0 * sin(2*PI/3 * car->_glance + offset);
|
||||||
P[2] = car->_statGC_z;
|
P[2] = car->_statGC_z;
|
||||||
|
|
||||||
sgXformPnt3(P, car->_posMat);
|
sgXformPnt3(P, car->_posMat);
|
||||||
|
@ -727,8 +719,8 @@ class cGrCarCamBehindFixedCar : public cGrPerspCamera
|
||||||
sgVec3 P, p;
|
sgVec3 P, p;
|
||||||
float offset = 0;
|
float offset = 0;
|
||||||
|
|
||||||
p[0] = car->_drvPos_x - 6.0f * cos(1.5 * car->_glance);
|
p[0] = car->_drvPos_x - 6.0f * cos(PI * car->_glance);
|
||||||
p[1] = car->_bonnetPos_y + 6.0f * sin(1.5 * car->_glance);
|
p[1] = car->_bonnetPos_y + 6.0f * sin(PI * car->_glance);
|
||||||
p[2] = car->_bonnetPos_z + 1.0f;
|
p[2] = car->_bonnetPos_z + 1.0f;
|
||||||
sgXformPnt3(p, car->_posMat);
|
sgXformPnt3(p, car->_posMat);
|
||||||
|
|
||||||
|
@ -743,8 +735,8 @@ class cGrCarCamBehindFixedCar : public cGrPerspCamera
|
||||||
fovy = spanfovy;
|
fovy = spanfovy;
|
||||||
}
|
}
|
||||||
|
|
||||||
P[0] = car->_drvPos_x - 6.0f * cos(1.5 * car->_glance) + 30.0 * cos(1.5 * car->_glance + offset);
|
P[0] = car->_drvPos_x - 6.0f * cos(PI * car->_glance) + 30.0 * cos(PI * car->_glance + offset);
|
||||||
P[1] = car->_bonnetPos_y + 6.0f * sin(1.5 * car->_glance) - 30.0 * sin(1.5 * car->_glance + offset);
|
P[1] = car->_bonnetPos_y + 6.0f * sin(PI * car->_glance) - 30.0 * sin(PI * car->_glance + offset);
|
||||||
P[2] = car->_bonnetPos_z + 1.0f;;
|
P[2] = car->_bonnetPos_z + 1.0f;;
|
||||||
sgXformPnt3(P, car->_posMat);
|
sgXformPnt3(P, car->_posMat);
|
||||||
|
|
||||||
|
@ -880,30 +872,12 @@ class cGrCarCamBehind : public cGrPerspCamera
|
||||||
}
|
}
|
||||||
lastTime = s->currentTime;
|
lastTime = s->currentTime;
|
||||||
|
|
||||||
#if 0 // SDW Remove Before Release
|
eye[0] = car->_pos_X - dist * cos(A + PI * car->_glance);
|
||||||
tdble CosA;
|
eye[1] = car->_pos_Y - dist * sin(A + PI * car->_glance);
|
||||||
tdble SinA;
|
|
||||||
|
|
||||||
CosA = cos(A);
|
|
||||||
SinA = sin(A);
|
|
||||||
tdble x = car->_pos_X - dist * CosA;
|
|
||||||
tdble y = car->_pos_Y - dist * SinA;
|
|
||||||
|
|
||||||
eye[0] = x;
|
|
||||||
eye[1] = y;
|
|
||||||
eye[2] = RtTrackHeightG(car->_trkPos.seg, x, y) + height;
|
|
||||||
|
|
||||||
center[0] = car->_pos_X + (10 - dist) * CosA;
|
|
||||||
center[1] = car->_pos_Y + (10 - dist) * SinA;
|
|
||||||
#else
|
|
||||||
|
|
||||||
eye[0] = car->_pos_X - dist * cos(A + 1.5 * car->_glance);
|
|
||||||
eye[1] = car->_pos_Y - dist * sin(A + 1.5 * car->_glance);
|
|
||||||
eye[2] = RtTrackHeightG(car->_trkPos.seg, eye[0], eye[1]) + height;
|
eye[2] = RtTrackHeightG(car->_trkPos.seg, eye[0], eye[1]) + height;
|
||||||
|
|
||||||
center[0] = car->_pos_X + (10 - dist) * cos(A + 1.5 * car->_glance);
|
center[0] = car->_pos_X + (10 - dist) * cos(A + PI * car->_glance);
|
||||||
center[1] = car->_pos_Y + (10 - dist) * sin(A + 1.5 * car->_glance);
|
center[1] = car->_pos_Y + (10 - dist) * sin(A + PI * car->_glance);
|
||||||
#endif
|
|
||||||
center[2] = car->_pos_Z;
|
center[2] = car->_pos_Z;
|
||||||
|
|
||||||
speed[0] = car->pub.DynGCg.vel.x;
|
speed[0] = car->pub.DynGCg.vel.x;
|
||||||
|
@ -1000,20 +974,9 @@ class cGrCarCamFront : public cGrPerspCamera
|
||||||
}
|
}
|
||||||
|
|
||||||
void update(tCarElt *car, tSituation *s) {
|
void update(tCarElt *car, tSituation *s) {
|
||||||
#if 0 //SDW Remove Before Release
|
eye[0] = car->_pos_X + dist * cos(car->_yaw + PI * car->_glance);
|
||||||
tdble CosA = cos(car->_yaw);
|
eye[1] = car->_pos_Y + dist * sin(car->_yaw + PI * car->_glance);
|
||||||
tdble SinA = sin(car->_yaw);
|
|
||||||
tdble x = car->_pos_X + dist * CosA;
|
|
||||||
tdble y = car->_pos_Y + dist * SinA;
|
|
||||||
|
|
||||||
eye[0] = x;
|
|
||||||
eye[1] = y;
|
|
||||||
eye[2] = RtTrackHeightG(car->_trkPos.seg, x, y) + 0.5;
|
|
||||||
#else
|
|
||||||
eye[0] = car->_pos_X + dist * cos(car->_yaw + 1.5 * car->_glance);
|
|
||||||
eye[1] = car->_pos_Y + dist * sin(car->_yaw + 1.5 * car->_glance);
|
|
||||||
eye[2] = RtTrackHeightG(car->_trkPos.seg, eye[0], eye[1]) + 0.5;
|
eye[2] = RtTrackHeightG(car->_trkPos.seg, eye[0], eye[1]) + 0.5;
|
||||||
#endif
|
|
||||||
|
|
||||||
center[0] = car->_pos_X;
|
center[0] = car->_pos_X;
|
||||||
center[1] = car->_pos_Y;
|
center[1] = car->_pos_Y;
|
||||||
|
@ -1276,6 +1239,104 @@ class cGrCarCamLookAt : public cGrPerspCamera
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// cGrCarCamGoPro1 ================================================================
|
||||||
|
|
||||||
|
class cGrCarCamGoPro1 : public cGrPerspCamera
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
|
||||||
|
public:
|
||||||
|
cGrCarCamGoPro1(class cGrScreen *myscreen, int id, int drawCurr, int drawBG,
|
||||||
|
float fovy, float fovymin, float fovymax,
|
||||||
|
float fnear, float ffar = 1500.0,
|
||||||
|
float myfogstart = 1400.0, float myfogend = 1500.0)
|
||||||
|
: cGrPerspCamera(myscreen, id, drawCurr, 1, drawBG, 0, fovy, fovymin,
|
||||||
|
fovymax, fnear, ffar, myfogstart, myfogend) {
|
||||||
|
}
|
||||||
|
|
||||||
|
void update(tCarElt *car, tSituation *s) {
|
||||||
|
sgVec3 P, p;
|
||||||
|
|
||||||
|
p[0] = car->_drvPos_x;
|
||||||
|
p[1] = (car->_dimension_y / 2) + 0.1;
|
||||||
|
p[2] = car->_statGC_z;
|
||||||
|
sgXformPnt3(p, car->_posMat);
|
||||||
|
|
||||||
|
eye[0] = p[0];
|
||||||
|
eye[1] = p[1];
|
||||||
|
eye[2] = p[2];
|
||||||
|
|
||||||
|
P[0] = 30;
|
||||||
|
P[1] = (car->_dimension_y / 2) + 0.1;
|
||||||
|
P[2] = car->_statGC_z;
|
||||||
|
|
||||||
|
sgXformPnt3(P, car->_posMat);
|
||||||
|
|
||||||
|
center[0] = P[0];
|
||||||
|
center[1] = P[1];
|
||||||
|
center[2] = P[2];
|
||||||
|
|
||||||
|
up[0] = car->_posMat[2][0];
|
||||||
|
up[1] = car->_posMat[2][1];
|
||||||
|
up[2] = car->_posMat[2][2];
|
||||||
|
|
||||||
|
speed[0] =car->pub.DynGCg.vel.x;
|
||||||
|
speed[1] =car->pub.DynGCg.vel.y;
|
||||||
|
speed[2] =car->pub.DynGCg.vel.z;
|
||||||
|
|
||||||
|
Speed = car->_speed_x * 3.6;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// cGrCarCamGoPro2 ================================================================
|
||||||
|
|
||||||
|
class cGrCarCamGoPro2 : public cGrPerspCamera
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
|
||||||
|
public:
|
||||||
|
cGrCarCamGoPro2(class cGrScreen *myscreen, int id, int drawCurr, int drawBG,
|
||||||
|
float fovy, float fovymin, float fovymax,
|
||||||
|
float fnear, float ffar = 1500.0,
|
||||||
|
float myfogstart = 1400.0, float myfogend = 1500.0)
|
||||||
|
: cGrPerspCamera(myscreen, id, drawCurr, 1, drawBG, 0, fovy, fovymin,
|
||||||
|
fovymax, fnear, ffar, myfogstart, myfogend) {
|
||||||
|
}
|
||||||
|
|
||||||
|
void update(tCarElt *car, tSituation *s) {
|
||||||
|
sgVec3 P, p;
|
||||||
|
|
||||||
|
p[0] = car->_drvPos_x;
|
||||||
|
p[1] = 0 - (car->_dimension_y / 2) - 0.1;
|
||||||
|
p[2] = car->_statGC_z;
|
||||||
|
sgXformPnt3(p, car->_posMat);
|
||||||
|
|
||||||
|
eye[0] = p[0];
|
||||||
|
eye[1] = p[1];
|
||||||
|
eye[2] = p[2];
|
||||||
|
|
||||||
|
P[0] = 30;
|
||||||
|
P[1] = 0 - (car->_dimension_y / 2) - 0.1;
|
||||||
|
P[2] = car->_statGC_z;
|
||||||
|
|
||||||
|
sgXformPnt3(P, car->_posMat);
|
||||||
|
|
||||||
|
center[0] = P[0];
|
||||||
|
center[1] = P[1];
|
||||||
|
center[2] = P[2];
|
||||||
|
|
||||||
|
up[0] = car->_posMat[2][0];
|
||||||
|
up[1] = car->_posMat[2][1];
|
||||||
|
up[2] = car->_posMat[2][2];
|
||||||
|
|
||||||
|
speed[0] =car->pub.DynGCg.vel.x;
|
||||||
|
speed[1] =car->pub.DynGCg.vel.y;
|
||||||
|
speed[2] =car->pub.DynGCg.vel.z;
|
||||||
|
|
||||||
|
Speed = car->_speed_x * 3.6;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// cGrCarCamRoadNoZoom ================================================================
|
// cGrCarCamRoadNoZoom ================================================================
|
||||||
|
|
||||||
class cGrCarCamRoadNoZoom : public cGrPerspCamera
|
class cGrCarCamRoadNoZoom : public cGrPerspCamera
|
||||||
|
@ -1314,7 +1375,7 @@ class cGrCarCamRoadNoZoom : public cGrPerspCamera
|
||||||
|
|
||||||
center[0] = car->_pos_X;
|
center[0] = car->_pos_X;
|
||||||
center[1] = car->_pos_Y;
|
center[1] = car->_pos_Y;
|
||||||
/* center[2] = car->_pos_Z; */
|
center[2] = car->_pos_Z;
|
||||||
|
|
||||||
speed[0] = 0.0;
|
speed[0] = 0.0;
|
||||||
speed[1] = 0.0;
|
speed[1] = 0.0;
|
||||||
|
@ -1728,7 +1789,7 @@ grCamCreateSceneCameraList(class cGrScreen *myscreen, tGrCamHead *cams,
|
||||||
/* Scene Cameras */
|
/* Scene Cameras */
|
||||||
c = 0;
|
c = 0;
|
||||||
|
|
||||||
/* F2 */
|
/* F2 - First Person Views */
|
||||||
GF_TAILQ_INIT(&cams[c]);
|
GF_TAILQ_INIT(&cams[c]);
|
||||||
id = 0;
|
id = 0;
|
||||||
|
|
||||||
|
@ -1781,11 +1842,7 @@ grCamCreateSceneCameraList(class cGrScreen *myscreen, tGrCamHead *cams,
|
||||||
id++;
|
id++;
|
||||||
|
|
||||||
/* cam F2 = ahead the windshield, from the bonnet (road view, car not visible) */
|
/* cam F2 = ahead the windshield, from the bonnet (road view, car not visible) */
|
||||||
#if 1 //SDW Remove Before Release
|
|
||||||
cam = new cGrCarCamInfrontFixedCar(myscreen,
|
cam = new cGrCarCamInfrontFixedCar(myscreen,
|
||||||
#else
|
|
||||||
cam = new cGrCarCamInsideFixedCar(myscreen,
|
|
||||||
#endif
|
|
||||||
id,
|
id,
|
||||||
0, /* drawCurr */
|
0, /* drawCurr */
|
||||||
1, /* drawBG */
|
1, /* drawBG */
|
||||||
|
@ -1816,29 +1873,11 @@ grCamCreateSceneCameraList(class cGrScreen *myscreen, tGrCamHead *cams,
|
||||||
cam->add(&cams[c]);
|
cam->add(&cams[c]);
|
||||||
id++;
|
id++;
|
||||||
|
|
||||||
#if 0
|
/* F3 - 3rd Person Views */
|
||||||
/* cam F2 = just outside the car, behind; camera fixed to car */
|
|
||||||
cam = new cGrCarCamBehindFixedCar(myscreen,
|
|
||||||
id,
|
|
||||||
1, /* drawCurr */
|
|
||||||
1, /* drawBG */
|
|
||||||
67.5, /* fovy */
|
|
||||||
50.0, /* fovymin */
|
|
||||||
95.0, /* fovymax */
|
|
||||||
0.3, /* near */
|
|
||||||
fixedFar ? fixedFar : 600.0 * fovFactor, /* far */
|
|
||||||
fixedFar ? fixedFar/2 : 300.0 * fovFactor, /* fogstart */
|
|
||||||
fixedFar ? fixedFar : 600.0 * fovFactor /* fogend */
|
|
||||||
);
|
|
||||||
cam->add(&cams[c]);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* F3 */
|
|
||||||
c++;
|
c++;
|
||||||
GF_TAILQ_INIT(&cams[c]);
|
GF_TAILQ_INIT(&cams[c]);
|
||||||
id = 0;
|
id = 0;
|
||||||
|
|
||||||
#if 1 //SDW Remove Before Release
|
|
||||||
/* cam F2 = behind the car, near, looking forward */
|
/* cam F2 = behind the car, near, looking forward */
|
||||||
cam = new cGrCarCamBehind(myscreen,
|
cam = new cGrCarCamBehind(myscreen,
|
||||||
id,
|
id,
|
||||||
|
@ -1857,28 +1896,6 @@ grCamCreateSceneCameraList(class cGrScreen *myscreen, tGrCamHead *cams,
|
||||||
);
|
);
|
||||||
cam->add(&cams[c]);
|
cam->add(&cams[c]);
|
||||||
id++;
|
id++;
|
||||||
#endif
|
|
||||||
|
|
||||||
#if 0 //SDW Remove Before Release
|
|
||||||
/* cam F3 = behind the car, far */
|
|
||||||
cam = new cGrCarCamBehind(myscreen,
|
|
||||||
id,
|
|
||||||
1, /* drawCurr */
|
|
||||||
1, /* drawBG */
|
|
||||||
40.0, /* fovy */
|
|
||||||
5.0, /* fovymin */
|
|
||||||
95.0, /* fovymax */
|
|
||||||
20.0, /* dist */
|
|
||||||
4.0, /* height */
|
|
||||||
1.0, /* near */
|
|
||||||
fixedFar ? fixedFar : 600.0 * fovFactor, /* far */
|
|
||||||
fixedFar ? fixedFar/2 : 300.0 * fovFactor, /* fogstart */
|
|
||||||
fixedFar ? fixedFar : 600.0 * fovFactor, /* fogend */
|
|
||||||
15.0 /* relaxation */
|
|
||||||
);
|
|
||||||
cam->add(&cams[c]);
|
|
||||||
id++;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* cam F3 = car behind */
|
/* cam F3 = car behind */
|
||||||
cam = new cGrCarCamBehind(myscreen,
|
cam = new cGrCarCamBehind(myscreen,
|
||||||
|
@ -1934,7 +1951,7 @@ grCamCreateSceneCameraList(class cGrScreen *myscreen, tGrCamHead *cams,
|
||||||
cam->add(&cams[c]);
|
cam->add(&cams[c]);
|
||||||
id++;
|
id++;
|
||||||
|
|
||||||
/* F4 */
|
/* F4 - Tracking side/front/back shots */
|
||||||
c++;
|
c++;
|
||||||
GF_TAILQ_INIT(&cams[c]);
|
GF_TAILQ_INIT(&cams[c]);
|
||||||
id = 0;
|
id = 0;
|
||||||
|
@ -2090,7 +2107,7 @@ grCamCreateSceneCameraList(class cGrScreen *myscreen, tGrCamHead *cams,
|
||||||
);
|
);
|
||||||
cam->add(&cams[c]);
|
cam->add(&cams[c]);
|
||||||
|
|
||||||
/* F5 */
|
/* F5 - Views from above */
|
||||||
c++;
|
c++;
|
||||||
GF_TAILQ_INIT(&cams[c]);
|
GF_TAILQ_INIT(&cams[c]);
|
||||||
id = 0;
|
id = 0;
|
||||||
|
@ -2316,28 +2333,42 @@ grCamCreateSceneCameraList(class cGrScreen *myscreen, tGrCamHead *cams,
|
||||||
cam->add(&cams[c]);
|
cam->add(&cams[c]);
|
||||||
id++;
|
id++;
|
||||||
|
|
||||||
/* F8 */
|
/* F8 - GoPro like views*/
|
||||||
c++;
|
c++;
|
||||||
GF_TAILQ_INIT(&cams[c]);
|
GF_TAILQ_INIT(&cams[c]);
|
||||||
id = 0;
|
id = 0;
|
||||||
|
|
||||||
/* cam F8 = road cam fixed fov */
|
cam = new cGrCarCamGoPro1(myscreen,
|
||||||
|
|
||||||
cam = new cGrCarCamRoadNoZoom(myscreen,
|
|
||||||
id,
|
id,
|
||||||
1, /* drawCurr */
|
1, /* drawCurr */
|
||||||
1, /* drawBG */
|
1, /* drawBG */
|
||||||
30.0, /* fovy */
|
67.5, /* fovy */
|
||||||
5.0, /* fovymin */
|
10.0, /* fovymin */
|
||||||
60.0, /* fovymax */
|
95.0, /* fovymax */
|
||||||
1.0, /* near */
|
0.05, /* near */
|
||||||
fixedFar ? fixedFar : 1000.0 * fovFactor,/* far */
|
fixedFar ? fixedFar : 600.0 * fovFactor, /* far */
|
||||||
fixedFar ? fixedFar/2 : 500.0 * fovFactor, /* fogstart */
|
fixedFar ? fixedFar : 300.0 * fovFactor, /* fogstart */
|
||||||
fixedFar ? fixedFar : 1000.0 * fovFactor /* fogend */
|
fixedFar ? fixedFar : 600.0 * fovFactor /* fogend */
|
||||||
);
|
);
|
||||||
|
|
||||||
cam->add(&cams[c]);
|
cam->add(&cams[c]);
|
||||||
|
|
||||||
/* F9 */
|
cam = new cGrCarCamGoPro2(myscreen,
|
||||||
|
id,
|
||||||
|
1, /* drawCurr */
|
||||||
|
1, /* drawBG */
|
||||||
|
67.5, /* fovy */
|
||||||
|
10.0, /* fovymin */
|
||||||
|
95.0, /* fovymax */
|
||||||
|
0.05, /* near */
|
||||||
|
fixedFar ? fixedFar : 600.0 * fovFactor, /* far */
|
||||||
|
fixedFar ? fixedFar : 300.0 * fovFactor, /* fogstart */
|
||||||
|
fixedFar ? fixedFar : 600.0 * fovFactor /* fogend */
|
||||||
|
);
|
||||||
|
|
||||||
|
cam->add(&cams[c]);
|
||||||
|
|
||||||
|
/* F9 - TV like coverage */
|
||||||
c++;
|
c++;
|
||||||
GF_TAILQ_INIT(&cams[c]);
|
GF_TAILQ_INIT(&cams[c]);
|
||||||
id = 0;
|
id = 0;
|
||||||
|
@ -2358,7 +2389,22 @@ grCamCreateSceneCameraList(class cGrScreen *myscreen, tGrCamHead *cams,
|
||||||
cam->add(&cams[c]);
|
cam->add(&cams[c]);
|
||||||
id++;
|
id++;
|
||||||
|
|
||||||
/* F10 */
|
/* cam F9 = road cam fixed fov */
|
||||||
|
cam = new cGrCarCamRoadNoZoom(myscreen,
|
||||||
|
id,
|
||||||
|
1, /* drawCurr */
|
||||||
|
1, /* drawBG */
|
||||||
|
30.0, /* fovy */
|
||||||
|
5.0, /* fovymin */
|
||||||
|
60.0, /* fovymax */
|
||||||
|
1.0, /* near */
|
||||||
|
fixedFar ? fixedFar : 1000.0 * fovFactor,/* far */
|
||||||
|
fixedFar ? fixedFar/2 : 500.0 * fovFactor, /* fogstart */
|
||||||
|
fixedFar ? fixedFar : 1000.0 * fovFactor /* fogend */
|
||||||
|
);
|
||||||
|
cam->add(&cams[c]);
|
||||||
|
|
||||||
|
/* F10 - Helicopter like views*/
|
||||||
c++;
|
c++;
|
||||||
GF_TAILQ_INIT(&cams[c]);
|
GF_TAILQ_INIT(&cams[c]);
|
||||||
id = 0;
|
id = 0;
|
||||||
|
@ -2379,7 +2425,6 @@ grCamCreateSceneCameraList(class cGrScreen *myscreen, tGrCamHead *cams,
|
||||||
cam->add(&cams[c]);
|
cam->add(&cams[c]);
|
||||||
id++;
|
id++;
|
||||||
|
|
||||||
/* cam F3 = car behind */
|
|
||||||
cam = new cGrCarCamBehind2(myscreen,
|
cam = new cGrCarCamBehind2(myscreen,
|
||||||
id,
|
id,
|
||||||
1, /* drawCurr */
|
1, /* drawCurr */
|
||||||
|
@ -2396,7 +2441,7 @@ grCamCreateSceneCameraList(class cGrScreen *myscreen, tGrCamHead *cams,
|
||||||
cam->add(&cams[c]);
|
cam->add(&cams[c]);
|
||||||
id++;
|
id++;
|
||||||
|
|
||||||
/* F11 */
|
/* F11 - The Directors cut */
|
||||||
c++;
|
c++;
|
||||||
GF_TAILQ_INIT(&cams[c]);
|
GF_TAILQ_INIT(&cams[c]);
|
||||||
id = 0;
|
id = 0;
|
||||||
|
|
|
@ -461,15 +461,15 @@ initView(int x, int y, int width, int height, int /* flag */, void *screen)
|
||||||
GfuiAddKey(screen, GFUIK_PAGEUP, "Select Previous Car", (void*)0, grPrevCar, NULL);
|
GfuiAddKey(screen, GFUIK_PAGEUP, "Select Previous Car", (void*)0, grPrevCar, NULL);
|
||||||
GfuiAddKey(screen, GFUIK_PAGEDOWN, "Select Next Car", (void*)0, grNextCar, NULL);
|
GfuiAddKey(screen, GFUIK_PAGEDOWN, "Select Next Car", (void*)0, grNextCar, NULL);
|
||||||
|
|
||||||
GfuiAddKey(screen, GFUIK_F2, "Driver Views", (void*)0, grSelectCamera, NULL);
|
GfuiAddKey(screen, GFUIK_F2, "1st Person Views", (void*)0, grSelectCamera, NULL);
|
||||||
GfuiAddKey(screen, GFUIK_F3, "Car Views", (void*)1, grSelectCamera, NULL);
|
GfuiAddKey(screen, GFUIK_F3, "3rd Person Views", (void*)1, grSelectCamera, NULL);
|
||||||
GfuiAddKey(screen, GFUIK_F4, "Side Car Views", (void*)2, grSelectCamera, NULL);
|
GfuiAddKey(screen, GFUIK_F4, "Side Car Views", (void*)2, grSelectCamera, NULL);
|
||||||
GfuiAddKey(screen, GFUIK_F5, "Up Car View", (void*)3, grSelectCamera, NULL);
|
GfuiAddKey(screen, GFUIK_F5, "Up Car View", (void*)3, grSelectCamera, NULL);
|
||||||
GfuiAddKey(screen, GFUIK_F6, "Persp Car View", (void*)4, grSelectCamera, NULL);
|
GfuiAddKey(screen, GFUIK_F6, "Persp Car View", (void*)4, grSelectCamera, NULL);
|
||||||
GfuiAddKey(screen, GFUIK_F7, "All Circuit Views", (void*)5, grSelectCamera, NULL);
|
GfuiAddKey(screen, GFUIK_F7, "All Circuit Views", (void*)5, grSelectCamera, NULL);
|
||||||
GfuiAddKey(screen, GFUIK_F8, "Track View", (void*)6, grSelectCamera, NULL);
|
GfuiAddKey(screen, GFUIK_F8, "Action Cam Views", (void*)6, grSelectCamera, NULL);
|
||||||
GfuiAddKey(screen, GFUIK_F9, "Track View Zoomed", (void*)7, grSelectCamera, NULL);
|
GfuiAddKey(screen, GFUIK_F9, "TV Camera Views", (void*)7, grSelectCamera, NULL);
|
||||||
GfuiAddKey(screen, GFUIK_F10, "Follow Car Zoomed", (void*)8, grSelectCamera, NULL);
|
GfuiAddKey(screen, GFUIK_F10, "Helicopter Views", (void*)8, grSelectCamera, NULL);
|
||||||
GfuiAddKey(screen, GFUIK_F11, "TV Director View", (void*)9, grSelectCamera, NULL);
|
GfuiAddKey(screen, GFUIK_F11, "TV Director View", (void*)9, grSelectCamera, NULL);
|
||||||
|
|
||||||
GfuiAddKey(screen, '5', "Debug Info", (void*)3, grSelectBoard, NULL);
|
GfuiAddKey(screen, '5', "Debug Info", (void*)3, grSelectBoard, NULL);
|
||||||
|
|
Loading…
Reference in a new issue