Page 1 sur 4

Nous avons tous une grosse lacune !

Publié : sam. 22/mars/2008 14:32
par SPH
Salut,

Purebasic a une partie 3D complètement inexploité. Je pense que 99% de ses utilisateurs n'y comprennent pas grand chose et sont loin de pouvoir programmer la moindre petite scene 3D.

Pourquoi ??!!!

Je pose la question : est-ce que fred n'a pas su mettre en avant une conception 3D simple à réaliser ?

Ca se pourrait bien !!

Qu'en pensez vous personnellement ???? :?: :!: :idea:

Publié : sam. 22/mars/2008 14:54
par wolfjeremy
Une simple scène en 3D ce n'est pas bien compliqué avec PB.
Mais les scène complexe, ça devient très dur, surtout par le manque de fonction. Et en plus c'est sur une vieille version de Ogre, pas bien optimisée.

Mais c'est sur que plus d'explication, mènerais plus de monde à faire de la 3D.
Perso j'ai des problèmes de compréhension que ce soit sur PB ou Dreamotion3D.

Publié : sam. 22/mars/2008 14:56
par Anonyme
Perso , je pense que fred à d'autre chat à fouetté que la 3D , c'est pas son objectif , si c'était le cas , il aurais écrit un moteur, pas un langage.
son objectif , je pense est d'avoir une "clientèle" pour le développement d'application burautique. le public "jeux" ne dois pas l'intéresser.
sinon il existe des alternative qu'il ne faut pas oublier : Dreamotion3D
et puis même moi j'arrive à faire de la 3D sous Linux :D

Image

Publié : sam. 22/mars/2008 15:03
par Anonyme
Perso j'ai des problèmes de compréhension que ce soit sur PB ou Dreamotion3D.
A quel niveau ? car faut pas dire que dreamotion soit une usine à gaz , c'est relativement simple quand même. ta pris de mauvaise habitude sous Darkbroussouk :D

Publié : sam. 22/mars/2008 15:19
par Backup
je suis passé a 3dmotion pour une raison simple

c'est beaucoup plus facile pour l'utilisateur nul que je suis en 3D

il suffit d'appeler les commande dreamotion3d , comme on appelle les commandes en DarkBasic , des procedures qui contiennent des parametres... :)
on peut meme charger du 3ds !! :D

ce qui ma rebuté d'entré avec Ogre sous purebasic, c'est la conception d'un mesh "a la main" avec sa pléthores de Data incompréhensible pour le débutant que je suis en 3D !!

bien sur, sous Dream on peut aussi concevoir ses mesh de cette façon, mais je laisse ça au pro... (comtois si tu nous lis :) )

je préfère avoir la possibilité dans un moteur 3D de disposer d'objet primitive tout fait (cube, Tore,Sphere) etc...

et d'avoir la possibilité de charger des objets 3DS fait a l'aide d'un editeur performant fait pour ça, que de me taper des coordonnées a la main...

en plus dreamotion3d permet et permettra (si tmyke ne laisse pas tomber) bien plus...


rien de plus facile sous Dreamotion3D que de creer un cube et de le faire tournoyer sur lui meme :D

Publié : sam. 22/mars/2008 16:57
par Backup
voici l'exemple du cube qui tournoie sous Dreamotion3D , commenté ! :

Code : Tout sélectionner


; savoir que les Axes en Dream sont

; X=haut--Bas (signe pour dire oui avec la tete)
; Y=Droite--Gauche (signe pour dire non avec la tete)
; Z= roll (Tangage droite gauche avec un avion)

