Skylicht Engine
Toggle main menu visibility
Loading...
Searching...
No Matches
Irrlicht
Include
IVertexBuffer.h
1
// Copyright (C) 2012 Patryk Nadrowski
2
// This file is part of the "Irrlicht Engine".
3
// For conditions of distribution and use, see copyright notice in irrlicht.h
4
5
#ifndef __I_VERTEX_BUFFER_H_INCLUDED__
6
#define __I_VERTEX_BUFFER_H_INCLUDED__
7
8
#include "IReferenceCounted.h"
9
#include "irrArray.h"
10
#include "IHardwareBuffer.h"
11
12
namespace
irr
13
{
14
namespace
scene
15
{
16
class
IVertexBuffer :
public
virtual
IReferenceCounted
17
{
18
public
:
19
IVertexBuffer() : HardwareBuffer(0)
20
{
21
}
22
23
virtual
~IVertexBuffer()
24
{
25
if
(HardwareBuffer)
26
HardwareBuffer->drop();
27
}
28
29
virtual
void
clear() = 0;
30
31
virtual
void
set_used(
u32
used) = 0;
32
33
virtual
void
reallocate(
u32
size) = 0;
34
35
virtual
u32
allocated_size()
const
= 0;
36
37
virtual
s32
linear_reverse_search(
const
void
* element)
const
= 0;
38
39
virtual
void
fill(
u32
used) = 0;
40
41
virtual
E_HARDWARE_MAPPING
getHardwareMappingHint()
const
= 0;
42
43
virtual
void
setHardwareMappingHint(
E_HARDWARE_MAPPING
hardwareMappingHint) = 0;
44
45
virtual
void
addVertex(
const
void
* vertex) = 0;
46
47
virtual
const
void
* getVertex(
u32
id
)
const
= 0;
48
49
virtual
void
* getVertices() = 0;
50
51
virtual
u32
getVertexCount()
const
= 0;
52
53
virtual
u32
getVertexSize()
const
= 0;
54
55
virtual
void
setVertex(
u32
id
,
const
void
* vertex) = 0;
56
57
virtual
void
setDirty() = 0;
58
59
virtual
u32
getChangedID()
const
= 0;
60
61
video::IHardwareBuffer
* getHardwareBuffer()
const
62
{
63
return
HardwareBuffer;
64
}
65
66
// externalMemoryHandler parameter is used only by hardware buffers.
67
void
setHardwareBuffer(
video::IHardwareBuffer
* hardwareBuffer,
bool
externalMemoryHandler =
false
)
68
{
69
if
(!externalMemoryHandler && HardwareBuffer)
70
HardwareBuffer->
drop
();
71
72
HardwareBuffer = hardwareBuffer;
73
74
if
(!externalMemoryHandler && HardwareBuffer)
75
HardwareBuffer->
grab
();
76
}
77
78
protected
:
79
video::IHardwareBuffer
* HardwareBuffer;
80
};
81
}
82
}
83
84
#endif
irr::IReferenceCounted::drop
bool drop() const
Drops the object. Decrements the reference counter by one.
Definition
IReferenceCounted.h:126
irr::IReferenceCounted::grab
void grab() const
Grabs the object. Increments the reference counter by one.
Definition
IReferenceCounted.h:96
irr::IReferenceCounted::IReferenceCounted
IReferenceCounted()
Constructor.
Definition
IReferenceCounted.h:50
irr::video::IHardwareBuffer
Definition
IHardwareBuffer.h:60
irr::scene
All scene management can be found in this namespace: Mesh loading, special scene nodes like octrees a...
Definition
CIndexBuffer.h:13
irr::scene::E_HARDWARE_MAPPING
E_HARDWARE_MAPPING
Definition
EHardwareBufferFlags.h:14
irr
Everything in the Irrlicht Engine can be found in this namespace.
Definition
Skylicht.h:33
irr::u32
unsigned int u32
32 bit unsigned variable.
Definition
irrTypes.h:58
irr::s32
signed int s32
32 bit signed variable.
Definition
irrTypes.h:66
Generated by
1.17.0