[Linux]Laby3D

Généralités sur la programmation 3D
Anonyme

[Linux]Laby3D

Message 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
Dernière modification par Anonyme le dim. 30/mars/2008 6:38, modifié 2 fois.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

ça a l'air chouette dit donc :)

tu devrai poster ça sur le forum anglais , ils vont baver :)
Avatar de l’utilisateur
venom
Messages : 3128
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message 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: .



@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Message par Patrick88 »

pourquoi ça ce lance pas avec la xandros sur le eeepc ?

pat
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

Ca a l'air bien !
Par contre je ne sais pas comment on le lance sur Ubuntu ?
Anonyme

Message 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



:?
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

Et ça fait que dalle lol
cha0s
Messages : 681
Inscription : sam. 05/mars/2005 16:09

Message 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 ?
Anonyme

Message par Anonyme »

j'ai mis a jour l'archive, peut on me faire un topo? :cry:
cha0s
Messages : 681
Inscription : sam. 05/mars/2005 16:09

Message par cha0s »

j'ai toujour la meme chose il cherche la lib dans /home/jerome/Desktop/B-ENGINE/bin/Release/SDK/./lib/./
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message 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...
Anonyme

Message par Anonyme »

J'ai du me tromper lors de l'upload , peut tu réessayer chaos ? merci de ta patience :D
Anonyme

Message par Anonyme »

j'viens de m'apercevoir que ce ne marche pas mieux , je ne sais vraiement pas pourquoi :(
cha0s
Messages : 681
Inscription : sam. 05/mars/2005 16:09

Message par cha0s »

si tu montre un peu les sources ou pourra peut etre t'aider ^^
Anonyme

Message 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"
Répondre