Skip to content

Commit

Permalink
fix camera
Browse files Browse the repository at this point in the history
  • Loading branch information
cryham committed Mar 16, 2024
1 parent cb27b04 commit 0e5909b
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 24 deletions.
6 changes: 2 additions & 4 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
{
"files.associations": {
"*.any": "c#",
"*.any": "csharp",
"*.glsl": "c",
"*.compositor": "jsonc",
// "*.material": "json",
// "*.particle": "c",
"*.mat": "c",
"*.ini": "ruby",
"*.ini": "ruby"
},
"files.exclude": {
".vscode": false,
Expand Down
30 changes: 13 additions & 17 deletions src/OgreCommon/CameraController.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ namespace Demo

CameraController::CameraController( GraphicsSystem *graphicsSystem, bool useSceneNode ) :
// mUseNode( useSceneNode ),
// mSpeed( 0.5f ), mInertia( 0.9f ), // slow
// mSpeed( 0.5f ), mInertia( 0.96f ), // slow
mSpeed( 0.5f ), mInertia( 0.2f ),
mGraphicsSystem( graphicsSystem )
{
Expand Down Expand Up @@ -43,24 +43,24 @@ namespace Demo
mCameraPitch = 0.0f;
}

int camMovementZ = mWASDQE[2] - mWASDQE[0];
int camMovementX = mWASDQE[3] - mWASDQE[1];
int camMovementY = mWASDQE[5] - mWASDQE[4];
int camMoveZ = mWASDQE[2] - mWASDQE[0];
int camMoveX = mWASDQE[3] - mWASDQE[1];
int camMoveY = mWASDQE[5] - mWASDQE[4];

if( camMovementZ || camMovementX || camMovementY )
if( camMoveZ || camMoveX || camMoveY )
{
Ogre::Vector3 camMovementDir( camMovementX, camMovementY, camMovementZ );
camMovementDir.normalise();
camMovementDir *= fDT * mCameraBaseSpeed
Ogre::Vector3 camMoveDir( camMoveX, camMoveY, camMoveZ );
camMoveDir.normalise();
camMoveDir *= fDT * mCameraBaseSpeed
* (mSpeed1 ? mCameraSpeed1 : mSpeed2 ? mCameraSpeed2 : 1.f);

if( mUseSceneNode )
{
Ogre::Node *cameraNode = camera->getParentNode();
cameraNode->translate( camMovementDir, Ogre::Node::TS_LOCAL );
cameraNode->translate( camMoveDir, Ogre::Node::TS_LOCAL );
}
else
camera->moveRelative( camMovementDir );
camera->moveRelative( camMoveDir );
}
#else
// speeds ----------
Expand All @@ -69,14 +69,10 @@ namespace Demo
const Real mulRot = mShift ? 0.3f : mCtrl ? 2.f : 1.f;

// inputs
const Real rotX = mYaw;
const Real rotY = mPitch;
mYaw = 0.f;
mPitch = 0.f;
const Real rotX = mYaw; mYaw = 0.f;
const Real rotY = mPitch; mPitch = 0.f;
const Vector3 vTrans(
mWASDQE[3] - mWASDQE[1],
mWASDQE[5] - mWASDQE[4],
mWASDQE[2] - mWASDQE[0]);
mWASDQE[3] - mWASDQE[1], mWASDQE[5] - mWASDQE[4], mWASDQE[2] - mWASDQE[0]);

// const intervals, Fps independent smooth
const double ivDT = 0.004;
Expand Down
6 changes: 4 additions & 2 deletions src/TerrainGame_Update.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,13 @@ namespace Demo
AtmosphereNpr::Preset p = atmosphere->getPreset();

float mul1 = 1.f + 0.004f * mul * d;
auto* cam = mCameraController;
//------------------------------------------------------------------ Params Edit
switch (param)
{
case -3: mCameraController->mSpeed *= mul1; break;
case -2: mCameraController->mInertia *= mul1; break;
case -3: cam->mSpeed *= mul1; break;
case -2: cam->mInertia *= mul1;
cam->mInertia = std::min(cam->mInertia, 0.99f); break;
case -1: yWaterHeight *= mul1; break;

case 0: p.fogDensity *= mul1; break;
Expand Down
2 changes: 1 addition & 1 deletion src/TerrainScene_Vegetation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ namespace Demo
vegetLayers.emplace_back(VegetLayer("pine2_tall_norm.mesh",
1.7f, 4.3f, 10.f, 60.f, 500.f, 1.0f, -0.1f, 2500, 0 ));
vegetLayers.emplace_back(VegetLayer("pine3_fat_norm.mesh",
1.5f, 4.1f, 10.f, 50.f, 400.f, 1.0f, -0.1f, 3500, 0 ));
1.8f, 4.5f, 10.f, 50.f, 400.f, 1.0f, -0.1f, 3500, 0 ));
}else
{
vegetLayers.emplace_back(VegetLayer("jungle_tree-lod8.mesh", // OgreMeshTool args
Expand Down

0 comments on commit 0e5909b

Please sign in to comment.