← Назад к ресурсам

Askew World

Resource pack makes askew world, no animations with core shader

Modrinth blocks core-shaders vanilla-like

Описание

# Incompatible with Sodium Resource pack makes askew world ![askew world](https://cdn.modrinth.com/data/cached_images/53543f0c4e5001347e7e590c86f40e7354abd8ca_0.webp) In resource pack have onle **terrain.vsh** ### terrain.vsh ``` #version 150 in vec3 Position; in vec4 Color; in vec2 UV0; in ivec2 UV2; in vec3 Normal; uniform sampler2D Sampler2; uniform sampler2D NoiseTexture; uniform mat4 ModelViewMat; uniform mat4 ProjMat; uniform vec3 ModelOffset; uniform float GameTime; out float vertexDistance; out vec4 vertexColor; out vec2 texCoord0; out vec3 normal; void main() { float discreteTime = floor(GameTime * 5.0) / 5.0; vec3 blockPos = floor(Position + 0.5); float borderFactorX = smoothstep(0.0, 1.0, min(mod(Position.x, 16.0), 16.0 - mod(Position.x, 16.0))); float borderFactorZ = smoothstep(0.0, 1.0, min(mod(Position.z, 16.0), 16.0 - mod(Position.z, 16.0))); float borderFactor = min(borderFactorX, borderFactorZ); vec3 offset = vec3(0.0); if (borderFactor > 0.01) { vec2 noiseCoord = blockPos.xz * 0.1 + vec2(discreteTime * 0.5, 0.0); offset = vec3( texture(NoiseTexture, noiseCoord).r - 0.5, texture(NoiseTexture, noiseCoord + vec2(0.3, 0.7)).r - 0.5, texture(NoiseTexture, noiseCoord + vec2(0.7, 0.3)).r - 0.5 ) * 0.1 * borderFactor; // Плавное затухание к границам } vec3 worldPos = Position + ModelOffset; vec3 distortedPos = worldPos + offset; gl_Position = ProjMat * ModelViewMat * vec4(distortedPos, 1.0); vertexDistance = length((ModelViewMat * vec4(distortedPos, 1.0)).xyz); vertexColor = Color * texelFetch(Sampler2, UV2 / 16, 0); texCoord0 = UV0; normal = Normal; } ```