You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.6 KiB
55 lines
1.6 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
//=============================================================================// |
|
|
|
#ifndef C_PIXEL_VISIBILITY_H |
|
#define C_PIXEL_VISIBILITY_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
|
|
const float PIXELVIS_DEFAULT_PROXY_SIZE = 2.0f; |
|
const float PIXELVIS_DEFAULT_FADE_TIME = 0.0625f; |
|
|
|
typedef int pixelvis_handle_t; |
|
struct pixelvis_queryparams_t |
|
{ |
|
pixelvis_queryparams_t() |
|
{ |
|
bSetup = false; |
|
} |
|
|
|
void Init( const Vector &origin, float proxySizeIn = PIXELVIS_DEFAULT_PROXY_SIZE, float proxyAspectIn = 1.0f, float fadeTimeIn = PIXELVIS_DEFAULT_FADE_TIME ) |
|
{ |
|
position = origin; |
|
proxySize = proxySizeIn; |
|
proxyAspect = proxyAspectIn; |
|
fadeTime = fadeTimeIn; |
|
bSetup = true; |
|
bSizeInScreenspace = false; |
|
} |
|
|
|
Vector position; |
|
float proxySize; |
|
float proxyAspect; |
|
float fadeTime; |
|
bool bSetup; |
|
bool bSizeInScreenspace; |
|
}; |
|
|
|
float PixelVisibility_FractionVisible( const pixelvis_queryparams_t ¶ms, pixelvis_handle_t *queryHandle ); |
|
float StandardGlowBlend( const pixelvis_queryparams_t ¶ms, pixelvis_handle_t *queryHandle, int rendermode, int renderfx, int alpha, float *pscale ); |
|
|
|
void PixelVisibility_ShiftVisibilityViews( int iSourceViewID, int iDestViewID ); //mainly needed by portal mod to avoid a pop in visibility when teleporting the player |
|
|
|
void PixelVisibility_EndCurrentView(); |
|
void PixelVisibility_EndScene(); |
|
float GlowSightDistance( const Vector &glowOrigin, bool bShouldTrace ); |
|
|
|
// returns true if the video hardware is doing the tests, false is traceline is doing so. |
|
bool PixelVisibility_IsAvailable(); |
|
|
|
#endif // C_PIXEL_VISIBILITY_H
|
|
|