Advertisement
SneakySquid

Mesh Gradients

Feb 21st, 2025 (edited)
335
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.04 KB | None | 0 0
  1. local vgui_white = Material("vgui/white")
  2.  
  3. function draw.GradientV(x, y, w, h, col_a, col_b)
  4.     render.SetMaterial(vgui_white)
  5.  
  6.     mesh.Begin(MATERIAL_QUADS, 1)
  7.         mesh.Position(Vector(x, y, 0))
  8.         mesh.Color(col_a:Unpack())
  9.         mesh.AdvanceVertex()
  10.  
  11.         mesh.Position(Vector(x + w, y, 0))
  12.         mesh.Color(col_a:Unpack())
  13.         mesh.AdvanceVertex()
  14.  
  15.         mesh.Position(Vector(x + w, y + h, 0))
  16.         mesh.Color(col_b:Unpack())
  17.         mesh.AdvanceVertex()
  18.  
  19.         mesh.Position(Vector(x, y + h, 0))
  20.         mesh.Color(col_b:Unpack())
  21.         mesh.AdvanceVertex()
  22.     mesh.End()
  23. end
  24.  
  25. function draw.GradientH(x, y, w, h, col_a, col_b)
  26.     render.SetMaterial(vgui_white)
  27.  
  28.     mesh.Begin(MATERIAL_QUADS, 1)
  29.         mesh.Position(Vector(x + w, y, 0))
  30.         mesh.Color(col_b:Unpack())
  31.         mesh.AdvanceVertex()
  32.  
  33.         mesh.Position(Vector(x + w, y + h, 0))
  34.         mesh.Color(col_b:Unpack())
  35.         mesh.AdvanceVertex()
  36.  
  37.         mesh.Position(Vector(x, y + h, 0))
  38.         mesh.Color(col_a:Unpack())
  39.         mesh.AdvanceVertex()
  40.  
  41.         mesh.Position(Vector(x, y , 0))
  42.         mesh.Color(col_a:Unpack())
  43.         mesh.AdvanceVertex()
  44.     mesh.End()
  45. end
  46.  
Advertisement
Comments
  • SneakySquid
    16 hours
    # Lua 0.19 KB | 0 0
    1. hook.Add("HUDPaint", "gradient examples", function()
    2.     draw.GradientH(50, 50, 300, 300, color_white, Color(0, 0, 0, 0))
    3.     draw.GradientV(50, 350, 300, 300, color_black, Color(0, 0, 0, 0))
    4. end)
Add Comment
Please, Sign In to add comment
Advertisement