FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» SineCube
Version instantanée du 30 juillet 2010 Emptypar Marc Hier à 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Version instantanée du 30 juillet 2010 Emptypar Marc Hier à 12:22

» Philharmusique
Version instantanée du 30 juillet 2010 Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Version instantanée du 30 juillet 2010 Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Version instantanée du 30 juillet 2010 Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Version instantanée du 30 juillet 2010 Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Version instantanée du 30 juillet 2010 Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Version instantanée du 30 juillet 2010 Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Version instantanée du 30 juillet 2010 Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0
Version instantanée du 30 juillet 2010 Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Version instantanée du 30 juillet 2010 Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
Version instantanée du 30 juillet 2010 Emptypar Klaus Lun 6 Mai 2024 - 10:23

» @Jack
Version instantanée du 30 juillet 2010 Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
Version instantanée du 30 juillet 2010 Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Version instantanée du 30 juillet 2010 Emptypar leclode Sam 27 Avr 2024 - 17:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment :
Réassort du coffret Pokémon 151 ...
Voir le deal

 

 Version instantanée du 30 juillet 2010

Aller en bas 
+2
Klaus
Jack
6 participants
AuteurMessage
Jack
Admin
Jack


Nombre de messages : 2386
Date d'inscription : 28/05/2007

Version instantanée du 30 juillet 2010 Empty
MessageSujet: Version instantanée du 30 juillet 2010   Version instantanée du 30 juillet 2010 EmptyVen 30 Juil 2010 - 18:55

Une version instantanée est la version actuelle du développement de PANORAMIC, elle vous permet d'utiliser les toutes dernières améliorations, sans attendre la sortie de la prochaine version.
Une version instantanée n'a pas de procédure d'installation (c'est un fichier zip contenant l'EDITEUR).
Les nouveaux mots-clés n'ont pas de coloration syntaxique dans l'EDITEUR.
Pour obtenir la version instantanée du 30 juillet 2010, cliquez sur Télécharger ce fichier
Voici les apports de cette version, par rapport à la dernière version instantanée du 17 juillet 2010:
--------------------------------------------------------------------------------

1 - nouvel objet 3D:
3D_SKYBOX N : crée une boite à 6 cotés de taille infinie représentant un décor pour le monde 3D (en général le ciel). Tout le monde 3D qui est créé se trouve à l'intérieur de cette boite. Cet objet 3D est immobile et recoit une texture par coté (le décor).
Il y a une contrainte: cet objet doit être le premier objet 3D créé.
Nouvelles commandes pour lui appliquer ses textures (une par coté):
3D_LOAD_TEXTURE_BOTTOM N,F$ : applique au coté bas de l'objet 3D_SKYBOX numéro N la texture contenue dans le fichier de nom F$
3D_LOAD_TEXTURE_FRONT N,F$ : applique au coté avant de l'objet 3D_SKYBOX numéro N la texture contenue dans le fichier de nom F$
3D_LOAD_TEXTURE_RIGHT N,F$ : applique au coté droit de l'objet 3D_SKYBOX numéro N la texture contenue dans le fichier de nom F$
3D_LOAD_TEXTURE_BACK N,F$ : applique au coté arrière de l'objet 3D_SKYBOX numéro N la texture contenue dans le fichier de nom F$
3D_LOAD_TEXTURE_LEFT N,F$ : applique au coté gauche de l'objet 3D_SKYBOX numéro N la texture contenue dans le fichier de nom F$
3D_LOAD_TEXTURE_TOP N,F$ : applique au coté haut de l'objet 3D_SKYBOX numéro N la texture contenue dans le fichier de nom F$


