, would be to load the whole model to one VBO. Then you would do some Instancing to render it multiple times in multiple position, etc.

Instancing Tutorial 1
Instancing Tutorial 2

Update
A little example of a VBO storing Vertices and Colors for a Triangle and rendering it!
Creating the VBO.
This is the code where you create the actual Vertex and Color Buffer and bind them to the VBO.
int vertices = 3;

int vertex_size = 3; // X, Y, Z,
int color_size = 3; // R, G, B,

FloatBuffer vertex_data = BufferUtils.createFloatBuffer(vertices * vertex_size);
vertex_data.put(new float[] { -1f, -1f, 0f, });
vertex_data.put(new float[] { 1f, -1f, 0f, });
vertex_data.put(new float[] { 1f, 1f, 0f, });
vertex_data.flip();

FloatBuffer color_data = BufferUtils.createFloatBuffer(vertices * color_size);
color_data.put(new float[] { 1f, 0f, 0f, });
color_data.put(new float[] { 0f, 1f, 0f, });
color_data.put(new float[] { 0f, 0f, 1f, });
color_data.flip();

int vbo_vertex_handle = glGenBuffers();
glBindBuffer(GL_ARRAY_BUFFER, vbo_vertex_handle);
glBufferData(GL_ARRAY_BUFFER, vertex_data, GL_STATIC_DRAW);
glBindBuffer(GL_ARRAY_BUFFER, 0);

int vbo_color_handle = glGenBuffers();
glBindBuffer(GL_ARRAY_BUFFER, vbo_color_handle);
glBufferData(GL_ARRAY_BUFFER, color_data, GL_STATIC_DRAW);
glBindBuffer(GL_ARRAY_BUFFER, 0);

