Фикс farlands
This commit is contained in:
@@ -315,7 +315,10 @@ public class PostProcessingManager {
|
|||||||
// Камера
|
// Камера
|
||||||
Camera camera = client.gameRenderer.getCamera();
|
Camera camera = client.gameRenderer.getCamera();
|
||||||
Vec3d pos = camera.getPos();
|
Vec3d pos = camera.getPos();
|
||||||
GL20.glUniform3f(rm_cameraPositionLocation, (float) pos.x, (float) pos.y, (float) pos.z);
|
float localCameraX = (float) (pos.x - FogSystem.originChunkX() * FogWorldVolume.CHUNK_SIZE);
|
||||||
|
float localCameraY = (float) (pos.y - FogWorldVolume.MIN_Y);
|
||||||
|
float localCameraZ = (float) (pos.z - FogSystem.originChunkZ() * FogWorldVolume.CHUNK_SIZE);
|
||||||
|
GL20.glUniform3f(rm_cameraPositionLocation, localCameraX, localCameraY, localCameraZ);
|
||||||
|
|
||||||
// Размер экрана (scaled)
|
// Размер экрана (scaled)
|
||||||
GL20.glUniform2f(rm_screenSizeLocation, scaledWidth, scaledHeight);
|
GL20.glUniform2f(rm_screenSizeLocation, scaledWidth, scaledHeight);
|
||||||
|
|||||||
@@ -72,25 +72,21 @@ vec3 reconstructWorldPosition(vec2 uv)
|
|||||||
|
|
||||||
vec3 worldToUV(vec3 worldPos)
|
vec3 worldToUV(vec3 worldPos)
|
||||||
{
|
{
|
||||||
float localX = worldPos.x - float(FogOrigin.x);
|
|
||||||
float localZ = worldPos.z - float(FogOrigin.y);
|
|
||||||
|
|
||||||
if (
|
if (
|
||||||
localX < 0.0 || localX >= FOG_SIZE_X ||
|
worldPos.x < 0.0 || worldPos.x >= FOG_SIZE_X ||
|
||||||
localZ < 0.0 || localZ >= FOG_SIZE_Z ||
|
worldPos.z < 0.0 || worldPos.z >= FOG_SIZE_Z ||
|
||||||
worldPos.y < WORLD_BOTTOM ||
|
worldPos.y < 0.0 || worldPos.y >= WORLD_HEIGHT
|
||||||
worldPos.y >= WORLD_BOTTOM + WORLD_HEIGHT
|
|
||||||
){
|
){
|
||||||
return vec3(-1.0);
|
return vec3(-1.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
float physicalX = localX + float(RingBlockOffset.x);
|
float physicalX = mod(worldPos.x + float(RingBlockOffset.x), FOG_SIZE_X);
|
||||||
float physicalZ = localZ + float(RingBlockOffset.y);
|
float physicalZ = mod(worldPos.z + float(RingBlockOffset.y), FOG_SIZE_Z);
|
||||||
|
|
||||||
vec3 uv;
|
vec3 uv;
|
||||||
uv.x = physicalX / FOG_SIZE_X;
|
uv.x = physicalX / FOG_SIZE_X;
|
||||||
uv.z = physicalZ / FOG_SIZE_Z;
|
uv.z = physicalZ / FOG_SIZE_Z;
|
||||||
uv.y = (worldPos.y - WORLD_BOTTOM) / WORLD_HEIGHT;
|
uv.y = worldPos.y / WORLD_HEIGHT;
|
||||||
|
|
||||||
return uv;
|
return uv;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user