CapsAdmin

Untitled

May 23rd, 2013
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.06 KB | None | 0 0
  1. local ply = LocalPlayer()
  2.  
  3. if
  4.     ply == morten or
  5.     ply == pyth or
  6.     ply == me or
  7.     ply == krio
  8. then else return end
  9.  
  10. local ORIGIN = here
  11. local ANGLES = me:EyeAngles()
  12.  
  13. local a_rt = GetRenderTarget("lola_" .. os.clock(), ScrW(), ScrH())
  14. local a_mat = CreateMaterial("lola_" .. os.clock(), "VertexLitGeneric")
  15. a_mat:SetTexture("$basetexture", a_rt)
  16.  
  17. local b_rt = GetRenderTarget("lolb_" .. os.clock(), ScrW(), ScrH())
  18. local b_mat = CreateMaterial("lolb_" .. os.clock(), "VertexLitGeneric")
  19. b_mat:SetTexture("$basetexture", b_rt)
  20.  
  21. local suppress = false
  22.  
  23. local B = Entity(263)
  24. local A = Entity(392)
  25.  
  26. local function draw_rt(rt, a, b)
  27.     local old = render.GetRenderTarget()
  28.     render.SetRenderTarget(rt)         
  29.         cam.Start2D()
  30.        
  31.             local params = {}
  32.            
  33.             params.w = ScrW()
  34.             params.h = ScrH()
  35.            
  36.             params.x = 0
  37.             params.y = 0
  38.            
  39.    
  40.             local ply = LocalPlayer()
  41.    
  42.             local ang = (a:GetUp() * - 1):Angle()
  43.             ang = ang + ply:EyeAngles()
  44.        
  45.             params.angles = ang
  46.     local lol = (math.log(ply:GetPos():Distance(a:GetPos()))) ^ 2.2
  47.    
  48.             params.fov = ply:GetFOV() + lol
  49.             params.origin = a:GetPos() - (ply:EyePos() - b:GetPos())
  50.            
  51.             params.drawhud = false
  52.             params.drawviewmodel = false
  53.            
  54.             suppress = true
  55.                 render.RenderView(params)
  56.             suppress = false
  57.            
  58.         cam.End2D()
  59.     render.SetRenderTarget(old)
  60. end
  61.  
  62. hook.Add("Think","lol",function()
  63.        
  64.     if suppress then return end
  65.        
  66.     draw_rt(a_rt, A, B)
  67.     draw_rt(b_rt, B, A)
  68. end)
  69.  
  70. local mat = Matrix()
  71.  
  72. mat:Scale(Vector(ScrH()/ScrW() * 2, ScrW()/ScrH(), 1))
  73.  
  74. A:EnableMatrix("RenderMultiply", mat)
  75. B:EnableMatrix("RenderMultiply", mat)
  76.  
  77. function A:RenderOverride()
  78.     if suppress then return end
  79.    
  80.     render.SuppressEngineLighting(true)
  81.         render.MaterialOverride(b_mat)
  82.             self:DrawModel()
  83.         render.MaterialOverride()
  84.     render.SuppressEngineLighting(false)
  85. end
  86.  
  87. function B:RenderOverride()
  88.     if suppress then return end
  89.    
  90.     render.SuppressEngineLighting(true)
  91.         render.MaterialOverride(a_mat)
  92.             self:DrawModel()
  93.         render.MaterialOverride()
  94.     render.SuppressEngineLighting(false)
  95. end
Advertisement
Add Comment
Please, Sign In to add comment