Page 1 sur 3

[Linux]Laby3D

Publié : lun. 24/mars/2008 21:07
par Anonyme
Voici une démo jouable du p'tit labyrinthe que je suis en train de réalisé sous linux. :

- Gestion des collisions
- y a une sortie du laby :D

je remercie aussi Comtois , j'ai piqué ton code sur les axes séparateurs pour les collisions , c'est au poil :D

http://www.assembla.com/spaces/c7T_Q0cI ... ame=LABY3D

et une t'ite vidéo :

http://www.dailymotion.com/video/x4w7y7 ... ic-3d_tech


la prochaine fois, y aura des portes , des boutons , j'éspère les sprites pour un éventuel hud.
Au niveau du gameplay , peut être que des chronos à récupérer sinon le temps s'écoule, ou bien une chasse aux boutons pour ouvrir des portes...
bref , si vous avez des idées , faite le savoir :D



Image

Image
Image





C'est la première appli 3D sous linux en purebasic non ? :D

Publié : mar. 25/mars/2008 0:54
par Backup
ça a l'air chouette dit donc :)

tu devrai poster ça sur le forum anglais , ils vont baver :)

Publié : mar. 25/mars/2008 6:36
par venom
c'est vrai que le rendu en jette pas mal 8O. bravo Cpl.Bator.
malheureusement je viens de formater mon portable avec kubuntu dedans, si non j'aurais testé sans problème :wink: .



@++

Publié : mar. 25/mars/2008 11:41
par Patrick88
pourquoi ça ce lance pas avec la xandros sur le eeepc ?

pat

Publié : mar. 25/mars/2008 11:45
par wolfjeremy
Ca a l'air bien !
Par contre je ne sais pas comment on le lance sur Ubuntu ?

Publié : mar. 25/mars/2008 11:53
par Anonyme
xandros sur le eeepc
Lance le via une console , tu auras plus d'infos si il y a des erreurs.
Par contre je ne sais pas comment on le lance sur Ubuntu ?
- Tu le décompresse
- Tu double clique sur démo



:?

Publié : mar. 25/mars/2008 12:07
par wolfjeremy
Et ça fait que dalle lol

Publié : mar. 25/mars/2008 12:57
par cha0s
il y a un petit soucis de path xD

chaos@chaos:~/download/UbuntuTest3D-1$ ./Demo
./Demo: error while loading shared libraries: /home/jerome/Desktop/B-ENGINE/bin/Release/SDK/./lib/./BasicEngine.so: cannot open shared object file: No such file or directory


Edit : sinon c'est quoi cette petite lib qui a l'air sympathique ?

Publié : mar. 25/mars/2008 13:11
par Anonyme
j'ai mis a jour l'archive, peut on me faire un topo? :cry:

Publié : mar. 25/mars/2008 13:14
par cha0s
j'ai toujour la meme chose il cherche la lib dans /home/jerome/Desktop/B-ENGINE/bin/Release/SDK/./lib/./

Publié : mar. 25/mars/2008 17:06
par wolfjeremy
Cpl.Bator a écrit :j'ai mis a jour l'archive, peut on me faire un topo? :cry:
Perso il se passe toujours rien quand je clique sur l'exécutable...

Publié : mar. 25/mars/2008 18:24
par Anonyme
J'ai du me tromper lors de l'upload , peut tu réessayer chaos ? merci de ta patience :D

