Advertisement
CapsAdmin

Untitled

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