[n3xt-D] un moteur pour PureBasic

Généralités sur la programmation 3D
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Je me rappelle Cpl Bator que tu cherchais il y a quelque temps un projet : j'avais pensé à un benchmark...
Anonyme

Message par Anonyme »

Progi1984 a écrit :Je me rappelle Cpl Bator que tu cherchais il y a quelque temps un projet : j'avais pensé à un benchmark...

Quel thème ?
faut un bon moddeleur là :D
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

J'ai juste lancé l'idée... A toi de la faire grossir !
Anonyme

Message par Anonyme »

Progi1984 a écrit :J'ai juste lancé l'idée... A toi de la faire grossir !
C'est comme me dire "un jeu vidéo" :D
ca ne m'évoque rien de plus... fatigue + bière & saucissons = pas envie de réfléchir :D
Anonyme

Message par Anonyme »

Code : Tout sélectionner

iSetCollideForm(#COMPLEX_PRIMITIVE_SURFACE) 
fait déconner cette fonction :

Code : Tout sélectionner

*resultat = iCollideRayCastAll(*A\x,*A\y,*A\z,*B\x,*B\y,*B\z, 1, @dist)
Anonyme

Message par Anonyme »

Peut en rendre plusieurs caméra sur un écran ?
Anonyme

Message par Anonyme »

peut on avoir une Camera orthogonale? :D
Anonyme

Message par Anonyme »

j'en dis des trucs ce soir... :D

je viens de regardé un peu plus en détail le système d'éclairage de n3xtd

- j'ai remarqué que l'éclairage se fait par vertex.
- j'ai créer un cube de taille 3 en 0,0,0
- une caméra en 0,0,-7
- une lumière en 0,0,-7
- le cube tourne sur tout ces axes

et là , on voit les vertex , passé du noir , au blanc , pas d'intermédiaire !
ça laisse penser que 0 = noir 1 = blanc , 0.5 gris...
pour le calcul d'intensité , c'est pas un integer à la place d'un float par hazard ?
Anonyme

Message par Anonyme »

Bugs :
*Arrow = iCreateArrow(4, 8, 1.0, 0.6, 0.05, 0.1, $ff0000FF, $ff0000FF)
*Arrow2 = iCreateArrow(4, 8, 1.0, 0.6, 0.05, 0.1, $00FFFF00, $00ffFF00)
le 2° arrow ne tiens plus compte des paramètres.
Anonyme

Message par Anonyme »

Code : Tout sélectionner

iGetKeyDown(#KEY_RBUTTON)
ne marche pas.
Anonyme

Message par Anonyme »

Code : Tout sélectionner

iLoadImage()
Polink error , ne marche pas ( sous windows , pas testé sous nux)
Avatar de l’utilisateur
venom
Messages : 3128
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

je ne sais pas si j'ai bien fait mais sa me retourne sa :

Image

au pire si tu a un code tout fait :wink:





@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

Bon, je viens de faire une petite update des deux archives, corrigeant un certain nombre de
petit bug, comme sur le RayCollide par exemple. Les liens temporaire avant la prochaine mise
en ligne offocielle de la prochaine version sont:
http://www.n3xt-d.org/_download/n3xtdY.zip

http://www.n3xt-d.org/_download/SourceEngineY.zip


Cpl.Bator a écrit :

Code : Tout sélectionner

iSetCollideForm(#COMPLEX_PRIMITIVE_SURFACE) 
fait déconner cette fonction :

Code : Tout sélectionner

*resultat = iCollideRayCastAll(*A\x,*A\y,*A\z,*B\x,*B\y,*B\z, 1, @dist)
Je viens de faire un test, pas de vrai soucis décelé. Si avec la dernière update tu as toujours le
problème, alors dis le moi.
Cpl.Bator a écrit :Peut en rendre plusieurs caméra sur un écran ?
Oui bien sûr. Les exemples 011 ou et surtout 024 montrent comment
employer dans divers cas plusieurs cameras.
Cpl.Bator a écrit :peut on avoir une Camera orthogonale? :D
Oui aussi, les instruction Camera permettent à peut près tout, d'ailleurs
les exemples 033 et 034 sont une façon de définir des cameras orthogonales.
Cpl.Bator a écrit :et là , on voit les vertex , passé du noir , au blanc , pas d'intermédiaire !
ça laisse penser que 0 = noir 1 = blanc , 0.5 gris...
pour le calcul d'intensité , c'est pas un integer à la place d'un float par hazard ?
L'éclairage sous Irrlicht n'a jamais été top. Tu avais déjà posté la dessus, et ton observation mérite que l'on s'y
atarde et je vais regarder ça, je corrige deux trois truc et je fais le HeaderC++, et je vais
me plonger un peu dans l'éclairage d'Irrlicht. ;)
Cpl.Bator a écrit :Bugs :
*Arrow = iCreateArrow(4, 8, 1.0, 0.6, 0.05, 0.1, $ff0000FF, $ff0000FF)
*Arrow2 = iCreateArrow(4, 8, 1.0, 0.6, 0.05, 0.1, $00FFFF00, $00ffFF00)
le 2° arrow ne tiens plus compte des paramètres.
Exact bug, je vois cela ce WE
Cpl.Bator a écrit :

Code : Tout sélectionner

iGetKeyDown(#KEY_RBUTTON)
ne marche pas.
Heu, en fait #KEY_RBUTTON (code 002) est normalement dédié à la souris, donc je ne sais pas
comment employer ce flag avec iGetKeyDown pour être franc.
Cpl.Bator a écrit :

Code : Tout sélectionner

iLoadImage()
Polink error , ne marche pas ( sous windows , pas testé sous nux)
J'ai oublié de lier les fonctions lors de la dernière mise à jour, c'est corrigé. :oops:
Dernière modification par tmyke le sam. 04/juil./2009 15:57, modifié 1 fois.
Force et sagesse...
Anonyme

Message par Anonyme »

Pour l'éclairage regarde : suit un vertex , tu vas vite comprendre :

Code : Tout sélectionner

IncludePath "includes"   :   IncludeFile "n3xtD_PB.pbi"


ExamineDesktops()
W.i = DesktopWidth(0)
H.i = DesktopHeight(0)

iSetAntiAlias(#True)
*app = iCreateGraphics3D(W,H,32,1)


l=iCreateLight($FFFFFFFF,1000)
iPositionNode(l,0,0,-10)

Cube = iCreateCube(3)

cam = iCreateCamera( )
iPositionNode(cam, 0,0,-10)


Repeat
iTurnAirNode(Cube,1,1,1)


  If iGetKeyDown(#KEY_ESCAPE)
    Quit=1
  EndIf
  
  iBeginScene(0,0,255)
    iDrawScene()
  iEndScene()    

Until Quit=1
iFreeEngine()

Heu, en fait #KEY_RBUTTON (code 002) est normalement dédié à la souris, donc je ne sais pas
comment employer ce flag avec iGetKeyDown pour être franc.
Le soucis , c'est qu'il manque plein de fonction pour la souris , savoir si un bouton est pressé... etc... très utile pour le dev d'une appli ou d'un jeu :D
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

Je teste ton code pour voir effectivement.

Pour la souris, la fonction iGetMouseEvent ne suffit pas alors ? dit moi ce qu'il faut rajouter ;)
Force et sagesse...
Répondre