void OGLObject::addVBOObject(VBOObject * object) { if (this->vao == 0) { glGenVertexArrays(1, &this->vao); } glBindVertexArray(this->vao); object->vbo = createBufferObject( GL_ARRAY_BUFFER, object->buffer, object->bufferSizeInBytes); if (this->vboType == INDEXED_ARRAY) { object->ibo = createBufferObject( GL_ELEMENT_ARRAY_BUFFER, object->indexData, object->indexSizeInBytes); } this->objects[object->name] = object; glBindVertexArray(0); }
bool VaapiEncPicture:: addPackedHeader(VAEncPackedHeaderType packedHeaderType, const void *header, uint32_t headerBitSize) { VAEncPackedHeaderParameterBuffer *packedHeader; BufObjectPtr param = createBufferObject(VAEncPackedHeaderParameterBufferType, packedHeader); BufObjectPtr data = createBufferObject(VAEncPackedHeaderDataBufferType, (headerBitSize + 7) / 8, header, NULL); bool ret = addObject(m_packedHeaders, param, data); if (ret) { packedHeader->type = packedHeaderType; packedHeader->bit_length = headerBitSize; packedHeader->has_emulation_bytes = 0; } return ret; }
VABufferID VaapiVppPicture::editDeinterlaceParam(VAProcFilterParameterBufferDeinterlacing*& vppParam) { uint32_t size = sizeof(VAProcFilterParameterBufferDeinterlacing); void *data = (void *)vppParam; m_deinterlaceParam = createBufferObject(VAProcFilterParameterBufferType, size, data, (void **)vppParam); return m_deinterlaceParam->getID(); }
bool VaapiVppPicture::editVppParam(VAProcPipelineParameterBuffer*& vppParam) { uint32_t size = sizeof(VAProcPipelineParameterBuffer); void *data = (void *)vppParam; m_vppParam = createBufferObject(VAProcPipelineParameterBufferType, size, data, (void **)vppParam); return m_vppParam ? true:false; }
Piece::Piece(std::vector<Vertex> vs, std::vector<unsigned int> is, ShaderProgram* prog, int ident) : Drawable() { id = ident; vertexes = vs; indices = is; shaderProg = prog; scale = glm::mat4(1.0f); initTransformation = glm::mat4(1.0f); transformation = glm::mat4(1.0f); createBufferObject(); tex = 0; variation = 0.0; }
VABufferID VaapiVppPicture::editProcFilterParam(VAProcFilterParameterBuffer* &vppParam) { uint32_t size = sizeof(VAProcFilterParameterBuffer); void *data = (void *)vppParam; BufObjectPtr proc = createBufferObject(VAProcFilterParameterBufferType, size, data, (void **)vppParam); addObject(m_procFilterParam, proc); return proc->getID(); }
bool init(int argc, char *argv[]){ setDataDir(argc, argv); initGLFW(); ogle::initGLEW(); bool found_extensions = checkExtensions(); if (!found_extensions) return false; ogle::Debug::init(); initGLSettings(); createParticles(); createBufferObject(); return true; }
IndexBufferObject IndexBufferObject::create(const std::vector<unsigned short>& data) { return IndexBufferObject{createBufferObject(data), data.size()}; }