[n3xt-D] un moteur pour PureBasic
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
Je me rappelle Cpl Bator que tu cherchais il y a quelque temps un projet : j'avais pensé à un benchmark...
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
J'ai juste lancé l'idée... A toi de la faire grossir !
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
Code : Tout sélectionner
iSetCollideForm(#COMPLEX_PRIMITIVE_SURFACE)
Code : Tout sélectionner
*resultat = iCollideRayCastAll(*A\x,*A\y,*A\z,*B\x,*B\y,*B\z, 1, @dist)
j'en dis des trucs ce soir... 
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 ?

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 ?
Code : Tout sélectionner
iLoadImage()
-
- Messages : 1554
- Inscription : lun. 24/juil./2006 6:44
- Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
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
problème, alors dis le moi.
employer dans divers cas plusieurs cameras.
les exemples 033 et 034 sont une façon de définir des cameras orthogonales.
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.
comment employer ce flag avec iGetKeyDown pour être franc.

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
Je viens de faire un test, pas de vrai soucis décelé. Si avec la dernière update tu as toujours leCpl.Bator a écrit :fait déconner cette fonction :Code : Tout sélectionner
iSetCollideForm(#COMPLEX_PRIMITIVE_SURFACE)
Code : Tout sélectionner
*resultat = iCollideRayCastAll(*A\x,*A\y,*A\z,*B\x,*B\y,*B\z, 1, @dist)
problème, alors dis le moi.
Oui bien sûr. Les exemples 011 ou et surtout 024 montrent commentCpl.Bator a écrit :Peut en rendre plusieurs caméra sur un écran ?
employer dans divers cas plusieurs cameras.
Oui aussi, les instruction Camera permettent à peut près tout, d'ailleursCpl.Bator a écrit :peut on avoir une Camera orthogonale?
les exemples 033 et 034 sont une façon de définir des cameras orthogonales.
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'yCpl.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 ?
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.

Exact bug, je vois cela ce WECpl.Bator a écrit :Bugs :
le 2° arrow ne tiens plus compte des paramètres.*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)
Heu, en fait #KEY_RBUTTON (code 002) est normalement dédié à la souris, donc je ne sais pasCpl.Bator a écrit :ne marche pas.Code : Tout sélectionner
iGetKeyDown(#KEY_RBUTTON)
comment employer ce flag avec iGetKeyDown pour être franc.
J'ai oublié de lier les fonctions lors de la dernière mise à jour, c'est corrigé.Cpl.Bator a écrit :Polink error , ne marche pas ( sous windows , pas testé sous nux)Code : Tout sélectionner
iLoadImage()

Dernière modification par tmyke le sam. 04/juil./2009 15:57, modifié 1 fois.
Force et sagesse...
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()
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 jeuHeu, 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.
