Team Fortress 2 Source Code as on 22/4/2020
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 Valve Corporation, All rights reserved. ================================== //
//
// Purpose: Defines a texture compositor infterface which uses simple operations and shaders to
// create complex procedural textures.
//
//============================================================================================== //
#ifndef ITEXTURECOMPOSITOR_H
#define ITEXTURECOMPOSITOR_H
#pragma once
#include "interface.h"
#include "itexture.h"
#define ITEXTURE_COMPOSITOR_INTERFACE_VERSION "_ITextureCompositor000"
enum ECompositeResolveStatus { ECRS_Idle, ECRS_Scheduled, ECRS_PendingTextureLoads, ECRS_PendingComposites, ECRS_Error, ECRS_Complete };
enum TextureCompositeCreateFlags_t { TEX_COMPOSITE_CREATE_FLAGS_FORCE = 0x00000001, TEX_COMPOSITE_CREATE_FLAGS_NO_COMPRESSION = 0x00000002, TEX_COMPOSITE_CREATE_FLAGS_NO_MIPMAPS = 0x00000004, TEX_COMPOSITE_CREATE_FLAGS_VERIFY_SCHEMA_ONLY = 0x00000008, TEX_COMPOSITE_CREATE_FLAGS_VERIFY_TEMPLATE_ONLY = 0x00000010, TEX_COMPOSITE_CREATE_FLAGS_LOG_NODES_ONLY = 0x00000020 };
abstract_class ITextureCompositor { public: virtual int AddRef() = 0; virtual int Release() = 0; virtual int GetRefCount() const = 0;
virtual void Update() = 0; virtual ITexture* GetResultTexture() const = 0; virtual ECompositeResolveStatus GetResolveStatus() const = 0; virtual void ScheduleResolve() = 0; protected: virtual ~ITextureCompositor() {} };
#endif /* ITEXTURECOMPOSITOR_H */
|