diff --git a/Environment.cpp b/Environment.cpp index f30535c..2ccd2fd 100644 --- a/Environment.cpp +++ b/Environment.cpp @@ -10,7 +10,7 @@ namespace ZL { int Environment::windowHeaderHeight = 0; int Environment::width = 0; int Environment::height = 0; -float Environment::zoom = 10.0f; +float Environment::zoom = 3.f; bool Environment::leftPressed = false; bool Environment::rightPressed = false; diff --git a/GameObjectManager.cpp b/GameObjectManager.cpp index fa5120c..b1d53bf 100644 --- a/GameObjectManager.cpp +++ b/GameObjectManager.cpp @@ -177,6 +177,10 @@ void GameObjectManager::handleEvent(const SDL_Event& event) { if (Environment::zoom < zoomstep) { Environment::zoom = zoomstep; } + if (Environment::zoom > 4) + { + Environment::zoom = 4; + } } else if (event.type == SDL_KEYDOWN) { switch (event.key.keysym.sym) { diff --git a/RenderSystem.cpp b/RenderSystem.cpp index 9860172..cc3c633 100644 --- a/RenderSystem.cpp +++ b/RenderSystem.cpp @@ -130,18 +130,16 @@ void RenderSystem::drawWorld(GameObjectManager& gameObjects) { renderer.shaderManager.PushShader(hideCamShaderName); renderer.RenderUniform1i(textureUniformName, 0); - Vector3f testVec1{ 0,0,0 }; + Vector3f totalCameraTargetPos = Environment::characterPos - Vector3f{ 0, Environment::cameraDefaultVerticalShift, 0 }; - Vector3f testVec2{ 0,400,-600 }; - renderer.RenderUniform3fv("targetPos", &Environment::characterPos.v[0]); - //renderer.RenderUniform3fv("targetPos", &testVec1.v[0]); + renderer.RenderUniform3fv("targetPos", &totalCameraTargetPos.v[0]); Vector3f cameraPos = Vector3f{ 0,0, 100 * Environment::zoom }; cameraPos = MultVectorMatrix(cameraPos, QuatToMatrix(QuatFromRotateAroundX(Environment::cameraAlpha))); cameraPos = MultVectorMatrix(cameraPos, QuatToMatrix(QuatFromRotateAroundY(Environment::cameraPhi))); - cameraPos = cameraPos + Environment::characterPos; + cameraPos = cameraPos + totalCameraTargetPos; renderer.RenderUniform3fv("eyePos", &cameraPos.v[0]); //renderer.RenderUniform3fv("eyePos", &testVec2.v[0]); diff --git a/defaultHideCam.fragment b/defaultHideCam.fragment index f276940..cd91b15 100644 --- a/defaultHideCam.fragment +++ b/defaultHideCam.fragment @@ -44,9 +44,9 @@ void main() float distanceX = abs(vWorldPos.x); float distanceZ = abs(vWorldPos.z); - float distanceToCamera = length(vWorldPos - targetPos); + //float distanceToCamera = length(vWorldPos - targetPos); - if ((distanceX > 750 || distanceZ > 750) && (dotProduct > 0.93)) + if (/*(distanceX > 250 || distanceZ > 250) && */(dotProduct > 0.1) && vWorldPos.y > 30) { //color.rgba = vec4(1,0,0,1); discard;