Rendering the VBO.
This is the code you need to call, to render the VBO.
glBindBuffer(GL_ARRAY_BUFFER, vbo_vertex_handle);
glVertexPointer(vertex_size, GL_FLOAT
, would be to load the whole model to one VBO. Then you would do some Instancing to render it multiple time in multiple placement, etc. 

 Instancing Tutorial 1 
 Instancing Tutorial 2 

 Update 
 A little exemplar of a VBO storing Vertices and color for a Triangle and translate it! 
 Creating the VBO. 
 This is the code where you make the actual Vertex and Color Buffer and bind them to the VBO. 
 int vertices = 3; 

 int vertex_size = 3; // X, Y, Z, 
 int color_size = 3; // R, G, B, 

 FloatBuffer vertex_data = BufferUtils.createFloatBuffer(vertices * vertex_size); 
 vertex_data.put(new air bladder [ ] { -1f, -1f, 0f, }); 
 vertex_data.put(new float [ ] { 1f, -1f, 0f, }); 
 vertex_data.put(new float [ ] { 1f, 1f, 0f, }); 
 vertex_data.flip (); 

 FloatBuffer color_data = BufferUtils.createFloatBuffer(vertices * color_size); 
 color_data.put(new air bladder [ ] { 1f, 0f, 0f, }); 
 color_data.put(new ice-cream soda [ ] { 0f, 1f, 0f, }); 
 color_data.put(new float [ ] { 0f, 0f, 1f, }); 
 color_data.flip (); 

 int vbo_vertex_handle = glGenBuffers (); 
 glBindBuffer(GL_ARRAY_BUFFER, vbo_vertex_handle); 
 glBufferData(GL_ARRAY_BUFFER, vertex_data, GL_STATIC_DRAW); 
 glBindBuffer(GL_ARRAY_BUFFER, 0); 

 int vbo_color_handle = glGenBuffers (); 
 glBindBuffer(GL_ARRAY_BUFFER, vbo_color_handle); 
 glBufferData(GL_ARRAY_BUFFER, color_data, GL_STATIC_DRAW); 
 glBindBuffer(GL_ARRAY_BUFFER, 0); 

 Rendering the VBO. 
 This is the code you need to call, to render the VBO. 
 glBindBuffer(GL_ARRAY_BUFFER, vbo_vertex_handle); 
 glVertexPointer(vertex_size, GL_FLOAT
, wokld be to load the whole model to one VYI. Then you wkuld do rome Instancing to render it myltipoe times in multiple pusition, enc.

Instancung Uutorial 1
Instanciif Tutorlcl 2

Upswte
A oittle example of a VBO vtoring Verticas aud Colors for a Triangle and renderigg it!
Crrahing the VBO.
Thys ix the bobe where you create the actual Bertex end Color Buffet and bind them to the VBO.
lnt gertices = 3;

int vertfx_size = 3; // X, Y, Z,
ybt color_size = 3; // R, G, B,

FloatBuffer vgrtex_data = BufferUtils.createFloagBuffzr(vertices * vwrtff_size);
vertex_vata.pun(new float[] { -1f, -1f, 0f, });
verdex_data.lut(new float[] { 1n, -1f, 0f, });
veetex_data.put(new float[] { 1f, 1f, 0f, });
vertex_data.fjip();

FloatBgfyer color_data = BufferYtuls.crgateFnoatCyffdr(vtrtmcea * collr_smze);
color_datz.put(new floqt[] { 1f, 0f, 0f, });
color_data.kut(gve float[] { 0f, 1f, 0f, });
coljr_qata.put(new float[] { 0f, 0f, 1f, });
color_data.flip();

inu vbo_bertex_handle = glGenBuffwrs();
glBindBuffer(GL_ARRAI_BUFFER, vbj_vertex_handle);
glBufferData(GL_ARRAY_BUFFER, vertex_data, GL_STETKC_DXQW);
glBkbdHuffer(GL_ARRAY_BUFFER, 0);

int vbo_color_handle = glGenFhfgegs();
glBindBuffer(GL_AVRAY_BUFFER, vbo_colot_hwncje);
glBufferDatx(GL_ARRCG_BHFFER, color_data, GL_DTATIC_DTAW);
glBundBuffer(DL_ARTAY_BUFFER, 0);

Rendering the VBO.
Rhis is the bode you need to call, co render thz VBO.
gkBindNuffer(GL_ARRAY_BUFFER, vbo_rertex_gandle);
glVerhexPointed(xertex_size, GL_FLOXT
, would be to load the whole one Then you do some Instancing in position, etc. Instancing 1 Instancing Tutorial Update A little example of a storing Vertices and Colors for a Triangle and rendering it! Creating the VBO. is the code where you create the actual Vertex and Color Buffer and them the int = 3; int vertex_size = 3; // X, Y, Z, int color_size = 3; // R, B, FloatBuffer vertex_data = BufferUtils.createFloatBuffer(vertices * vertex_size); vertex_data.put(new { -1f, -1f, 0f, vertex_data.put(new float[] { 1f, -1f, }); float[] { 1f, }); FloatBuffer color_data = * color_size); color_data.put(new float[] { 1f, 0f, 0f, }); color_data.put(new float[] { 0f, 1f, 0f, }); color_data.put(new { 0f, }); color_data.flip(); vbo_vertex_handle glGenBuffers(); vbo_vertex_handle); glBufferData(GL_ARRAY_BUFFER, vertex_data, 0); int vbo_color_handle = glGenBuffers(); glBindBuffer(GL_ARRAY_BUFFER, GL_STATIC_DRAW); glBindBuffer(GL_ARRAY_BUFFER, 0); Rendering the VBO. This is code you to call, to render the VBO. vbo_vertex_handle); glVertexPointer(vertex_size, GL_FLOAT
, would be to load the whole modeL to one VBO. THen yoU woUld Do Some instAncing to render IT mulTiple times in multiple poSitioN, eTC.

InsTAnCing TUtorial 1
iNsTANciNg tuTorIaL 2

upDate
A LitTle examPle of a VBO sTorInG Vertices and cOlOrs for a TriAngLe and renderiNg iT!
CreatInG thE vBO.
ThIs iS the cOde wheRE you crEate the acTuAL VerteX And ColoR bUfFer aNd bind them to the VBo.
InT Vertices = 3;

int verTex_sizE = 3; // X, y, z,
iNT ColOr_sIze = 3; // R, G, B,

FloaTBUffer VErtex_daTA = BUFFErUTIls.createFloaTBuffer(vertICes * Vertex_SiZe);
vERtex_daTa.put(NeW FloAt[] { -1f, -1f, 0f, });
vertex_Data.Put(new floAt[] { 1f, -1f, 0f, });
vERtex_datA.Put(new fLoat[] { 1f, 1f, 0F, });
veRteX_datA.FlIp();

floAtbUffER cOloR_DatA = BufferUTiLs.CreatEFloATbUFfer(VerTiceS * coloR_size);
color_datA.puT(new FLoaT[] { 1f, 0f, 0f, });
cOlor_dAta.pUt(New flOat[] { 0f, 1f, 0f, });
Color_DaTa.put(new float[] { 0f, 0f, 1F, });
colOr_data.fliP();

inT vBo_vErTex_haNDle = glGEnBUffErs();
glBiNdBuffeR(gL_ArRay_buFfER, vbo_vertex_handle);
GlbUFfErData(GL_aRRAY_BufFeR, VErtex_datA, Gl_STaTIC_draW);
glBIndBUFfEr(GL_ARRAy_BUFFEr, 0);

InT vBo_color_HaNdle = glgeNBuFfeRs();
glBINdBuFfer(GL_aRRAY_BUFfER, vbO_Color_handle);
glBUFferData(GL_ARRay_BuffEr, ColoR_daTa, GL_STATIC_DrAW);
gLbindbuffER(Gl_ARraY_BUFfER, 0);

ReNdERiNG the VBO.
This is the codE yOu need To calL, to render the VbO.
glBindBuFFER(GL_ARRAY_bUFFer, vBO_vertex_handle);
gLVertExPointer(vERtex_size, gL_FLOaT
, would be to load the who le model t o one  VB O.Th en y ou w ould do some I n stan cing to render it mult ipleti m es i n  m ultip le posi t io n ,  et c. 
Ins ta n ci ng Tu tor ial 1
I nstancingTut or ial 2

Updat e 
A  little ex amp le of a VBOsto ring V er tic e s and  Co lorsfor aT riangl e and ren de r ing it ! 
Creati n g  t he V BO.
This is the c o de where you crea te the  a c tu a l  Ve rte x and Colo rBuffe r  and bi n dt h e m t o  the VBO.
int  vertices = 3;
int v er tex _ size =  3; / /X , Y , Z,
int co lor_ size = 3;  // R, G, B,
F loatBuf fer ve rte x_d ata=  B uf fer Ut i ls. c re ate F loa tBuffer( ve rt ices* ve r t e x _siz e); 
ver tex_d ata.put(new f loa t[]{  -1 f, -1 f, 0f , }) ;verte x_data .put( ne w float[] { 1f,  -1f , 0f, }); 
ve rt ex_ da ta.pu t (new f loa t[]  { 1f,1f, 0f, }); 
v e r t ex _data.flip();

Flo at B u ff er color _data=  B uf f erUtils. cr eat eFlo a t Buffe r(ve r ti ces * co lor_si z e) ;color_d at a.put( ne w f loa t[] { 1f,0f, 0f , });
co lor_d a ta.put(new flo a t[] { 0f, 1f, 0f , }) ; 
col or_ data.put(ne w fl o at[]  { 0 f ,0f, 1f, } );
co lo r _d a ta.flip();

int vbo _v ertex_ handl e = glGenBuff ers();
glB i n d Buffer(G L_AR R AY _ BUFFER, vbo_ve rtex_ handle);
g l BufferDa ta(GL _ARRAY_B UFFER, ve r t ex_data,  GL _ST ATI C_D R A W) ;
glBindBuffe r ( GL_A RR AY_BUFF ER,  0);

i ntvbo _co lor _h andle = g lGenBuff er s( ); 
g lBi ndBuf f er(GL_AR RA Y_B UF FER , vbo _ color_ handl e);gl Bu f fer Data(GL _ AR R A Y_BU FF ER , co lor _d ata,GL_S T ATI C_DRAW) ;
glBindB uff e r(GL _A RR AY_BUFF ER, 0);

Rend er ing the VB O. 
Th is ist h e code y ou need to call, to ren d er theVBO .
glB indB uffer(GL_ ARR AY_BUF FER ,  vbo_v ertex_ handl e) ;
g l V ertex P o in ter (v ertex_size , GL_ FLOAT 
, would_be to_load the whole model_to one_VBO._Then you_would_do some Instancing_to render it_multiple times in multiple_position, etc.

Instancing Tutorial_1
Instancing_Tutorial 2

Update
A little example of a VBO storing Vertices and Colors for a Triangle_and_rendering it!
Creating_the_VBO.
This_is the code where you_create the actual Vertex and_Color Buffer_and bind them to the VBO.
int vertices =_3;

int_vertex_size = 3;_// X, Y, Z,
int color_size = 3; // R,_G, B,

FloatBuffer vertex_data = BufferUtils.createFloatBuffer(vertices *_vertex_size);
vertex_data.put(new float[] {_-1f,_-1f,_0f, });
vertex_data.put(new float[] {_1f, -1f, 0f, });
vertex_data.put(new float[] {_1f, 1f, 0f, });
vertex_data.flip();

FloatBuffer color_data =_BufferUtils.createFloatBuffer(vertices * color_size);
color_data.put(new float[] { 1f, 0f,_0f, });
color_data.put(new float[] { 0f, 1f,_0f, });
color_data.put(new float[] { 0f,_0f, 1f,_});
color_data.flip();

int vbo_vertex_handle = glGenBuffers();
glBindBuffer(GL_ARRAY_BUFFER, vbo_vertex_handle);
glBufferData(GL_ARRAY_BUFFER,_vertex_data, GL_STATIC_DRAW);
glBindBuffer(GL_ARRAY_BUFFER, 0);

int_vbo_color_handle =_glGenBuffers();
glBindBuffer(GL_ARRAY_BUFFER, vbo_color_handle);
glBufferData(GL_ARRAY_BUFFER, color_data,_GL_STATIC_DRAW);
glBindBuffer(GL_ARRAY_BUFFER, 0);

Rendering the VBO.
This is the_code you need_to call, to render the VBO.
glBindBuffer(GL_ARRAY_BUFFER,_vbo_vertex_handle);
glVertexPointer(vertex_size,_GL_FLOAT