2 - nouvel objet 3D:
3D_PLANE N : crée un plan dont la texture est tuilable: sa texture peut être répétée comme les tuiles d'un toit.
Par défaut, il a 4 tuiles (2 sur U et 2 sur V).
Cet objet peut:
- se positionner par les commandes classiques (3D_X_POSITION, 3D_Y_POSITION, 3D_Z_POSITION, 3D_POSITION),
- se tourner sur ses axes par les commandes classiques (3D_X_ROTATE, 3D_Y_ROTATE, 3D_Z_ROTATE, 3D_ROTATE),
- se dilater ou se rétrécir par les commandes classiques (3D_X_SCALE, 3D_Y_SCALE, 3D_Z_SCALE, 3D_SCALE). 3D_Z_SCALE est inactive (un plan n'ayant que 2 dimensions),
- recevoir une texture par la commande classique 3D_LOAD_TEXTURE. L'image de la texture se place sur une tuile (elle est donc répétée 4 fois sur le plan).
Nouvelles commandes pour répéter la texture:
3D_U_TILE N,T : nombre T de répétition de la texture sur l'axe U du 3D_PLANE numéro N (=nombre de tuiles sur U)
3D_V_TILE N,T : nombre T de répétition de la texture sur l'axe V du 3D_PLANE numéro N (=nombre de tuiles sur V)


3 - nouvelles commandes 3D pour créer un brouillard:
FOG_ON : crée un effet de brouillard dans le SCENE3D cible. Le brouillard est alors blanc et sa distance d'opacité est 1000 (un objet 3D de distance supérieure à 1000 de la caméra n'est plus vu).
FOG_OFF : retire l'effet de brouillard dans le SCENE3D cible
FOG_DISTANCE D : dans le SCENE3D cible, le brouillard rend invisibles les objets 3D situés à une distance de la caméra supérieure à D. Par défaut, D=1000 (les objets 3D situés à une distance > D de la caméra ne sont pas vus)
FOG_COLOR R,G,B : le brouillard dans le SCENE3D cible prend la couleur définie par les composantes R,G,B.


4 - l'inversion des lignes et des colonnes de GRID_WRITE et GRID_READ$ a été corrigée.
On a bien:
GRID_WRITE N,L,C,V$ : écriture de V$ dans la case L (ligne) C (colonne) du GRID de numéro N
V$=GRID_READ$(N,L,C) : lecture du contenu de la case L (ligne) C (colonne) du GRID de numéro N


