Env projectedtexture

From Valve Developer Community
Revision as of 10:28, 6 April 2008 by TomEdwards (talk | contribs) (cleanup + how to enable multiple shadow maps)
Jump to navigation Jump to search

Template:Wrongtitle

Casting shadows.

Creates a dynamic shadow-casting light that affects all objects in the world. Used for the Episode Two flashlight.

Enabling multiple shadow maps

Valve's games only allow one projected texture to cast shadows at a time - including the player's flashlight! To surmount this, shadow casting can be disabled with the enableshadows KV, or for a proper solution a programmer can perform this fix:

CClientShadowMgr::Init()
	- bool bTools = CommandLine()->CheckParm( "-tools" ) != NULL;
	- m_nMaxDepthTextureShadows = bTools ? 4 : 1;	// Just one shadow depth texture in games, more in tools

	+ m_nMaxDepthTextureShadows = YOUR_CHOSEN_MAX;

Garry's Mod has already had this done. Thanks to Garry for sharing the code!

Keyvalues

Projecting a texture.
<target_destination> Light target
  • lightfov
<float> Light's FOV
  • enableshadows
<boolean> Cast shadows
  • lightonlytarget
<boolean> Light only target
  • lightworld
<boolean> Light world
  • cameraspace
<boolean> Relative to player's view
  • lightcolor
#000000 Projected color

Flags

  • 1 : Enabled

Inputs

Outputs