当前位置: 首页>>代码示例>>C++>>正文


C++ glIsList函数代码示例

本文整理汇总了C++中glIsList函数的典型用法代码示例。如果您正苦于以下问题:C++ glIsList函数的具体用法?C++ glIsList怎么用?C++ glIsList使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了glIsList函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: release_gasket

ENTRYPOINT void
release_gasket(ModeInfo * mi)
{
  if (gasket != NULL)
  {
    int         screen;

    for (screen = 0; screen < MI_NUM_SCREENS(mi); screen++)
    {
      gasketstruct *gp = &gasket[screen];

      if (gp->glx_context)
      {
	/* Display lists MUST be freed while their glXContext is current. */
        glXMakeCurrent(MI_DISPLAY(mi), gp->window, *(gp->glx_context));

        if (glIsList(gp->gasket0)) glDeleteLists(gp->gasket0, 1);
        if (glIsList(gp->gasket1)) glDeleteLists(gp->gasket1, 1);
        if (glIsList(gp->gasket2)) glDeleteLists(gp->gasket2, 1);
        if (glIsList(gp->gasket3)) glDeleteLists(gp->gasket3, 1);
      }
    }
    (void) free((void *) gasket);
    gasket = NULL;
  }
  FreeAllGL(mi);
}
开发者ID:RazZziel,项目名称:pongclock,代码行数:27,代码来源:sierpinski3d.c

示例2: free_surfaces_all

void free_surfaces_all()
{
	if(positiveSurfaces)
	{
		gint i;
		for(i=0;i<numberOfSurfaces;i++)
		if (glIsList(positiveSurfaces[i]) == GL_TRUE) glDeleteLists(positiveSurfaces[i],1);
		g_free(positiveSurfaces);
	}
	if(negativeSurfaces)
	{
		gint i;
		for(i=0;i<numberOfSurfaces;i++)
		if (glIsList(negativeSurfaces[i]) == GL_TRUE) glDeleteLists(negativeSurfaces[i],1);
		g_free(negativeSurfaces);
	}
	if(nullSurfaces)
	{
		gint i;
		for(i=0;i<numberOfSurfaces;i++)
		if (glIsList(nullSurfaces[i]) == GL_TRUE) glDeleteLists(nullSurfaces[i],1);
		g_free(nullSurfaces);
	}
	numberOfSurfaces = 0;
	positiveSurfaces = NULL;
	negativeSurfaces = NULL;
	nullSurfaces = NULL;
	free_iso_all();
	deleteSurfacesPovRayFile();
}
开发者ID:xomachine,项目名称:gabedit,代码行数:30,代码来源:GLArea.c

示例3: tgtAssert

void PointListRenderer::render() {

    tgtAssert(geometryInport_.isReady(), "inport not ready");

    // regenerate display list, if input data has changed
    if (geometryInport_.hasChanged() || displayList_ == 0) {

        if (glIsList(displayList_))
            glDeleteLists(displayList_, 1);
        displayList_ = 0;

        // cast geometry to PointListGeometry or PointSegmentListGeometry and generate display list
        PointListGeometry<vec3>* pointList = dynamic_cast< PointListGeometry<vec3>* >(geometryInport_.getData());
        PointSegmentListGeometry<vec3>* segmentList = dynamic_cast< PointSegmentListGeometry<vec3>* >(geometryInport_.getData());
        if (pointList)
            generateDisplayList(pointList->getData());
        else if (segmentList)
            generateDisplayList(segmentList->getPoints());

        // message on invalid geometry
        if (!pointList && !segmentList) {
            LWARNING("Invalid geometry. PointListGeometry<vec3> or PointSegmentListGeometry<vec3> expected.");
        }
    }

    // render display list
    if (glIsList(displayList_)) {
        glCallList(displayList_);
    }
}
开发者ID:alvatar,项目名称:smartmatter,代码行数:30,代码来源:pointlistrenderer.cpp

