Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local W, H = 128, 128
- local tex = GetRenderTarget(
- "something_" .. RealTime(), -- debug
- W,
- H,
- true
- )
- local function UpdateRenderTarget()
- local old_rt, old_w, old_h = render.GetRenderTarget(), ScrW(), ScrH()
- render.SetRenderTarget(tex)
- render.SetViewPort(0, 0, W, H)
- cam.Start2D()
- --surface.SetDrawColor(100, 100, 100, 100)
- --surface.DrawRect(0, 0, W, H)
- render.Clear(0, 0, 0, 0, true)
- local T = RealTime()
- surface.SetDrawColor(HSVToColor(T*30 % 360, 1, 1))
- surface.DrawRect(W/2 + math.sin(T)*W/4, H/2 + math.cos(T)*H/4, 16, 16)
- cam.End2D()
- render.SetRenderTarget(old_rt)
- render.SetViewPort(0, 0, old_w, old_h)
- end
- -- update our render target with 10 fps
- timer.Create("RT_Update", 1/10, 0, function()
- UpdateRenderTarget()
- end)
- -- draw it onto our hud
- local mat = CreateMaterial("asdf_" .. RealTime(), "UnlitGeneric", {})
- mat:SetTexture("$basetexture", tex)
- hook.Add("HUDPaint", "asdf", function()
- surface.SetMaterial(mat)
- surface.SetDrawColor(color_white)
- surface.DrawTexturedRect(0, 0, 128, 128)
- end)
- -- draw it onto a model
- local mat = CreateMaterial("asdf_" .. RealTime(), "VertexLitGeneric", {})
- mat:SetTexture("$basetexture", tex)
- SafeRemoveEntity(rt_ent)
- rt_ent = ClientsideModel("models/hunter/plates/plate1x1.mdl")
- rt_ent:SetPos(here)
- rt_ent.RenderOverride = function(s)
- render.SetBlend(0.99) -- this activates transparency
- render.MaterialOverride(mat)
- s:DrawModel()
- render.MaterialOverride()
- render.SetBlend(1)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement