fixing hole bugs, merge

This commit is contained in:
Vladislav Khorev 2025-03-02 14:51:24 +03:00
parent 0fc6b483d1
commit 9f75e3ad60
4 changed files with 10 additions and 8 deletions

View File

@ -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;

View File

@ -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) {

View File

@ -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]);

View File

@ -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;