Привет
эффект размытия, наконец, теперь и в mimgui
GitHub mimgui blur:
Скачать mimgui blur
Установка: переместить папку mimgui_blur из архива в папку «*Корневая папка с игрой*/moonloader/lib»
Установка: переместить папку mimgui_blur из архива в папку «*Корневая папка с игрой*/moonloader/lib»
Список функций:
Lua:
mimgui_blur.apply(draw_list, radius, color, rounding, rounding_corners) -- размывает целиком указанный дравлист. все параметры, кроме draw_list, являются необязательными
mimgui_blur.applyItem(draw_list, radius, color, rounding, rounding_corners) -- размывает предыдущий элемент в дравлисте. все параметры, кроме draw_list, являются необязательными
mimgui_blur.applyRect(draw_list, pos_start, pos_end, radius, color, rounding, rounding_corners) -- размывает указанную область в дравлисте. все параметры, кроме draw_list, pos_start, pos_end являются необязательными
Пример использования:
Lua:
local imgui = require 'mimgui'
local vkeys = require 'vkeys'
local mimgui_blur = require 'mimgui_blur'
local wm = require 'windows.message'
local new = imgui.new
local renderWindow = new.bool(false)
local sizeX, sizeY = getScreenResolution()
local blurMode = false
local blurRadius = new.float(0.8)
local newFrame = imgui.OnFrame(
function() return renderWindow[0] end,
function(player)
imgui.SetNextWindowPos(imgui.ImVec2(sizeX / 2, sizeY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.SetNextWindowSize(imgui.ImVec2(800, 600), imgui.Cond.FirstUseEver)
-- mimgui_blur.apply(imgui.GetBackgroundDrawList(), blurRadius[0])
-- imgui.GetBackgroundDrawList():AddLine(imgui.ImVec2(math.huge, math.huge), imgui.ImVec2(math.huge, math.huge), 0xff0000ff)
if imgui.Begin("Main Window", renderWindow) then
imgui.Text("Hello")
imgui.Text(string.format("Current render mode: %s", renderWindow[0]))
if imgui.Button('Switch mode') then blurMode = not blurMode end
imgui.SliderFloat("Blur radius", blurRadius, 0.0, 100.0)
mimgui_blur.apply(not blurMode and imgui.GetWindowDrawList() or imgui.GetBackgroundDrawList(), blurRadius[0])
end
imgui.End()
end
)
function main()
addEventHandler('onWindowMessage', function(msg, wparam, lparam)
if msg == wm.WM_KEYDOWN or msg == wm.WM_SYSKEYDOWN then
if wparam == vkeys.VK_X then
renderWindow[0] = not renderWindow[0]
end
end
end)
wait(-1)
end
Последнее редактирование: