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.
43 lines
1.5 KiB
43 lines
1.5 KiB
//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $Workfile: $
|
|
// $Date: $
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
|
|
#ifndef UTILMATLIB_H
|
|
#define UTILMATLIB_H
|
|
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "interfaces/interfaces.h"
|
|
|
|
#define MATERIAL_NOT_FOUND NULL
|
|
|
|
class IMaterialSystem;
|
|
DECLARE_TIER2_INTERFACE( IMaterialSystem, g_pMaterialSystem );
|
|
|
|
typedef void *MaterialSystemMaterial_t;
|
|
|
|
#define UTILMATLIB_NEEDS_BUMPED_LIGHTMAPS 0
|
|
#define UTILMATLIB_NEEDS_LIGHTMAP 1
|
|
#define UTILMATLIB_OPACITY 2
|
|
|
|
enum { UTILMATLIB_ALPHATEST = 0, UTILMATLIB_OPAQUE, UTILMATLIB_TRANSLUCENT };
|
|
|
|
void InitMaterialSystem( const char *materialBaseDirPath, CreateInterfaceFn fileSystemFactory );
|
|
void ShutdownMaterialSystem( );
|
|
MaterialSystemMaterial_t FindMaterial( const char *materialName, bool *pFound, bool bComplain = true );
|
|
void GetMaterialDimensions( MaterialSystemMaterial_t materialHandle, int *width, int *height );
|
|
int GetMaterialShaderPropertyBool( MaterialSystemMaterial_t materialHandle, int propID );
|
|
int GetMaterialShaderPropertyInt( MaterialSystemMaterial_t materialHandle, int propID );
|
|
const char *GetMaterialVar( MaterialSystemMaterial_t materialHandle, const char *propertyName );
|
|
void GetMaterialReflectivity( MaterialSystemMaterial_t materialHandle, float *reflectivityVect );
|
|
const char *GetMaterialShaderName( MaterialSystemMaterial_t materialHandle );
|
|
|
|
|
|
#endif // UTILMATLIB_H
|