示例4: glGenLists

/**
 * Sends data to OpenGL (will crash if called by a non-OpenGL thread) (enforces serial entry if and only if the display list is out of date)
 */
void SurfaceMesh::draw() const {

	if ( needUpdate ) {

		if ( !glIsList( meshList ) ) {

			meshList = glGenLists( 1 );
		}
		
		needUpdate = false;
		glEnableClientState( GL_VERTEX_ARRAY );
		glEnableClientState( GL_COLOR_ARRAY );
		glEnableClientState( GL_NORMAL_ARRAY );
		glNewList( meshList, GL_COMPILE_AND_EXECUTE );
			glInterleavedArrays( GL_C4F_N3F_V3F, 0, c4fn3fv3f );
			glDrawElements( GL_TRIANGLES, numFaces * 3, GL_UNSIGNED_INT, triangles );
		glEndList();
	}
	else if ( glIsList( meshList ) ) {

		glCallList( meshList );
	}
	else {

		// Nothing to draw
	}
}
开发者ID:aphill70,项目名称:Capstone-Winter--12,代码行数:30,代码来源:SurfaceMesh.cpp

示例5: release_planet

ENTRYPOINT void
release_planet (ModeInfo * mi)
{
  if (planets != NULL) {
	int screen;

	for (screen = 0; screen < MI_NUM_SCREENS(mi); screen++) {
	  planetstruct *gp = &planets[screen];

	  if (gp->glx_context) {
		/* Display lists MUST be freed while their glXContext is current. */
        /* but this gets a BadMatch error. -jwz */
		/*glXMakeCurrent(MI_DISPLAY(mi), gp->window, *(gp->glx_context));*/

		if (glIsList(gp->platelist))
		  glDeleteLists(gp->platelist, 1);
		if (glIsList(gp->starlist))
		  glDeleteLists(gp->starlist, 1);
	  }
	}
	(void) free((void *) planets);
	planets = NULL;
  }
  FreeAllGL(mi);
}
开发者ID:katahiromz,项目名称:XScreenSaverWin,代码行数:25,代码来源:glplanet.c

示例6: beginTransformation

void CLAYERS_OGL_DISP_LISTS::DrawBot() const
{
    beginTransformation();

    if( glIsList( m_layer_bot_triangles ) )
        glCallList( m_layer_bot_triangles );

    if( glIsList( m_layer_bot_segment_ends ) )
        glCallList( m_layer_bot_segment_ends );

    endTransformation();
}
开发者ID:AlexanderBrevig,项目名称:kicad-source-mirror,代码行数:12,代码来源:clayer_triangles.cpp

示例7: OPENCITY_DEBUG

   /*=====================================================================*/
Model::~Model()
{
	OPENCITY_DEBUG( "dtor" );

// Delete display lists
	if (glIsList( _uiOpaqueOneSide ))
		glDeleteLists( _uiOpaqueOneSide, 1 );
	if (glIsList( _uiOpaqueTwoSide ))
		glDeleteLists( _uiOpaqueTwoSide, 1 );
	if (glIsList( _uiAlpha ))
		glDeleteLists( _uiAlpha, 1 );
}
开发者ID:AnotherFoxGuy,项目名称:OpenCity,代码行数:13,代码来源:model.cpp

示例8: fini_opengl_obj

static void fini_opengl_obj(void)
{
    if (xyz_list && glIsList(xyz_list)) glDeleteLists(xyz_list, 1);
    if (grd_list && glIsList(grd_list)) glDeleteLists(grd_list, 1);
    if (cap_list && glIsList(cap_list)) glDeleteLists(cap_list, 1);
    if (cyl_list && glIsList(cyl_list)) glDeleteLists(cyl_list, 1);
    if (box_list && glIsList(box_list)) glDeleteLists(box_list, 1);

    box_list = 0;
    cyl_list = 0;
    cap_list = 0;
    grd_list = 0;
    xyz_list = 0;
}
开发者ID:ntoand,项目名称:electro,代码行数:14,代码来源:opengl.c

