List, lists, named *n* - English please

Can somebody please translate the techno babble into English?

GLint display_list = glGenLists(5);
  1. Am I building range of lists or SINGE list of x items “named” GLint "display_list"?
  2. What do I tell glCallList(listName_id); as listName_id ?
    3, glNewList(++display_list,GL_COMPILE_AND_EXECUTE);
    Am I Adding to SINGLE ( display_list ) or to multiple lists ?
    ( I know II should not EXECUTE and let display callback to do that).

GLuint glGenLists ( GLsizei range )



Specifies the number of contiguous empty display lists (?) to be generated.


glGenLists has one argument, range . It returns an integer n such that range contiguous empty display lists, named n , n +1, …, n + range -1, are created. If range is 0, if there is no group of range contiguous names available, or if any error is generated, no display lists are generated, and 0 is returned.

It generates 5 display lists, whose names (IDs, handles) range from display_list to display_list+4 inclusive. All of the other glGen* functions take an array of GLuints which is populated by the function. But glGenLists always allocates a contiguous range of names; this allows the use of glListBase and glCallLists to use a predefined array of offsets (e.g. a string).

Note that display lists are very much a legacy feature; they don’t exist in OpenGL 3.2+ core profile, OpenGL ES (any version) or WebGL. And if you aren’t using X11 indirect rendering (which is fairly uncommon nowadays, as it doesn’t support OpenGL 2+), they don’t offer any performance benefit.

Each glNewList/glEndList pair defines a single display list.

Are you saying that


would add item to NEXT display_list ??

On more serous note - I am still not sure how to verify that “display”
function call to glCallList(listName_id); is actually redrawing my list.
But I’ll get it to work eventually.

I see few "deprecated " notes on stuff I am trying to do.
Is my guess in “range” if I say that that OpenGL trend is to simplify
“game coding” and crude access to window is just allowed to exists for time being?
In other words - did I pick wrong technology - again ?

Assuming that you meant that literally, it’s a constraint violation to modify a variable more than once between two sequence points.

In any case, glNewList/glEndList modifies the display list whose name is passed to glNewList.

OpenGL’s purpose is to provide an interface to graphics hardware. Modern graphics hardware bears little relation to the hardware for which OpenGL 1.0 was designed. Modern OpenGL (i.e. 3.2+ core profile) is designed around modern hardware.

I am not trying to be an a…, but “modern” application SHOULD not do THIS gem.


printf("\nZoom state %i function  %s  @line %d ", zoom_state,

is not being executed.

And this is NOT only time two consecutive printf won’t work .

And NO , it is probably IDE or Linux “problem” or GCC or…
(As is customary, blame it on somebody else ).

 Bloc#ifdef OPEN_GL
	static int single_entry = 0;
	if (single_entry == 0) {
		printf("\nENTER function  %s  @line %d ", __FUNCTION__,
		single_entry++;     //  track
	// verify zoom idle
	if (zoom_state == ZOOM_IDLE) {
		// TOK
		// changed to single shot
		static int single_entry = 0;
		if (single_entry == 0) {
			printf("\nENTER function  %s  @line %d ", __FUNCTION__,
			single_entry++;     //  track

			printf("\nZoom state %i function  %s  @line %d ", zoom_state,



**TOK initially ENTER  function  OpenGL_createMenu  @line 1555 
menu_id 8 function  OpenGL_createMenu  @line 1620 
ENTER function  OpenGL_reshape  @line 1289 
ENTER  function  TEMP_OpenGL_display  @line 3046 
RUN list *** function  TEMP_OpenGL_display  @line 3059 
get list_size = glGenLists (listName_id) 0  function  TEMP_OpenGL_display  @line 3067 OpenGL function socket_read @line 5838

ENTER function  OpenGL_mouse_track_passive  @line 408 
ENTER function  OpenGL_mouse_track_passive  @line 419 

OK, I can make and properly display , via glutPostRedisplay() a SINGLE list.

Not so with multiple lists.
Since I am planning to have multiple lists it woudl be nice to be able to index / select specific list.

Text message deleted …

After good night rest I realized than nothing prevents me to build my own multiple lists array(s) displaying ANY type of variable type (shapes ).