예제 #1
0
 VertexBufferObject::~VertexBufferObject() {
     // Cleanup vertex buffer object
     glDeleteBuffers(1, &m_vertexBuffer);
     glDeleteVertexArraysOES(1, &m_vertexArray);
     
     glDeleteBuffers(1, &m_indexBuffer);
 }
예제 #2
0
GLResources::Resource::~Resource()
{
    switch (m_Type) {
        case GLResources::RPROGRAM:
            glDeleteProgram(m_Glid);
            break;
        case GLResources::RSHADER:
            glDeleteShader(m_Glid);
            break;
        case GLResources::RTEXTURE:
            glDeleteTextures(1, &m_Glid);
            break;
        case GLResources::RBUFFER:
            glDeleteBuffers(1, &m_Glid);
            break;
        case GLResources::RVERTEX_ARRAY:
#if NIDIUM_OPENGLES2
            glDeleteVertexArraysOES(1, &m_Glid);
#elif __APPLE__
            glDeleteVertexArraysAPPLE(1, &m_Glid);
#else
            glDeleteVertexArrays(1, &m_Glid);
#endif
            break;
        default:
            break;
    }
}
예제 #3
0
	//-----------------------------------------------------------------------
	GLES2VertexDeclaration::~GLES2VertexDeclaration()
	{
#if GL_OES_vertex_array_object
//        LogManager::getSingleton().logMessage("Deleting VAO " + StringConverter::toString(mVAO));
        glDeleteVertexArraysOES(1, &mVAO);
        GL_CHECK_ERROR
#endif
	}
예제 #4
0
void OsmAnd::GPUAPI_OpenGLES2::glDeleteVertexArrays_wrapper(GLsizei n, const GLuint* arrays)
{
    assert(isSupported_vertex_array_object);

    GL_CHECK_PRESENT(glDeleteVertexArraysOES);

    glDeleteVertexArraysOES(n, arrays);
}
    //-----------------------------------------------------------------------
    GLES2VertexDeclaration::~GLES2VertexDeclaration()
    {
#if OGRE_NO_GLES2_VAO_SUPPORT == 0
#   if defined(GL_OES_vertex_array_object) || (OGRE_NO_GLES3_SUPPORT == 0)
//        LogManager::getSingleton().logMessage("Deleting VAO " + StringConverter::toString(mVAO));
        OGRE_CHECK_GL_ERROR(glDeleteVertexArraysOES(1, &mVAO));
#   endif
#endif
    }
예제 #6
0
CGRVertexBufferGLES::~CGRVertexBufferGLES()
{
    glBindVertexArrayOES(mVAO);
    glDeleteVertexArraysOES(1, &mVAO);
    glBindBuffer(GL_ARRAY_BUFFER, 0);
    glDeleteBuffers(1, &mVBO);
    glBindBuffer(GL_ARRAY_BUFFER, 0);
    glBindVertexArrayOES(0);
}
예제 #7
0
Shape::~Shape()
{
#if defined(DEBUG)
    if(m_debugIndexBuffer)
    {
        glDeleteBuffers(1, &m_debugIndexBuffer);
    }
    if(m_debugVAO)
    {
        glDeleteVertexArraysOES(1, &m_debugVAO);
    }
#endif
    if(m_indexBuffer)
    {
        glDeleteBuffers(1, &m_indexBuffer);
    }
    glDeleteBuffers(1, &m_vertexBuffer);
    glDeleteVertexArraysOES(1, &m_vertexArrayObject);
}
예제 #8
0
void IWGRingBufferDealloc(IWGRingBufferData *multiBufferData)
{
    IWGRingBufferPurgeBufferSubData(multiBufferData);
    IWGRingBufferResetNVertices(multiBufferData);
    for (unsigned int i = 0; i < IWGMULTIBUFFER_MAX; i++) {
        glDeleteBuffers(1, &multiBufferData->vertexBuffer[i]);
#ifdef IW_USE_GLVAO
        glDeleteVertexArraysOES(1, &multiBufferData->vertexArray[i]);
#endif
    }
}
예제 #9
0
void IMaterial::FrameBufferDeinit()
{
    if (m_gMainTexFrameBuffer)
        glDeleteTextures(1, &m_gMainTexFrameBuffer);
    if (m_gFB)
        glDeleteFramebuffers(1, &m_gFB);
    if (m_gRBDepth)
        glDeleteRenderbuffers(1, &m_gRBDepth);
    if (m_gVAO)
        glDeleteVertexArraysOES(1, &m_gVAO);
    if (m_gVBO)
        glDeleteBuffers(1, &m_gVBO);
}
예제 #10
0
    inline void gl_delete_vertex_arrays(GLsizei count, const GLuint *pointers)
    {
#if defined(__OSX__)
        glDeleteVertexArrays(count, pointers);
#elif defined(__IOS__) && defined(__OPENGL_30__)
        glDeleteVertexArrays(count, pointers);
#else
        glDeleteVertexArraysOES(count, pointers);
#endif
        
#if defined(DEBUG)
        gl_get_error();
#endif
    };
