API Documentation
Public Member Functions | List of all members
nkGraphics::ProgramSourcesHolder Class Referencefinal

Holds the sources of a program. More...

Public Member Functions

nkMemory::StringView getVertexMemory () const
 
nkMemory::StringView getHullMemory () const
 
nkMemory::StringView getDomainMemory () const
 
nkMemory::StringView getGeometryMemory () const
 
nkMemory::StringView getPixelMemory () const
 
nkMemory::StringView getComputeMemory () const
 
nkMemory::StringView getRaytracingMemory () const
 
const nkMemory::BufferCast< MacroEntry > & getDefineMacrosVertex () const
 
const nkMemory::BufferCast< MacroEntry > & getDefineMacrosHull () const
 
const nkMemory::BufferCast< MacroEntry > & getDefineMacrosDomain () const
 
const nkMemory::BufferCast< MacroEntry > & getDefineMacrosGeometry () const
 
const nkMemory::BufferCast< MacroEntry > & getDefineMacrosPixel () const
 
const nkMemory::BufferCast< MacroEntry > & getDefineMacrosCompute () const
 
const nkMemory::BufferCast< MacroEntry > & getDefineMacrosRaytracing () const
 
unsigned int getDefineMacroMaxNumber () const
 
unsigned int getDefineMacroMaxNumberPipeline () const
 
unsigned int getDefineMacroNumberCompute () const
 
unsigned int getDefineMacroNumberRaytracing () const
 
void setVertexMemory (nkMemory::StringView str)
 
void setHullMemory (nkMemory::StringView str)
 
void setDomainMemory (nkMemory::StringView str)
 
void setGeometryMemory (nkMemory::StringView str)
 
void setPixelMemory (nkMemory::StringView str)
 
void setComputeMemory (nkMemory::StringView str)
 
void setRaytracingMemory (nkMemory::StringView str)
 
void addDefineMacroVertex (nkMemory::StringView key, nkMemory::StringView value)
 
void addDefineMacroHull (nkMemory::StringView key, nkMemory::StringView value)
 
void addDefineMacroDomain (nkMemory::StringView key, nkMemory::StringView value)
 
void addDefineMacroGeometry (nkMemory::StringView key, nkMemory::StringView value)
 
void addDefineMacroPixel (nkMemory::StringView key, nkMemory::StringView value)
 
void addDefineMacroCompute (nkMemory::StringView key, nkMemory::StringView value)
 
void addDefineMacroRaytracing (nkMemory::StringView key, nkMemory::StringView value)
 
bool hasMinimalDefinitionsPipeline () const
 
bool hasMinimalDefinitionsCompute () const
 
bool hasMinimalDefinitionsGeometry () const
 
bool hasMinimalDefinitionsRaytracing () const
 
void copyDefinesFrom (const ProgramSourcesHolder &other)
 

Detailed Description

Holds the sources of a program.

Member Function Documentation

◆ getVertexMemory()

nkMemory::StringView nkGraphics::ProgramSourcesHolder::getVertexMemory ( ) const
Returns
The set vertex stage.

◆ getHullMemory()

nkMemory::StringView nkGraphics::ProgramSourcesHolder::getHullMemory ( ) const
Returns
The set hull stage.

◆ getDomainMemory()

nkMemory::StringView nkGraphics::ProgramSourcesHolder::getDomainMemory ( ) const
Returns
The set domain stage.

◆ getGeometryMemory()

nkMemory::StringView nkGraphics::ProgramSourcesHolder::getGeometryMemory ( ) const
Returns
The set geometry stage.

◆ getPixelMemory()

nkMemory::StringView nkGraphics::ProgramSourcesHolder::getPixelMemory ( ) const
Returns
The set pixel stage.

◆ getComputeMemory()

nkMemory::StringView nkGraphics::ProgramSourcesHolder::getComputeMemory ( ) const
Returns
The set compute stage.

◆ getRaytracingMemory()

nkMemory::StringView nkGraphics::ProgramSourcesHolder::getRaytracingMemory ( ) const
Returns
The set raytracing stage.

◆ getDefineMacrosVertex()

const nkMemory::BufferCast<MacroEntry>& nkGraphics::ProgramSourcesHolder::getDefineMacrosVertex ( ) const
Returns
The define macros set for the vertex stage.

◆ getDefineMacrosHull()

const nkMemory::BufferCast<MacroEntry>& nkGraphics::ProgramSourcesHolder::getDefineMacrosHull ( ) const
Returns
The define macros set for the hull stage.

◆ getDefineMacrosDomain()

const nkMemory::BufferCast<MacroEntry>& nkGraphics::ProgramSourcesHolder::getDefineMacrosDomain ( ) const
Returns
The define macros set for the domain stage.

◆ getDefineMacrosGeometry()

const nkMemory::BufferCast<MacroEntry>& nkGraphics::ProgramSourcesHolder::getDefineMacrosGeometry ( ) const
Returns
The define macros set for the geometry stage.

◆ getDefineMacrosPixel()

const nkMemory::BufferCast<MacroEntry>& nkGraphics::ProgramSourcesHolder::getDefineMacrosPixel ( ) const
Returns
The define macros set for the pixel stage.

◆ getDefineMacrosCompute()

const nkMemory::BufferCast<MacroEntry>& nkGraphics::ProgramSourcesHolder::getDefineMacrosCompute ( ) const
Returns
The define macros set for the compute stage.

◆ getDefineMacrosRaytracing()

const nkMemory::BufferCast<MacroEntry>& nkGraphics::ProgramSourcesHolder::getDefineMacrosRaytracing ( ) const
Returns
The define macros set for the raytracing stage.

