luna engine
software engine
Loading...
Searching...
No Matches
luna::renderer::pipeline Class Referenceabstract

#include <pipeline.h>

Inheritance diagram for luna::renderer::pipeline:

Public Member Functions

virtual ~pipeline ()
 
virtual void createPipeline (const pipelineLayout &layout)=0
 creates graphics a pipeline. More...
 
virtual void destroyPipeline ()=0
 destroys the graphics pipeline. More...
 
virtual void createCommands ()=0
 creates platform specific commands for the rendererPipeline using engine drawCommands. More...
 
virtual void begin ()=0
 starts recording pipeline input. More...
 
virtual void end () const =0
 ends recording end. More...
 
virtual void flush ()=0
 flush the renderer pipline and render a frame. More...
 
virtual void drawIndexed (const ref< vertexArray > &vertexArray, std::vector< uint64_t > textures, int indexCount)=0
 draw vertexBuffer with and indexBuffer. More...
 
virtual void bindTextures (const std::vector< uint64_t > textureHandles, const uint64_t indexSet)=0
 binds textures in to there respective textureArrays. More...
 
virtual void clear ()=0
 clears all drawCommands. More...
 
glm::vec2 getDimensions ()
 
glm::vec2 getWindowMousePos ()
 

Public Attributes

int test
 

Protected Attributes

glm::vec2 windowMousePos
 
glm::vec2 windowDimensions
 

Constructor & Destructor Documentation

◆ ~pipeline()

virtual luna::renderer::pipeline::~pipeline ( )
inlinevirtual

Member Function Documentation

◆ begin()

virtual void luna::renderer::pipeline::begin ( )
pure virtual

starts recording pipeline input.

Implemented in luna::vulkan::vulkanPipeline.

◆ bindTextures()

virtual void luna::renderer::pipeline::bindTextures ( const std::vector< uint64_t >  textureHandles,
const uint64_t  indexSet 
)
pure virtual

binds textures in to there respective textureArrays.

Parameters
textureHandles
indexSet

Implemented in luna::vulkan::vulkanPipeline.

◆ clear()

virtual void luna::renderer::pipeline::clear ( )
pure virtual

clears all drawCommands.

Implemented in luna::vulkan::vulkanPipeline.

◆ createCommands()

virtual void luna::renderer::pipeline::createCommands ( )
pure virtual

creates platform specific commands for the rendererPipeline using engine drawCommands.

Implemented in luna::vulkan::vulkanPipeline.

◆ createPipeline()

virtual void luna::renderer::pipeline::createPipeline ( const pipelineLayout layout)
pure virtual

creates graphics a pipeline.

Parameters
layout

Implemented in luna::vulkan::vulkanPipeline.

◆ destroyPipeline()

virtual void luna::renderer::pipeline::destroyPipeline ( )
pure virtual

destroys the graphics pipeline.

Implemented in luna::vulkan::vulkanPipeline.

◆ drawIndexed()

virtual void luna::renderer::pipeline::drawIndexed ( const ref< vertexArray > &  vertexArray,
std::vector< uint64_t >  textures,
int  indexCount 
)
pure virtual

draw vertexBuffer with and indexBuffer.

Parameters
ref<renderer::vertexArray>vertexArray ref to vertexarray containing vertexBuffers and inexBuffer;
indexCountindexCount tp be rendered;

◆ end()

virtual void luna::renderer::pipeline::end ( ) const
pure virtual

ends recording end.

Implemented in luna::vulkan::vulkanPipeline.

◆ flush()

virtual void luna::renderer::pipeline::flush ( )
pure virtual

flush the renderer pipline and render a frame.

Implemented in luna::vulkan::vulkanPipeline.

◆ getDimensions()

glm::vec2 luna::renderer::pipeline::getDimensions ( )
inline

◆ getWindowMousePos()

glm::vec2 luna::renderer::pipeline::getWindowMousePos ( )
inline

Member Data Documentation

◆ test

int luna::renderer::pipeline::test

◆ windowDimensions

glm::vec2 luna::renderer::pipeline::windowDimensions
protected

◆ windowMousePos

glm::vec2 luna::renderer::pipeline::windowMousePos
protected

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