source-engine/engine/l_studio.h

56 lines
1.8 KiB
C
Raw Permalink Normal View History

2020-04-22 16:56:21 +00:00
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: Export functions from l_studio.cpp
//
// $NoKeywords: $
//===========================================================================//
#ifndef L_STUDIO_H
#define L_STUDIO_H
#ifdef _WIN32
#pragma once
#endif
#include "engine/ivmodelrender.h"
#include "datacache/imdlcache.h"
//-----------------------------------------------------------------------------
// Forward declarations
//-----------------------------------------------------------------------------
struct LightDesc_t;
class IStudioRender;
struct vcollide_t;
extern IStudioRender *g_pStudioRender;
void UpdateStudioRenderConfig( void );
void InitStudioRender( void );
void ShutdownStudioRender( void );
unsigned short& FirstShadowOnModelInstance( ModelInstanceHandle_t handle );
//-----------------------------------------------------------------------------
// Converts world lights to materialsystem lights
//-----------------------------------------------------------------------------
bool WorldLightToMaterialLight( dworldlight_t* worldlight, LightDesc_t& light );
//-----------------------------------------------------------------------------
// Computes the center of the studio model for illumination purposes
//-----------------------------------------------------------------------------
void R_ComputeLightingOrigin( IClientRenderable *pRenderable, studiohdr_t* pStudioHdr, const matrix3x4_t &matrix, Vector& center );
void DrawSavedModelDebugOverlays( void );
// Used to force the value of r_rootlod depending on if sv_cheats is 0 and if we're on a server.
bool CheckVarRange_r_rootlod();
bool CheckVarRange_r_lod();
extern ConVar r_drawmodelstatsoverlay;
extern ConVar r_drawmodelstatsoverlaydistance;
extern ConVar r_lod;
extern ConVar r_drawmodellightorigin;
#endif