ludic/packages/ludic.render3d/r3d.ludic
Orkuncakilkaya 8cc4bdf66b feat(render3d): 23.3 - a .dds beside a .png is uploaded BC-compressed with its whole mip chain
The device's textureCompressionBC is asked for and remembered (gvk_has_bc). tex_load_ex prefers a
DX10 .dds with the full chain beside the .png (not for an edge-padded cut-out atlas):
texture_dds.ludic reads BC7 / BC5 / BC4, gpu_tex_compressed makes the image with every level and
no colour-attachment use (a compressed image is only sampled and copied into), and
gvk_tex_upload_blocks copies each level's blocks from one staging buffer. A colour map is BC7
sampled as sRGB, a data map BC7 read as it is. examples/rendering/bc.ludic holds it, in the suite;
ludic.lab's plate carries its .dds (its three shots render at 56-60 dB against the .png's).

ludic-dev test 307/307, no Vulkan SDK in the environment.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 01:23:45 +03:00

41 lines
1.2 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 "gpu_vk_res.ludic"
import "gpu_vk_bc.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 "overlay.ludic"
import "shadow.ludic"
import "post.ludic"
import "quat.ludic"
import "gltf.ludic"
import "gltf_release.ludic"
import "skin.ludic"
import "scatter.ludic"
import "actor.ludic"
import "stream.ludic"
import "grass.ludic"
import "grass_gpu.ludic"
import "water.ludic"
import "streamline.ludic"
import "render.ludic"
import "safe_api.ludic"