CapsAdmin

Untitled

Jul 13th, 2013
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.86 KB | None | 0 0
  1. local data = {}
  2.  
  3. local temp_ang = Angle(0,0,0)
  4. local function rot(vec, yaw)
  5.     temp_ang.y = yaw
  6.     temp_ang.p = math.Rand(-10, 10) * 5
  7.     vec:Rotate(temp_ang)
  8.    
  9.     return vec
  10. end
  11.  
  12. local spread = 654
  13. local up = Vector(0,0,1)
  14.  
  15. for i=0, 1024*21 do
  16.     local pos = Vector(math.Rand(-spread, spread), math.Rand(-spread, spread), 0)
  17.  
  18.     local yaw = math.Rand(-180, 180)
  19.     local height = (math.random() ^ 3) * 20 + 5
  20.     local width = math.Rand(1, 5)
  21.     local color = Color(math.random(255), math.random(255), math.random(255))
  22.        
  23.     table.insert(data, {color = color, normal = up, u = 1, v = -0, pos = pos + rot(Vector(0,width,0), yaw)})
  24.     table.insert(data, {color = color, normal = up, u = 0, v = -0, pos = pos + rot(Vector(0,0,0), yaw)})   
  25.     table.insert(data, {color = color, normal = up, u = 0.5, v = -1, pos = pos + rot(Vector(0,width*0.5,height), yaw)})
  26. end
  27.  
  28. local mesh = Mesh()
  29. mesh:BuildFromTriangles(data)
  30.  
  31.  
  32. local matrix = Matrix()
  33. matrix:SetTranslation(Vector(-2456.2087402344, -8746.53125, -11823.96875))
  34.  
  35. local material = CreateMaterial("grass_lol_" .. os.clock(), "VertexLitGeneric",
  36. {
  37.     ["$basetexture"] = "models/props_swamp/tallgrass_01",
  38. })
  39.  
  40. material:SetFloat("$alpha", 1)
  41. --material:SetFloat("$translucent", 0)
  42. material:SetFloat("$alphatest", 1)
  43. material:SetFloat("$nocull", 1)
  44. material:SetFloat("$vertexcolor", 1)
  45.  
  46. local lol = ClientsideModel("error.mdl")
  47. lol:SetModelScale(0,0)
  48.  
  49. local function draw(yaw)
  50.     matrix:SetAngles(Angle(0,yaw,0))
  51.     matrix:SetTranslation(Vector(-2456.2087402344, -8746.53125, -11823.96875))
  52.     matrix:Scale(Vector(1,1,4))
  53.    
  54.     cam.PushModelMatrix(matrix)
  55.         render.CullMode(0)
  56.         mesh:Draw()
  57.         render.CullMode(1)
  58.         mesh:Draw()
  59.         render.CullMode(0)
  60.     cam.PopModelMatrix()
  61. end
  62.  
  63. hook.Add("PostDrawTranslucentRenderables", 1, function()   
  64.        
  65.     lol:DrawModel()
  66.     render.SetMaterial(material)
  67.     draw(0)
  68.     draw(180)
  69.     draw(90)
  70.     draw(-90)
  71. end)
Advertisement
Add Comment
Please, Sign In to add comment