prec_put / prec_get / prec_size (Physics' spec): PREC_FULL, 12 bytes, for trees, boulders and stones (u16 x, z in 1/65536 of the chunk; u16 y in cm above y_base; u8 scale over the kind's lo..hi, yaw, seed, wind), and PREC_PACKED, 7 bytes, for the stream kinds (56 bits, least significant first: x 12, z 12, y 12 in cm, scale 6, yaw 6, seed 4, wind 4). An encode takes the cell a value falls in, a decode its centre, so a round trip is stable; a record is read from a []byte at an offset, never a pointer. stream_emit_baked and layer_chunk_put take (recs, at, fmt) and decode through it; the earlier sb7_* pair is gone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
60 lines
1.8 KiB
Text
60 lines
1.8 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 "layer_chunks.ludic"
|
|
import "fog_impostors.ludic"
|
|
import "actor.ludic"
|
|
import "stream.ludic"
|
|
import "place_rec.ludic"
|
|
import "stream_baked.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"
|