Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
gte::ProgramFactory Class Referenceabstract

#include <GteProgramFactory.h>

Inheritance diagram for gte::ProgramFactory:
Inheritance graph
[legend]

Public Types

enum  { PF_GLSL, PF_HLSL, PF_NUM_API }
 

Public Member Functions

std::shared_ptr< ComputeProgramCreateFromFile (std::string const &csFile)
 
std::shared_ptr< VisualProgramCreateFromFiles (std::string const &vsFile, std::string const &psFile, std::string const &gsFile)
 
std::shared_ptr< ComputeProgramCreateFromSource (std::string const &csSource)
 
std::shared_ptr< VisualProgramCreateFromSources (std::string const &vsSource, std::string const &psSource, std::string const &gsSource)
 
virtual int GetAPI () const =0
 
void PopDefines ()
 
void PopFlags ()
 
 ProgramFactory ()
 
void PushDefines ()
 
void PushFlags ()
 
virtual ~ProgramFactory ()
 

Static Public Member Functions

static std::string GetStringFromFile (std::string const &filename)
 

Public Attributes

std::string csEntry
 
ProgramDefines defines
 
unsigned int flags
 
std::string gsEntry
 
std::string psEntry
 
std::string version
 
std::string vsEntry
 

Protected Member Functions

virtual std::shared_ptr< ComputeProgramCreateFromNamedSource (std::string const &csName, std::string const &csSource)=0
 
virtual std::shared_ptr< VisualProgramCreateFromNamedSources (std::string const &vsName, std::string const &vsSource, std::string const &psName, std::string const &psSource, std::string const &gsName, std::string const &gsSource)=0
 

Private Member Functions

ProgramFactoryoperator= (ProgramFactory const &)
 

Private Attributes

std::stack< ProgramDefinesmDefinesStack
 
std::stack< unsigned intmFlagsStack
 

Detailed Description

Definition at line 18 of file GteProgramFactory.h.

Member Enumeration Documentation

anonymous enum
Enumerator
PF_GLSL 
PF_HLSL 
PF_NUM_API 

Definition at line 36 of file GteProgramFactory.h.

Constructor & Destructor Documentation

ProgramFactory::~ProgramFactory ( )
virtual

Definition at line 15 of file GteProgramFactory.cpp.

ProgramFactory::ProgramFactory ( )

Definition at line 19 of file GteProgramFactory.cpp.

Member Function Documentation

std::shared_ptr< ComputeProgram > ProgramFactory::CreateFromFile ( std::string const &  csFile)

Definition at line 75 of file GteProgramFactory.cpp.

std::shared_ptr< VisualProgram > ProgramFactory::CreateFromFiles ( std::string const &  vsFile,
std::string const &  psFile,
std::string const &  gsFile 
)

Definition at line 31 of file GteProgramFactory.cpp.

virtual std::shared_ptr<ComputeProgram> gte::ProgramFactory::CreateFromNamedSource ( std::string const &  csName,
std::string const &  csSource 
)
protectedpure virtual
virtual std::shared_ptr<VisualProgram> gte::ProgramFactory::CreateFromNamedSources ( std::string const &  vsName,
std::string const &  vsSource,
std::string const &  psName,
std::string const &  psSource,
std::string const &  gsName,
std::string const &  gsSource 
)
protectedpure virtual
std::shared_ptr< ComputeProgram > ProgramFactory::CreateFromSource ( std::string const &  csSource)

Definition at line 93 of file GteProgramFactory.cpp.

std::shared_ptr< VisualProgram > ProgramFactory::CreateFromSources ( std::string const &  vsSource,
std::string const &  psSource,
std::string const &  gsSource 
)

Definition at line 67 of file GteProgramFactory.cpp.

virtual int gte::ProgramFactory::GetAPI ( ) const
pure virtual
std::string ProgramFactory::GetStringFromFile ( std::string const &  filename)
static

Definition at line 99 of file GteProgramFactory.cpp.

ProgramFactory& gte::ProgramFactory::operator= ( ProgramFactory const &  )
inlineprivate

Definition at line 96 of file GteProgramFactory.h.

void ProgramFactory::PopDefines ( )

Definition at line 126 of file GteProgramFactory.cpp.

void ProgramFactory::PopFlags ( )

Definition at line 141 of file GteProgramFactory.cpp.

void ProgramFactory::PushDefines ( )

Definition at line 120 of file GteProgramFactory.cpp.

void ProgramFactory::PushFlags ( )

Definition at line 135 of file GteProgramFactory.cpp.

Member Data Documentation

std::string gte::ProgramFactory::csEntry

Definition at line 29 of file GteProgramFactory.h.

ProgramDefines gte::ProgramFactory::defines

Definition at line 30 of file GteProgramFactory.h.

unsigned int gte::ProgramFactory::flags

Definition at line 31 of file GteProgramFactory.h.

std::string gte::ProgramFactory::gsEntry

Definition at line 29 of file GteProgramFactory.h.

std::stack<ProgramDefines> gte::ProgramFactory::mDefinesStack
private

Definition at line 92 of file GteProgramFactory.h.

std::stack<unsigned int> gte::ProgramFactory::mFlagsStack
private

Definition at line 93 of file GteProgramFactory.h.

std::string gte::ProgramFactory::psEntry

Definition at line 29 of file GteProgramFactory.h.

std::string gte::ProgramFactory::version

Definition at line 28 of file GteProgramFactory.h.

std::string gte::ProgramFactory::vsEntry

Definition at line 29 of file GteProgramFactory.h.


The documentation for this class was generated from the following files:


geometric_tools_engine
Author(s): Yijiang Huang
autogenerated on Thu Jul 18 2019 04:00:06