; changer le chemin par le votre (c'est le chemin ou se trouve le dossier include)
; ************ on inclue les Dll de Dreamotion3D , cela permet d'accéder au commandes du moteur3D ***************
IncludePath "D:\PureBasic\dobro\Exemple Perso\3Dreammotion\SamplesDM3D\Include\"
IncludeFile "dreamotion3d.pbi"
;****************************************************************************************

InitSprite()
InitKeyboard()
InitMouse()
Handle=DM_Graphics3D(1024,768, 32, #False , #False ) ; on ouvre l'ecran 3D


;- create camera
*camera = DM_CreateCamera() ; on cree une camera et l'identité de la camera sera "*camera"
DM_PositionEntity( *camera , 0, 0, -50) ; on recule la camera  "*camera" pour pouvoir voir notre objet
 

*cube=DM_CreateCube  () ; on creer le cube au coordoné 0,0,0 et l'on recupere l'identité de ce cube dans "*cube"
DM_ScaleEntity( *cube, 10, 10, 10) ; on grossi notre cube  "*cube"  de 10 unites




Repeat
    ExamineKeyboard ()
    ExamineMouse()
    Event = WaitWindowEvent() 
    
    If KeyboardReleased ( #PB_Key_Escape ) Or WindowEvent ()= #PB_Event_CloseWindow ; si escape on quitte
        Quit=1 
    EndIf
    
    If MouseButton(#PB_MouseButton_Left)
        DM_TurnEntity(*camera, MouseDeltaY ()/8,MouseDeltaX ()/8 ,0) ; permet de tourner la camera avec la souris si bouton gauche appuyé
    EndIf
    
    DM_TurnEntity(*cube,0 ,0.1,0) ; on fait tourner notre cube sur l'axe des Y
    
    
    ; Render c'est ce qui permet de voir le resultat !
    DM_BeginScene() 
    DM_RenderWorld(*camera) ; rendu du monde 3D
    DM_EndScene()
    
Until Quit=1

Publié : sam. 22/mars/2008 17:05
par SPH
Je ne sais pas mais je me méfie d'un violent retour de baton de dramotion3D. Je ne sais pas si ce sera le cas mais IMAGINEZ que l'auteur de dreamotion3d dépose un copyright !!!

Je DL ce fichier et je matte ton code (tres court d'ailleur !!)

Publié : sam. 22/mars/2008 17:37
par Backup
SPH a écrit :Je ne sais pas mais je me méfie d'un violent retour de baton de dramotion3D. Je ne sais pas si ce sera le cas mais IMAGINEZ que l'auteur de dreamotion3d dépose un copyright !!!
c'est Tmyke l'auteur, et sache que le Source du moteur est disponible maintenant !!

a ma connaissance, Tmyke ne fera pas ça :)
mais j'attends qu'il l'ecrive lui meme :)

Publié : sam. 22/mars/2008 17:43
par Anonyme
exact , son code est dispo , au passage j'en profite pour le remercier , ca m'aide beaucoup sous linux :D
IMAGINEZ que l'auteur de dreamotion3d dépose un copyright !!!
Aucune chance. si il le fait , c'est avec un autre moteur. pas celui là.

Publié : sam. 22/mars/2008 18:04
par tmyke
Il existe une foule de moteurs et de concept dans ce monde qu'est la 3D temps réél .
Certains de ces moteurs developpés par de vrai compagnie de codeurs de très haut vol, vois leur licence se
vendre plusieurs centaines de milliers de dollars pour ne pas dire plus.

Les concepts d'utilisation se compliquent au fil du temps, les API s'étoffent et même si elles offrent des
possibilités allucinantes, l'energie intellectuelle déployée pour les exploiter est de plus en plus enorme.
Par exmple, avec DX10, le simple affichage d'un cube nescessite un shader...

Il existe plusieurs centaines de moteurs 3D (DevMaster en repertorie à lui seul déjà 284), des plus simples
aux plus compliqués, des gratuis aux plus chers, des plus accessibles au plus incomprehensibles, bref, pas
facile de s'y retrouver surtout quand on débute.

Contrairement à d'autres langages comparables, Fred et son équipe à fait le choix de laisser un peu de coté le
'jeux' et la programmation 2D/3D ludique, pour aller couvrir d'autre domaines de programmation (utilitaire, etc..).
Par exemple le cousin BMax à toujours fait le choix inverse (bien que ces dernier temps on peut se demander...).

Les fonctions 3D de PureBasic n'ont pas évoluées depuis bien longtemps. La question est donc, elle n'ont pas évoluées
parce qu'il n'y a pas d'amateurs dans ce créneau, ou à l'inverse, il n'y a pas d'amateurs dans ce créneau car
cette partie est négligée depuis bien longtemps. Est-ce que si PureBasic intégrait un moteur3D de la mort, cela
doperait la prog de jeux et autres logiciels apparentés ?

Comme le souligne Cpl.Bator, la mise au points d'un moteur digne de ce nom, en partant de zero est un sacrés travail
et je pense que cela ne branche pas plus Fred que cela, il a d'autre chats à fouetter vue les orientations prise par PB.
Quand à integrer un moteur existant, c'est toujours possible, mais lequel ? et à quel prix ? Cette integration
représente à elle seule un gros boulot, d'autant que 90% de ces moteur sont POO, ce qui nescessite pas mal de
travail d'adaptation (cela restera Ogre on peut le penser)...

Maintenant, c'est aussi fonction de ce qu'attendent les passionnés de PureBasic. Si ils veulent un moteur simple,
fun, pour faire de petite appli/jeux sans ce prendre la tête, à la Blitz3D, alors je pense que dans les versions futur,
Fred saura integrer les nouveautés qui s'imposent dans ce domaine pour répondre aux attentes des quelques amateurs de 3D
sous PB, et qui sait, cela développera la communauté dans ce domaine.
Par contre si ils veulent un moteur 'NextGen', au caracteristiques et performances de haut niveau, alors je pense
qu'il ne faut pas rèver. La on joue plus dans la même cours, et pour ceux qui veulent plonger vers ce genre de
sommet, il faut migrer ailleurs. Les concepts à maitriser sont lourd et imposent un investissement personnel
important (rien qu'apprehender les shaders, incontournable , c'est au bas mot un pavé de 500 pages...).

Quand à Dreamotion3D, il est à classer dans les moteurs basic, simple d'emploi, permettant une approche en douceur
et pas trop prise de tête. Même si il permet intrinsequement de realiser beaucoups de jolie choses pour qui s'en
donne un peu la peine. Son plus gros défaut, c'est d'être le projet d'un homme seul, se qui rend toujours sa
perenité fragile...
... et oui, Dreamotion3D est et restera un projet OpenSource, non payant.
Seul peut-etre la partie code source de la version DX10 ne sera pas gratuis, quand elle sortira, mais d'ici là...

;)

Publié : sam. 22/mars/2008 18:12
par comtois
Les fonctions 3D de PureBasic n'ont pas évoluées depuis bien longtemps. La question est donc, elle n'ont pas évoluées
parce qu'il n'y a pas d'amateurs dans ce créneau, ou à l'inverse, il n'y a pas d'amateurs dans ce créneau car
cette partie est négligée depuis bien longtemps. Est-ce que si PureBasic intégrait un moteur3D de la mort, cela
doperait la prog de jeux et autres logiciels apparentés ?
Fred a prévu de faire une grosse mise à jour de la 3D pour la 4.30.
On verra ce que ça donnera. En ce qui me concerne , Les commandes 3D de PB me suffisent presque , je ne veux pas me lancer dans un grand jeu, ça demande trop de compétences en modélisation , et du temps pour coder, deux choses que je n'ai pas. je m'amuse à faire des petits jeux avec des cubes, y"a déjà de quoi faire :)

Publié : sam. 22/mars/2008 18:35
par wolfjeremy
Moi perso j'aime bien DM3D.

J'aimerais me lancer dans un projet 3D, mais les connaissance en modélisation me manque ! et je n'accroche pas du tout à la réalisation d'objet 3d.

Publié : sam. 22/mars/2008 18:37
par Anonyme
Je pense que 99% de ses utilisateurs n'y comprennent pas grand chose et sont loin de pouvoir programmer la moindre petite scene 3D.
y a quand même des ténors de la 3D parmis nous. Tmyke, Comtois , en on fait la preuve, Grâce a tmyke d'ailleurs j'espère pouvoir avoir un dreamotion sous linux pour mon utilisation perso.
Donc on se débrouille pas trop mal je pense. :lol:
Puis faut vraiment aimer se prendre le choux pour réalisé un quelconque moteur, mais c'est tellement agréable quand sa tourne :D

Publié : sam. 22/mars/2008 19:03
par Backup
wolfjeremy a écrit :Moi perso j'aime bien DM3D.

J'aimerais me lancer dans un projet 3D, mais les connaissance en modélisation me manque ! et je n'accroche pas du tout à la réalisation d'objet 3d.
c'est pour cela que j'avais demandé a Tmyke d'integrer des "Mega-objet" dans le moteur
de façon a disposer d'entrée en plus des Cube,Sphere,tore,etc,

ben !.... d'avions,Char, Velo,maison, ect ..


comme ça on aurai un packtage de forme integrées au moteur, qui pourraient nous etre utile pour préparer une maquette de jeux sans avoir a se prendre la tête a chercher des objets 3D

rien n'empêcherai ceux qui voudraient peaufiner leur Maquettes en intégrant a la place des "Mega-objet", des ojets mieux travaillé ou fait avec 3dsmax par exemple :D

le concept de "Mega-objet" ouvrirai la porte au vrais debutant en 3D :D

Publié : sam. 22/mars/2008 19:12
par Anonyme
pas con , j'vais me pencher sur la question aussi :D