You need output results from shader.
local rt = dxCreateRendertTarget(600, 600, true)
dxSetRenderTarget(rt)
dxDrawImage(0, 0, 600, 600, shader)
dxSetRenderTarget()
Test it code:
local sX,sY = guiGetScreenSize()
local gradientShader = dxCreateShader("files/shader/gradient.fx")
local rt = dxCreateRenderTarget(sX*0.3, sY*0.05, true)
function drawThings()
dxSetRenderTarget(rt)
dxDrawRectangle(0,0,sX*0.3, sY*0.05)
dxSetRenderTarget()
--texture = dxCreateTexture(dxGetTexturePixels(rt)) -- useless (RENDERTARGET = TEXTURE!)
dxSetShaderValue(gradientShader, "tex", rt)
dxSetShaderValue(gradientShader, "startColor", 207/255, 22/255, 124/255,1)
dxSetShaderValue(gradientShader, "endColor", 239/255, 56/255, 48/255,1)
addEventHandler("onClientRender",root,renderThings)
end
function renderThings()
dxDrawImage(sX*0.05,sY*0.1,sX*0.3, sY*0.05, gradientShader)
end
drawThings()
Or what do you want to do?