MxEngine
src
Platform
OpenGL
IndexBuffer.h
1
// Copyright(c) 2019 - 2020, #Momo
2
// All rights reserved.
3
//
4
// Redistribution and use in source and binary forms, with or without
5
// modification, are permitted provided that the following conditions are met :
6
//
7
// 1. Redistributions of source code must retain the above copyright notice, this
8
// list of conditions and the following disclaimer.
9
//
10
// 2. Redistributions in binary form must reproduce the above copyright notice,
11
// this list of conditions and the following disclaimer in the documentation
12
// and /or other materials provided with the distribution.
13
//
14
// 3. Neither the name of the copyright holder nor the names of its
15
// contributors may be used to endorse or promote products derived from
16
// this software without specific prior written permission.
17
//
18
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
// DISCLAIMED.IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
22
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23
// DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
25
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
// OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29
#pragma once
30
31
#include "Core/Macro/Macro.h"
32
33
namespace
MxEngine
34
{
35
class
IndexBuffer
36
{
37
using
BindableId =
unsigned
int;
38
BindableId
id
= 0;
39
size_t
count = 0;
40
public
:
41
using
IndexType =
unsigned
int;
42
43
explicit
IndexBuffer
();
44
explicit
IndexBuffer
(
const
IndexType* data,
size_t
count);
45
IndexBuffer
(
const
IndexBuffer
&) =
delete
;
46
IndexBuffer
(
IndexBuffer
&& ibo) noexcept;
47
IndexBuffer
& operator=(
const
IndexBuffer
&) =
delete
;
48
IndexBuffer
& operator=(
IndexBuffer
&& ibo) noexcept;
49
~
IndexBuffer
();
50
51
BindableId GetNativeHandle()
const
;
52
void
Bind()
const
;
53
void
Unbind()
const
;
54
void
Load(
const
IndexType* data,
size_t
sizeInInts);
55
size_t
GetCount()
const
;
56
size_t
GetIndexTypeId()
const
;
57
};
58
}
MxEngine::IndexBuffer
Definition:
IndexBuffer.h:35
MxEngine
Definition:
Application.cpp:49
Generated by
1.8.12