texture must be bound before glTexImage2D