Decal Viewer example (decal/image id -> imgui texture, demo image viewer with grid); backend CreateTexture/DestroyTexture

This commit is contained in:
4DBug
2026-10-08 17:38:33 -05:00
parent ffc0332971
commit 7074a41528
4 changed files with 103 additions and 1 deletions
+1 -1
View File
@@ -1 +1 @@
[[12, "imgui.lua"], [18472, "imgui_demo.lua"], [25757, "imgui_draw.lua"], [30995, "imgui_h.lua"], [33193, "imgui_impl_roblox.lua"], [34396, "imgui_impl_roblox_fonts.lua"], [40799, "imgui_internal.lua"], [43971, "imgui_tables.lua"], [48318, "imgui_widgets.lua"], [58073, "imstb_rectpack.lua"], [58519, "imstb_textedit.lua"], [59760, "imstb_truetype.lua"], [62228, "imstd_minstdio.lua"]]
[[12, "imgui.lua"], [18472, "imgui_demo.lua"], [25757, "imgui_draw.lua"], [30995, "imgui_h.lua"], [33193, "imgui_impl_roblox.lua"], [34411, "imgui_impl_roblox_fonts.lua"], [40814, "imgui_internal.lua"], [43986, "imgui_tables.lua"], [48333, "imgui_widgets.lua"], [58088, "imstb_rectpack.lua"], [58534, "imstb_textedit.lua"], [59775, "imstb_truetype.lua"], [62243, "imstd_minstdio.lua"]]
+17
View File
@@ -33379,6 +33379,19 @@ function ImGui_ImplRoblox_UpdateTexture(tex)
end
end
--- User texture from RGBA8 pixels (e.g. EditableImage:ReadPixelsBuffer()). Returns an ImTextureRef for
--- ImGui.Image / draw_list:AddImage. Ids are never reused, so cached tiles can't show a stale image.
function ImGui_ImplRoblox_CreateTexture(pixels, w, h)
local bd = ImGui_ImplRoblox_GetBackendData()
bd.TextureCount = bd.TextureCount + 1
bd.Textures[bd.TextureCount] = { Buffer = pixels, Width = w, Height = h }
return ImTextureRef(bd.TextureCount)
end
function ImGui_ImplRoblox_DestroyTexture(tex_ref)
ImGui_ImplRoblox_GetBackendData().Textures[tex_ref._TexID] = nil
end
---------------------------------------------------------
-- RENDERING (software rasterizer into tile buffers)
---------------------------------------------------------
@@ -34383,6 +34396,8 @@ ImGui_ImplRoblox = {
SetRenderScale = ImGui_ImplRoblox_SetRenderScale,
SetRenderRate = ImGui_ImplRoblox_SetRenderRate,
SetOverlay = ImGui_ImplRoblox_SetOverlay,
CreateTexture = ImGui_ImplRoblox_CreateTexture,
DestroyTexture = ImGui_ImplRoblox_DestroyTexture,
GetRenderScale = function() return ImGui_ImplRoblox_GetBackendData().Scale end,
SetBusyRenderRate = ImGui_ImplRoblox_SetBusyRenderRate,
SetProfiling = ImGui_ImplRoblox_SetProfiling,
@@ -62836,6 +62851,8 @@ return {
ImGuiWindowSettings = ImGuiWindowSettings,
ImGuiWindowStackData = ImGuiWindowStackData,
ImGui_ImplRoblox = ImGui_ImplRoblox,
ImGui_ImplRoblox_CreateTexture = ImGui_ImplRoblox_CreateTexture,
ImGui_ImplRoblox_DestroyTexture = ImGui_ImplRoblox_DestroyTexture,
ImGui_ImplRoblox_GetBackendData = ImGui_ImplRoblox_GetBackendData,
ImGui_ImplRoblox_Init = ImGui_ImplRoblox_Init,
ImGui_ImplRoblox_NewFrame = ImGui_ImplRoblox_NewFrame,