예제 #1
0
glBufferImpl::~glBufferImpl()
{
    if (_handle > 0) {
        waitRange(0, _alignedSize, false);
        if (_mappedBuffer == nullptr) {
            glInvalidateBufferData(_handle);
        }

        GLUtil::freeBuffer(_handle, _mappedBuffer);
    }
}
예제 #2
0
void glBufferImpl::clearData(size_t offsetInBytes, size_t rangeInBytes) {
    if (_mappedBuffer) {
        if (!waitRange(offsetInBytes, rangeInBytes, true)) {
            //ToDo: wait failed. Now what?
        }
        std::memset(((Byte*)_mappedBuffer) + offsetInBytes, 0, rangeInBytes);
        if (_useExplicitFlush) {
            glFlushMappedNamedBufferRange(_handle, offsetInBytes, rangeInBytes);
        }
    } else {
        if (offsetInBytes == 0 && rangeInBytes == _alignedSize) {
            glInvalidateBufferData(_handle);
        } else {
            glInvalidateBufferSubData(_handle, offsetInBytes, rangeInBytes);
        }
    }
}
void BufferImplementation_DirectStateAccessEXT::invalidateData(const Buffer * buffer) const
{
    glInvalidateBufferData(buffer->id());
}
예제 #4
0
void ofBufferObject::invalidate(){
    glInvalidateBufferData(data->id);
}
예제 #5
0
GlModel::~GlModel() {
    glInvalidateBufferData(vertex_buffer_object_);
    glInvalidateBufferData(color_buffer_object_);
}
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL43_nglInvalidateBufferData(JNIEnv *__env, jclass clazz, jint buffer, jlong __functionAddress) {
	glInvalidateBufferDataPROC glInvalidateBufferData = (glInvalidateBufferDataPROC)(intptr_t)__functionAddress;
	UNUSED_PARAMS(__env, clazz)
	glInvalidateBufferData(buffer);
}
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL43_glInvalidateBufferData(JNIEnv *__env, jclass clazz, jint buffer) {
    glInvalidateBufferDataPROC glInvalidateBufferData = (glInvalidateBufferDataPROC)tlsGetFunction(891);
    UNUSED_PARAM(clazz)
    glInvalidateBufferData(buffer);
}
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL43_nglInvalidateBufferData(JNIEnv *env, jclass clazz, jint buffer, jlong function_pointer) {
	glInvalidateBufferDataPROC glInvalidateBufferData = (glInvalidateBufferDataPROC)((intptr_t)function_pointer);
	glInvalidateBufferData(buffer);
}