How to render yourself? (rander.SetRenderTarget)

Hello everyone.

http://i59.fastpic.ru/thumb/2013/0903/28/_061d0a239941ff1fdd97134bd31c4828.jpeg




local channel = self:GetNWInt("channel")
local rts = GetRenderTarget("Screen_RT"..channel, 512, 512)
local mat = Material("WeltEnSTurm/rt7/rt7_"..channel)
hook.Add("HUDPaint", "DrawMonitor",function()
	local oldrt=render.GetRenderTarget()
	mat:SetTexture("$basetexture", rts)
	camdata={}
	camdata.angles=self:GetAngles()
	camdata.origin=self:GetPos()+self:GetAngles():Forward()*5+self:GetAngles():Right()*-3+self:GetAngles():Up()*-2

	camdata.x = 0
	camdata.y = 0
	camdata.w = ScrW()
	camdata.h = ScrH()
	render.SetRenderTarget(rts)
	LocalPlayer():GetViewModel():SetNoDraw(true)
	render.RenderView(camdata)
	LocalPlayer():GetViewModel():SetNoDraw(false)
	render.SetRenderTarget(oldrt)
	
	surface.SetDrawColor( 255, 255, 255, 255 )
	surface.SetMaterial(mat)
	surface.DrawTexturedRect( 25 , 25, ScrW() * 0.2, ScrH() * 0.2 )
end)



How to do that I hit the render?