PureBasic 5.00 Beta 2 Exemples
Re: PureBasic 5.00 Beta 2 Exemples
Un exemple qui montre l'usage des commandes :
SetEntityAttribute(Sphere, #PB_Entity_MaxVelocity, 80) ; Pour limiter la vitesse de la boule
EntityLinearFactor(Sphere, 0.7, 0, 0.7) ; Pour que la boule reste sur le plateau et ne soit pas expédiée dans les étoiles (l'axe Y est à zéro)
(faudra que je trouve un autre exemple plus parlant que celui là !)
SetEntityAttribute(Sphere, #PB_Entity_MaxVelocity, 80) ; Pour limiter la vitesse de la boule
EntityLinearFactor(Sphere, 0.7, 0, 0.7) ; Pour que la boule reste sur le plateau et ne soit pas expédiée dans les étoiles (l'axe Y est à zéro)
(faudra que je trouve un autre exemple plus parlant que celui là !)
Code : Tout sélectionner
;
; ------------------------------------------------------------
;
; PureBasic - Flipper
;
; (c) 2011 - Fantaisie Software
;
; ------------------------------------------------------------
;
IncludeFile "Screen3DRequester.pb"
#PB_Entity_MaxVelocity = 10
#CameraSpeed = 1
#Nb = 30
Define.f KeyX, KeyY, MouseX, MouseY, Angle = 145
Dim Planche(#Nb)
If InitEngine3D()
Add3DArchive("Data/Textures", #PB_3DArchive_FileSystem)
Add3DArchive("Data/Scripts",#PB_3DArchive_FileSystem)
Add3DArchive("Data/Packs/desert.zip", #PB_3DArchive_Zip)
Parse3DScripts()
InitSprite()
InitKeyboard()
InitMouse()
If Screen3DRequester()
WorldShadows(#PB_Shadow_Modulative)
;-Materials
CreateMaterial(0, LoadTexture(0, "Wood.jpg"))
GetScriptMaterial(1, "SphereMap/SphereMappedRustySteel")
GetScriptMaterial(2, "Color/Blue")
GetScriptMaterial(3, "Scene/GroundBlend")
;-Ground
CreatePlane(0, 100, 100, 10, 10, 15, 15)
CreateEntity(0,MeshID(0),MaterialID(3), 0, 0, 0)
EntityRenderMode(0, 0)
EntityPhysicBody(0, #PB_Entity_BoxBody, 0, 0, 1)
;-Mesh
CreateCube(1, 1.0)
CreateSphere(2, 2, 30, 30)
CreateCylinder(3, 2, 10)
;-Entity
Sphere = CreateEntity(#PB_Any, MeshID(2), MaterialID(1), 21, 2.1, 0)
EntityPhysicBody(Sphere, #PB_Entity_SphereBody, 0.5, 1, 1)
EntityLinearFactor(Sphere, 0.7, 0, 0.7)
; Cadre
BiaisD = CreateEntity(#PB_Any, MeshID(1), MaterialID(2), 20, 2, -40)
ScaleEntity(BiaisD, 10, 4, 1)
RotateEntity(BiaisD, 0, -45, 0)
EntityPhysicBody(BiaisD, #PB_Entity_BoxBody, 0, 1, 1)
Haut = CreateEntity(#PB_Any, MeshID(1), MaterialID(2), 0, 2, -45)
ScaleEntity(Haut, 50, 4, 1)
EntityPhysicBody(Haut, #PB_Entity_BoxBody, 0, 1, 1)
Bas = CreateEntity(#PB_Any, MeshID(1), MaterialID(2), 0, 2, 45)
ScaleEntity(Bas, 50, 4, 1)
EntityPhysicBody(Bas, #PB_Entity_BoxBody, 0, 1.5, 1)
Gauche = CreateEntity(#PB_Any, MeshID(1), MaterialID(2), -25, 2, 0)
ScaleEntity(Gauche, 1, 4, 90)
EntityPhysicBody(Gauche, #PB_Entity_BoxBody, 0, 1, 1)
Droit = CreateEntity(#PB_Any, MeshID(1), MaterialID(2), 25, 2, 0)
ScaleEntity(Droit, 1, 5, 90)
EntityPhysicBody(Droit, #PB_Entity_BoxBody, 0, 1, 1)
Couloir = CreateEntity(#PB_Any, MeshID(1), MaterialID(2), 17, 2, 10)
ScaleEntity(Couloir, 1, 4, 70)
EntityPhysicBody(Couloir, #PB_Entity_BoxBody, 0, 0.1, 1)
; Bumper
Cylinder = CreateEntity(#PB_Any, MeshID(3), MaterialID(0), 0, 0, -16)
EntityPhysicBody(Cylinder, #PB_Entity_CylinderBody, 0, 1.5, 1)
Cylinder = CreateEntity(#PB_Any, MeshID(3), MaterialID(0), 0, 0, 0)
EntityPhysicBody(Cylinder, #PB_Entity_CylinderBody, 0, 1.5, 1)
Cylinder = CreateEntity(#PB_Any, MeshID(3), MaterialID(0), -8, 0, -8)
EntityPhysicBody(Cylinder, #PB_Entity_CylinderBody, 0, 1.5, 1)
Cylinder = CreateEntity(#PB_Any, MeshID(3), MaterialID(0), 8, 0, -8)
EntityPhysicBody(Cylinder, #PB_Entity_CylinderBody, 0, 1.5, 1)
Cylinder = CreateEntity(#PB_Any, MeshID(3), MaterialID(0), 0, 0, 32)
EntityPhysicBody(Cylinder, #PB_Entity_CylinderBody, 0, 1.5, 1)
;-Camera
CreateCamera(0, 0, 0, 100, 100)
CameraLocate(0, 0, 35, 70)
CameraLookAt(0, 0, 0, 10)
;-Skybox
SkyBox("desert07.jpg")
;-Light
CreateLight(0, RGB(255, 255, 255), 100, 800, -500)
AmbientColor(RGB(20, 20, 20))
Repeat
Screen3DEvents()
If ExamineMouse()
MouseX = -MouseDeltaX() * #CameraSpeed * 0.05
MouseY = -MouseDeltaY() * #CameraSpeed * 0.05
EndIf
If ExamineKeyboard()
If KeyboardPushed(#PB_Key_Space)
ApplyEntityImpulse(Sphere, 0, 0, -30)
EndIf
If KeyboardPushed(#PB_Key_LeftShift)
ApplyEntityImpulse(Sphere, 3, 0, 0)
EndIf
If KeyboardPushed(#PB_Key_RightShift)
ApplyEntityImpulse(Sphere, -3, 0, 0)
EndIf
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
EndIf
ApplyEntityImpulse(Sphere, 0, 0, 0.3)
SetEntityAttribute(Sphere, #PB_Entity_MaxVelocity, 80)
MoveCamera (0, KeyX, 0, KeyY)
RotateCamera(0, MouseY, MouseX, 0, #PB_Relative)
RenderWorld()
Screen3DStats()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape) Or Quit = 1
EndIf
Else
MessageRequester("Error", "The 3D Engine can't be initialized",0)
EndIf
End
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Re: PureBasic 5.00 Beta 2 Exemples
salut
J'ai commencé à tester tous les exemples, ils sont tops !
J'ai voulu en mixant certains entre eux, mais je n'ai pas réussi, je ne sais pas si c'est possible.
J'ai voulu mixer :
- character.pb (comtois je crois)
- rustyball.pb (g-rom)
Et visiblement, comme je dois activer opengl, ça ne marche plus avec l'exemple de character.pb dommage pour moi ^^.
je vais faire d'autres tests
.
J'ai commencé à tester tous les exemples, ils sont tops !

J'ai voulu en mixant certains entre eux, mais je n'ai pas réussi, je ne sais pas si c'est possible.
J'ai voulu mixer :
- character.pb (comtois je crois)
- rustyball.pb (g-rom)
Et visiblement, comme je dois activer opengl, ça ne marche plus avec l'exemple de character.pb dommage pour moi ^^.
je vais faire d'autres tests

http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Re: PureBasic 5.00 Beta 2 Exemples
rustyball est adaptable en changeant les shaders, a l'époque , je l'ai codé sous linux , donc glsl, si tu taquines un peu hlsl , c'est convertible , surtout que le shader est facile.
Re: PureBasic 5.00 Beta 2 Exemples
G-rom, Rustyball tout seul fonctionne très bien chez moi. Le problème vient en fait de l'autre scène (character.pb).
J'ai un peut cherché et il est possible (mais pas sûr) que l'origine du problème soit la fonction Parse3DScripts() pour certaines de ces scènes. Mais avec d'autres scènes utilisant cette fonction, il n'y a aucun problème en opengl. Donc pas certain que ça vienne de là directement.
Voici les scènes qui posent problèmes (en opengl) :
- les scènes avec un terrain : le terrain bug (on voit une sorte plan vertical blanc à la place)
- les scènes avec createwater : ça se lance, mais le rendu est différent (pb lié au shader), c'est pas très grave, mais je le signale juste au cas où
Voici les scènes qui font un Crash du programme (en opengl) :
- les scènes avec animations (EA01-EntityAnimation.pb...)
- character.pb
- rotatelight.pb, lightattenuation.pb, lightdirection.pb
- les scenes avec entitybone
- WorldShadows.pb
- CreateRenderTexture.pb
- RayPick.pb, RayPick_LightDirection.pb
- SaveRenderTexture.pb
Ces scènes tournent-elle sous linux et mac malgré le fait qu'elles ne fonctionnent pas bien avec opengl ?
Voici l'erreur que j'ai en lançant certaines scènes avec opengl comme sous-system :

Scènes qui fonctionnent parfaitement avec opengl (même avec Parse3DScripts())
- NA01-NodeAnimation.pb
- GetScriptParticle.pb
- FogMaterial.pb
- AttachNodeObject.pb
- CameraLookAt.pb
- CreateTexture.pb
- ReloadMaterial.pb, ResetMaterial.pb
- SplinePursuit.pb
voilà, j'espère que cela vous sera utile
.
En tout cas, encore bravo parce que c'est vraiment top tout ça
J'ai un peut cherché et il est possible (mais pas sûr) que l'origine du problème soit la fonction Parse3DScripts() pour certaines de ces scènes. Mais avec d'autres scènes utilisant cette fonction, il n'y a aucun problème en opengl. Donc pas certain que ça vienne de là directement.
Voici les scènes qui posent problèmes (en opengl) :
- les scènes avec un terrain : le terrain bug (on voit une sorte plan vertical blanc à la place)
- les scènes avec createwater : ça se lance, mais le rendu est différent (pb lié au shader), c'est pas très grave, mais je le signale juste au cas où
Voici les scènes qui font un Crash du programme (en opengl) :
- les scènes avec animations (EA01-EntityAnimation.pb...)
- character.pb
- rotatelight.pb, lightattenuation.pb, lightdirection.pb
- les scenes avec entitybone
- WorldShadows.pb
- CreateRenderTexture.pb
- RayPick.pb, RayPick_LightDirection.pb
- SaveRenderTexture.pb
Ces scènes tournent-elle sous linux et mac malgré le fait qu'elles ne fonctionnent pas bien avec opengl ?
Voici l'erreur que j'ai en lançant certaines scènes avec opengl comme sous-system :

Scènes qui fonctionnent parfaitement avec opengl (même avec Parse3DScripts())
- NA01-NodeAnimation.pb
- GetScriptParticle.pb
- FogMaterial.pb
- AttachNodeObject.pb
- CameraLookAt.pb
- CreateTexture.pb
- ReloadMaterial.pb, ResetMaterial.pb
- SplinePursuit.pb
voilà, j'espère que cela vous sera utile

En tout cas, encore bravo parce que c'est vraiment top tout ça

http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Re: PureBasic 5.00 Beta 2 Exemples
Je n'ai pas ce problème en opengl avec les exemples que tu mentionnes (j'en ai testé une poignée).
Qu'est-ce qu'il y a dans ton Ogre.log ?
Par contre au bout d'un moment j'ai un plantage qui semble lié à la souris ? Mais je n'ai pas ton message.
Si j'ajoute la gestion de la souris par CEGUI alors je n'ai plus de plantage (test réalisé avec LightLookAt.pb qui se trouve dans le répertoire PureBasic\Examples\3D\)
Qu'est-ce qu'il y a dans ton Ogre.log ?
Par contre au bout d'un moment j'ai un plantage qui semble lié à la souris ? Mais je n'ai pas ton message.
Si j'ajoute la gestion de la souris par CEGUI alors je n'ai plus de plantage (test réalisé avec LightLookAt.pb qui se trouve dans le répertoire PureBasic\Examples\3D\)
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Re: PureBasic 5.00 Beta 2 Exemples
je viens de tester lightattenuation.pb, et ça plante avec le même message que l'image posté.
Voici le log d'ogre :
Voici le log d'ogre :
Code : Tout sélectionner
13:00:20: Creating resource group General
13:00:20: Creating resource group Internal
13:00:20: Creating resource group Autodetect
13:00:20: SceneManagerFactory for type 'DefaultSceneManager' registered.
13:00:20: Registering ResourceManager for type Material
13:00:20: Registering ResourceManager for type Mesh
13:00:20: Registering ResourceManager for type Skeleton
13:00:20: MovableObjectFactory for type 'ParticleSystem' registered.
13:00:20: OverlayElementFactory for type Panel registered.
13:00:20: OverlayElementFactory for type BorderPanel registered.
13:00:20: OverlayElementFactory for type TextArea registered.
13:00:20: Registering ResourceManager for type Font
13:00:20: ArchiveFactory for archive type FileSystem registered.
13:00:20: ArchiveFactory for archive type Zip registered.
13:00:20: ArchiveFactory for archive type EmbeddedZip registered.
13:00:20: DDS codec registering
13:00:20: FreeImage version: 3.10.0
13:00:20: This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
13:00:20: Supported formats: bmp,ico,jpg,jif,jpeg,jpe,koa,iff,lbm,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,cut,xbm,xpm,dds,gif,g3,sgi,j2k,j2c,jp2
13:00:20: PVRTC codec registering
13:00:20: Registering ResourceManager for type HighLevelGpuProgram
13:00:20: Registering ResourceManager for type Compositor
13:00:20: MovableObjectFactory for type 'Entity' registered.
13:00:20: MovableObjectFactory for type 'Light' registered.
13:00:20: MovableObjectFactory for type 'BillboardSet' registered.
13:00:20: MovableObjectFactory for type 'ManualObject' registered.
13:00:20: MovableObjectFactory for type 'BillboardChain' registered.
13:00:20: MovableObjectFactory for type 'RibbonTrail' registered.
13:00:20: *-*-* OGRE Initialising
13:00:20: *-*-* Version 1.8.0 (Byatis)
13:00:20: D3D9 : Direct3D9 Rendering Subsystem created.
13:00:20: D3D9: Driver Detection Starts
13:00:20: D3D9: Driver Detection Ends
13:00:20: OpenGL Rendering Subsystem created.
13:00:20: Particle Emitter Type 'Point' registered
13:00:20: Particle Emitter Type 'Box' registered
13:00:20: Particle Emitter Type 'Ellipsoid' registered
13:00:20: Particle Emitter Type 'Cylinder' registered
13:00:20: Particle Emitter Type 'Ring' registered
13:00:20: Particle Emitter Type 'HollowEllipsoid' registered
13:00:20: Particle Affector Type 'LinearForce' registered
13:00:20: Particle Affector Type 'ColourFader' registered
13:00:20: Particle Affector Type 'ColourFader2' registered
13:00:20: Particle Affector Type 'ColourImage' registered
13:00:20: Particle Affector Type 'ColourInterpolator' registered
13:00:20: Particle Affector Type 'Scaler' registered
13:00:20: Particle Affector Type 'Rotator' registered
13:00:20: Particle Affector Type 'DirectionRandomiser' registered
13:00:20: Particle Affector Type 'DeflectorPlane' registered
13:00:20: PCZone Factory Type 'ZoneType_Default' registered
13:00:20: CPU Identifier & Features
13:00:20: -------------------------
13:00:20: * CPU ID: GenuineIntel: Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz
13:00:20: * SSE: yes
13:00:20: * SSE2: yes
13:00:20: * SSE3: yes
13:00:20: * MMX: yes
13:00:20: * MMXEXT: yes
13:00:20: * 3DNOW: no
13:00:20: * 3DNOWEXT: no
13:00:20: * CMOV: yes
13:00:20: * TSC: yes
13:00:20: * FPU: yes
13:00:20: * PRO: yes
13:00:20: * HT: no
13:00:20: -------------------------
13:00:20: *** Starting Win32GL Subsystem ***
13:00:20: Registering ResourceManager for type Texture
13:00:20: SceneManagerFactory for type 'OctreeSceneManager' registered.
13:00:20: SceneManagerFactory for type 'BspSceneManager' registered.
13:00:20: Registering ResourceManager for type BspLevel
13:00:20: Added resource location './Data/Textures' of type 'FileSystem' to resource group 'General'
13:00:20: Added resource location './Data/Scripts' of type 'FileSystem' to resource group 'General'
13:00:20: Added resource location './Data/Packs/desert.zip' of type 'Zip' to resource group 'General'
13:00:20: Parsing scripts for resource group Autodetect
13:00:20: Finished parsing scripts for resource group Autodetect
13:00:20: Creating resources for group Autodetect
13:00:20: All done
13:00:20: Parsing scripts for resource group General
13:00:20: Parsing script Color.material
13:00:20: Parsing script CubeMap.material
13:00:20: Parsing script Earth.material
13:00:20: Parsing script Examples.material
13:00:20: Parsing script facial.material
13:00:20: Parsing script particle.material
13:00:20: Parsing script ReloadMaterial.material
13:00:20: Parsing script ResetMaterial.material
13:00:20: Parsing script Rusty.material
http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Re: PureBasic 5.00 Beta 2 Exemples
ça s'arrête à cette ligne
C'est la fautive, vire ce script et ça devrait fonctionner.13:00:20: Parsing script Rusty.material
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Re: PureBasic 5.00 Beta 2 Exemples
C'est "normal" , Ogre à les code hlsl en dur au seins de son code.Voici les scènes qui posent problèmes (en opengl) :
- les scènes avec un terrain : le terrain bug (on voit une sorte plan vertical blanc à la place)
- les scènes avec createwater : ça se lance, mais le rendu est différent (pb lié au shader), c'est pas très grave, mais je le signale juste au cas où
on n'a pas fait de conversion pour le moment. l'alternative via cg est envisagé par Fred, mais rien n'est encore fait à ce niveau.
Re: PureBasic 5.00 Beta 2 Exemples
Comtois : effectivement, ça marche comme ça.
G-rom : ah ok, je comprends. cela signifie que pour le moment, terrain et water ne marchent pas encore parfaitement sous linux/mac ?
G-rom : ah ok, je comprends. cela signifie que pour le moment, terrain et water ne marchent pas encore parfaitement sous linux/mac ?
http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Re: PureBasic 5.00 Beta 2 Exemples
Pour faire un retour sur les exemples fournis :
Sur une petite configuration, xp 32, carte graphique nvidia avec 128 Mo de ram, les exemples de Comtois fonctionnent très bien sauf cameraview qui a un affichage clignotant et pour les exemples de G-Rom, tout marche bien aussi sauf que c'est d'une grande lenteur avec ou sans débogueur. Probablement dû à la taille des images (?).
Mesa.
Sur une petite configuration, xp 32, carte graphique nvidia avec 128 Mo de ram, les exemples de Comtois fonctionnent très bien sauf cameraview qui a un affichage clignotant et pour les exemples de G-Rom, tout marche bien aussi sauf que c'est d'une grande lenteur avec ou sans débogueur. Probablement dû à la taille des images (?).
Mesa.
Re: PureBasic 5.00 Beta 2 Exemples
Hello,
Merci pour les apports de la 5.0 et les exemples !
Résultats un peu comme Mesa mais je n'ai pas encore testé sur mon portable du boulot (tout neuf i5).
Je prépare un point plus précis, en tous les cas Water =0k et la fonction terrain multiple c'est great
Bravo, bravo
Merci pour les apports de la 5.0 et les exemples !
Résultats un peu comme Mesa mais je n'ai pas encore testé sur mon portable du boulot (tout neuf i5).
Je prépare un point plus précis, en tous les cas Water =0k et la fonction terrain multiple c'est great
Bravo, bravo

Only PureBasic makes it possible
Re: PureBasic 5.00 Beta 2 Exemples
Pensez aussi à tester les exemples de votre répertoire PureBasic\Examples\3D , ils sont tous à jour pour la 5.00 y compris Sound3D.pb.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.