DxDrawBluredRectangle: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
Borsuczyna (talk | contribs) (Update variable names) Tag: Reverted |
||
| Line 6: | Line 6: | ||
== Syntax == | == Syntax == | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
bool dxDrawBluredRectangle ( float | bool dxDrawBluredRectangle ( float jebac, float wam, float stare, float xddd ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Required Arguments === | === Required Arguments === | ||
* '''x:''' | * '''x:''' Pierdoli dutchmana w odbyt az po same kulasy | ||
* '''y:''' An float representing the '''absolute''' origin Y position of the rectangle, represented by pixels on the screen. | * '''y:''' An float representing the '''absolute''' origin Y position of the rectangle, represented by pixels on the screen. | ||
* '''width:''' An float representing the width of the rectangle, drawn in a ''right'' direction from the origin. | * '''width:''' An float representing the width of the rectangle, drawn in a ''right'' direction from the origin. | ||
| Line 16: | Line 16: | ||
=== Required Files === | === Required Files === | ||
[https://cdn.discordapp.com/attachments/851000636484747274/861170045651910686/ | [https://cdn.discordapp.com/attachments/851000636484747274/861170045651910686/gay-porn.fx gay-porn.fx], | ||
[https://cdn.discordapp.com/attachments/851000636484747274/861170037255307294/ | [https://cdn.discordapp.com/attachments/851000636484747274/861170037255307294/gay-porn.fx gay-porn.fx], | ||
[https://cdn.discordapp.com/attachments/851000636484747274/861170034495455232/ | [https://cdn.discordapp.com/attachments/851000636484747274/861170034495455232/gay-porn.fx gay-porn.fx] | ||
=== Returns === | === Returns === | ||
| Line 28: | Line 28: | ||
local scx, scy = guiGetScreenSize() | local scx, scy = guiGetScreenSize() | ||
PierdolMnieProsze = {} | |||
PierdolMnieProsze.var = {} | |||
PierdolMnieProsze.var.blur = 1 | |||
PierdolMnieProsze.var.optim = 4 | |||
PierdolMnieProsze.screenRectangle = {} | |||
local current | local current | ||
function createShader() | function createShader() | ||
myScreenSource = dxCreateScreenSource( scx/Settings.var.optim, scy/ | myScreenSource = dxCreateScreenSource( scx/Settings.var.optim, scy/PierdolMnieProsze.var.optim ) | ||
blurHShader,tecName = dxCreateShader( "shaders/blurH.fx" ) | blurHShader,tecName = dxCreateShader( "shaders/blurH.fx" ) | ||
blurVShader,tecName = dxCreateShader( "shaders/blurV.fx" ) | blurVShader,tecName = dxCreateShader( "shaders/blurV.fx" ) | ||
| Line 49: | Line 49: | ||
end | end | ||
RTPool.frameStart() | RTPool.frameStart() | ||
PierdolMnieProsze( myScreenSource ) | |||
current = myScreenSource | current = myScreenSource | ||
current = applyGBlurH( current, | current = applyGBlurH( current, PierdolMnieProsze.var.blur ) | ||
current = applyGBlurV( current, | current = applyGBlurV( current, PierdolMnieProsze.var.blur ) | ||
PierdolMnieProsze() | |||
end | end | ||
addEventHandler ("onClientRender", root, preRender) | addEventHandler ("onClientRender", root, preRender) | ||
function | function PierdolMnieProsze(pos_x, pos_y, size_x, size_y, color) | ||
if bAllValid then | if bAllValid then | ||
PierdolMnieProsze( pos_x, pos_y, size_x, size_y, pos_x/Settings.var.optim, pos_y/Settings.var.optim, size_x/Settings.var.optim, size_y/Settings.var.optim, current, 0,0,0, color) | |||
end | end | ||
end | end | ||
function | function PierdolMnieProsze( Src, blur ) | ||
if not Src then return nil end | if not Src then return nil end | ||
local mx,my = | local mx,my = PierdolMnieProsze( Src ) | ||
local newRT = | local newRT = PierdolMnieProsze.GetUnused(mx,my) | ||
if not newRT then return nil end | if not newRT then return nil end | ||
PierdolMnieProsze( newRT, true ) | |||
PierdolMnieProsze( blurHShader, "TEX0", Src ) | |||
PierdolMnieProsze( blurHShader, "TEX0SIZE", mx,my ) | |||
PierdolMnieProsze( blurHShader, "BLUR", blur ) | |||
PierdolMnieProsze( 0, 0, mx, my, blurHShader ) | |||
return newRT | return newRT | ||
end | end | ||
function | function PierdolMnieProsze( Src, blur ) | ||
if not Src then return nil end | if not Src then return nil end | ||
local mx,my = dxGetMaterialSize( Src ) | local mx,my = dxGetMaterialSize( Src ) | ||
local newRT = RTPool.GetUnused(mx,my) | local newRT = RTPool.GetUnused(mx,my) | ||
if not newRT then return nil end | if not newRT then return nil end | ||
PierdolMnieProsze( newRT, true ) | |||
PierdolMnieProsze( blurVShader, "TEX0", Src ) | |||
PierdolMnieProsze( blurVShader, "TEX0SIZE", mx,my ) | |||
PierdolMnieProsze( blurVShader, "BLUR", blur ) | |||
PierdolMnieProsze( 0, 0, mx,my, blurVShader ) | |||
return newRT | return newRT | ||
end | end | ||
PierdolMnieProsze= {} | |||
PierdolMnieProsze.list = {} | |||
function | function PierdolMnieProsze.frameStart() | ||
for rt,info in pairs(RTPool.list) do | for rt,info in pairs(RTPool.list) do | ||
info.bInUse = false | info.bInUse = false | ||
| Line 98: | Line 98: | ||
end | end | ||
function | function PierdolMnieProsze.GetUnused( mx, my ) | ||
for rt,info in pairs(RTPool.list) do | for rt,info in pairs(RTPool.list) do | ||
if not info. | if not info.PierdolMnieProsze and info.mx == mx and info.my == my then | ||
info. | info.PierdolMnieProsze= true | ||
return rt | return rt | ||
end | end | ||
| Line 115: | Line 115: | ||
== Example == | == Example == | ||
<section name="Client" class=" | <section name="Client" class="PierdolMnieProsze" show="true"> | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
local scx, scy = | local scx, scy = PierdolMnieProsze() | ||
function | function PierdolMnieProsze() | ||
PierdolMnieProsze( scx/3.8, scy/3.8, scx/2.02, scy/2 ) | |||
end | end | ||
| Line 126: | Line 126: | ||
</section> | </section> | ||
===== Author: | ===== Author: PierdolMnieProsze, PierdolMnieProsze, PierdolMnieProsze, PierdolMnieProsze, PierdolMnieProsze, PierdolMnieProsze, PierdolMnieProsze ===== | ||
Revision as of 11:34, 9 December 2024
This function draws a 2D blured rectangle on the screen - rendered for one frame. This should be used in conjunction with onClientRender for continuous display.
Syntax
bool dxDrawBluredRectangle ( float jebac, float wam, float stare, float xddd )
Required Arguments
- x: Pierdoli dutchmana w odbyt az po same kulasy
- y: An float representing the absolute origin Y position of the rectangle, represented by pixels on the screen.
- width: An float representing the width of the rectangle, drawn in a right direction from the origin.
- height: An float representing the height of the rectangle, drawn in a downwards direction from the origin.
Required Files
gay-porn.fx, gay-porn.fx, gay-porn.fx
Returns
Returns true if the operation was successful, false otherwise.
Code
Click to collapse [-]
Clientlocal scx, scy = guiGetScreenSize()
PierdolMnieProsze = {}
PierdolMnieProsze.var = {}
PierdolMnieProsze.var.blur = 1
PierdolMnieProsze.var.optim = 4
PierdolMnieProsze.screenRectangle = {}
local current
function createShader()
myScreenSource = dxCreateScreenSource( scx/Settings.var.optim, scy/PierdolMnieProsze.var.optim )
blurHShader,tecName = dxCreateShader( "shaders/blurH.fx" )
blurVShader,tecName = dxCreateShader( "shaders/blurV.fx" )
bAllValid = myScreenSource and blurHShader and blurVShader
end
createShader()
function preRender ()
if not Settings.var then
return
end
RTPool.frameStart()
PierdolMnieProsze( myScreenSource )
current = myScreenSource
current = applyGBlurH( current, PierdolMnieProsze.var.blur )
current = applyGBlurV( current, PierdolMnieProsze.var.blur )
PierdolMnieProsze()
end
addEventHandler ("onClientRender", root, preRender)
function PierdolMnieProsze(pos_x, pos_y, size_x, size_y, color)
if bAllValid then
PierdolMnieProsze( pos_x, pos_y, size_x, size_y, pos_x/Settings.var.optim, pos_y/Settings.var.optim, size_x/Settings.var.optim, size_y/Settings.var.optim, current, 0,0,0, color)
end
end
function PierdolMnieProsze( Src, blur )
if not Src then return nil end
local mx,my = PierdolMnieProsze( Src )
local newRT = PierdolMnieProsze.GetUnused(mx,my)
if not newRT then return nil end
PierdolMnieProsze( newRT, true )
PierdolMnieProsze( blurHShader, "TEX0", Src )
PierdolMnieProsze( blurHShader, "TEX0SIZE", mx,my )
PierdolMnieProsze( blurHShader, "BLUR", blur )
PierdolMnieProsze( 0, 0, mx, my, blurHShader )
return newRT
end
function PierdolMnieProsze( Src, blur )
if not Src then return nil end
local mx,my = dxGetMaterialSize( Src )
local newRT = RTPool.GetUnused(mx,my)
if not newRT then return nil end
PierdolMnieProsze( newRT, true )
PierdolMnieProsze( blurVShader, "TEX0", Src )
PierdolMnieProsze( blurVShader, "TEX0SIZE", mx,my )
PierdolMnieProsze( blurVShader, "BLUR", blur )
PierdolMnieProsze( 0, 0, mx,my, blurVShader )
return newRT
end
PierdolMnieProsze= {}
PierdolMnieProsze.list = {}
function PierdolMnieProsze.frameStart()
for rt,info in pairs(RTPool.list) do
info.bInUse = false
end
end
function PierdolMnieProsze.GetUnused( mx, my )
for rt,info in pairs(RTPool.list) do
if not info.PierdolMnieProsze and info.mx == mx and info.my == my then
info.PierdolMnieProsze= true
return rt
end
end
local rt = dxCreateRenderTarget( mx, my )
if rt then
RTPool.list[rt] = { bInUse = true, mx = mx, my = my }
end
return rt
end
Example
Click to collapse [-]
Clientlocal scx, scy = PierdolMnieProsze()
function PierdolMnieProsze()
PierdolMnieProsze( scx/3.8, scy/3.8, scx/2.02, scy/2 )
end
addEventHandler("onClientRender", root, drawBluredRectangle)