示例9: init_boxed

ENTRYPOINT void
init_boxed(ModeInfo * mi)
{
   int screen = MI_SCREEN(mi);
   
   /* Colormap    cmap; */
   /* Boolean     rgba, doublebuffer, cmap_installed; */
   boxedstruct *gp;

   MI_INIT(mi, boxed, free_boxed);
   gp = &boxed[screen];
   gp->window = MI_WINDOW(mi);
   
   if ((gp->glx_context = init_GL(mi)) != NULL) {
      reshape_boxed(mi, MI_WIDTH(mi), MI_HEIGHT(mi));
      glDrawBuffer(GL_BACK);
      if (!glIsList(gp->listobjects))	{
	 gp->listobjects = glGenLists(3);
	 gp->gllists[0] = 0;
	 gp->gllists[1] = 0;
	 gp->gllists[2] = 0;
      }
      pinit(mi);
   } else {
      MI_CLEARWINDOW(mi);
   }
}
开发者ID:sev-,项目名称:xscreensaver,代码行数:27,代码来源:boxed.c

示例10: initCamera

///////////////////////////////////////////
//  Main logic for constructing the HDS
////////////////////////////////////////
void SubdivScene::init() {

    initCamera();
  
  //clear the HDS and list
  HDS.clear();
  if (glIsList(scene_list_id))
    glDeleteLists(scene_list_id, 1);

  //make a new list
  scene_list_id = glGenLists(1);

  redrawRequired = true;

  switch(scenario) {
  case 0:
    printf("==Scenario 1:==\n");
    scenario1();
    break;
  case 1:
    printf("==Scenario 2:==\n");
    scenario2();
    break;
  case 2:
    printf("==Scenario 3:==\n");
    scenario3();
    break;
  default:
    break;
  }

  HDS.print();
}
开发者ID:ANorwell,项目名称:Graphics,代码行数:36,代码来源:SubdivScene.cpp

示例11: glClear

void Mandel::draw() noexcept{
	glClear(GL_COLOR_BUFFER_BIT);
	if(glIsList(list) == GL_TRUE) glDeleteLists(list, 1);
		glNewList(list, GL_COMPILE_AND_EXECUTE);
		glBegin(GL_QUADS);
		const double dx = 2.0/getWidth();
		const double dy = 2.0/getHeight();
		double x1, y1, x2, y2;
	Color col;
	for(int i = 0; i < width; i += res){
		for(int j = 0; j < height; j += res){
			if(broad){
				x1 = -2.0+i*dx;
				y1 = -2.0+j*dy;
			}else{
				x1 = -1.0+i*dx;
				y1 = -1.0+j*dy;
			}
			x2 = x1+res*dx;
			y2 = y1+res*dy;
			col = blur(i, j);
			glColor3d(col.r, col.g, col.b);
			glVertex2d(x1, y2);
			glVertex2d(x1, y1);
			glVertex2d(x2, y1);
			glVertex2d(x2, y2);
		}
	}
	glEnd();
	glEndList();
	glFlush();
}
开发者ID:gamma057,项目名称:MandelViewer,代码行数:32,代码来源:Mandel.cpp

示例12: wglMakeCurrent

void CGraphics::Render() {
	wglMakeCurrent(hDC,hRC);

	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Se borra el buffer de pantalla y profundidad
	glLoadIdentity(); // Se resetea la matriz Current Modelview

	if(cam) {
		cam->LookAt();
	}

	if(gList.size()>0) {
		vector<int>::iterator it;

		it = gList.begin();

		for(; it!=gList.end(); it++) {
			if(glIsList(*it)==GL_TRUE)
				glCallList(*it);
			else
				it = gList.erase(it);

			if(it==gList.end())
				break;
		}
	}

	SwapBuffers(hDC);
}
开发者ID:vlopezsa,项目名称:gvoldesc,代码行数:28,代码来源:Graphics.cpp

