mirror of
https://github.com/0TheSpy/Seaside.git
synced 2025-01-07 10:03:29 +08:00
53 lines
1.2 KiB
C
53 lines
1.2 KiB
C
#if !defined( ICLIENTLEAFSYSTEM_H )
|
|
#define ICLIENTLEAFSYSTEM_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
|
|
#include "platform.h"
|
|
#include "client_render_handle.h"
|
|
#include "ivmodelinfo.h"
|
|
|
|
|
|
#define CLIENTLEAFSYSTEM_INTERFACE_VERSION "ClientLeafSystem002"
|
|
|
|
|
|
enum RenderableModelType_t
|
|
{
|
|
RENDERABLE_MODEL_UNKNOWN_TYPE = -1,
|
|
RENDERABLE_MODEL_ENTITY = 0,
|
|
RENDERABLE_MODEL_STUDIOMDL,
|
|
RENDERABLE_MODEL_STATIC_PROP,
|
|
RENDERABLE_MODEL_BRUSH,
|
|
};
|
|
|
|
enum RenderGroup_t
|
|
{
|
|
RENDER_GROUP_OPAQUE = 0,
|
|
RENDER_GROUP_TRANSLUCENT,
|
|
RENDER_GROUP_TRANSLUCENT_IGNOREZ,
|
|
RENDER_GROUP_COUNT,
|
|
};
|
|
|
|
|
|
abstract_class IClientLeafSystemEngine
|
|
{
|
|
public:
|
|
virtual void CreateRenderableHandle(IClientRenderable* pRenderable, bool bRenderWithViewModels, RenderableTranslucencyType_t nType, RenderableModelType_t nModelType, UINT32 nSplitscreenEnabled = 0xFFFFFFFF) = 0;
|
|
virtual void RemoveRenderable(ClientRenderHandle_t handle) = 0;
|
|
virtual void AddRenderableToLeaves(ClientRenderHandle_t renderable, int nLeafCount, unsigned short* pLeaves) = 0;
|
|
virtual void SetTranslucencyType(ClientRenderHandle_t handle, RenderableTranslucencyType_t nType) = 0;
|
|
|
|
};
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|