Page 1 of 1

free and detailed Meshes

Posted: Fri Jan 03, 2014 9:08 pm
by applePi
there are free detailed meshes here http://graphics.williams.edu/data/meshes.xml
i have enjoyed with converting the cathedral from obj to ogre mesh with OgreAssimpConverter , it is very detailed and with color, i attach it converted to *.Mesh here http://www.2shared.com/file/ba2ZNNe5/sibenik2.html with the pictures and code to fly around and inside it . and any better lighting are welcome.
what annoys me is the hairball mesh available from the site 50 MB ziped, 250 MB unzipped. it contains 2,880,000 Triangles, 1,441,098 vertices. i even can't convert it to *.x model or 3ds. but can view it with very very low speed with "Alteros 3D" viewer. and OgreAssimpConverter gives error when trying to convert it to *.Mesh after may be 10 minutes. if someone succeed please tell us. it is certainly needs powerfull computer with a powerfull graphics card.
pictures from inside while running purebasic code
Image
Image

the code used to view the cathedral
if you want slower move change #CameraSpeed = 0.2 to a less value

Code: Select all

Define.f MouseX,MouseY,KeyX,KeyY
;#CameraSpeed = 0.05
#CameraSpeed = 0.2
Enumeration
   #MESH
   #TEX
   #TEX_plane
   #MAT
   #MAT_plane
   #plane
   #cathedral
   #camera
   #mainwin
EndEnumeration
Global Quit.b = #False
Speed = 0.5
InitEngine3D()
InitSprite()
InitKeyboard()
InitMouse()
ExamineDesktops()
OpenWindow(0, 0, 0, DesktopWidth(0), DesktopHeight(0), "use the mouse and arrow keys to move ", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0), 0, 0, DesktopWidth(0), DesktopHeight(0), 0, 0, 0)

;Initialize environment

;WorldShadows(#PB_Shadow_Additive)
WorldShadows(#PB_Shadow_Modulative, -1, RGB(100, 250, 100))
  
SetFrameRate(60)

Add3DArchive("Data\", #PB_3DArchive_FileSystem)
Add3DArchive(".", #PB_3DArchive_FileSystem)
Parse3DScripts() 

CreateMaterial(#MAT_plane, LoadTexture(#TEX_plane, "basalt.jpg"))
;CreatePlane(#Mesh, TileSizeX, TileSizeZ, TileCountX, TileCountZ, TextureRepeatCountX, TextureRepeatCountZ)
CreatePlane(#plane, 100, 100, 1, 1, 10, 10)
CreateEntity (#plane, MeshID(#plane), MaterialID(#MAT_plane))
  
LoadMesh(#MESH, "sibenik.mesh")

CreateEntity(#cathedral, MeshID(#MESH), #PB_Material_None )
 
ScaleEntity(#cathedral,0.5,0.5,0.5)
EntityRenderMode(#cathedral, #PB_Entity_CastShadow)

MoveEntity(#cathedral,0,8,6)

CreateLight(0,RGB(255,255,255),-100,40,30)
CreateLight(1,RGB(255,255,255),0,10,6)
CreateLight(2,RGB(255,255,255),-150,40,30)
CreateLight(3,RGB(255,255,255),150,40,30)
CreateLight(4,RGB(200,190,200),0,3,-10)
;CreateSphere(4,1)
;CreateEntity(4, MeshID(4), #PB_Material_None, 0,3,-10)


AmbientColor(RGB(200,200,200))

CreateCamera(#camera, 0, 0, 100, 100)
MoveCamera(#camera, -30, 4,-1)
CameraLookAt(#camera, 0, 1, 6)

;RotateCamera(#camera, -15, 0, 0)

rot.l=1
;Main loop
Repeat
  Event = WindowEvent()
    
  If ExamineMouse()
        MouseX = -MouseDeltaX() * #CameraSpeed * 2
        MouseY = -MouseDeltaY() * #CameraSpeed * 2
  EndIf
  ShowCursor_(0)
    
; Use arrow keys and mouse to rotate and fly in/out
  ExamineKeyboard()
      
        If KeyboardPushed(#PB_Key_Left)
          KeyX = -#CameraSpeed
        ElseIf KeyboardPushed(#PB_Key_Right)
          KeyX = #CameraSpeed
        Else
          KeyX = 0
        EndIf
        
        If KeyboardPushed(#PB_Key_Up)
          KeyY = -#CameraSpeed
        ElseIf KeyboardPushed(#PB_Key_Down)
          KeyY = #CameraSpeed
        Else
          KeyY = 0
        EndIf
        
        If KeyboardPushed(#PB_Key_Z)
          z = 0
        EndIf
        
      If KeyboardReleased(#PB_Key_Space) ;press key to toggle the rotation of the object
        temp ! 1
      EndIf
  
 
      RotateCamera(#camera, MouseY, MouseX, 0, #PB_Relative)
      MoveCamera  (#camera, KeyX, 0, KeyY)
     
  RenderWorld()
  
  FlipBuffers()
   ExamineKeyboard()
   If KeyboardReleased(#PB_Key_Escape)
      Quit = #True
   EndIf

Until Quit = #True Or Event = #PB_Event_CloseWindow

   
    

Re: free and detailed Meshes

Posted: Fri Jan 03, 2014 9:56 pm
by Samuel
applePi wrote: what annoys me is the hairball mesh available from the site 50 MB ziped, 250 MB unzipped. it contains 2,880,000 Triangles, 1,441,098 vertices. i even can't convert it to *.x model or 3ds. but can view it with very very low speed with "Alteros 3D" viewer. and OgreAssimpConverter gives error when trying to convert it to *.Mesh after may be 10 minutes. if someone succeed please tell us. it is certainly needs powerfull computer with a powerfull graphics card.
The hairball mesh is exceeding the 16 bit vertex count limit (2^16). So, you can't have a mesh with more than 65,536 vertices when limited to 16 bit.
You would have to break that one up into smaller meshes.

I think you can change it from 16 bit to 32 bit in the xml file. It should be something like use32bitindexes="false". Just set the "false" to "true".
I believe that would allow 4,294,967,296 vertices per mesh.

For viewing or modeling it's OK to have a huge mesh, but if your using that mesh in a game or something.
I would highly recommend breaking it into smaller meshes.

Re: free and detailed Meshes

Posted: Tue Jan 07, 2014 11:35 am
by dige
Thank you applePi. Could you tell me please where can I download the windows binaries of OgreAssimpConverter?

Re: free and detailed Meshes

Posted: Tue Jan 07, 2014 11:44 am
by applePi
Hi dige
from here http://www.purebasic.fr/english/viewtop ... 22#p401729
the second link by Fred, requiers the VC++2010 runtime