Advertisement
CapsAdmin

Untitled

Feb 6th, 2013
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.52 KB | None | 0 0
  1. local W, H = 128, 128
  2. local tex = GetRenderTarget(
  3.     "something_" .. RealTime(), -- debug
  4.     W,
  5.     H,
  6.     true
  7. )
  8.  
  9. local function UpdateRenderTarget()
  10.     local old_rt, old_w, old_h = render.GetRenderTarget(), ScrW(), ScrH()
  11.     render.SetRenderTarget(tex)
  12.     render.SetViewPort(0, 0, W, H)
  13.     cam.Start2D()  
  14.         --surface.SetDrawColor(100, 100, 100, 100)
  15.         --surface.DrawRect(0, 0, W, H)
  16.         render.Clear(0, 0, 0, 0, true)
  17.    
  18.         local T = RealTime()
  19.                
  20.         surface.SetDrawColor(HSVToColor(T*30 % 360, 1, 1))
  21.         surface.DrawRect(W/2 + math.sin(T)*W/4, H/2 + math.cos(T)*H/4, 16, 16)
  22.     cam.End2D()
  23.     render.SetRenderTarget(old_rt)
  24.     render.SetViewPort(0, 0, old_w, old_h)
  25. end
  26.  
  27. -- update our render target with 10 fps
  28. timer.Create("RT_Update", 1/10, 0, function()
  29.     UpdateRenderTarget()       
  30. end)
  31.  
  32.  
  33. -- draw it onto our hud
  34. local mat = CreateMaterial("asdf_" .. RealTime(), "UnlitGeneric", {})
  35. mat:SetTexture("$basetexture", tex)
  36.  
  37. hook.Add("HUDPaint", "asdf", function()    
  38.     surface.SetMaterial(mat)
  39.     surface.SetDrawColor(color_white)
  40.     surface.DrawTexturedRect(0, 0, 128, 128)
  41. end)
  42.  
  43. -- draw it onto a model
  44. local mat = CreateMaterial("asdf_" .. RealTime(), "VertexLitGeneric", {})
  45. mat:SetTexture("$basetexture", tex)
  46.  
  47. SafeRemoveEntity(rt_ent)
  48. rt_ent = ClientsideModel("models/hunter/plates/plate1x1.mdl")
  49. rt_ent:SetPos(here)
  50. rt_ent.RenderOverride = function(s)
  51.     render.SetBlend(0.99) -- this activates transparency
  52.  
  53.     render.MaterialOverride(mat)
  54.         s:DrawModel()
  55.     render.MaterialOverride()
  56.    
  57.     render.SetBlend(1)
  58. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement