Banuba SDK
Toggle main menu visibility
Loading...
Searching...
No Matches
platform
desktop
player_api
bnb
player_api
opengl
opengl_shader_program.hpp
1
#pragma once
2
3
#include <string_view>
4
#include <cstdint>
5
6
namespace
bnb::player_api
7
{
8
9
class
opengl_shader_program
10
{
11
public
:
12
opengl_shader_program(
const
std::string_view& vertex_shader_source,
const
std::string_view& fragmant_shader_source);
13
~opengl_shader_program();
14
15
void
use()
const
;
16
static
void
unuse();
17
18
int32_t get_program_id()
const
;
19
int32_t get_attribute_location(
const
std::string_view& attribute_name)
const
;
20
int32_t get_uniform_location(
const
std::string_view& uniform_name)
const
;
21
22
void
set_uniform_texture_unit(int32_t uniform, uint32_t texture_unit_index)
const
;
23
void
set_uniform_vec2(int32_t uniform,
const
float
*
const
vec)
const
;
24
void
set_uniform_vec4(int32_t uniform,
const
float
*
const
vec)
const
;
25
void
set_uniform_mat4(int32_t uniform,
const
float
*
const
mat,
bool
transpose =
false
)
const
;
26
void
set_uniform_int(int32_t uniform, int32_t val)
const
;
27
28
private
:
29
uint32_t m_program{0};
30
};
// class bnb::player_api::opengl_shader_program
31
32
}
// namespace bnb::player_api
Generated by
1.17.0