luna engine
software engine
Loading...
Searching...
No Matches
luna::vulkan::vulkanTexture Class Reference

texture implementation in vulkan. More...

#include <vulkanTexture.h>

Inheritance diagram for luna::vulkan::vulkanTexture:
Collaboration diagram for luna::vulkan::vulkanTexture:

Public Member Functions

 vulkanTexture (const std::string &filePath)
 
 vulkanTexture (const uint64_t &handle, const glm::vec2 &dimensions)
 
virtual ~vulkanTexture ()
 
virtual uint32_t getWidth () const override
 
virtual uint32_t getHeight () const override
 
virtual const std::string & getPath () const override
 
virtual void setData (void *data, uint32_t size) override
 
virtual void bind (uint32_t slot=0) const override
 
virtual bool isLoaded () const override
 
- Public Member Functions inherited from luna::renderer::texture
virtual ~texture ()=default
 
virtual uint32_t getWidth () const =0
 
virtual uint32_t getHeight () const =0
 
virtual const std::string & getPath () const =0
 
virtual void setData (void *data, uint32_t size)=0
 
virtual void bind (uint32_t slot=0) const =0
 
virtual bool isLoaded () const =0
 
void setDestroy (const bool &destroy)
 
void setUv (const glm::vec2 &_uvStart, const glm::vec2 &_uvEnd)
 
std::vector< glm::vec2 > getUv ()
 
uint64_t handle ()
 

Protected Attributes

VkBuffer buffer = VK_NULL_HANDLE
 
VkImage imageHandle = VK_NULL_HANDLE
 
VkImageView imageViewHandle = VK_NULL_HANDLE
 
- Protected Attributes inherited from luna::renderer::texture
bool destroy = true
 
uint64_t _handle
 
void * data
 
uint32_t width
 
uint32_t height
 
glm::vec2 uvStart = {0.0f,0.0f}
 
glm::vec2 uvEnd = { 1.0f,1.0f }
 

Additional Inherited Members

- Static Public Member Functions inherited from luna::renderer::texture
static ref< texturecreate (const std::string &filePath)
 
static ref< texturecreate (const uint64_t &handle, const glm::vec2 &dimensions)
 

Detailed Description

texture implementation in vulkan.

Constructor & Destructor Documentation

◆ vulkanTexture() [1/2]

luna::vulkan::vulkanTexture::vulkanTexture ( const std::string &  filePath)

◆ vulkanTexture() [2/2]

luna::vulkan::vulkanTexture::vulkanTexture ( const uint64_t &  handle,
const glm::vec2 &  dimensions 
)

◆ ~vulkanTexture()

luna::vulkan::vulkanTexture::~vulkanTexture ( )
virtual

Member Function Documentation

◆ bind()

void luna::vulkan::vulkanTexture::bind ( uint32_t  slot = 0) const
overridevirtual

◆ getHeight()

uint32_t luna::vulkan::vulkanTexture::getHeight ( ) const
overridevirtual

◆ getPath()

const std::string & luna::vulkan::vulkanTexture::getPath ( ) const
overridevirtual

◆ getWidth()

uint32_t luna::vulkan::vulkanTexture::getWidth ( ) const
overridevirtual

◆ isLoaded()

bool luna::vulkan::vulkanTexture::isLoaded ( ) const
overridevirtual

◆ setData()

void luna::vulkan::vulkanTexture::setData ( void *  data,
uint32_t  size 
)
overridevirtual

Member Data Documentation

◆ buffer

VkBuffer luna::vulkan::vulkanTexture::buffer = VK_NULL_HANDLE
protected

◆ imageHandle

VkImage luna::vulkan::vulkanTexture::imageHandle = VK_NULL_HANDLE
protected

◆ imageViewHandle

VkImageView luna::vulkan::vulkanTexture::imageViewHandle = VK_NULL_HANDLE
protected

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