Page 1 of 4
					
				Collision detection and response ( with codes )
				Posted: Sun Nov 27, 2005 7:36 pm
				by Comtois
				
			 
			
					
				
				Posted: Sun Nov 27, 2005 9:33 pm
				by pg
				Good work! Runs without problems. Collision detection is the most important functionality in 3D that nobody is talking about....
			 
			
					
				
				Posted: Tue Nov 29, 2005 3:39 pm
				by Thalius
				
 
Great work Comtois !!
I ve been seekin of a simple BSP map replacement.. with some work this can be turned into a neat lil levelengine =)))
Thx for sharing!
Thalius
 
			 
			
					
				
				Posted: Tue Nov 29, 2005 6:49 pm
				by Kale
				
			 
			
					
				
				Posted: Tue Nov 29, 2005 6:51 pm
				by Polo
				
			 
			
					
				
				Posted: Tue Nov 29, 2005 9:49 pm
				by Dare2
				
Hi Kale,
Good Q.
Its the official "unofficial" release announced here: 
viewtopic.php?t=16337
Perhaps not passworded so that it can be tried with the demo version of Pure? But also perhaps an oversight?
@Comtois,
Thanks! Your work is inspiring and insightful for me.
 
			 
			
					
				
				Posted: Sat Feb 04, 2006 12:00 am
				by Comtois
				
			 
			
					
				
				Posted: Sat Feb 04, 2006 12:25 am
				by benny
				
Wohw. That's what I call fast sources for PB4.0 

 Very good and thanks
for sharing 

 
			 
			
					
				
				Posted: Sat Feb 04, 2006 12:48 am
				by Comtois
				The source is the same , just needed PB4 for material script 

 
			 
			
					
				
				Posted: Tue Feb 07, 2006 5:27 pm
				by Thalius
				Thx for Sharing ! Your Stuff is always so inspiring  
 
Tho this one i dont seem to get running. And Yup i copyd the Engine3d.dll and
stlport_vc646.dll into the exe dir.
Start exe.
- Quick hd access
- nothing =P
Am i missing something? 
Thalius
 
			 
			
					
				
				Posted: Tue Feb 07, 2006 6:12 pm
				by Comtois
				engine3D.dll from PB4.0 beta 1 ? 
