Simple way to do it in DBpro is to make an object that represents the dice,a cube is the obvious choice and make it small than size of the dice you want,then make a plane object the size of the dice face,convert this to a mesh.Add the six faces of the dice one at a time by making limbs attached,rotated and positioned to the the original cube object from the mesh.Texture each limb with the image you want.Then delete the plane object and mesh.If you get stuck let me know and ill post up a demo for you later.
EDIT:
`Dice
`======================
`©P.Parkinson
`======================
`Main Source File
`*********************************
`enviroment set up
IF CHECK DISPLAY MODE(1024,768,32)
SET DISPLAY MODE 1024,768,32
h=DESKTOP HEIGHT()
w=DESKTOP WIDTH()
posx=w/2-512
posy=h/2-384
ELSE
SET DISPLAY MODE 640,480,32
h=DESKTOP HEIGHT()
w=DESKTOP WIDTH()
posx=w/2-320
posy=h/2-240
ENDIF
SET WINDOW POSITION posx,posy
SYNC ON
SYNC RATE 60
AUTOCAM OFF
HIDE MOUSE
COLOR BACKDROP 0,0
SET TEXT FONT "Arial"
SET TEXT SIZE 24
SET TEXT TRANSPARENT
POSITION CAMERA 50,50,-50
POINT CAMERA 0,0,0
POSITION MOUSE SCREEN WIDTH()/2,SCREEN HEIGHT()/2
dummy=MOUSEMOVEX()
dummy=MOUSEMOVEY()
SYNC
`*********************************
`declarations and setup starts here
GLOBAL dice_size AS float:dice_size=10.0
GLOBAL dice_obj AS INTEGER
dice_obj=free_object()
MAKE OBJECT CUBE dice_obj,1``dice_size
GLOBAL plain_obj AS integer
plain_obj=free_object()
MAKE OBJECT PLANE plain_obj,dice_size,dice_size,1,1
GLOBAL plain_mesh AS INTEGER
plain_mesh=free_mesh()
make mesh from object plain_mesh,plain_obj
``make textures
ink rgb(255,255,255),0:BOX 0,0,text size(),text size():ink 0,0
center text text size()/2.0,0,"1"
GLOBAL img_1 AS INTEGER
img_1=free_image()
get image img_1,0,0,text size(),text size()
CLS
ink rgb(255,255,255),0:BOX 0,0,text size(),text size():ink 0,0
center text text size()/2.0,0,"2"
GLOBAL img_2 AS INTEGER
img_2=free_image()
get image img_2,0,0,text size(),text size()
CLS
ink rgb(255,255,255),0:BOX 0,0,text size(),text size():ink 0,0
center text text size()/2.0,0,"3"
GLOBAL img_3 AS INTEGER
img_3=free_image()
get image img_3,0,0,text size(),text size()
CLS
ink rgb(255,255,255),0:BOX 0,0,text size(),text size():ink 0,0
center text text size()/2.0,0,"4"
GLOBAL img_4 AS INTEGER
img_4=free_image()
get image img_4,0,0,text size(),text size()
CLS
ink rgb(255,255,255),0:BOX 0,0,text size(),text size():ink 0,0
center text text size()/2.0,0,"5"
GLOBAL img_5 AS INTEGER
img_5=free_image()
get image img_5,0,0,text size(),text size()
CLS
ink rgb(255,255,255),0:BOX 0,0,text size(),text size():ink 0,0
center text text size()/2.0,0,"6"
GLOBAL img_6 AS INTEGER
img_6=free_image()
get image img_6,0,0,text size(),text size()
CLS
``top
ADD LIMB dice_obj,1,plain_mesh
offset limb dice_obj,1,object position x(dice_obj),object position y(dice_obj)+(dice_size/2.0),object position z(dice_obj)
``COLOR LIMB dice_obj,1,rgb(255,0,0)
TEXTURE LIMB dice_obj,1,img_1
``bottom
ADD LIMB dice_obj,2,plain_mesh
rotate limb dice_obj,2,object angle x(dice_obj)+180,object angle y(dice_obj),object angle z(dice_obj)
OFFSET LIMB dice_obj,2,object position x(dice_obj),object position y(dice_obj)-(dice_size/2.0),object position z(dice_obj)
``COLOR LIMB dice_obj,2,rgb(0,255,0)
TEXTURE LIMB dice_obj,2,img_2
``left
ADD LIMB dice_obj,3,plain_mesh
rotate limb dice_obj,3,object angle x(dice_obj),object angle y(dice_obj),object angle z(dice_obj)+90
OFFSET LIMB dice_obj,3,object position x(dice_obj)-(dice_size/2.0),object position y(dice_obj),object position z(dice_obj)
``COLOR LIMB dice_obj,3,rgb(0,0,255)
TEXTURE LIMB dice_obj,3,img_3
``right
ADD LIMB dice_obj,4,plain_mesh
rotate limb dice_obj,4,object angle x(dice_obj),object angle y(dice_obj),object angle z(dice_obj)-90
OFFSET LIMB dice_obj,4,object position x(dice_obj)+(dice_size/2.0),object position y(dice_obj),object position z(dice_obj)
``COLOR LIMB dice_obj,4,rgb(255,0,255)
TEXTURE LIMB dice_obj,4,img_4
``front
ADD LIMB dice_obj,5,plain_mesh
rotate limb dice_obj,5,object angle x(dice_obj)-90,object angle y(dice_obj),object angle z(dice_obj)
OFFSET LIMB dice_obj,5,object position x(dice_obj),object position y(dice_obj),object position z(dice_obj)-(dice_size/2.0)
``COLOR LIMB dice_obj,5,rgb(255,255,0)
TEXTURE LIMB dice_obj,5,img_5
``back
ADD LIMB dice_obj,6,plain_mesh
rotate limb dice_obj,6,object angle x(dice_obj)+90,object angle y(dice_obj),object angle z(dice_obj)
OFFSET LIMB dice_obj,6,object position x(dice_obj),object position y(dice_obj),object position z(dice_obj)+(dice_size/2.0)
``COLOR LIMB dice_obj,6,rgb(0,255,255)
TEXTURE LIMB dice_obj,6,img_6
DELETE MESH plain_mesh
DELETE OBJECT plain_obj
`*********************************
`main loop starts here
DO
yrotate object dice_obj,wrapvalue(object angle y(dice_obj)+0.1)
zrotate object dice_obj,wrapvalue(object angle z(dice_obj)+0.2)
mouse_control(1.0)
SYNC
LOOP
`*********************************
`functions start here
FUNCTION free_object()
repeat
inc i
if object exist(i)=0 then found=1
until found
endfunction i
FUNCTION free_image()
repeat
inc i
if image exist(i)=0 then found=1
until found
ENDFUNCTION i
FUNCTION free_mesh()
repeat
inc i
if mesh exist(i)=0 then found=1
until found
ENDFUNCTION i
FUNCTION mouse_control(speed AS FLOAT)
IF MOUSECLICK()=2
XROTATE CAMERA CAMERA aNGLE X()+MOUSEMOVEY()
YROTATE CAMERA CAMERA ANGLE Y()+MOUSEMOVEX()
ENDIF
mz=mousemovez()
IF mz>0 THEN MOVE CAMERA speed*10.0
IF mz<0 THEN MOVE CAMERA (0-speed)*10.0
dummy=MOUSEMOVEX()
dummy=MOUSEMOVEY()
ENDFUNCTION
Uses Matrix1 plugin for the plains(personal preference)but you can change that to standard DBPro plains you will just have to change the rotation and offsets