Skip to content

Commit cf13392

Browse files
committed
GLPainter: Don't reference stuff or possibly copy vertices
1 parent e7daf51 commit cf13392

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

src/video/gl/gl_painter.cpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -77,18 +77,18 @@ GLPainter::draw_texture(const TextureRequest& request)
7777
assert(request.srcrects.size() == request.dstrects.size());
7878
assert(request.srcrects.size() == request.angles.size());
7979

80-
m_vertices.clear();
81-
m_uvs.clear();
82-
8380
m_vertices.reserve(request.srcrects.size() * 12);
8481
m_uvs.reserve(request.srcrects.size() * 12);
82+
83+
m_vertices.clear();
84+
m_uvs.clear();
8585

8686
for (size_t i = 0; i < request.srcrects.size(); ++i)
8787
{
88-
const float& left = request.dstrects[i].get_left();
89-
const float& top = request.dstrects[i].get_top();
90-
const float& right = request.dstrects[i].get_right();
91-
const float& bottom = request.dstrects[i].get_bottom();
88+
const float left = request.dstrects[i].get_left();
89+
const float top = request.dstrects[i].get_top();
90+
const float right = request.dstrects[i].get_right();
91+
const float bottom = request.dstrects[i].get_bottom();
9292

9393
float uv_left = request.srcrects[i].get_left() / static_cast<float>(texture.get_texture_width());
9494
float uv_top = request.srcrects[i].get_top() / static_cast<float>(texture.get_texture_height());
@@ -103,7 +103,7 @@ GLPainter::draw_texture(const TextureRequest& request)
103103

104104
if (request.angles[i] == 0.0f)
105105
{
106-
auto vertices_lst = {
106+
const float vertices_lst[] = {
107107
left, top,
108108
right, top,
109109
right, bottom,
@@ -112,9 +112,9 @@ GLPainter::draw_texture(const TextureRequest& request)
112112
left, top,
113113
right, bottom,
114114
};
115-
m_vertices.insert(m_vertices.end(), std::begin(vertices_lst), std::end(vertices_lst));
115+
m_vertices.insert(m_vertices.end(), vertices_lst, vertices_lst + 12);
116116

117-
auto uvs_lst = {
117+
const float uvs_lst[] = {
118118
uv_left, uv_top,
119119
uv_right, uv_top,
120120
uv_right, uv_bottom,
@@ -123,7 +123,7 @@ GLPainter::draw_texture(const TextureRequest& request)
123123
uv_left, uv_top,
124124
uv_right, uv_bottom,
125125
};
126-
m_uvs.insert(m_uvs.end(), std::begin(uvs_lst), std::end(uvs_lst));
126+
m_uvs.insert(m_uvs.end(), uvs_lst, uvs_lst + 12);
127127
}
128128
else
129129
{
@@ -149,7 +149,7 @@ GLPainter::draw_texture(const TextureRequest& request)
149149
new_left*ca - new_top*sa + center_x, new_left*sa + new_top*ca + center_y,
150150
new_right*ca - new_bottom*sa + center_x, new_right*sa + new_bottom*ca + center_y,
151151
};
152-
m_vertices.insert(m_vertices.end(), std::begin(vertices_lst), std::end(vertices_lst));
152+
m_vertices.insert(m_vertices.end(), vertices_lst, vertices_lst + 12);
153153

154154
const float uvs_lst[] = {
155155
uv_left, uv_top,
@@ -160,7 +160,7 @@ GLPainter::draw_texture(const TextureRequest& request)
160160
uv_left, uv_top,
161161
uv_right, uv_bottom,
162162
};
163-
m_uvs.insert(m_uvs.end(), std::begin(uvs_lst), std::end(uvs_lst));
163+
m_uvs.insert(m_uvs.end(), uvs_lst, uvs_lst + 12);
164164
}
165165
}
166166

0 commit comments

Comments
 (0)