i try Castle.exe , and here is the Ogre.log
you can compare.
18:08:30: Creating resource group General
18:08:30: Registering ResourceManager for type Material
18:08:30: Registering ResourceManager for type Mesh
18:08:30: Registering ResourceManager for type Skeleton
18:08:30: OverlayElementFactory for type Panel registered.
18:08:30: OverlayElementFactory for type BorderPanel registered.
18:08:30: OverlayElementFactory for type TextArea registered.
18:08:30: Registering ResourceManager for type Font
18:08:30: ArchiveFactory for archive type FileSystem registered.
18:08:30: ArchiveFactory for archive type Zip registered.
18:08:30: DevIL version: Developer's Image Library (DevIL) 1.6.7 Aug 15 2005
18:08:30: DevIL image formats: jpg jpe jpeg pcx png tga vda icb vst raw 
18:08:30: Registering ResourceManager for type HighLevelGpuProgram
18:08:30: Direct3D7 Rendering Subsystem created.
18:08:30: ----- DirectDraw Detection Starts
18:08:30: Detected DirectDraw driver Pilote d'affichage principal
18:08:30: Detected DirectDraw driver RADEON 9800 SERIES 
18:08:30: ----- DirectDraw Detection Ends
18:08:30: Particle Emitter Type 'Point' registered
18:08:30: Particle Emitter Type 'Box' registered
18:08:30: Particle Emitter Type 'Ellipsoid' registered
18:08:30: Particle Emitter Type 'Cylinder' registered
18:08:30: Particle Emitter Type 'Ring' registered
18:08:30: Particle Emitter Type 'HollowEllipsoid' registered
18:08:30: Particle Affector Type 'LinearForce' registered
18:08:30: Particle Affector Type 'ColourFader' registered
18:08:30: Particle Affector Type 'ColourFader2' registered
18:08:30: Particle Affector Type 'ColourImage' registered
18:08:30: Particle Affector Type 'ColourInterpolator' registered
18:08:30: Particle Affector Type 'Scaler' registered
18:08:30: Particle Affector Type 'Rotator' registered
18:08:30: TerrainSceneManager: Registered a new PageSource for type Heightmap
18:08:30: Registering ResourceManager for type BspLevel
18:08:30: *-*-* OGRE Initialising
18:08:30: *-*-* Version 1.0.6 (Azathoth)
18:08:30: ***************************************
*** Direct3D Subsystem Initialising ***
***************************************
18:08:30: *****************************************
18:08:30: *** Direct3D Subsystem Initialised Ok ***
18:08:30: *****************************************
18:08:30: Registering ResourceManager for type GpuProgram
18:08:30: ResourceBackgroundQueue - threading disabled
18:08:30: Added resource location './Data/' of type 'FileSystem' to resource group 'General'
18:08:30: Added resource location './Data/skybox.zip' of type 'Zip' to resource group 'General'
18:08:30: Parsing scripts for resource group General
18:08:30: Parsing script Castle.material
18:08:30: Parsing script WareHouse.material
18:08:30: Parsing script waterworld.material
18:08:30: Finished parsing scripts for resource group General
18:08:30: D3D7 : Created D3D7 Rendering Window 'PureBasic Ogre' : 1280x1024, 32bpp
18:08:30: Creating DirectDraw surfaces for window with dimensions:
18:08:30:   FULLSCREEN w:1280 h:1024 bpp:32
18:08:30: Successfully created full screen rendering surface / flipping chain.
18:08:30: ----- Direct3D Detection Starts
18:08:30: Detected Direct3D Device Microsoft Direct3D RGB Software Emulation
18:08:30: Direct3D Device Capabilities:
18:08:30:   Hardware Accelerated: 0
18:08:30:   Mipmapping: 1
18:08:30:   Bilinear Filtering: 1
18:08:30:   Trilinear Filtering: 1
18:08:30:   Hardware Transform & Light: 0
18:08:30:   Max rendering colour depth: 32
18:08:30:   Max single-pass texture layers: 8
18:08:30:   Pixel fog supported: 256
18:08:30:   Vertex fog supported: 128
18:08:30: This device needs a Z-Buffer
18:08:30: Detected Direct3D Device Microsoft Direct3D Hardware acceleration through Direct3D HAL
18:08:30: Direct3D Device Capabilities:
18:08:30:   Hardware Accelerated: 1
18:08:30:   Mipmapping: 1
18:08:30:   Bilinear Filtering: 1
18:08:30:   Trilinear Filtering: 1
18:08:30:   Hardware Transform & Light: 0
18:08:30:   Max rendering colour depth: 32
18:08:30:   Max single-pass texture layers: 8
18:08:30:   Pixel fog supported: 256
18:08:30:   Vertex fog supported: 128
18:08:30: This device needs a Z-Buffer
18:08:30: Detected Direct3D Device Microsoft Direct3D Hardware Transform and Lighting acceleration capable device
18:08:30: Direct3D Device Capabilities:
18:08:30:   Hardware Accelerated: 1
18:08:30:   Mipmapping: 1
18:08:30:   Bilinear Filtering: 1
18:08:30:   Trilinear Filtering: 1
18:08:30:   Hardware Transform & Light: 1
18:08:30:   Max rendering colour depth: 32
18:08:30:   Max single-pass texture layers: 8
18:08:30:   Pixel fog supported: 256
18:08:30:   Vertex fog supported: 128
18:08:30: This device needs a Z-Buffer
18:08:30: ----- Direct3D Detection Ends
18:08:30: Determining best 3D Device...
18:08:30: Best 3D Device is: Microsoft Direct3D Hardware Transform and Lighting acceleration capable device
18:08:30: Direct3D - Creating Z-Buffer
18:08:30: Depth-Buffer created (32-bit, 8-bit stencil)
18:08:30: Registering ResourceManager for type Texture
18:08:30: RenderSystem capabilities
18:08:30: -------------------------
18:08:30:  * Hardware generation of mipmaps: no
18:08:30:  * Texture blending: yes
18:08:30:  * Anisotropic texture filtering: yes
18:08:30:  * Dot product texture operation: yes
18:08:30:  * Cube mapping: yes
18:08:30:  * Hardware stencil buffer: yes
18:08:30:    - Stencil depth: 8
18:08:30:    - Two sided stencil support: no
18:08:30:    - Wrap stencil values: yes
18:08:30:  * Hardware vertex / index buffers: no
18:08:30:  * Vertex programs: no
18:08:30:  * Fragment programs: no
18:08:30:  * Texture Compression: no
18:08:30:  * Scissor Rectangle: no
18:08:30:  * Hardware Occlusion Query: no
18:08:30:  * User clip planes: no
18:08:30:  * VET_UBYTE4 vertex element type: no
18:08:30:  * Infinite far plane projection: no
18:08:30:  * Hardware render-to-texture: no
18:08:30:  * Floating point textures: no
18:08:30:  * Non-power-of-two textures: no
18:08:30:  * Volume textures: no
18:08:30: Particle Renderer Type 'billboard' registered
18:08:30: Creating viewport on target 'PureBasic Ogre', rendering from camera 'MyCam', relative dimensions L: 0.00 T: 0.00 W: 1.00 H: 1.00 ZOrder: 0
18:08:30: Viewport for camera 'MyCam', actual dimensions L: 0 T: 0 W: 1280 H: 1024
18:08:30: Texture: Stevecube_fr.jpg: Loading 1 faces(PF_B8G8R8,512x512x1) with 0 generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
18:08:30: Texture: Stevecube_bk.jpg: Loading 1 faces(PF_B8G8R8,512x512x1) with 0 generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
18:08:30: Texture: Stevecube_lf.jpg: Loading 1 faces(PF_B8G8R8,512x512x1) with 0 generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
18:08:31: Texture: Stevecube_rt.jpg: Loading 1 faces(PF_B8G8R8,512x512x1) with 0 generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
18:08:31: Texture: Stevecube_up.jpg: Loading 1 faces(PF_B8G8R8,512x512x1) with 0 generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
18:08:31: Texture: Stevecube_dn.jpg: Loading 1 faces(PF_B8G8R8,512x512x1) with 0 generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
18:08:31: Mesh: Loading Castle.mesh.
18:08:31: Texture: Wall01.jpg: Loading 1 faces(PF_B8G8R8,256x256x1) with 0 generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
18:08:31: Texture: Wood01.jpg: Loading 1 faces(PF_B8G8R8,253x299x1) with 0 generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x512x1.
18:08:31: Texture: Wood02.jpg: Loading 1 faces(PF_B8G8R8,256x256x1) with 0 generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
18:08:31: Texture: Floor02.jpg: Loading 1 faces(PF_B8G8R8,256x256x1) with 0 generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
18:08:31: Texture: Roof03.jpg: Loading 1 faces(PF_B8G8R8,256x256x1) with 0 generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
18:08:31: Texture: Wall02.jpg: Loading 1 faces(PF_B8G8R8,256x256x1) with 0 generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
18:08:31: Texture: Floor04.jpg: Loading 1 faces(PF_B8G8R8,256x256x1) with 0 generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
18:08:31: Texture: spot_shadow_fade.png: Loading 1 faces(PF_B8G8R8,128x128x1) with 0 generated mipmaps from Image. Internal format is PF_X8R8G8B8,128x128x1.
 
			 
			
					
				
				Posted: Tue Feb 07, 2006 6:16 pm
				by Thalius
				Thx Comtois.
