bool CRenderSystemGLES::InitRenderSystem() { m_bVSync = false; m_iVSyncMode = 0; m_iSwapStamp = 0; m_iSwapTime = 0; m_iSwapRate = 0; m_bVsyncInit = false; m_maxTextureSize = 2048; m_renderCaps = 0; // Get the GLES version number m_RenderVersionMajor = 0; m_RenderVersionMinor = 0; const char* ver = (const char*)glGetString(GL_VERSION); if (ver != 0) { sscanf(ver, "%d.%d", &m_RenderVersionMajor, &m_RenderVersionMinor); if (!m_RenderVersionMajor) sscanf(ver, "%*s %*s %d.%d", &m_RenderVersionMajor, &m_RenderVersionMinor); m_RenderVersion = ver; } // Get our driver vendor and renderer m_RenderVendor = (const char*) glGetString(GL_VENDOR); m_RenderRenderer = (const char*) glGetString(GL_RENDERER); m_RenderExtensions = " "; m_RenderExtensions += (const char*) glGetString(GL_EXTENSIONS); m_RenderExtensions += " "; LogGraphicsInfo(); if (IsExtSupported("GL_TEXTURE_NPOT")) { m_renderCaps |= RENDER_CAPS_NPOT; } if (IsExtSupported("GL_EXT_texture_format_BGRA8888")) { m_renderCaps |= RENDER_CAPS_BGRA; } if (IsExtSupported("GL_IMG_texture_format_BGRA8888")) { m_renderCaps |= RENDER_CAPS_BGRA; } if (IsExtSupported("GL_APPLE_texture_format_BGRA8888")) { m_renderCaps |= RENDER_CAPS_BGRA_APPLE; } m_bRenderCreated = true; InitialiseGUIShader(); return true; }
bool CRenderSystemGL::InitRenderSystem() { m_bVSync = false; m_iVSyncMode = 0; m_iSwapStamp = 0; m_iSwapTime = 0; m_iSwapRate = 0; m_bVsyncInit = false; m_maxTextureSize = 2048; m_renderCaps = 0; // init glew library GLenum err = glewInit(); if (GLEW_OK != err) { // Problem: glewInit failed, something is seriously wrong CLog::Log(LOGERROR, "InitRenderSystem() glewInit returned %i: %s", err, glewGetErrorString(err)); return false; } // Get the GL version number m_RenderVersionMajor = 0; m_RenderVersionMinor = 0; const char* ver = (const char*)glGetString(GL_VERSION); if (ver != 0) { sscanf(ver, "%d.%d", &m_RenderVersionMajor, &m_RenderVersionMinor); m_RenderVersion = ver; } if (glewIsSupported("GL_ARB_shading_language_100")) { ver = (const char*)glGetString(GL_SHADING_LANGUAGE_VERSION); if (ver) { sscanf(ver, "%d.%d", &m_glslMajor, &m_glslMinor); } else { m_glslMajor = 1; m_glslMinor = 0; } } // Get our driver vendor and renderer m_RenderVendor = (const char*) glGetString(GL_VENDOR); m_RenderRenderer = (const char*) glGetString(GL_RENDERER); // grab our capabilities if (glewIsSupported("GL_EXT_texture_compression_s3tc")) m_renderCaps |= RENDER_CAPS_DXT; if (glewIsSupported("GL_ARB_texture_non_power_of_two")) { m_renderCaps |= RENDER_CAPS_NPOT; if (m_renderCaps & RENDER_CAPS_DXT) m_renderCaps |= RENDER_CAPS_DXT_NPOT; } //Check OpenGL quirks and revert m_renderCaps as needed CheckOpenGLQuirks(); m_RenderExtensions = " "; m_RenderExtensions += (const char*) glGetString(GL_EXTENSIONS); m_RenderExtensions += " "; LogGraphicsInfo(); m_bRenderCreated = true; return true; }
bool CRenderSystemGL::InitRenderSystem() { m_bVSync = false; m_iVSyncMode = 0; m_iSwapStamp = 0; m_iSwapTime = 0; m_iSwapRate = 0; m_bVsyncInit = false; m_maxTextureSize = 2048; m_renderCaps = 0; m_RenderExtensions = " "; m_RenderExtensions += (const char*) glGetString(GL_EXTENSIONS); m_RenderExtensions += " "; LogGraphicsInfo(); // Get the GL version number m_RenderVersionMajor = 0; m_RenderVersionMinor = 0; const char* ver = (const char*)glGetString(GL_VERSION); if (ver != 0) { sscanf(ver, "%d.%d", &m_RenderVersionMajor, &m_RenderVersionMinor); m_RenderVersion = ver; } if (IsExtSupported("GL_ARB_shading_language_100")) { ver = (const char*)glGetString(GL_SHADING_LANGUAGE_VERSION); if (ver) { sscanf(ver, "%d.%d", &m_glslMajor, &m_glslMinor); } else { m_glslMajor = 1; m_glslMinor = 0; } } // Get our driver vendor and renderer const char* tmpVendor = (const char*) glGetString(GL_VENDOR); m_RenderVendor.clear(); if (tmpVendor != NULL) m_RenderVendor = tmpVendor; const char* tmpRenderer = (const char*) glGetString(GL_RENDERER); m_RenderRenderer.clear(); if (tmpRenderer != NULL) m_RenderRenderer = tmpRenderer; // grab our capabilities if (IsExtSupported("GL_EXT_texture_compression_s3tc")) m_renderCaps |= RENDER_CAPS_DXT; if (IsExtSupported("GL_ARB_texture_non_power_of_two")) { m_renderCaps |= RENDER_CAPS_NPOT; if (m_renderCaps & RENDER_CAPS_DXT) m_renderCaps |= RENDER_CAPS_DXT_NPOT; } //Check OpenGL quirks and revert m_renderCaps as needed CheckOpenGLQuirks(); m_bRenderCreated = true; return true; }
bool CRenderSystemGL::InitRenderSystem() { m_bVSync = false; m_bVsyncInit = false; m_maxTextureSize = 2048; m_renderCaps = 0; // Get the GL version number m_RenderVersionMajor = 0; m_RenderVersionMinor = 0; const char* ver = (const char*)glGetString(GL_VERSION); if (ver != 0) { sscanf(ver, "%d.%d", &m_RenderVersionMajor, &m_RenderVersionMinor); m_RenderVersion = ver; } m_RenderExtensions = " "; if (m_RenderVersionMajor > 3 || (m_RenderVersionMajor == 3 && m_RenderVersionMinor >= 2)) { GLint n; glGetIntegerv(GL_NUM_EXTENSIONS, &n); if (n > 0) { GLint i; for (i = 0; i < n; i++) { m_RenderExtensions += (const char*)glGetStringi(GL_EXTENSIONS, i); m_RenderExtensions += " "; } } } else { m_RenderExtensions += (const char*) glGetString(GL_EXTENSIONS); } m_RenderExtensions += " "; if (IsExtSupported("GL_ARB_shading_language_100")) { ver = (const char*)glGetString(GL_SHADING_LANGUAGE_VERSION); if (ver) { sscanf(ver, "%d.%d", &m_glslMajor, &m_glslMinor); } else { m_glslMajor = 1; m_glslMinor = 0; } } LogGraphicsInfo(); // Get our driver vendor and renderer const char* tmpVendor = (const char*) glGetString(GL_VENDOR); m_RenderVendor.clear(); if (tmpVendor != NULL) m_RenderVendor = tmpVendor; const char* tmpRenderer = (const char*) glGetString(GL_RENDERER); m_RenderRenderer.clear(); if (tmpRenderer != NULL) m_RenderRenderer = tmpRenderer; // grab our capabilities if (IsExtSupported("GL_EXT_texture_compression_s3tc")) m_renderCaps |= RENDER_CAPS_DXT; if (IsExtSupported("GL_ARB_texture_non_power_of_two")) { m_renderCaps |= RENDER_CAPS_NPOT; if (m_renderCaps & RENDER_CAPS_DXT) m_renderCaps |= RENDER_CAPS_DXT_NPOT; } //Check OpenGL quirks and revert m_renderCaps as needed CheckOpenGLQuirks(); m_bRenderCreated = true; if (m_RenderVersionMajor > 3 || (m_RenderVersionMajor == 3 && m_RenderVersionMinor >= 2)) { glGenVertexArrays(1, &m_vertexArray); glBindVertexArray(m_vertexArray); } InitialiseShader(); return true; }
bool CRenderSystemGLES::InitRenderSystem() { GLint maxTextureSize; glGetIntegerv(GL_MAX_TEXTURE_SIZE, &maxTextureSize); m_maxTextureSize = maxTextureSize; m_bVSync = false; m_iVSyncMode = 0; m_iSwapStamp = 0; m_iSwapTime = 0; m_iSwapRate = 0; m_bVsyncInit = false; m_renderCaps = 0; // Get the GLES version number m_RenderVersionMajor = 0; m_RenderVersionMinor = 0; const char* ver = (const char*)glGetString(GL_VERSION); if (ver != 0) { sscanf(ver, "%d.%d", &m_RenderVersionMajor, &m_RenderVersionMinor); if (!m_RenderVersionMajor) sscanf(ver, "%*s %*s %d.%d", &m_RenderVersionMajor, &m_RenderVersionMinor); m_RenderVersion = ver; } // Get our driver vendor and renderer const char *tmpVendor = (const char*) glGetString(GL_VENDOR); m_RenderVendor.clear(); if (tmpVendor != NULL) m_RenderVendor = tmpVendor; const char *tmpRenderer = (const char*) glGetString(GL_RENDERER); m_RenderRenderer.clear(); if (tmpRenderer != NULL) m_RenderRenderer = tmpRenderer; m_RenderExtensions = " "; const char *tmpExtensions = (const char*) glGetString(GL_EXTENSIONS); if (tmpExtensions != NULL) { m_RenderExtensions += tmpExtensions; } m_RenderExtensions += " "; LogGraphicsInfo(); if (IsExtSupported("GL_TEXTURE_NPOT")) { m_renderCaps |= RENDER_CAPS_NPOT; } if (IsExtSupported("GL_EXT_texture_format_BGRA8888")) { m_renderCaps |= RENDER_CAPS_BGRA; } if (IsExtSupported("GL_IMG_texture_format_BGRA8888")) { m_renderCaps |= RENDER_CAPS_BGRA; } if (IsExtSupported("GL_APPLE_texture_format_BGRA8888")) { m_renderCaps |= RENDER_CAPS_BGRA_APPLE; } if (IsExtSupported("GL_EXT_unpack_subimage")) { m_renderCaps |= RENDER_CAPS_EGL_SUBIMAGE; } m_bRenderCreated = true; InitialiseGUIShader(); return true; }
bool CRenderSystemGL::InitRenderSystem() { m_bVSync = false; m_bVsyncInit = false; m_maxTextureSize = 2048; // Get the GL version number m_RenderVersionMajor = 0; m_RenderVersionMinor = 0; const char* ver = (const char*)glGetString(GL_VERSION); if (ver != 0) { sscanf(ver, "%d.%d", &m_RenderVersionMajor, &m_RenderVersionMinor); m_RenderVersion = ver; } m_RenderExtensions = " "; if (m_RenderVersionMajor > 3 || (m_RenderVersionMajor == 3 && m_RenderVersionMinor >= 2)) { GLint n; glGetIntegerv(GL_NUM_EXTENSIONS, &n); if (n > 0) { GLint i; for (i = 0; i < n; i++) { m_RenderExtensions += (const char*)glGetStringi(GL_EXTENSIONS, i); m_RenderExtensions += " "; } } } else { m_RenderExtensions += (const char*) glGetString(GL_EXTENSIONS); } m_RenderExtensions += " "; ver = (const char*)glGetString(GL_SHADING_LANGUAGE_VERSION); if (ver) { sscanf(ver, "%d.%d", &m_glslMajor, &m_glslMinor); } else { m_glslMajor = 1; m_glslMinor = 0; } LogGraphicsInfo(); // Get our driver vendor and renderer const char* tmpVendor = (const char*) glGetString(GL_VENDOR); m_RenderVendor.clear(); if (tmpVendor != NULL) m_RenderVendor = tmpVendor; const char* tmpRenderer = (const char*) glGetString(GL_RENDERER); m_RenderRenderer.clear(); if (tmpRenderer != NULL) m_RenderRenderer = tmpRenderer; m_bRenderCreated = true; if (m_RenderVersionMajor > 3 || (m_RenderVersionMajor == 3 && m_RenderVersionMinor >= 2)) { glGenVertexArrays(1, &m_vertexArray); glBindVertexArray(m_vertexArray); } InitialiseShader(); if (IsExtSupported("GL_ARB_texture_non_power_of_two")) m_supportsNPOT = true; else m_supportsNPOT = false; return true; }