◆ getDefineMacroMaxNumber()

unsigned int nkGraphics::ProgramSourcesHolder::getDefineMacroMaxNumber ( ) const
Returns
The maximum number of define macros set accross all stages.

◆ getDefineMacroMaxNumberPipeline()

unsigned int nkGraphics::ProgramSourcesHolder::getDefineMacroMaxNumberPipeline ( ) const
Returns
The maximum number of define macros set accross all relevant stages for a pipeline program.

◆ getDefineMacroNumberCompute()

unsigned int nkGraphics::ProgramSourcesHolder::getDefineMacroNumberCompute ( ) const
Returns
The maximum number of define macros set accross all relevant stages for a compute program.

◆ getDefineMacroNumberRaytracing()

unsigned int nkGraphics::ProgramSourcesHolder::getDefineMacroNumberRaytracing ( ) const
Returns
The maximum number of define macros set accross all relevant stages for a raytracing program.

◆ setVertexMemory()

void nkGraphics::ProgramSourcesHolder::setVertexMemory ( nkMemory::StringView  str)
Parameters
strThe sources for the vertex stage.

◆ setHullMemory()

void nkGraphics::ProgramSourcesHolder::setHullMemory ( nkMemory::StringView  str)
Parameters
strThe sources for the hull stage.

◆ setDomainMemory()

void nkGraphics::ProgramSourcesHolder::setDomainMemory ( nkMemory::StringView  str)
Parameters
strThe sources for the domain stage.

◆ setGeometryMemory()

void nkGraphics::ProgramSourcesHolder::setGeometryMemory ( nkMemory::StringView  str)
Parameters
strThe sources for the geometry stage.

◆ setPixelMemory()

void nkGraphics::ProgramSourcesHolder::setPixelMemory ( nkMemory::StringView  str)
Parameters
strThe sources for the pixel stage.

◆ setComputeMemory()

void nkGraphics::ProgramSourcesHolder::setComputeMemory ( nkMemory::StringView  str)
Parameters
strThe sources for the compute stage.

◆ setRaytracingMemory()

void nkGraphics::ProgramSourcesHolder::setRaytracingMemory ( nkMemory::StringView  str)
Parameters
strThe sources for the raytracing stage.

◆ addDefineMacroVertex()

void nkGraphics::ProgramSourcesHolder::addDefineMacroVertex ( nkMemory::StringView  key,
nkMemory::StringView  value 
)

Adds a define macro for the vertex stage.

Parameters
keyThe key of the define.
valueThe value of the define.

◆ addDefineMacroHull()

void nkGraphics::ProgramSourcesHolder::addDefineMacroHull ( nkMemory::StringView  key,
nkMemory::StringView  value 
)

Adds a define macro for the hull stage.

Parameters
keyThe key of the define.
valueThe value of the define.

◆ addDefineMacroDomain()

void nkGraphics::ProgramSourcesHolder::addDefineMacroDomain ( nkMemory::StringView  key,
nkMemory::StringView  value 
)

Adds a define macro for the domain stage.

Parameters
keyThe key of the define.
valueThe value of the define.

◆ addDefineMacroGeometry()

void nkGraphics::ProgramSourcesHolder::addDefineMacroGeometry ( nkMemory::StringView  key,
nkMemory::StringView  value 
)

Adds a define macro for the geometry stage.

Parameters
keyThe key of the define.
valueThe value of the define.

◆ addDefineMacroPixel()

void nkGraphics::ProgramSourcesHolder::addDefineMacroPixel ( nkMemory::StringView  key,
nkMemory::StringView  value 
)

Adds a define macro for the pixel stage.

Parameters
keyThe key of the define.
valueThe value of the define.

◆ addDefineMacroCompute()

void nkGraphics::ProgramSourcesHolder::addDefineMacroCompute ( nkMemory::StringView  key,
nkMemory::StringView  value 
)

Adds a define macro for the compute stage.

Parameters
keyThe key of the define.
valueThe value of the define.

◆ addDefineMacroRaytracing()

void nkGraphics::ProgramSourcesHolder::addDefineMacroRaytracing ( nkMemory::StringView  key,
nkMemory::StringView  value 
)

Adds a define macro for the raytracing stage.

Parameters
keyThe key of the define.
valueThe value of the define.

◆ hasMinimalDefinitionsPipeline()

bool nkGraphics::ProgramSourcesHolder::hasMinimalDefinitionsPipeline ( ) const
Returns
If the sources set fit for a pipeline program (used for rendering scenes or post processing). This kind of program expects at least a vertex and pixel stage.

◆ hasMinimalDefinitionsCompute()

bool nkGraphics::ProgramSourcesHolder::hasMinimalDefinitionsCompute ( ) const
Returns
If the sources set fit for a compute program. This kind of program expects at least a compute stage.

◆ hasMinimalDefinitionsGeometry()

bool nkGraphics::ProgramSourcesHolder::hasMinimalDefinitionsGeometry ( ) const
Returns
If the sources set fit for a geometry stream program. This kind of program expects at least a vertex and geometry stage.

◆ hasMinimalDefinitionsRaytracing()

bool nkGraphics::ProgramSourcesHolder::hasMinimalDefinitionsRaytracing ( ) const
Returns
If the sources set fit for a raytracing program. This kind of program expects at least a raytracing stage.

◆ copyDefinesFrom()

void nkGraphics::ProgramSourcesHolder::copyDefinesFrom ( const ProgramSourcesHolder &  other)

Copies the defines from one memory to another.

Parameters
otherThe memory from which the defines should be copied.

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