Mine stops suddenly .. eg just writes this:
18:16:39: Creating resource group General
18:16:39: Registering ResourceManager for type Material
18:16:39: Registering ResourceManager for type Mesh
18:16:39: Registering ResourceManager for type Skeleton
18:16:39: OverlayElementFactory for type Panel registered.
18:16:39: OverlayElementFactory for type BorderPanel registered.
18:16:39: OverlayElementFactory for type TextArea registered.
18:16:39: Registering ResourceManager for type Font
18:16:39: ArchiveFactory for archive type FileSystem registered.
18:16:39: ArchiveFactory for archive type Zip registered.
18:16:39: DevIL version: Developer's Image Library (DevIL) 1.6.7 Aug 15 2005
18:16:39: DevIL image formats: jpg jpe jpeg pcx png tga vda icb vst raw 
18:16:39: Registering ResourceManager for type HighLevelGpuProgram
18:16:39: Direct3D7 Rendering Subsystem created.
18:16:39: ----- DirectDraw Detection Starts
18:16:39: Detected DirectDraw driver Primärer Anzeigetreiber
18:16:39: ----- DirectDraw Detection Ends
18:16:39: Particle Emitter Type 'Point' registered
18:16:39: Particle Emitter Type 'Box' registered
18:16:39: Particle Emitter Type 'Ellipsoid' registered
18:16:39: Particle Emitter Type 'Cylinder' registered
18:16:39: Particle Emitter Type 'Ring' registered
18:16:39: Particle Emitter Type 'HollowEllipsoid' registered
18:16:39: Particle Affector Type 'LinearForce' registered
18:16:39: Particle Affector Type 'ColourFader' registered
18:16:39: Particle Affector Type 'ColourFader2' registered
18:16:39: Particle Affector Type 'ColourImage' registered
18:16:39: Particle Affector Type 'ColourInterpolator' registered
18:16:39: Particle Affector Type 'Scaler' registered
18:16:39: Particle Affector Type 'Rotator' registered
18:16:39: TerrainSceneManager: Registered a new PageSource for type Heightmap
18:16:39: Registering ResourceManager for type BspLevel
18:16:39: *-*-* OGRE Initialising
18:16:39: *-*-* Version 1.0.6 (Azathoth)
The Buggy Example runs fine on teh otehr hand. Registers Textures and Objects nicely.
EDIT: hmmm.. starting to wonder if the d3d9dx lib is needed... since i just noticed i am missing that, however the other examples run fine on the other hand. *scratches head*
EDIT2: Updated dll s .. still nothing.. same on my other Machine ... hmm and yes i use the Beta 1 Engine3d.dll and the stl from /beta dir
Thalius
 
			 
			
					
				
				Posted: Wed Feb 08, 2006 12:42 pm
				by Comtois
				here is a simple source (without collision) , can you try ?
