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: