Exemplo n.º 1
0
    Texture Framebuffer::clone(int colorBuffer) const {
        Texture const &tex = this->colorBuffers()[colorBuffer];

        Texture newTex(nullptr, tex.size(), 0, 0, false);
        VertexManager::flush();
        glBindFramebuffer(GL_FRAMEBUFFER, _id);

        glBindTexture(GL_TEXTURE_2D, newTex.tex());
        glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, tex.size().x, tex.size().y);
        glGenerateMipmap(GL_TEXTURE_2D);
        glBindTexture(GL_TEXTURE_2D, 0);

        glBindFramebuffer(GL_FRAMEBUFFER, RenderTarget::top().identifier());

        return newTex;
    }
Exemplo n.º 2
0
void TextureContainer::AddTexture(Texture* texture, std::string name) {
	std::pair<std::string, Texture*> newTex(name, texture);
	textureMap.insert(newTex);

}
void ResourceManager::createTexture(const char* filename, int* width, int* height, void** data, int numOfBitmaps) {

    SPtr<Texture> newTex(new Texture(width,height,data,numOfBitmaps));

    addTexture(filename,newTex);
}