예제 #11
0
//----------------------------------------------------------------------------------------------------------------------
void VertexArrayObject::removeVOA()
{
  if(m_bound == true)
  {
    unbind();
  }
  if( m_allocated ==true)
  {
    int size=m_vboIDs.size();
    for(int i=0; i<size; ++i)
    glDeleteBuffers(1,&m_vboIDs[i]);

    glDeleteVertexArraysOES(1,&m_id);
    m_allocated=false;
  }
}
예제 #12
0
void nbMesh::freeObj()
{
    if (vao) {
        glLog("glDeleteVertexArraysOES : vao");
        glDeleteVertexArraysOES(1, &vao);
    }
    
    if (vboVertex) {
        glLog("glDeleteBuffers : vbo");
        glDeleteBuffers(1, &vboVertex);
    }
    
    if (vboVertexIndex) {
        glLog("glDeleteBuffers : vbo");
        glDeleteBuffers(1, &vboVertexIndex);
    }
}
예제 #13
0
// バッファ破棄
void Figure::destroy() {
	if (!vaoName) return;
	
#ifdef USE_VAO
	GLuint index;
	GLuint bufName;
	
	//Bind the VAO so we can get data from it
	glBindVertexArrayOES(vaoName);
	
	// For every possible attribute set in the VAO
	for(index = 0; index < 16; index++)
	{
		// Get the VBO set for that attibute
		glGetVertexAttribiv(index , GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, (GLint*)&bufName);
		
		// If there was a VBO set...
		if(bufName)
		{
			//...delete the VBO
			glDeleteBuffers(1, &bufName);
		}
	}
	
	// Get any element array VBO set in the VAO
	glGetIntegerv(GL_ELEMENT_ARRAY_BUFFER_BINDING, (GLint*)&bufName);
	
	// If there was a element array VBO set in the VAO
	if(bufName)
	{
		//...delete the VBO
		glDeleteBuffers(1, &bufName);
	}
	
	// Finally, delete the VAO
	glDeleteVertexArraysOES(1, &vaoName);
#else
	for (int i = 0; i < NUM_VBO; i++) {
		glDeleteBuffers(1, &vboNames[i]);
		vboNames[i] = 0;
	}
#endif
	
	// 初期化
	vaoName = 0;
}
JNIEXPORT void JNICALL Java_org_lwjgl_opengles_OESVertexArrayObject_nglDeleteVertexArraysOES__IJ(JNIEnv *__env, jclass clazz, jint n, jlong arraysAddress) {
    glDeleteVertexArraysOESPROC glDeleteVertexArraysOES = (glDeleteVertexArraysOESPROC)tlsGetFunction(798);
    intptr_t arrays = (intptr_t)arraysAddress;
    UNUSED_PARAM(clazz)
    glDeleteVertexArraysOES(n, arrays);
}
예제 #15
0
 ~TriListStaticES2()
 {
   glDeleteBuffers(1, &m_vertexBuffer);
   glDeleteVertexArraysOES(1, &m_vertexArray);
 }
예제 #16
0
파일: ScreenQuad.cpp 프로젝트: NCCA/webgl
ScreenQuad::~ScreenQuad()
{
  glDeleteVertexArraysOES(1,&m_vao);
}
예제 #17
0
void OpenglES2Device::deleteVaoBuffer(unsigned int vaoHandle){
    glDeleteVertexArraysOES(1, &vaoHandle);
}
예제 #18
0
파일: gl_lib.cpp 프로젝트: csulmone/emilib
	VAO::~VAO()
	{
		glDeleteVertexArraysOES(1, &_id);
	}
//----------------------------------------------------------------------------//
void OpenGLES2GeometryBuffer::deinitialiseOpenGLBuffers()
{
    glDeleteVertexArraysOES(1, &d_verticesVAO);
    glDeleteBuffers(1, &d_verticesVBO);
}
예제 #20
0
VaoImplEs::~VaoImplEs()
{
	glDeleteVertexArraysOES( 1, &mId );
}