MCPcopy Create free account
hub / github.com/OpenTTD/OpenTTD / BindVBOExtension

Function BindVBOExtension

src/video/opengl.cpp:269–296  ·  view source on GitHub ↗

Bind vertex buffer object extension functions. */

Source from the content-addressed store, hash-verified

267
268/** Bind vertex buffer object extension functions. */
269static bool BindVBOExtension()
270{
271 if (IsOpenGLVersionAtLeast(1, 5)) {
272 if (!BindGLProc(_glGenBuffers, "glGenBuffers")) return false;
273 if (!BindGLProc(_glDeleteBuffers, "glDeleteBuffers")) return false;
274 if (!BindGLProc(_glBindBuffer, "glBindBuffer")) return false;
275 if (!BindGLProc(_glBufferData, "glBufferData")) return false;
276 if (!BindGLProc(_glBufferSubData, "glBufferSubData")) return false;
277 if (!BindGLProc(_glMapBuffer, "glMapBuffer")) return false;
278 if (!BindGLProc(_glUnmapBuffer, "glUnmapBuffer")) return false;
279 } else {
280 if (!BindGLProc(_glGenBuffers, "glGenBuffersARB")) return false;
281 if (!BindGLProc(_glDeleteBuffers, "glDeleteBuffersARB")) return false;
282 if (!BindGLProc(_glBindBuffer, "glBindBufferARB")) return false;
283 if (!BindGLProc(_glBufferData, "glBufferDataARB")) return false;
284 if (!BindGLProc(_glBufferSubData, "glBufferSubDataARB")) return false;
285 if (!BindGLProc(_glMapBuffer, "glMapBufferARB")) return false;
286 if (!BindGLProc(_glUnmapBuffer, "glUnmapBufferARB")) return false;
287 }
288
289 if (IsOpenGLVersionAtLeast(4, 3) || IsOpenGLExtensionSupported("GL_ARB_clear_buffer_object")) {
290 BindGLProc(_glClearBufferSubData, "glClearBufferSubData");
291 } else {
292 _glClearBufferSubData = nullptr;
293 }
294
295 return true;
296}
297
298/** Bind vertex array object extension functions. */
299static bool BindVBAExtension()

Callers 1

InitMethod · 0.85

Calls 3

IsOpenGLVersionAtLeastFunction · 0.85
BindGLProcFunction · 0.85

Tested by

no test coverage detected