From 84cd9e4f4643c92bd94c7b16818f6def7bd7681e Mon Sep 17 00:00:00 2001 From: johndoe6345789 Date: Tue, 6 Jan 2026 00:03:53 +0000 Subject: [PATCH] feat: Enhance cube mesh handling with double-sided indices support --- scripts/cube_logic.lua | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/scripts/cube_logic.lua b/scripts/cube_logic.lua index 49957d7..1b54434 100644 --- a/scripts/cube_logic.lua +++ b/scripts/cube_logic.lua @@ -9,6 +9,8 @@ local cube_mesh_info = { local cube_vertices = {} local cube_indices = {} local cube_indices_double_sided = {} +local cube_indices_active = {} +local use_double_sided_indices = false local function build_double_sided_indices(indices) local doubled = {} @@ -49,6 +51,8 @@ local function load_cube_mesh() cube_vertices = mesh.vertices cube_indices = mesh.indices cube_indices_double_sided = build_double_sided_indices(cube_indices) + use_double_sided_indices = #cube_indices_double_sided > 0 + cube_indices_active = use_double_sided_indices and cube_indices_double_sided or cube_indices cube_mesh_info.loaded = true cube_mesh_info.vertex_count = #mesh.vertices cube_mesh_info.index_count = #mesh.indices @@ -218,8 +222,8 @@ end if cube_mesh_info.loaded then log_debug("Loaded cube mesh from %s (%d vertices, %d indices)", cube_mesh_info.path, cube_mesh_info.vertex_count, cube_mesh_info.index_count) - if #cube_indices_double_sided > 0 then - log_debug("Built double-sided cube indices (%d -> %d)", + if use_double_sided_indices then + log_debug("Using double-sided cube indices (%d -> %d)", cube_mesh_info.index_count, #cube_indices_double_sided) end end @@ -636,7 +640,7 @@ local function create_static_cube(position, scale, color, shader_key) return { vertices = vertices, - indices = cube_indices, + indices = cube_indices_active, compute_model_matrix = compute_model_matrix, shader_key = resolved_shader, } @@ -653,7 +657,7 @@ local function create_spinning_cube() return { vertices = cube_vertices, - indices = (#cube_indices_double_sided > 0) and cube_indices_double_sided or cube_indices, + indices = cube_indices_active, compute_model_matrix = compute_model_matrix, shader_key = "default", }