Counter Strike : Global Offensive Source Code
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.
|
|
//===== Copyright � 1996-2005, Valve Corporation, All rights reserved. ======//
//
// Purpose:
//
// $NoKeywords: $
//
//===========================================================================//
#ifndef IBVHNODE_H
#define IBVHNODE_H
#ifdef _WIN32
#pragma once
#endif
#include "worldstructures.h"
#include "bvhsupport.h"
class IResourceDictionary;
//-----------------------------------------------------------------------------
// Methods related to rendering nodes
//-----------------------------------------------------------------------------
abstract_class IBVHNode { public: // helpers
virtual int GetID() = 0; virtual int GetFlags() = 0; virtual void SetFlags( int nFlags ) = 0; virtual TiledPosition_t GetOrigin() = 0; virtual AABB_t GetBounds() = 0; virtual void SetBounds( AABB_t bounds ) = 0; virtual float GetMinDistance() = 0; virtual int GetNumChildren() = 0; virtual int GetNumResources() = 0; virtual int GetNumDrawCalls() = 0; virtual bool IsFullyResident() = 0; virtual void SetIsFullyResident( bool bRes ) = 0; virtual bool IsLoading() = 0; virtual void SetIsLoading( bool bLoading ) = 0; virtual int GetChild( int c ) = 0; virtual int GetParent() = 0; virtual void SetParent( int i ) = 0; virtual int GetResourceIndex( int r ) = 0; virtual void SetResourceIndex( int r, int index ) = 0; virtual CBVHDrawCall &GetDrawCall( int d ) = 0; virtual void Draw( IRenderContext *pRenderContext, CBVHDrawCall *pDrawCall, IResourceDictionary *pDictionary, ShaderComboVariation_t nVariation = VARIATION_DEFAULT, ConstantBufferHandle_t hObjectCB = 0 ) = 0; virtual void Draw( IRenderContext *pRenderContext, IResourceDictionary *pDictionary, CFrustum &frustum, Vector &vOriginShift, uint nCurrentFrameNumber, ShaderComboVariation_t nVariation = VARIATION_DEFAULT, ConstantBufferHandle_t hObjectCB = 0 ) = 0;
virtual int GetNumPointLights() = 0; virtual int GetNumHemiLights() = 0; virtual int GetNumSpotLights() = 0; virtual PointLightData_t *GetPointLights() = 0; virtual HemiLightData_t *GetHemiLights() = 0; virtual SpotLightData_t *GetSpotLights() = 0;
// loading-related
virtual unsigned char* Init( unsigned char *pData ) = 0;
// Tools only
virtual void SetupMaterialForDraw( IRenderContext *pRenderContext, IResourceDictionary *pIDictionary, RenderInputLayout_t inputLayout, int nDraw, ShaderComboVariation_t nVariation ) = 0; virtual void SetNodeResources( int *pResources, int nResources ) = 0; };
#endif
|