本文整理汇总了C++中eglGetConfigs函数的典型用法代码示例。如果您正苦于以下问题:C++ eglGetConfigs函数的具体用法?C++ eglGetConfigs怎么用?C++ eglGetConfigs使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了eglGetConfigs函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: eglGetCurrentDisplay
QString QGLInfo::reportEGLConfigInfo() const
{
#if !defined(QT_NO_EGL)
QString d;
QEglProperties props;
EGLint count = 0;
EGLDisplay dpy = eglGetCurrentDisplay();
EGLContext ctx = eglGetCurrentContext();
EGLint cfgnum = 0;
if (eglQueryContext(dpy, ctx, EGL_CONFIG_ID, &cfgnum)) {
d += QString("Window configuration in use: ") + QString::number(cfgnum) +
QLatin1String("\n\n");
}
if (!eglGetConfigs(dpy, 0, 0, &count) || count < 1)
return d;
EGLConfig *configs = new EGLConfig [count];
eglGetConfigs(dpy, configs, count, &count);
for (EGLint index = 0; index < count; ++index) {
props = QEglProperties(configs[index]);
d += props.toString() + QLatin1String("\n\n");
}
delete [] configs;
return d;
#else
return QString();
#endif
}
开发者ID:slavablind91,项目名称:code,代码行数:27,代码来源:qglinfo.cpp
示例2: eglGetConfigs
// Find an EGLConfig that is an exact match for the specified attributes. EGL_FALSE is returned if
// the EGLConfig is found. This indicates that the EGLConfig is not supported.
EGLBoolean EGLWindow::FindEGLConfig(EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *config)
{
EGLint numConfigs = 0;
eglGetConfigs(dpy, nullptr, 0, &numConfigs);
std::vector<EGLConfig> allConfigs(numConfigs);
eglGetConfigs(dpy, allConfigs.data(), allConfigs.size(), &numConfigs);
for (size_t i = 0; i < allConfigs.size(); i++)
{
bool matchFound = true;
for (const EGLint *curAttrib = attrib_list; curAttrib[0] != EGL_NONE; curAttrib += 2)
{
EGLint actualValue = EGL_DONT_CARE;
eglGetConfigAttrib(dpy, allConfigs[i], curAttrib[0], &actualValue);
if (curAttrib[1] != actualValue)
{
matchFound = false;
break;
}
}
if (matchFound)
{
*config = allConfigs[i];
return EGL_TRUE;
}
}
return EGL_FALSE;
}
开发者ID:mariospr,项目名称:chromium-browser,代码行数:32,代码来源:EGLWindow.cpp
示例3: OGRE_EXCEPT
EGLConfig* EGLSupport::getConfigs(GLint *nElements)
{
EGLConfig *configs;
if (eglGetConfigs(mGLDisplay, NULL, 0, nElements) == EGL_FALSE)
{
OGRE_EXCEPT(Exception::ERR_RENDERINGAPI_ERROR,
"Failed to choose config",
__FUNCTION__);
*nElements = 0;
return 0;
}
EGL_CHECK_ERROR
configs = (EGLConfig*) malloc(*nElements * sizeof(EGLConfig));
if (eglGetConfigs(mGLDisplay, configs, *nElements, nElements) == EGL_FALSE)
{
OGRE_EXCEPT(Exception::ERR_RENDERINGAPI_ERROR,
"Failed to choose config",
__FUNCTION__);
*nElements = 0;
free(configs);
return 0;
}
EGL_CHECK_ERROR
return configs;
}
开发者ID:LiberatorUSA,项目名称:GUCEF,代码行数:28,代码来源:OgreEGLSupport.cpp
示例4: PrintConfigs
/**
* Print table of all available configurations.
*/
static
EGLConfig* PrintConfigs(EGLDisplay d)
{
EGLConfig *configs;
EGLint numConfigs, i;
if (eglGetConfigs(d, NULL, 0, &numConfigs) != EGL_TRUE)
{
printf ("eglGetConfigs -> %x\n", eglGetError());
exit (EXIT_FAILURE);
}
configs = malloc(sizeof(EGLConfig) *numConfigs);
eglGetConfigs(d, configs, numConfigs, &numConfigs);
printf("Configurations:\n");
printf(" bf lv d st colorbuffer dp st supported \n");
printf(" id sz l b ro r g b a th cl surfaces \n");
printf("----------------------------------------------\n");
for (i = 0; i < numConfigs; i++) {
EGLint id, size, level;
EGLint red, green, blue, alpha;
EGLint depth, stencil;
EGLint surfaces;
EGLint doubleBuf = 1, stereo = 0;
char surfString[100] = "";
eglGetConfigAttrib(d, configs[i], EGL_CONFIG_ID, &id);
eglGetConfigAttrib(d, configs[i], EGL_BUFFER_SIZE, &size);
eglGetConfigAttrib(d, configs[i], EGL_LEVEL, &level);
eglGetConfigAttrib(d, configs[i], EGL_RED_SIZE, &red);
eglGetConfigAttrib(d, configs[i], EGL_GREEN_SIZE, &green);
eglGetConfigAttrib(d, configs[i], EGL_BLUE_SIZE, &blue);
eglGetConfigAttrib(d, configs[i], EGL_ALPHA_SIZE, &alpha);
eglGetConfigAttrib(d, configs[i], EGL_DEPTH_SIZE, &depth);
eglGetConfigAttrib(d, configs[i], EGL_STENCIL_SIZE, &stencil);
eglGetConfigAttrib(d, configs[i], EGL_SURFACE_TYPE, &surfaces);
if (surfaces & EGL_WINDOW_BIT)
strcat(surfString, "win,");
if (surfaces & EGL_PBUFFER_BIT)
strcat(surfString, "pb,");
if (surfaces & EGL_PIXMAP_BIT)
strcat(surfString, "pix,");
if (strlen(surfString) > 0)
surfString[strlen(surfString) - 1] = 0;
printf("0x%02x %2d %2d %c %c %2d %2d %2d %2d %2d %2d %-12s\n",
id, size, level,
doubleBuf ? 'y' : '.',
stereo ? 'y' : '.',
red, green, blue, alpha,
depth, stencil, surfString);
}
// free(configs);
return configs;
}
开发者ID:Rebox-Rob,项目名称:Reboxrepository,代码行数:62,代码来源:demo_1.c
示例5: _cairo_boilerplate_egl_create_surface
static cairo_surface_t *
_cairo_boilerplate_egl_create_surface (const char *name,
cairo_content_t content,
double width,
double height,
double max_width,
double max_height,
cairo_boilerplate_mode_t mode,
int id,
void **closure)
{
egl_target_closure_t *gltc;
cairo_surface_t *surface;
int major, minor;
EGLConfig *configs;
EGLint numConfigs;
gltc = xcalloc (1, sizeof (egl_target_closure_t));
*closure = gltc;
gltc->dpy = eglGetDisplay (EGL_DEFAULT_DISPLAY);
if (! eglInitialize (gltc->dpy, &major, &minor)) {
free (gltc);
return NULL;
}
eglGetConfigs (gltc->dpy, NULL, 0, &numConfigs);
if (numConfigs == 0) {
free (gltc);
return NULL;
}
configs = xmalloc(sizeof(*configs) *numConfigs);
eglGetConfigs (gltc->dpy, configs, numConfigs, &numConfigs);
eglBindAPI (EGL_OPENGL_API);
gltc->ctx = eglCreateContext (gltc->dpy, configs[0], EGL_NO_CONTEXT, NULL);
if (gltc->ctx == EGL_NO_CONTEXT) {
eglTerminate (gltc->dpy);
free (gltc);
return NULL;
}
gltc->device = cairo_egl_device_create (gltc->dpy, gltc->ctx);
gltc->surface = surface = cairo_gl_surface_create (gltc->device,
content,
ceil (width),
ceil (height));
if (cairo_surface_status (surface))
_cairo_boilerplate_egl_cleanup (gltc);
return surface;
}
开发者ID:499940913,项目名称:moon,代码行数:55,代码来源:cairo-boilerplate-egl.c
示例6: eglGetConfigs
void QEglProperties::dumpAllConfigs()
{
EGLint count = 0;
eglGetConfigs(QEglContext::defaultDisplay(0), 0, 0, &count);
if (count < 1)
return;
EGLConfig *configs = new EGLConfig [count];
eglGetConfigs(QEglContext::defaultDisplay(0), configs, count, &count);
for (EGLint index = 0; index < count; ++index)
qWarning() << QEglProperties(configs[index]).toString();
delete [] configs;
}
开发者ID:Nacto1,项目名称:qt-everywhere-opensource-src-4.6.2,代码行数:13,代码来源:qeglproperties.cpp
示例7: eglGetConfigs
// Dump all of the EGL configurations supported by the system.
void QEgl::dumpAllConfigs()
{
QEglProperties props;
EGLint count = 0;
if (!eglGetConfigs(display(), 0, 0, &count) || count < 1)
return;
EGLConfig *configs = new EGLConfig [count];
eglGetConfigs(display(), configs, count, &count);
for (EGLint index = 0; index < count; ++index) {
props = QEglProperties(configs[index]);
qWarning() << props.toString();
}
delete [] configs;
}
开发者ID:husninazer,项目名称:qt,代码行数:15,代码来源:qegl.cpp
示例8: eglGetConfigs
EGLConfig EGLConfigSelector::findMatchingConfigWithVisualId(NativeVisualId id)
{
if (m_sharedDisplay == EGL_NO_DISPLAY)
return 0;
EGLint numConfigs;
EGLint i;
EGLint visualId;
EGLConfig config = 0;
eglGetConfigs(m_sharedDisplay, 0, 0, &numConfigs);
if (!numConfigs) {
LOG_ERROR("Failed to retrieve any EGL configs.");
return 0;
}
EGLConfig configs[numConfigs];
eglGetConfigs(m_sharedDisplay, configs, numConfigs, &numConfigs);
if (!numConfigs) {
LOG_ERROR("Failed to retrieve any EGL configs.");
return 0;
}
int alphaChannelRequired = m_attributes & GLPlatformSurface::SupportAlpha ? 8 : 0;
for (i = 0; i < numConfigs; i++) {
EGLint alpha, surfaces;
EGLConfig tempConfig = configs[i];
eglGetConfigAttrib(m_sharedDisplay, tempConfig, EGL_NATIVE_VISUAL_ID, &visualId);
if (static_cast<NativeVisualId>(visualId) != id)
continue;
eglGetConfigAttrib(m_sharedDisplay, tempConfig, EGL_ALPHA_SIZE, &alpha);
if (alphaChannelRequired != alpha)
continue;
eglGetConfigAttrib(m_sharedDisplay, tempConfig, EGL_SURFACE_TYPE, &surfaces);
if (surfaces & EGL_PIXMAP_BIT) {
config = tempConfig;
break;
}
}
return config;
}
开发者ID:SchleunigerAG,项目名称:WinEC7_Qt5.3.1_Fixes,代码行数:49,代码来源:EGLConfigSelector.cpp
示例9: jni_eglGetConfigs
static jboolean jni_eglGetConfigs(JNIEnv *_env, jobject _this, jobject display,
jobjectArray configs, jint config_size, jintArray num_config) {
if (display == NULL || (configs != NULL && _env->GetArrayLength(configs) < config_size)
|| (num_config != NULL && _env->GetArrayLength(num_config) < 1)) {
jniThrowException(_env, "java/lang/IllegalArgumentException", NULL);
return JNI_FALSE;
}
EGLDisplay dpy = getDisplay(_env, display);
jboolean success = JNI_FALSE;
if (configs == NULL) {
config_size = 0;
}
EGLConfig nativeConfigs[config_size];
int num;
success = eglGetConfigs(dpy, configs ? nativeConfigs : 0, config_size, &num);
if (num_config != NULL) {
_env->SetIntArrayRegion(num_config, 0, 1, (jint*) &num);
}
if (success && configs) {
for (int i=0 ; i<num ; i++) {
jobject obj = _env->NewObject(gConfig_class, gConfig_ctorID, (jint)nativeConfigs[i]);
_env->SetObjectArrayElement(configs, i, obj);
}
}
return success;
}
开发者ID:10x-Amin,项目名称:frameworks_base,代码行数:26,代码来源:com_google_android_gles_jni_EGLImpl.cpp
示例10: EglConfigForConfigID
EGLConfig EglConfigForConfigID( const EGLDisplay display, const GLint configID )
{
static const int MAX_CONFIGS = 1024;
EGLConfig configs[MAX_CONFIGS];
EGLint numConfigs = 0;
if ( EGL_FALSE == eglGetConfigs( display,
configs, MAX_CONFIGS, &numConfigs ) )
{
WARN( "eglGetConfigs() failed" );
return NULL;
}
for ( int i = 0; i < numConfigs; i++ )
{
EGLint value = 0;
eglGetConfigAttrib( display, configs[i], EGL_CONFIG_ID, &value );
if ( value == configID )
{
return configs[i];
}
}
return NULL;
}
开发者ID:amyvmiwei,项目名称:UnrealEngine4,代码行数:26,代码来源:GlUtils.cpp
示例11: make_dummy_surface
static gboolean
make_dummy_surface (ClutterBackendWayland *backend_wayland)
{
static const EGLint attrs[] = {
EGL_WIDTH, 1,
EGL_HEIGHT, 1,
EGL_RENDERABLE_TYPE, _COGL_RENDERABLE_BIT,
EGL_NONE };
EGLint num_configs;
eglGetConfigs(backend_wayland->edpy,
&backend_wayland->egl_config, 1, &num_configs);
if (num_configs < 1)
return FALSE;
backend_wayland->egl_surface =
eglCreatePbufferSurface(backend_wayland->edpy,
backend_wayland->egl_config,
attrs);
if (backend_wayland->egl_surface == EGL_NO_SURFACE)
return FALSE;
return TRUE;
}
开发者ID:nobled,项目名称:clutter,代码行数:25,代码来源:clutter-backend-wayland.c
示例12: initEglOnly
void initEglOnly()
{
const EGLint config_attr[] =
{
EGL_RED_SIZE, 5,
EGL_GREEN_SIZE, 6,
EGL_BLUE_SIZE, 5,
EGL_ALPHA_SIZE, EGL_DONT_CARE,
EGL_NONE
};
EGLint configs, major, minor;
EGLNativeDisplayType native_disp = fbGetDisplayByIndex(0); /* i.MX6 specific */
fbGetDisplayGeometry(native_disp, &m_width, &m_height); /* i.MX6 specific */
EGLNativeWindowType native_win = fbCreateWindow(native_disp, 0, 0, m_width, m_height); /* i.MX6 specific */
eglBindAPI(EGL_OPENGL_ES_API);
m_egldisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY);
eglInitialize(m_egldisplay, &major, &minor);
eglGetConfigs(m_egldisplay, NULL, 0, &configs);
eglChooseConfig(m_egldisplay, config_attr, &m_eglconfig, 1, &configs);
m_eglsurface = eglCreateWindowSurface(m_egldisplay, m_eglconfig, native_win, NULL);
}
开发者ID:ValXp,项目名称:particles,代码行数:27,代码来源:Egl.cpp
示例13: Java_org_lwjgl_opengles_EGL_neglGetConfigs
JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengles_EGL_neglGetConfigs(JNIEnv *env, jclass clazz, jlong dpy_ptr, jlong configs, jint config_size, jlong num_config) {
EGLDisplay dpy = (EGLDisplay)(intptr_t)dpy_ptr;
EGLConfig *configs_address = (EGLConfig *)(intptr_t)configs;
EGLint *num_config_address = (EGLint *)(intptr_t)num_config;
return eglGetConfigs(dpy, configs_address, config_size, num_config_address);
}
开发者ID:einspunktnull,项目名称:lwjgl,代码行数:7,代码来源:org_lwjgl_opengles_EGL.c
示例14: EGLInit
EGLInit( IDirectFB_C *dfb,
IDirectFBSurface_C *dfb_surface )
{
EGLint width, height;
EGLint major, minor, nconfigs;
EGLint attribs[] = {
EGL_BUFFER_SIZE, EGL_DONT_CARE,
EGL_DEPTH_SIZE, 16,
EGL_RED_SIZE, 5,
EGL_GREEN_SIZE, 6,
EGL_RED_SIZE, 5,
EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
EGL_NONE
};
EGLint context_attrs[] = {
EGL_CONTEXT_CLIENT_VERSION, 2, EGL_NONE, EGL_NONE
};
EGLint surface_attrs[] = {
EGL_RENDER_BUFFER, EGL_BACK_BUFFER, EGL_NONE
};
EGLint render_buffer = 0;
sleep(4);
// get display
EGL_CHECK((display = eglGetDisplay((EGLNativeDisplayType) dfb)) == EGL_NO_DISPLAY)
// init
EGL_CHECK(!eglInitialize(display, &major, &minor))
// get configs
EGL_CHECK(!eglGetConfigs(display, configs, 2, &nconfigs))
// choose config
EGL_CHECK(!eglChooseConfig(display, attribs, configs, 2, &nconfigs))
// create a surface
EGL_CHECK((surface = eglCreateWindowSurface(display, configs[0], (EGLNativeWindowType) dfb_surface, surface_attrs)) == EGL_NO_SURFACE)
EGL_CHECK(eglBindAPI(EGL_OPENGL_ES_API) != EGL_TRUE)
// create context
EGL_CHECK((context = eglCreateContext(display, configs[0], EGL_NO_CONTEXT, context_attrs)) == EGL_NO_CONTEXT)
EGL_CHECK(eglMakeCurrent(display, surface, surface, context) != EGL_TRUE)
eglQuerySurface(display, surface, EGL_WIDTH, &width);
eglQuerySurface(display, surface, EGL_HEIGHT, &height);
EGL_CHECK(!eglQuerySurface(display, surface, EGL_RENDER_BUFFER, &render_buffer));
// fprintf(stderr,"RENDER_BUFFER = 0x%04x\n", render_buffer );
eglSwapInterval( display, 1 );
quit:
return;
}
开发者ID:aHaeseokMaeng,项目名称:directfb,代码行数:59,代码来源:dfbtest_eglimage.cpp
示例15: CreateEGLContext
EGLBoolean CreateEGLContext(EGLNativeWindowType hWnd, EGLDisplay* eglDisplay,
EGLContext* eglContext, EGLSurface* eglSurface,
EGLint* configAttribList, EGLint* surfaceAttribList)
{
EGLint numConfigs;
EGLint majorVersion;
EGLint minorVersion;
EGLDisplay display;
EGLContext context;
EGLSurface surface;
EGLConfig config;
EGLint contextAttribs[] =
{
EGL_CONTEXT_CLIENT_VERSION, 2,
EGL_NONE, EGL_NONE
};
// Get display
display = eglGetDisplay(GetDC(hWnd)); // EGL_DEFAULT_DISPLAY
if (display == EGL_NO_DISPLAY)
return EGL_FALSE;
// Initialize EGL
if (!eglInitialize(display, &majorVersion, &minorVersion))
return EGL_FALSE;
// Get configs
if (!eglGetConfigs(display, NULL, 0, &numConfigs))
return EGL_FALSE;
// Choose config
if (!eglChooseConfig(display, configAttribList, &config, 1, &numConfigs))
return EGL_FALSE;
// Create a surface
surface = eglCreateWindowSurface(display, config, (EGLNativeWindowType)hWnd, surfaceAttribList);
if (surface == EGL_NO_SURFACE)
return EGL_FALSE;
// Bind the API
eglBindAPI(EGL_OPENGL_ES_API);
// Create a GL context
context = eglCreateContext(display, config, EGL_NO_CONTEXT, contextAttribs);
if (context == EGL_NO_CONTEXT)
return EGL_FALSE;
// Make the context current
if (!eglMakeCurrent(display, surface, surface, context))
return EGL_FALSE;
*eglDisplay = display;
*eglSurface = surface;
*eglContext = context;
return EGL_TRUE;
}
开发者ID:gauravalgo,项目名称:Tiny2D,代码行数:56,代码来源:Tiny2D_OpenGLES.cpp
示例16: main
int
main (int argc, char *argv[])
{
EGLint config_cc;
EGLint cc;
EGLConfig config[100];
EGLDisplay edpy = EGL_NO_DISPLAY;
griCtlErrorCommit (GRI_ERROR_CRIT_ATTR);
/*
* * Запрос устройства по-умолчанию
* */
edpy = eglGetDisplay (EGL_DEFAULT_DISPLAY);
if (edpy == EGL_NO_DISPLAY)
griError ("EGL_GET_DISPLAY_FAIL");
/*
* * Инициализация устройства
* */
if (eglInitialize (edpy, NULL, NULL) == EGL_FALSE)
{
griError ("EGL_INIT_FAIL");
}
/*
* * Распечатка версии EGL, поставщика и доступных API
* */
printf ("EGL Version: %s\n", eglQueryString (edpy, EGL_VERSION));
printf ("EGL Vendor: %s\n", eglQueryString (edpy, EGL_VENDOR));
printf ("EGL APIs: %s\n", eglQueryString (edpy, EGL_CLIENT_APIS));
/*
* * Запрос подходящей конфигурации, подходящей под атрибуты egl_attribs
* * EGLDisplay dpy : указатель на интересующее устройство
* * EGLConfig *config : указатель на массив возвращаемых конфигов
* * EGLint config_size : максимальное количество возможных элементов
* * в *config
* * EGLint *num_config : количество возвращённых (в *config) конфигураций
* */
if (eglGetConfigs (edpy, config, 100, &config_cc)
== EGL_FALSE)
griError ("EGL_CHOOSE_CONFIG_FAIL");
if (!config_cc)
griError ("EGL_NO_CONFIG_AVAILABLE");
cc = config_cc;
printf ("# count: %d\n", config_cc);
while (cc--)
{
printf ("# EGLConfig: %d/%d\n", cc, config_cc);
print_eglConfig (edpy, config[cc]);
}
printf ("@ END\n");
return 0;
}
开发者ID:noktoborus,项目名称:nor,代码行数:55,代码来源:printeglconfig.c
示例17: log_error
/// Query the system for all supported configs
int
EGLDevice::queryEGLConfig(EGLDisplay display)
{
GNASH_REPORT_FUNCTION;
EGLConfig *configs = 0;
EGLint max_num_config = 0;
// Get the number of supported configurations
if ( EGL_FALSE == eglGetConfigs(display, 0, 0, &max_num_config) ) {
log_error("eglGetConfigs() failed to retrive the number of configs (error %s)",
getErrorString(eglGetError()));
return 0;
}
if(max_num_config <= 0) {
printf( "No EGLconfigs found\n" );
return 0;
}
log_debug("Max number of EGL Configs is %d", max_num_config);
configs = new EGLConfig[max_num_config];
if (0 == configs) {
log_error( "Out of memory\n" );
return 0;
}
if ( EGL_FALSE == eglGetConfigs(display, configs, max_num_config, &max_num_config)) {
log_error("eglGetConfigs() failed to retrive the configs (error %s)",
getErrorString(eglGetError()));
return 0;
}
#if 0
// This prints out all the configurations, so it can be quite large
for (int i=0; i<max_num_config; i++ ) {
std::cerr << "Config[" << i << "] is:" << std::endl;
printEGLConfig(configs[i]);
}
#endif
return max_num_config;
}
开发者ID:jlopez,项目名称:gnash,代码行数:42,代码来源:eglDevice.cpp
示例18: initGL
int initGL(int width, int height)
{
//emscripten_set_canvas_size(width,height);
#ifndef EGL
if (glfwInit() != GL_TRUE) {
printf("glfwInit() failed\n");
return GL_FALSE;
}
if (glfwOpenWindow(width, height, 8, 8, 8, 0, 16, 8, GLFW_WINDOW) != GL_TRUE) {
printf("glfwOpenWindow() failed\n");
return GL_FALSE;
}
/* float ratio=1.0;//emscripten_get_device_pixel_ratio();
EM_ASM_({
var canvas = Module['canvas'];
canvas.width=$0;
canvas.height=$1;
},width*ratio,height*ratio); */
#else
EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY);
EGLint major = 0, minor = 0;
EGLBoolean ret = eglInitialize(display, &major, &minor);
EGLint numConfigs;
ret = eglGetConfigs(display, NULL, 0, &numConfigs);
EGLint attribs[] = {
EGL_RED_SIZE, 8,
EGL_GREEN_SIZE, 8,
EGL_BLUE_SIZE, 8,
EGL_STENCIL_SIZE, 8,
EGL_DEPTH_SIZE, 16,
EGL_NONE
};
EGLConfig config;
ret = eglChooseConfig(display, attribs, &config, 1, &numConfigs);
EGLNativeWindowType dummyWindow;
EGLSurface surface = eglCreateWindowSurface(display, config, dummyWindow, NULL);
// WebGL maps to GLES2. GLES1 is not supported.
// The correct attributes, should create a good EGL context
EGLint contextAttribs[] =
{
EGL_CONTEXT_CLIENT_VERSION, 2,
EGL_NONE
};
EGLContext context = eglCreateContext(display, config, NULL, contextAttribs);
ret = eglMakeCurrent(display, surface, surface, context);*/
#endif
return 0;
}
开发者ID:lsouchet,项目名称:gideros,代码行数:53,代码来源:main.cpp
示例19: eglGetDisplay
bool EglData::create()
{
if (this->display == NULL)
{
this->display = eglGetDisplay(EGL_DEFAULT_DISPLAY);
if (this->display == EGL_NO_DISPLAY)
{
hlog::error(logTag, "Can't get EGL Display!");
this->destroy();
return false;
}
EGLint majorVersion;
EGLint minorVersion;
if (!eglInitialize(this->display, &majorVersion, &minorVersion))
{
hlog::error(logTag, "Can't initialize EGL!");
this->destroy();
return false;
}
EGLint configs = 0;
EGLBoolean result = eglGetConfigs(this->display, NULL, 0, &configs);
if (!result || configs == 0)
{
hlog::error(logTag, "There are no EGL configs!");
this->destroy();
return false;
}
result = eglChooseConfig(this->display, this->pi32ConfigAttribs, &this->config, 1, &configs);
if (!result || configs == 0)
{
hlog::error(logTag, "Can't choose EGL config!");
this->destroy();
return false;
}
}
if (this->surface == NULL)
{
this->surface = eglCreateWindowSurface(this->display, this->config, this->hWnd, NULL);
}
if (this->context == NULL)
{
this->context = eglCreateContext(this->display, this->config, NULL, NULL);
if (!eglMakeCurrent(this->display, this->surface, this->surface, this->context))
{
hlog::error(logTag, "Can't set current EGL context!");
this->destroy();
return false;
}
eglSwapInterval(this->display, 1);
}
return true;
}
开发者ID:grimtraveller,项目名称:libapril,代码行数:52,代码来源:egl.cpp
示例20: EGLClass
// constructor
EGLClass(EGLNativeDisplayType id = EGL_DEFAULT_DISPLAY):
display(0), surface(0), context(0) {
display = eglGetDisplay(id);
if (display == EGL_NO_DISPLAY) {
LOGE("eglGetDisplay");
}
if (!eglInitialize(display, &major, &minor)) {
LOGE("eglInitialize: %p", display);
}
LOGI("EGL: display=%p, major=%d, minor=%d", display, major, minor);
// First get number of configurations
eglGetConfigs(display, NULL, 0, &config_size);
// Allocate configs array
configs = new EGLConfig[config_size];
// Get EGL configs
if (!eglGetConfigs(display, configs, config_size, &num_config)) {
LOGE("eglGetConfigs");
}
}
开发者ID:ddlee,项目名称:AndroidLuaActivity,代码行数:23,代码来源:luaegl.cpp
注:本文中的eglGetConfigs函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论