示例13: geometry

void Geometry::draw()  //Display saved geometry (default uses display list)
{
   GL_Error_Check;

   //Default to no shaders
   if (glUseProgram) glUseProgram(0);

   if (geom.size())
   {
      if (redraw) update();
         GL_Error_Check;
      redraw = false;
      //Draw using display lists if available
      for (unsigned int i=0; i<geom.size(); i++)
      {
         //Because of quad surface sorting, have to check drawable when creating lists
         //When quads moved to triangle renderer can re-enable this and won't have to
         //recreate display lists when hiding/showing/switching viewports
         //if (drawable(i) && displaylists[i] && glIsList(displaylists[i]))
         if (displaylists[i] && glIsList(displaylists[i]))
            glCallList(displaylists[i]);
         GL_Error_Check;
      }
   }
   GL_Error_Check;

   labels();
}
开发者ID:underworldcode,项目名称:underworld1,代码行数:28,代码来源:Geometry.cpp

示例14: createDL

void Environment::createDL()
{
  if((dlhandle == 0 || !glIsList(dlhandle)) && cubeMap.getUseAsDirectTextures())
  {
    if(dlhandle == 0)
      dlhandle = glGenLists(1);
    glNewList(dlhandle, GL_COMPILE);
    {
      glEnableClientState(GL_VERTEX_ARRAY);
      glVertexPointer(3, GL_FLOAT, 0, environmentCubeVertices);
      if(texIDhandles.empty())
        texIDhandles = cubeMap.getTextureIDs();
      if(texIDhandles.size() > 0)
      {
        if(GLEW_VERSION_1_3)
          glActiveTexture(GL_TEXTURE0);
        glEnable(GL_TEXTURE_2D);
        glEnableClientState(GL_TEXTURE_COORD_ARRAY);
        glTexCoordPointer(2, GL_FLOAT, 0, environmentCubeTexCoords);

        glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);

        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
        glTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_BORDER_COLOR, nocolor);
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_R, GL_REPEAT);

        if(texIDhandles.size() == 1)
        {
          glBindTexture(GL_TEXTURE_2D, texIDhandles[0]);
          glDrawArrays(GL_QUADS, 0, 24);
        }
        else
        {
          glBindTexture(GL_TEXTURE_2D, texIDhandles[0]);
          glDrawArrays(GL_QUADS, 0, 4);
          glBindTexture(GL_TEXTURE_2D, texIDhandles[1]);
          glDrawArrays(GL_QUADS, 4, 4);
          glBindTexture(GL_TEXTURE_2D, texIDhandles[2]);
          glDrawArrays(GL_QUADS, 8, 4);
          glBindTexture(GL_TEXTURE_2D, texIDhandles[3]);
          glDrawArrays(GL_QUADS, 12, 4);
          glBindTexture(GL_TEXTURE_2D, texIDhandles[4]);
          glDrawArrays(GL_QUADS, 16, 4);
          glBindTexture(GL_TEXTURE_2D, texIDhandles[5]);
          glDrawArrays(GL_QUADS, 20, 4);
        }

        glDisableClientState(GL_TEXTURE_COORD_ARRAY);
        glDisable(GL_TEXTURE_2D);
      }
      else
        glDrawArrays(GL_QUADS, 0, 24);
      glDisableClientState(GL_VERTEX_ARRAY);
    }
    glEndList();
  }
}
开发者ID:alon,项目名称:bhuman2009fork,代码行数:60,代码来源:Environment.cpp

示例15: clear

/*===========================================================================*/
void DisplayList::clear()
{
    if ( glIsList( m_id ) == GL_TRUE )
    {
        glDeleteLists( m_id, m_range );
    }
}
开发者ID:fudy1129,项目名称:kvs,代码行数:8,代码来源:DisplayList.cpp


注:本文中的glIsList函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。