Home » Community » U++ community news and announcements » GLCtrl in GTK
Re: GLCtrl in GTK [message #50675 is a reply to message #50654] |
Mon, 03 December 2018 08:54   |
 |
mirek
Messages: 14265 Registered: November 2005
|
Ultimate Member |
|
|
ptkacz wrote on Thu, 29 November 2018 13:33Mirek,
Upon making the code changes and building, I first tested the demo without the NOGTK and was presented with a blank demo window. When specifying NOGTK + GUI application, the demo ran.

Well, we better have this fixed. I hope you will help me, as your setup seems to be the only one failing.
Can you test this? This is boilerplate GLX code from the internet that was my starting point in developing new GLCtrl incarnation:
#include <Core/Core.h>
#include <GL/glx.h>
#include <GL/gl.h>
#include <unistd.h>
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091
#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092
typedef GLXContext (*glXCreateContextAttribsARBProc)(Display*, GLXFBConfig, GLXContext, Bool, const int*);
CONSOLE_APP_MAIN
{
Display *display = XOpenDisplay(0);
glXCreateContextAttribsARBProc glXCreateContextAttribsARB = NULL;
const char *extensions = glXQueryExtensionsString(display, DefaultScreen(display));
std::cout << extensions << std::endl;
static int visual_attribs[] =
{
GLX_RENDER_TYPE, GLX_RGBA_BIT,
GLX_DRAWABLE_TYPE, GLX_WINDOW_BIT,
GLX_DOUBLEBUFFER, true,
GLX_RED_SIZE, 1,
GLX_GREEN_SIZE, 1,
GLX_BLUE_SIZE, 1,
None
};
std::cout << "Getting framebuffer config" << std::endl;
int fbcount;
GLXFBConfig *fbc = glXChooseFBConfig(display, DefaultScreen(display), visual_attribs, &fbcount);
if (!fbc)
{
std::cout << "Failed to retrieve a framebuffer config" << std::endl;
return;
}
std::cout << "Getting XVisualInfo" << std::endl;
XVisualInfo *vi = glXGetVisualFromFBConfig(display, fbc[0]);
XSetWindowAttributes swa;
memset(&swa, 0, sizeof(swa));
std::cout << "Creating colormap" << std::endl;
swa.colormap = XCreateColormap(display, RootWindow(display, vi->screen), vi->visual, AllocNone);
swa.border_pixel = 0;
swa.event_mask = 0;//StructureNotifyMask;
std::cout << "Creating window" << std::endl;
Window win = XCreateWindow(display, RootWindow(display, vi->screen), 0, 0, 100, 100, 0, vi->depth, InputOutput, vi->visual, CWBorderPixel|CWColormap|CWEventMask, &swa);
if (!win)
{
std::cout << "Failed to create window." << std::endl;
return;
}
std::cout << "Mapping window" << std::endl;
XMapWindow(display, win);
// Create an oldstyle context first, to get the correct function pointer for glXCreateContextAttribsARB
GLXContext ctx_old = glXCreateContext(display, vi, 0, GL_TRUE);
glXCreateContextAttribsARB = (glXCreateContextAttribsARBProc)glXGetProcAddress((const GLubyte*)"glXCreateContextAttribsARB");
glXMakeCurrent(display, 0, 0);
glXDestroyContext(display, ctx_old);
if (glXCreateContextAttribsARB == NULL)
{
std::cout << "glXCreateContextAttribsARB entry point not found. Aborting." << std::endl;
return;
}
static int context_attribs[] =
{
GLX_CONTEXT_MAJOR_VERSION_ARB, 3,
GLX_CONTEXT_MINOR_VERSION_ARB, 0,
None
};
/*
std::cout << "Creating context" << std::endl;
GLXContext ctx = glXCreateContextAttribsARB(display, fbc[0], NULL, true, context_attribs);
if (!ctx)
{
std::cout << "Failed to create GL3 context." << std::endl;
return;
}
*/
// GLXContext ctx = glXCreateContextAttribsARB(display, fbc[0], NULL, true, context_attribs);
GLXContext ctx = glXCreateContext(display, vi, NULL, GL_TRUE);
std::cout << "Making context current" << std::endl;
glXMakeCurrent(display, win, ctx);
for(int i = 0; i < 4; i++) {
glClearColor (0, 0.5, 1, 1);
glClear (GL_COLOR_BUFFER_BIT);
glXSwapBuffers (display, win);
sleep(1);
glClearColor (1, 0.5, 0, 1);
glClear (GL_COLOR_BUFFER_BIT);
glXSwapBuffers (display, win);
sleep(1);
}
ctx = glXGetCurrentContext();
glXMakeCurrent(display, 0, 0);
glXDestroyContext(display, ctx);
}
It should create a window and blink it 4 times...
Also, can you please .zip your GLCtrl package with changes applied and post here?
Thanks,
Mirek
|
|
|
 |
|
GLCtrl in GTK
By: mirek on Sun, 25 November 2018 20:47
|
 |
|
Re: GLCtrl in GTK
By: ptkacz on Mon, 26 November 2018 04:35
|
 |
|
Re: GLCtrl in GTK
By: ptkacz on Wed, 28 November 2018 05:43
|
 |
|
Re: GLCtrl in GTK
By: mirek on Wed, 28 November 2018 09:39
|
 |
|
Re: GLCtrl in GTK
By: Oblivion on Wed, 28 November 2018 10:03
|
 |
|
Re: GLCtrl in GTK
By: mirek on Wed, 28 November 2018 10:41
|
 |
|
Re: GLCtrl in GTK
By: Oblivion on Wed, 28 November 2018 13:24
|
 |
|
Re: GLCtrl in GTK
By: mirek on Wed, 28 November 2018 17:25
|
 |
|
Re: GLCtrl in GTK
By: Oblivion on Wed, 28 November 2018 18:54
|
 |
|
Re: GLCtrl in GTK
By: mirek on Thu, 29 November 2018 09:21
|
 |
|
Re: GLCtrl in GTK
By: ptkacz on Thu, 29 November 2018 13:33
|
 |
|
Re: GLCtrl in GTK
By: mirek on Mon, 03 December 2018 08:54
|
 |
|
Re: GLCtrl in GTK
By: ptkacz on Wed, 05 December 2018 04:14
|
 |
|
Re: GLCtrl in GTK
By: mirek on Thu, 06 December 2018 08:10
|
 |
|
Re: GLCtrl in GTK
By: ptkacz on Sat, 08 December 2018 23:38
|
 |
|
Re: GLCtrl in GTK
By: mirek on Sun, 09 December 2018 12:08
|
 |
|
Re: GLCtrl in GTK
By: ptkacz on Sun, 09 December 2018 19:49
|
 |
|
Re: GLCtrl in GTK
By: mirek on Mon, 10 December 2018 08:50
|
 |
|
Re: GLCtrl in GTK
By: ptkacz on Thu, 29 November 2018 04:54
|
 |
|
Re: GLCtrl in GTK
By: ptkacz on Thu, 29 November 2018 05:25
|
 |
|
Re: GLCtrl in GTK
By: mirek on Thu, 29 November 2018 08:39
|
 |
|
Re: GLCtrl in GTK
By: ptkacz on Tue, 11 December 2018 06:09
|
 |
|
Re: GLCtrl in GTK
By: ptkacz on Tue, 11 December 2018 06:19
|
 |
|
Re: GLCtrl in GTK
By: mirek on Tue, 11 December 2018 10:47
|
 |
|
Re: GLCtrl in GTK
By: ptkacz on Wed, 12 December 2018 04:43
|
 |
|
Re: GLCtrl in GTK
By: mirek on Wed, 12 December 2018 09:10
|
 |
|
Re: GLCtrl in GTK
By: ptkacz on Sat, 15 December 2018 04:56
|
 |
|
Re: GLCtrl in GTK
By: mirek on Sat, 15 December 2018 11:48
|
 |
|
Re: GLCtrl in GTK
By: ptkacz on Sun, 16 December 2018 05:14
|
 |
|
Re: GLCtrl in GTK
By: mirek on Sun, 16 December 2018 08:11
|
 |
|
Re: GLCtrl in GTK
By: ptkacz on Sun, 16 December 2018 19:04
|
 |
|
Re: GLCtrl in GTK
By: mirek on Sun, 16 December 2018 20:54
|
 |
|
Re: GLCtrl in GTK
By: ptkacz on Mon, 17 December 2018 04:44
|
 |
|
Re: GLCtrl in GTK
By: mirek on Thu, 20 December 2018 10:12
|
 |
|
Re: GLCtrl in GTK
By: ptkacz on Sat, 22 December 2018 18:31
|
 |
|
Re: GLCtrl in GTK
By: koldo on Sun, 07 April 2019 12:06
|
 |
|
Re: GLCtrl in GTK
By: mirek on Sun, 07 April 2019 12:25
|
 |
|
Re: GLCtrl in GTK
By: koldo on Sun, 07 April 2019 21:25
|
Goto Forum:
Current Time: Tue Jul 08 20:07:03 CEST 2025
Total time taken to generate the page: 0.02513 seconds
|