Fix to the problem: The VMT was set to 'LightmappedGeneric', when it should have been 'UnlitGeneric'.
I am getting an odd rendering glitch whenever I try to use render.DrawSprite; the sprites rendered by sent_ball.lua are showing up just fine, but the sprite I am trying to render using sent_marker.lua show up like this:
The lower ball renders perfectly, the upper arrow has a weird black clipping issue. It should look like the quest arrow from Skyrim (I am using this only as a placeholder, won't release or host anything while the placeholders are in).
The VTF and VMTs are, as far as I can tell, identically set up compared to Garry's sent_ball.vmt and sent_ball.vtf, so I can't quite find where I've gone wrong. For those who may be able to help, to create the texture, I grabbed the picture of the Skyrim arrow and surrounded it in full black on the RBG layer. Then I created an Alpha layer and made it so that only the arrow part showed. The alpha is working properly in this picture, but it's as though there's a black plane clipping through the sprite when it's rendered. In the VMT, I have $vertexcolor 1 and $vertexalpha 1, and in the VTF, Clamp S, Clamp T, Anisotropic, SRGB, and Eight Bit Alpha are turned on.
Here is the code that is rendering the sprite; I've found that including or omitting the cam.Start3D and cam.End3D makes zero difference.
AddCSLuaFile( "sent_marker.lua" )
DEFINE_BASECLASS( "base_anim" )
ENT.PrintName = "Marker Test"
ENT.Author = "Gerhard"
ENT.Information = "Testing!"
ENT.Category = "Fun + Games"
ENT.Spawnable = true
ENT.AdminSpawnable = true
ENT.RenderGroup = RENDERGROUP_TRANSLUCENT
function ENT:SpawnFunction( ply, tr )
if (!tr.Hit) then return end
local SpawnPos = tr.HitPos + tr.HitNormal * 16
local ent = ents.Create("sent_marker")
ent:SetPos( SpawnPos )
if( SERVER ) then
self:SetModel( "models/Combine_Helicopter/helicopter_bomb01.mdl" )
if ( CLIENT ) then
local matMarker = Material("sprites/marker")
local targets = ents.FindByClass("sent_ball")
for k,v in pairs(targets) do
local pos = v:GetPos()
local col = Color(255,255,255,255)