Unravel Engine C++ Reference
Loading...
Searching...
No Matches
gfx::program Struct Reference

#include <program.h>

Inheritance diagram for gfx::program:
gfx::handle_impl< program, program_handle >

Public Types

using uniform_ptr = std::shared_ptr<uniform>
 
- Public Types inherited from gfx::handle_impl< program, program_handle >
using ptr
 
using uptr
 
using weak_ptr
 
using handle_type_t
 
using base_type
 

Public Member Functions

 program ()=default
 
 program (const shader &compute_shader)
 
 program (const shader &vertex_shader, const shader &fragment_shader)
 
void set_texture (uint8_t _stage, const hpp::string_view &_sampler, const gfx::frame_buffer *_handle, uint8_t _attachment=0, uint32_t _flags=std::numeric_limits< uint32_t >::max())
 
void set_texture (uint8_t _stage, const hpp::string_view &_sampler, const gfx::texture *_texture, uint32_t _flags=std::numeric_limits< uint32_t >::max())
 
void set_uniform (const hpp::string_view &_name, const void *_value, uint16_t _num=1)
 
auto get_uniform (const hpp::string_view &_name, uint8_t stage=uint8_t(-1)) -> uniform_ptr
 
- Public Member Functions inherited from gfx::handle_impl< program, program_handle >
 ~handle_impl ()
 
void dispose ()
 
auto is_valid () const -> bool
 
auto native_handle () const -> program_handle
 

Public Attributes

std::map< std::string, uniform_ptr, std::less<> > uniforms
 All uniforms for this program.
 
std::array< uniform_ptr, 64 > textures_uniforms
 

Additional Inherited Members

- Static Public Member Functions inherited from gfx::handle_impl< program, program_handle >
static auto invalid_handle () -> program_handle
 
- Protected Attributes inherited from gfx::handle_impl< program, program_handle >
program_handle handle_
 

Detailed Description

Definition at line 17 of file program.h.

Member Typedef Documentation

◆ uniform_ptr

using gfx::program::uniform_ptr = std::shared_ptr<uniform>

Definition at line 19 of file program.h.

Constructor & Destructor Documentation

◆ program() [1/3]

gfx::program::program ( )
default

◆ program() [2/3]

gfx::program::program ( const shader & compute_shader)

Definition at line 9 of file program.cpp.

◆ program() [3/3]

gfx::program::program ( const shader & vertex_shader,
const shader & fragment_shader )

Definition at line 25 of file program.cpp.

Member Function Documentation

◆ get_uniform()

auto gfx::program::get_uniform ( const hpp::string_view & _name,
uint8_t stage = uint8_t(-1) ) -> uniform_ptr

Definition at line 97 of file program.cpp.

◆ set_texture() [1/2]

void gfx::program::set_texture ( uint8_t _stage,
const hpp::string_view & _sampler,
const gfx::frame_buffer * _handle,
uint8_t _attachment = 0,
uint32_t _flags = std::numeric_limits<uint32_t>::max() )

Definition at line 46 of file program.cpp.

◆ set_texture() [2/2]

void gfx::program::set_texture ( uint8_t _stage,
const hpp::string_view & _sampler,
const gfx::texture * _texture,
uint32_t _flags = std::numeric_limits<uint32_t>::max() )

Definition at line 67 of file program.cpp.

◆ set_uniform()

void gfx::program::set_uniform ( const hpp::string_view & _name,
const void * _value,
uint16_t _num = 1 )

Definition at line 87 of file program.cpp.

Member Data Documentation

◆ textures_uniforms

std::array<uniform_ptr, 64> gfx::program::textures_uniforms

Definition at line 99 of file program.h.

◆ uniforms

std::map<std::string, uniform_ptr, std::less<> > gfx::program::uniforms

All uniforms for this program.

Definition at line 98 of file program.h.


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