DxDrawPrimitive: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
mNo edit summary  | 
				mNo edit summary  | 
				||
| Line 5: | Line 5: | ||
==Syntax==    | ==Syntax==    | ||
<syntaxhighlight lang="lua">  | <syntaxhighlight lang="lua">  | ||
bool dxDrawPrimitive (   | bool dxDrawPrimitive ( string pType, bool postGUI, table vertice1 [, table vertice2, ...] )  | ||
</syntaxhighlight>  | </syntaxhighlight>  | ||
Revision as of 15:15, 7 October 2018
This function draws a 2D primitive shape across the screen - rendered for one frame. This should be used in conjunction with onClientRender in order to display continuously.
Syntax
bool dxDrawPrimitive ( string pType, bool postGUI, table vertice1 [, table vertice2, ...] )
Required Arguments
- pType: Type of primitive to be drawn.
 - postGUI: A bool representing whether the line should be drawn on top of or behind any ingame GUI (rendered by CEGUI).
 - vertices: Tables representing each primitive vertice, required amount of them is determined by primitive type.
 
Allowed types
More info on primitives may be found on this MSDN site
- pointlist: Renders the vertices as a collection of isolated points.
 - linelist: Renders the vertices as a list of isolated straight line segments.
 - linestrip: Renders the vertices as a single polyline.
 - trianglelist: Renders the specified vertices as a sequence of isolated triangles. Each group of three vertices defines a separate triangle.
 - trianglestrip: Renders the vertices as a triangle strip.
 - trianglefan: Renders the vertices as a triangle fan.
 
Vertices format
- posX: An float representing the absolute X position of the vertice, represented by pixels on the screen.
 - posY: An float representing the absolute Y position of the vertice, represented by pixels on the screen.
 - color (optional): An integer of the hex color, produced using tocolor or 0xAARRGGBB (AA = alpha, RR = red, GG = green, BB = blue). If it's not specified, white color is used.
 
Returns
Returns a true if the operation was successful, false otherwise.
Example
This is a small example that creates trianglefan primitive with vertices in places that user clicks. It assigns every vertice random color.
local vertices = {}
function onClick(btn, state, x, y)
	if btn ~= "left" then return end
	if state ~= "up" then return end
	local vertice = {x, y, tocolor(math.random(255), math.random(255), math.random(255))}
	table.insert(vertices, vertice)
end
addEventHandler("onClientClick", root, onClick)
function draw()
	dxDrawPrimitive("trianglefan", true, unpack(vertices))
end
addEventHandler("onClientPreRender", root, draw)
See Also
- dxConvertPixels
 - dxCreateFont
 - dxCreateRenderTarget
 - dxCreateScreenSource
 - dxCreateShader
 - dxCreateTexture
 - dxDrawCircle
 - dxDrawImage
 - dxDrawImageSection
 - dxDrawLine
 - dxDrawLine3D
 - dxDrawMaterialLine3D
 - dxDrawMaterialPrimitive
 - dxDrawMaterialPrimitive3D
 - dxDrawMaterialSectionLine3D
 - dxDrawPrimitive
 - dxDrawPrimitive3D
 - dxDrawRectangle
 - dxDrawText
 - dxDrawWiredSphere
 - dxGetBlendMode
 - dxGetFontHeight
 - dxGetMaterialSize
 - dxGetPixelColor
 - dxGetPixelsSize
 - dxGetPixelsFormat
 - dxGetStatus
 - dxGetTextSize
 - dxGetTextWidth
 - dxGetTexturePixels
 - dxIsAspectRatioAdjustmentEnabled
 - dxSetAspectRatioAdjustmentEnabled
 - dxSetBlendMode
 - dxSetPixelColor
 - dxSetRenderTarget
 - dxSetShaderValue
 - dxSetShaderTessellation
 - dxSetShaderTransform
 - dxSetTestMode
 - dxSetTextureEdge
 - dxSetTexturePixels
 - dxUpdateScreenSource