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);
}
Esempio n. 2
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;
}
Esempio n. 3
0
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();
}
Esempio n. 4
0
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;
}
Esempio n. 5
0
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;
}
Esempio n. 6
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()};
}