本文整理汇总了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);
}
示例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();
}
示例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_);
}
}
示例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
}
}
示例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);
}
示例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();
}
示例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 );
}
示例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;
}
示例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);
}
}
示例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();
}
示例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();
}
示例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);
}
示例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();
}
示例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();
}
}
示例15: clear
/*===========================================================================*/
void DisplayList::clear()
{
if ( glIsList( m_id ) == GL_TRUE )
{
glDeleteLists( m_id, m_range );
}
}