GM/PostDrawTranslucentRenderables

From Garry's Mod
Jump to: navigation, search
 GM:PostDrawTranslucentRenderables( )

Contents

Description

Called after all translucent entities are drawn.

See also GM:PostDrawOpaqueRenderables and GM:PreDrawTranslucentRenderables.

NOTE

This is a rendering hook with a 3D rendering context.
This means that the only rendering functions will work in it are functions with a 3D rendering context.

BUG

This is still called when r_drawentities or r_drawopaquerenderables is disabled.

Issue Tracker: #3295

BUG

This is not called when r_drawtranslucentworld is disabled.

Issue Tracker: #3296

Arguments

boolean bDrawingDepth

Whether the current call is writing depth.

Arguments

boolean bDrawingSkybox

Whether the current call is drawing skybox.

Examples

Example

Draws a solid black sphere at where the player is looking at, but not when the skybox is being drawn.

You can see why this is needed if you disable the skybox check and look into the sky on gm_flatgrass (or any other map where the 3d skybox is below the map) and you will notice 2 spheres and not 1.

hook.Add( "PostDrawTranslucentRenderables", "test", function( bDepth, bSkybox )

	-- If we are drawing in the skybox, bail
	if ( bSkybox ) then return end

	-- Set the draw material to solid white
	render.SetColorMaterial()

	-- The position to render the sphere at, in this case, the looking position of the local player
	local pos = LocalPlayer():GetEyeTrace().HitPos

	-- Draw the sphere!
	render.DrawSphere( pos, 500, 30, 30, Color( 0, 0, 0 ) )

end )


Personal tools
Navigation