MCPcopy Create free account
hub / github.com/SFML/SFML / create

Method create

src/SFML/Graphics/VertexBuffer.cpp:117–143  ·  view source on GitHub ↗

///////////////////////////////////////////////////////

Source from the content-addressed store, hash-verified

115
116////////////////////////////////////////////////////////////
117bool VertexBuffer::create(std::size_t vertexCount)
118{
119 if (!isAvailable())
120 return false;
121
122 const TransientContextLock contextLock;
123
124 if (!m_buffer)
125 glCheck(GLEXT_glGenBuffers(1, &m_buffer));
126
127 if (!m_buffer)
128 {
129 err() << "Could not create vertex buffer, generation failed" << std::endl;
130 return false;
131 }
132
133 glCheck(GLEXT_glBindBuffer(GLEXT_GL_ARRAY_BUFFER, m_buffer));
134 glCheck(GLEXT_glBufferData(GLEXT_GL_ARRAY_BUFFER,
135 static_cast<GLsizeiptrARB>(sizeof(Vertex) * vertexCount),
136 nullptr,
137 VertexBufferImpl::usageToGlEnum(m_usage)));
138 glCheck(GLEXT_glBindBuffer(GLEXT_GL_ARRAY_BUFFER, 0));
139
140 m_size = vertexCount;
141
142 return true;
143}
144
145
146////////////////////////////////////////////////////////////

Callers 1

resizeMethod · 0.45

Calls 2

usageToGlEnumFunction · 0.85
isAvailableFunction · 0.50

Tested by

no test coverage detected