HLCoders wrote:
> After a very quick search in some header files, I think these two
> functions might interest you.
>
> bool IVRenderView::AreAnyLeavesVisible( int *leafList, int nLeaves );
> int IEngineTrace::GetLeafContainingPoint( const Vector &ptTest ) = 0;
>
> I haven't tested them, but if they work like I think they do, this is
> how you'd do it. I think this is client-side too.
>
> bool ShouldDraw( const Vector &ptTest )
> {
> int LeafNum = enginetrace->GetLeafContainingPoint(ptTest);
> return render.>AreAnyLeavesVisible(&LeafNum,1);
> }
>
>> Is it possible to check if an object or vector is within a visible
>> (currently being rendered) visleaf? I need to occlude an entity that
>> isn't normally occluded, and this is the best way I can think of doing
>> it. Any help is much appreciated. I can't find any examples of this in
>> the code.
>>
>> -Kyle '1/4 Life' G.
>>
>> _______________________________________________
>> To unsubscribe, edit your list preferences, or view the list archives,
>> please visit:
>> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>>
>>
>>
>
>
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives, please
> visit:
> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>
>
>
It works!
Here, let me give back to the community:
If you want projected textures to occlude properly, head into
c_env_projectedtexture.cpp and add:
...
public:
DECLARE_CLIENTCLASS();
bool ShouldDraw( const Vector &vecOrigin );
...
...
bool C_EnvProjectedTexture::ShouldDraw( const Vector &vecOrigin )
{
int LeafNum = enginetrace->GetLeafContainingPoint(vecOrigin);
return render->AreAnyLeavesVisible(&LeafNum,1);
}
...
Change
if ( m_bState == false )
{
To
if ( m_bState == false || !ShouldDraw( GetAbsOrigin() ) )
{
in UpdateLight()
And finally:
void C_EnvProjectedTexture::Simulate( void )
{
//UpdateLight( false );
UpdateLight( true );
BaseClass::Simulate();
}
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders