Brenta Engine
1.0
Loading...
Searching...
No Matches
vao.hpp
1
/*
2
* MIT License
3
*
4
* Copyright (c) 2024 Giovanni Santini
5
6
* Permission is hereby granted, free of charge, to any person obtaining a copy
7
* of this software and associated documentation files (the "Software"), to deal
8
* in the Software without restriction, including without limitation the rights
9
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
* copies of the Software, and to permit persons to whom the Software is
11
* furnished to do so, subject to the following conditions:
12
*
13
* The above copyright notice and this permission notice shall be included in
14
all
15
* copies or substantial portions of the Software.
16
*
17
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
* SOFTWARE.
24
*
25
*/
26
27
#pragma once
28
29
#include "buffer.hpp"
30
31
#include <glad/glad.h>
/* OpenGL driver */
32
33
namespace
Brenta
34
{
35
36
namespace
Types
37
{
38
44
class
VAO
45
{
46
public
:
50
unsigned
int
vao
;
51
57
VAO
()
58
{
59
}
65
void
Init
();
66
71
unsigned
int
GetVAO
();
75
void
Bind
();
79
void
Unbind
();
83
void
Delete
();
97
void
SetVertexData
(
Buffer
buffer,
unsigned
int
index, GLint size,
98
GLenum type, GLboolean normalized, GLsizei stride,
99
const
void
*pointer);
100
};
101
102
}
// namespace Types
103
104
}
// namespace Brenta
Brenta::Types::Buffer
Buffer wrapper around OpenGL buffer objects.
Definition
buffer.hpp:50
Brenta::Types::VAO
Vertex Array Object (VAO)
Definition
vao.hpp:45
Brenta::Types::VAO::Init
void Init()
Init Constructor.
Definition
vao.cpp:33
Brenta::Types::VAO::VAO
VAO()
Empty Constructor.
Definition
vao.hpp:57
Brenta::Types::VAO::GetVAO
unsigned int GetVAO()
Get the VAO.
Definition
vao.cpp:39
Brenta::Types::VAO::Unbind
void Unbind()
Unbind the VAO.
Definition
vao.cpp:59
Brenta::Types::VAO::Bind
void Bind()
Bind the VAO.
Definition
vao.cpp:49
Brenta::Types::VAO::Delete
void Delete()
Delete the VAO.
Definition
vao.cpp:76
Brenta::Types::VAO::SetVertexData
void SetVertexData(Buffer buffer, unsigned int index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer)
Set the vertex data.
Definition
vao.cpp:64
Brenta::Types::VAO::vao
unsigned int vao
Vertex Array Object (VAO)
Definition
vao.hpp:50
engine
headers
vao.hpp
Generated by
1.10.0