Garry's Mod Wiki

Revision Difference

GM:PostDrawTranslucentRenderables#511235

<function name="PostDrawTranslucentRenderables" parent="GM" type="hook">⤶ <ishook>yes</ishook>⤶ <description>⤶ Called after all translucent entities are drawn.⤶ ⤶ See also <page>GM:PostDrawOpaqueRenderables</page> and <page>GM:PreDrawTranslucentRenderables</page>.⤶ ⤶ <rendercontext hook="true" type="3D"/>⤶ ⤶ <bug issue="3295">This is still called when r_drawentities or r_drawopaquerenderables is disabled.</bug>⤶ <bug issue="3296">This is not called when r_drawtranslucentworld is disabled.</bug>⤶ </description>⤶ <realm>Client</realm>⤶ <predicted>No</predicted>⤶ <args>⤶ <arg name="bDrawingDepth" type="boolean">Whether the current call is writing depth.</arg>⤶ <arg name="bDrawingSkybox" type="boolean">Whether the current call is drawing skybox.</arg>⤶ </args>⤶ </function>⤶ ⤶ <example>⤶ <description>⤶ 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.⤶ </description>⤶ <code>⤶ 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 )⤶ </code>⤶ ⤶ </example>