5 - numéro des objets ayant subi un événement:
NUMBER_CLICK variable système, numéro du dernier objet cliqué (-1 à l'initialisation)
NUMBER_CHANGE variable système, numéro du dernier objet changé (-1 à l'initialisation)
NUMBER_KEY_UP variable système, numéro du dernier objet sur lequel une touche a été relachée (-1 à l'initialisation)
NUMBER_KEY_DOWN variable système, numéro du dernier objet sur lequel une touche a été enfoncée (-1 à l'initialisation)
--------------------------------------------------------------------------------
Exemples:
1 - brouillard:
Code:
DIM I%,S%
SCENE3D 1:FULL_SPACE 1
FOR I%=1 TO 200
3D_SPHERE I%,0.3
IF RND(2)<1
S%=1
ELSE
S%=-1
END_IF
3D_X_POSITION I%,S%*RND(10)
IF RND(2)<1
S%=1
ELSE
S%=-1
END_IF
3D_Y_POSITION I%,S%*RND(10)
3D_Z_POSITION I%,-1*RND(100)
NEXT I%
WAIT 1000
FOG_ON:FOG_DISTANCE 30
WAIT 500:FOG_OFF
WAIT 500:FOG_ON:FOG_DISTANCE 30
WAIT 500:FOG_OFF
WAIT 500:FOG_ON:FOG_DISTANCE 30
WAIT 500:FOG_OFF
WAIT 500:FOG_ON:FOG_DISTANCE 30
WAIT 1000
FOG_COLOR 255,220,220
WAIT 1000
FOG_COLOR 220,255,220
WAIT 1000
FOG_COLOR 220,220,255
2 - utilisation d'un 3D_SKYBOX:
Code:
dim key,angle,rayon
label boucle,pointe_camera
FULL_SPACE 0:SCENE3D 1:FULL_SPACE 1
3D_SKYBOX 1
3D_LOAD_TEXTURE_TOP 1,"SKY_TOP.jpg"
3D_LOAD_TEXTURE_LEFT 1,"SKY_LEFT.jpg"
3D_LOAD_TEXTURE_BACK 1,"SKY_BACK.jpg"
3D_LOAD_TEXTURE_FRONT 1,"SKY_FRONT.jpg"
3D_LOAD_TEXTURE_RIGHT 1,"SKY_RIGHT.jpg"
3D_LOAD_TEXTURE_BOTTOM 1,"SKY_BOTTOM.jpg"
angle=3.2
rayon=10
cam_x_position 0
cam_y_position 0
cam_z_position 0
gosub pointe_camera
CAPTION 0,"clic DROIT de la souris pour sortir"
boucle:
key=scancode
if key=37
angle=angle+0.01
gosub pointe_camera
end_if
if key=39
angle=angle-0.01
gosub pointe_camera
end_if
if key=2 then terminate
display
goto boucle
end

pointe_camera:
point_x_position rayon*sin(angle)
point_z_position rayon*cos(angle)
return
Les textures peuvent être téléchargées à http://dl.free.fr/hUOwu4iIq/SKY_BOX.zip

3 - numéro d'objet sur lequel on clique:
Code:
label affiche
on_click 0,affiche
button 10
caption 10,"cliquez"
on_click 10,affiche
button 20:left 20,80
caption 20,"cliquez"
on_click 20,affiche
end
affiche:
caption 0,"l'objet cliqué a pour numéro "+str$(number_click)
return
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Klaus

Klaus


Nombre de messages : 12295
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Version instantanée du 30 juillet 2010 Empty
MessageSujet: Re: Version instantanée du 30 juillet 2010   Version instantanée du 30 juillet 2010 EmptyVen 30 Juil 2010 - 19:33

MERCI pour la correction L/C pour GRID, et MERCI pour les variables NUMBER_xxx ! Ca ouvre de nouvelles perspectives et facilite la programmation !

Je vois que tu t'es énormément appliqué pour le monde 3D. Il y en aura qui seront content ! Pour ma part, je vois que l'aspect "universel" n'est pas non plus oublié et je suis content.

J'espère que tu auras le temps de nous donner un moyen de savoir quelle ligne, colonne ou cellule de GRID a été cliquée, modifiée, key_down_ée etc. L'objet est génial, mais il est vrai que cela manque.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
jjn4

jjn4


Nombre de messages : 2705
Date d'inscription : 13/09/2009

Version instantanée du 30 juillet 2010 Empty
MessageSujet: +++   Version instantanée du 30 juillet 2010 EmptySam 31 Juil 2010 - 1:01

Super !!!
Et puis quelle vitesse de production !
cheers
J'ai essayé les programmes,
en particulier le skybox, c'est magnifique !
Un de ces 4, il faudra que je me mette à la 3D... !
scratch
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
bleunounet




Nombre de messages : 150
Date d'inscription : 26/10/2007

Version instantanée du 30 juillet 2010 Empty
MessageSujet: Re: Version instantanée du 30 juillet 2010   Version instantanée du 30 juillet 2010 EmptySam 31 Juil 2010 - 10:10

bonjour .
je viens d'essayer aussi, super le skybox et merci pour les exemple qui sont toujours les bienvenues ,bonne continuation jack
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Version instantanée du 30 juillet 2010 Empty
MessageSujet: Re: Version instantanée du 30 juillet 2010   Version instantanée du 30 juillet 2010 EmptySam 31 Juil 2010 - 12:30

Bravo et merci,

Sky_box, çà donne envie de se pencher sur la 3D.

Vive PANORAMIC ! cheers

A+

Revenir en haut Aller en bas
Tecking




Nombre de messages : 114
Age : 35
Localisation : Toulouse
Date d'inscription : 30/05/2010

Version instantanée du 30 juillet 2010 Empty
MessageSujet: Re: Version instantanée du 30 juillet 2010   Version instantanée du 30 juillet 2010 EmptySam 31 Juil 2010 - 13:08

tout ça est excellant mais comme tu commence à me connaître, j'ajoute mon petit grain de sel :

Pour FOG_COLOR R,G,B et FOG_DISTANCE je pense que tu aurais pu réduire ces deux fonctions à FOG_COLOR R,G,B,A

Alpha étant d'habitude l'opacité on pourrait exprimer Alpha en distance.

Aussi, plus tard, pense-tu que tu étendra 3D_COLOR N,R,G,B à 3D_COLOR N,R,G,B,A

Alpha variant cette fois ci de 0 à 255.
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2386
Date d'inscription : 28/05/2007

Version instantanée du 30 juillet 2010 Empty
MessageSujet: Re: Version instantanée du 30 juillet 2010   Version instantanée du 30 juillet 2010 EmptySam 31 Juil 2010 - 14:57

Le brouillard n'a rien à voir avec le canal alpha.
Il s'agit de notions différentes qu'on ne peut pas regrouper.

Je m'explique.
J'ai voulu que les commandes soient simples. C'est pourquoi j'ai mis une distance maximale de visibilité par FOG_DISTANCE. Mais, il y a aussi une distance minimale que je n'ai pas codé pour ne pas dérouter les utilisateurs. En fait, cette distance minimale est codée en dur et vaut 1.

Tout ça pour te dire qu'on pourrait très bien imaginer les 2 commandes:
FOG_DISTANCE_MAX M
FOG_DISTANCE_MIN N
où un objet:
1) n'est pas soumis au brouillard s'il se trouve à une distance de la caméra inférieure à N
é) est soumis au brouillard s'il se trouve à une distance de la caméra comprise entre N et M
3) disparait complètement dans le brouillard si sa distance est supérieure à M

Comment peux-tu obtenir ça avec le canal alpha, qui lui, agit sans tenir compte de la distance?

Comme il y a une confusion, et que tu ne sera sans doute pas le seul à faire la remarque, j'ai bien envie de retirer la commande FOG_DISTANCE et la remplacer par FOG_DISTANCE_MAX et FOG_DISTANCE_MIN pour la prochaine version.

De même; on peut changer la loi du brouillard. Ici, la loi est linéaire: le brouillard agit de manière proportionnelle à la distance, mais on peut programmer des lois exponentielles où un objet s'opacifie très rapidement avec la distance, et faire des commandes pour changer la loi d'opacité:
FOG_LINEAR
FOG_EXP
FOG_EXP2
FOX_LOG
Je les coderai plus tard.

Tout cela serait absolument impossible en jouant uniquement sur le canal alpha. Un SCENE3D n'a rien à voir avec un PICTURE.


Enfin, je voudrais ajouter une chose importante pour les utilisateurs qui pourraient être effrayés par ce débat, c'est que toutes ces commandes ne sont que des options.
Un utilisateur qui veut mettre du brouillard dans son monde 3D n'a qu'une commande à taper:
FOG_ON
tout le reste, c'est du réglage.
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Tecking




Nombre de messages : 114
Age : 35
Localisation : Toulouse
Date d'inscription : 30/05/2010

Version instantanée du 30 juillet 2010 Empty
MessageSujet: Re: Version instantanée du 30 juillet 2010   Version instantanée du 30 juillet 2010 EmptyDim 1 Aoû 2010 - 8:39

Pour 'Alpha' dans FOG_COLOR je prenais juste un nom de variable, je te l'accorde ça prète à confusion.
En même temps, faire varier la distance ne brouillard ne fait-il pas varier son opacitée?
Bref tout s'explique au moment ou tu parles de distance min et max.
Tu peux des lors oublier 'FOG_COLOR R,G,B,A'
d'ailleurs je ne pense pas utiliser FOG_DISTANCE en sachant cela.

En tout cas les nouvelles fonctionnalitées semblent impressionnantes et je pense pouvoir dire au nom de tous, bon courage jack.
Revenir en haut Aller en bas
Contenu sponsorisé





Version instantanée du 30 juillet 2010 Empty
MessageSujet: Re: Version instantanée du 30 juillet 2010   Version instantanée du 30 juillet 2010 Empty

Revenir en haut Aller en bas
 
Version instantanée du 30 juillet 2010
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Version instantanée du 21 juillet 2010
» version instantanée du 1er mars 2010
» version instantanée du 13 mars 2010
» Version instantanée du 9 octobre 2010
» Version instantanée du 24 avril 2010

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Ce qui est en cours ...-
Sauter vers: