FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
assimp/code/Bitmap.h at master · Tidal-Loop/assimp · GitHub
This repository was archived by the owner on Apr 24, 2026. It is now read-only.
Tidal-Loop
/
assimp
Public archive
forked from
assimp/assimp
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
assimp
/
code
/
Bitmap.h
Copy path
More file actions
More file actions
Latest commit
History
History
History
144 lines (99 loc) · 4.38 KB
Breadcrumbs
assimp
/
code
/
Bitmap.h
Copy path
File metadata and controls
144 lines (99 loc) · 4.38 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
/*
---------------------------------------------------------------------------
Open Asset Import Library (assimp)
---------------------------------------------------------------------------
Copyright (c) 2006-2016, assimp team
All rights reserved.
Redistribution and use of this software in source and binary forms,
with or without modification, are permitted provided that the following
conditions are met:
* Redistributions of source code must retain the above
copyright notice, this list of conditions and the
following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other
materials provided with the distribution.
* Neither the name of the assimp team, nor the names of its
contributors may be used to endorse or promote products
derived from this software without specific prior
written permission of the assimp team.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
---------------------------------------------------------------------------
*/
/*
* @file Bitmap.h
* @brief Defines bitmap format helper for textures
*
* Used for file formats which embed their textures into the model file.
*/
#
ifndef
AI_BITMAP_H_INC
#
define
AI_BITMAP_H_INC
#
include
<
stdint.h
>
#
include
<
cstddef
>
struct
aiTexture
;
namespace
Assimp
{
class
IOStream
;
class
Bitmap
{
protected:
struct
Header
{
uint16_t
type;
uint32_t
size;
uint16_t
reserved1;
uint16_t
reserved2;
uint32_t
offset;
//
We define the struct size because sizeof(Header) might return a wrong result because of structure padding.
//
Moreover, we must use this ugly and error prone syntax because Visual Studio neither support constexpr or sizeof(name_of_field).
static
const
std::
size_t
header_size =
sizeof
(
uint16_t
) +
//
type
sizeof
(
uint32_t
) +
//
size
sizeof
(
uint16_t
) +
//
reserved1
sizeof
(
uint16_t
) +
//
reserved2
sizeof
(
uint32_t
);
//
offset
};
struct
DIB
{
uint32_t
size;
int32_t
width;
int32_t
height;
uint16_t
planes;
uint16_t
bits_per_pixel;
uint32_t
compression;
uint32_t
image_size;
int32_t
x_resolution;
int32_t
y_resolution;
uint32_t
nb_colors;
uint32_t
nb_important_colors;
//
We define the struct size because sizeof(DIB) might return a wrong result because of structure padding.
//
Moreover, we must use this ugly and error prone syntax because Visual Studio neither support constexpr or sizeof(name_of_field).
static
const
std::
size_t
dib_size =
sizeof
(
uint32_t
) +
//
size
sizeof
(
int32_t
) +
//
width
sizeof
(
int32_t
) +
//
height
sizeof
(
uint16_t
) +
//
planes
sizeof
(
uint16_t
) +
//
bits_per_pixel
sizeof
(
uint32_t
) +
//
compression
sizeof
(
uint32_t
) +
//
image_size
sizeof
(
int32_t
) +
//
x_resolution
sizeof
(
int32_t
) +
//
y_resolution
sizeof
(
uint32_t
) +
//
nb_colors
sizeof
(
uint32_t
);
//
nb_important_colors
};
static
const
std::
size_t
mBytesPerPixel
=
4
;
public:
static
void
Save
(aiTexture* texture, IOStream* file);
protected:
static
void
WriteHeader
(Header& header, IOStream* file);
static
void
WriteDIB
(
DIB
& dib, IOStream* file);
static
void
WriteData
(aiTexture* texture, IOStream* file);
};
}
#
endif
//
AI_BITMAP_H_INC
Back
|
FazBrowse Home
|
New Git URL