Heights as u16 over each 64 m tile's own minimum and step (a tile spanning 200 m steps 3 mm), normals octahedral 8 + 8, the photograph RGB8, and the coarse level (2048: heights f32, normals, photograph) - 30 + 32 + 48 + 16 + 8 + 12 MB, about 146 MB a map where the float tiles were 192 plus nothing coarse. The writer puts the whole copy back to the quantized values as it goes, so the build's own queries, the physics, the placements' bake and every machine read the same numbers; a tile read decodes them into the pools the queries and the page pool already use. terrain_tiles_bake(path, key, version, inputs_hash) writes a bake's file (ludic.base's LBAK header, the tiles as its payload) from a made map; terrain_from_baked(path, key, version, half, ox, oz) opens one at boot in place of terrain_use_dem / terrain_use_ortho, and terrain_init then generates nothing (and bakes the sun's shadow from the coarse level unless terrain_shadow_from_bytes gave it). Without a bake the cut writes the same format to <dir>/<key>.tiles and reads it back. The GPU's coarse level is made from the file's coarse sections (the blit from the whole maps is gone). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
57 lines
1.7 KiB
Text
57 lines
1.7 KiB
Text
# ============================================================================
|
|
# ludic.render3d — a physically based 3D renderer on Gl.* (OpenGL 4.1 core).
|
|
# Import this one file, and register what a frame draws: r3d_on_draw, r3d_on_casters and, for a
|
|
# streamed layer, r3d_on_stream_fill (hooks.ludic).
|
|
# ============================================================================
|
|
numbers float # the renderer's numbers are floats whoever imports it
|
|
import "env.ludic"
|
|
import "hooks.ludic"
|
|
import "fmath.ludic"
|
|
import "gpu.ludic"
|
|
import "gpu_manifest.ludic"
|
|
import "gpu_vk.ludic"
|
|
import "vkmem_report.ludic"
|
|
import "gpu_vk_res.ludic"
|
|
import "gpu_vk_layers.ludic"
|
|
import "gpu_vk_bc.ludic"
|
|
import "gpu_vk_readback.ludic"
|
|
import "texture_dds.ludic"
|
|
import "prof.ludic"
|
|
import "drawstats.ludic"
|
|
import "programs.ludic"
|
|
import "texture.ludic"
|
|
import "mesh.ludic"
|
|
import "gpu_vk_draw.ludic"
|
|
import "camera.ludic"
|
|
import "sky.ludic"
|
|
import "daylight.ludic"
|
|
import "terrain.ludic"
|
|
import "terrain_chunks.ludic"
|
|
import "terrain_tiles.ludic"
|
|
import "terrain_tiles_cut.ludic"
|
|
import "terrain_ltt2_write.ludic"
|
|
import "terrain_ltt2_read.ludic"
|
|
import "terrain_pages.ludic"
|
|
import "terrain_pages_frame.ludic"
|
|
import "terrain_pages_fill.ludic"
|
|
import "overlay.ludic"
|
|
import "shadow.ludic"
|
|
import "post.ludic"
|
|
import "quat.ludic"
|
|
import "gltf.ludic"
|
|
import "gltf_release.ludic"
|
|
import "gltf_cached.ludic"
|
|
import "skin.ludic"
|
|
import "scatter.ludic"
|
|
import "fog_casters.ludic"
|
|
import "fog_impostors.ludic"
|
|
import "actor.ludic"
|
|
import "stream.ludic"
|
|
import "fog_streams.ludic"
|
|
import "grass.ludic"
|
|
import "grass_gpu.ludic"
|
|
import "water.ludic"
|
|
import "streamline.ludic"
|
|
import "render.ludic"
|
|
import "bake_parts.ludic"
|
|
import "safe_api.ludic"
|