Publié : mar. 25/mars/2008 18:26
par Anonyme
j'viens de m'apercevoir que ce ne marche pas mieux , je ne sais vraiement pas pourquoi :(

Publié : mar. 25/mars/2008 20:42
par cha0s
si tu montre un peu les sources ou pourra peut etre t'aider ^^

Publié : mar. 25/mars/2008 20:46
par Anonyme
le problème viens certainement de Import & ImportC , j'vais essayé avec les prototypes à la place. fé chié... :cry:
a mon avis avec import/importc les lib doivent être dans usr/lib , si elle n'est pas inscrite dans les variables d'environement.

Ca va rien donné...
IncludeFile "./OpenGL.pbi"

Structure BE_COLOR
R.b : G.b : B.b : A.b
EndStructure

Structure BE_VECTOR3
X.f : Y.f : Z.f
EndStructure

;-CONSTANTES
Global RADIAN.q = 0.0174532


Import "./BasicEngine.so"

;-engine funcs
BE_InitEngine.l()
BE_RenderWorld(*CCamera)

BE_BeginScene()
BE_EndScene()

BE_EnableZBuffer()
BE_DisableZBuffer()

;- Primitives funcs
BE_CreateCube.l(*Parent = #Null)
BE_CreateSphere.l(Radius.f,Iteration.l,*Parent = #Null)

;- Entity funcs
BE_EntityRendering(*CEntity,*CEntity_Camera)
BE_TranslateEntity(*CEntity,x.f, y.f, z.f, glob.b=#False)
BE_TurnEntity(*CEntity,x.f, y.f, z.f, glob.b=#False)
BE_RotateEntity(*CEntity,x.f, y.f, z.f, glob.b=#False)
BE_PositionEntity(*CEntity,x.f, y.f, z.f, glob.b=#False)
BE_ScaleEntity(*CEntity,x.f, y.f, z.f, glob.b=#False)
BE_MoveEntity(*CEntity,x.f, y.f, z.f)
BE_GetEntityX.f(*CEntity, glob.b=#False)
BE_GetEntityY.f(*CEntity, glob.b=#False)
BE_GetEntityZ.f(*CEntity, glob.b=#False)
BE_GetEntityPitch.f(*CEntity, glob.b=#False)
BE_GetEntityYaw.f(*CEntity, glob.b=#False)
BE_GetEntityRoll.f(*CEntity, glob.b=#False)
BE_PointEntity(*CEntity_Source ,*CEntity_target,roll.f)
BE_EntityWired(*CEntity,state.b)
BE_CountChildreen(*CEntity)
BE_CreatePivot(*Parent=#Null)
BE_SetEntityMesh(*CMesh,*Parent = #Null)
BE_GetEntityNameID.l(*CEntity)

;- Camera funcs
BE_CreateCamera.l(width,height,*Parent = #False)
BE_SetCamera(*Camera,fov.f,ratio.f,near.f,far.f)

;-FOG
BE_ActivateFog(state.b,FogStart.f=0.1,FogEnd.f=0.5,FogDensity.f=0.35)
BE_SetFogColor(red.f,green.f,blue.f,alpha.f)
BE_SetFogFilter(filter) ;0 1 2


;- Picking opérations
BE_PickingOnScene(*CCamera,x,y)
BE_PickedX.d()
BE_PickedY.d()
BE_PickedZ.d()



;- Light funcs
BE_CreateLight.l(num_ordre.l,type.b,*Parent = #False)
BE_SetLightAmbient(*CLight,red.f,green.f,blue.f,w.f=1)
BE_SetLightDiffuse(*CLight,red.f,green.f,blue.f,w.f=1)
BE_SetLightSpecular(*CLight,red.f,green.f,blue.f,w.f=1)
BE_SetLightShininess(*CLight,value.f)
BE_SetLightDirection(*CLight,x.f,y.f,z.f)
BE_SetLightCutOff(*CLight,value.f)
BE_SetLightConstantAttenuation(*CLight,value.f)
BE_SetLightLinearAttenuation(*CLight,value.f)
BE_SetLightQuadraticAttenuation(*CLight,value.f)
BE_SetLightExponent(*CLight,value)



;-Mesh funcs
BE_CreateMesh.l()
BE_AddVertex.l(*CMesh, x.f , y.f , z.f , u.f , v.f , color.l=0)
BE_AddFace.l(*CMesh,A.l,B.l,C.l)
BE_SetVertexColor.b(*CMesh, vertice.l , r.f , g.f , b.f)
BE_RenderingMesh(*CMesh)
BE_UpdateNormal(*CMesh)
BE_CountVertices.l(*CMesh)
BE_TranslateMesh(*CMesh, x.f, y.f, z.f)
BE_RotateMesh(*CMesh, x.f, y.f, z.f)
BE_ScaleMesh(*CMesh, x.f, y.f, z.f)

;- Material func
BE_CreateMaterial.l()
BE_SetMaterialTexture(*CMaterial,*CTexture)
BE_SetMaterialAmbient(*CMaterial,red.f,green.f,blue.f,w.f=1)
BE_SetMaterialDiffuse(*CMaterial,red.f,green.f,blue.f,w.f=1)
BE_SetMaterialSpecular(*CMaterial,red.f,green.f,blue.f,w.f=1)
BE_SetMaterialEmissive(*CMaterial,red.f,green.f,blue.f,w.f=1)
BE_SetMaterialShininess(*CMaterial,value.f)
BE_SetEntityMaterial(*CEntity,*CMaterial)

;- Texture func
BE_CreateTexture.l(width, height)
BE_TexturePutPixel(*CTexture, x, y,red.c ,green.c, blue.c, alpha.c)
BE_GenerateTextureID.l(*CEntity,*CTexture)
BE_SetTextureArray(*CTexture,*Array)

EndImport


XIncludeFile "./BasicEngine_PureBasic_Ext.pbi"
XIncludeFile "./Predefined_Materials.pbi"