Code: Select all
;Comtois 07/02/06
;PB4.0 Beta 1
;-Initialisation
If ExamineDesktops()
  ScreenWidth  = DesktopWidth(0)
  ScreenHeight = DesktopHeight(0)
  ScreenDepth  = DesktopDepth(0)
Else
  End
EndIf
  
If InitEngine3D() = 0
  MessageRequester( "Erreur" , "Impossible d'initialiser la 3D , vérifiez la présence de engine3D.dll" , 0 )
  End
EndIf
 Add3DArchive("Data\"        , #PB_3DArchive_FileSystem)  
 Add3DArchive("Data\skybox.zip", #PB_3DArchive_Zip)
 Parse3DScripts()
If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0 
  MessageRequester( "Erreur" , "Impossible d'initialiser DirectX 7 Ou plus" , 0 )
  End
ElseIf OpenScreen( ScreenWidth , ScreenHeight , ScreenDepth , "Demo 3D" ) = 0
  MessageRequester( "Erreur" , "Impossible d'ouvrir l'écran " , 0 )
  End
EndIf
#PlayerSpeed = 7
;- Camera
CreateCamera(0, 0, 0 , 100 , 100)
CameraLocate(0,200,130,300)
AmbientColor(RGB(5,5,5))
;-Light
CreateLight(0,RGB(255,255,0))
;-SkyBox
SkyBox("Stevecube.jpg")
;-Mesh
Castle = LoadMesh(#PB_Any, "Castle.Mesh")
CreateEntity(#PB_Any, MeshID(Castle), 0) 
Define.f KeyX,KeyY,MouseX,MouseY
Repeat
	;ClearScreen(0)
	If ExamineKeyboard()
        
          If KeyboardPushed(#PB_Key_Left)
            KeyX = -#PlayerSpeed
          ElseIf KeyboardPushed(#PB_Key_Right)
            KeyX = #PlayerSpeed
          Else
            KeyX = 0
          EndIf
                    
          If KeyboardPushed(#PB_Key_Up)
            KeyY = -#PlayerSpeed
          ElseIf KeyboardPushed(#PB_Key_Down)
            KeyY = #PlayerSpeed
          Else
            KeyY = 0
          EndIf
          
        EndIf
        
        ExamineMouse()
        MouseX = -(MouseDeltaX()/5)*#PlayerSpeed/2
        MouseY =  -(MouseDeltaY()/5)*#PlayerSpeed/2
        
        RotateCamera(0, MouseX, MouseY, 0)
        MoveCamera(0, KeyX, 0, KeyY)
        RenderWorld()
        
        FlipBuffers()
   
Until KeyboardPushed(#PB_Key_Escape)
 
			 
			
					
				
				Posted: Wed Feb 08, 2006 5:32 pm
				by J. Baker
				Nice examples Comtois.  

  Looking forward to working with 3D in PB myself. Been waiting for this for some time now. Also, here's a cool terain editor that exports to the mesh format, 
http://freeworld3d.org/ .
 
			 
			
					
				
				Posted: Wed Feb 08, 2006 6:45 pm
				by THCM
				@Comtois - Do you know what "Parse3DScripts()" do? Does it load the existing .material scripts?