PV SHAPE - Module Aide - Partie intégrante du pack PVS
Production (P) 1992 Denis OLIVIER.
(C)opyright 1992, ChromaGraphics.
Documentation sur Persistence Of Vision par PV Team, USA
Documentation sur DKB Trace 2.12 par David K. Buck, CANADA
Compuserve, GO COMART, section 16 Raytracing.
[03/02/93]
Veuillez respecter le format.

En cas de modification, veuillez me faire parvenir une mise
à jour, et me signaler celles-ci.

-----------------------------------------------------------
-----------------------------------------------------------
-----------------------------------------------------------

[REC_POV]
Enregistre format POV-Ray
─────────────────────────
Ecrit un  fichier au format  Persistence Of Vision  raytracer
1.0, lisible seulement par POV-Ray  1.0. L'objet est situé en
<0 0  0>, le BOUNDED_BY  est déjà calculé  pour simplifier le
travail,  ainsi que  la position  de l'observateur  (optimale
afin  de  visionner  l'objet  dans  sa  totalité).  Le script
peut-être directement  lancé, sans la  nécessité des fichiers
INCLUDE du type COLORS.INC,  SHAPES.INC, TEXTURES.INC. Le nom
par défaut  de l'objet créé  est "Objet_Pvs", définissant  un
union. Le  nom de fichier  script généré est  automatiquement
placé comme nom  de script en cours, et  prend la place comme
"script" dans la configuration de POV-Ray.

      La  demande  "normalisation  volume  sur  1"  permet de
retrouver son  volume une fois  écrit dans un  script entrant
dans  une sphère  de rayon  1. Cela  permet d'appliquer  plus
facilement  les  matières  de  PVS  qui  sont mappées sur une
sphère de rayon 1 également. Vous pouvez aussi alors "scaler"
sans difficulté  un volume, afin de  le réarranger sans peine
lors  de  la  mise  au  point  finale  (voir comme exemple le
fichier script PVSHAPE.POV).

IMPORTANT POUR L'EXTRUSION:
┌─────────────────────────────┬─────────────────────────────┐
│                    A        │                  A          │
│                ┌───────┐    │                ┌───────┐    │
│                │       │    │                │\ E1  /│    │
│                │   E   │    │                │E \ / E│    │
│ Y             B│       │D   │ Y             B│4 / \ 2│D   │
│ │              │       │    │ │              │/ E3  \│    │
│ │              └───────┘    │ │              └───────┘    │
│ Z─────X            C        │ Z─────X           C         │
└─────────────────────────────┴─────────────────────────────┘
           FIGURE A                       FIGURE B

      Lorsque  l'on  dessine   un  volume  extrudé  (segments
A,B,C,D figure  A), on ajoute alors  une profondeur sur l'axe
des Z.  Cette profondeur est  divisée par 2,  afin de centrer
l'objet  sur Z  (exemple :  on entre  50, le  volume aura des
dimensions  maximales de  +25 et  -25 sur  l'axe des  Z). Les
segments précédemment cités auront alors une épaisseur totale
à celle  entrée  au  clavier  (soit  50  dans  l'exemple), et
deviendront  alors des  rectangles. En  revanche, la  surface
notée E sera creuse, ou plutôt inexistante.

      Cela  nous  donnera  par  exemple  pour  une  lettre  E
dessinée en extrusion :

        ┌─────── Zone Creuse
   ┌────┼─┐
   │ ┌────┘
   │ └─┐    Y
   │ ┌─┘    │
   │ └────┐ │
   └──────┘ Z─────X

      Cette forme sera donc creuse sur l'axe des Z.   Pour  y
remédier,  il  suffit  de remplir aussi cette zone (figure B,
triangles E1,E2,E3,E4).

   ███████
   ██       Y
   ████     │
   ██       │
   ███████  Z─────X

      Dans  cette  optique,  PvShape  vous  demande  si  vous
voulez ou non fermer les surfaces de l'extrusion sur Z.

En ce qui concerne les triangles  lissés, il se peut que vous
ayez des  problèmes lorsqu'il n'y a  qu'une source de lumière
dans votre scène. En effet, ce ne sont pas de réels triangles
"bombés",  comme   dans  le  patch   de  Bézier,   mais   une
interpolation des normales sur  toute la surface du triangle.
La  lumière  renvoyée  est  donc  modifiée,  ce qui donne cet
aspect  curve au  triangle. En  revanche, lorsque  l'on passe
dans  le cône  d'ombre, il  se peut  que les effets retournés
soient  imprévisibles.  Il  faut  alors  ajouter  une seconde
source  de lumière,  pour limiter  les problèmes.  Ceci reste
valable avec les bump_map et autres perturbations de normales
(bump, waves etc...), qui marchent  très bien sur 1 seul plan
mais  qui  sont  plus  délicats  à  mettre  en oeuvre sur des
volumes  avec  des  partie  hémisphériques  (voyez  le script
VOLUMES2, qui  n'est réalisé qu'avec des  bump_map). La seule
manière  d'y remédier  étant  de  situer sa  source lumineuse
exactement  dans  l'axe  de  l'objet,  soit  par exemple <0 0
-1000> si votre  objet est en <0 0 0>  (cela manque de relief
!).
J'espère maintenant  implémenter les patchs  de Bézier  d'ici
peu, dès que j'aurai comme  unité de calcul autre chose qu'un
286/12 sans coprocesseur !
[END]

------------------------------------------------------

[REC_ASCII]
Ecrit   les  données   dans  un   fichier  ASCII,  facilement
modifiable pour un autre logiciel  3D. Ecriture sous forme de
triangles. Voir description plus loin.
[END]

------------------------------------------------------

[REC_PVS]
Ecrit  la  description  du  volume  en  cours dans un fichier
ASCII, afin  de pouvoir le relire  avec PVSHAPE. Ecriture des
points de chaque noeud.
[END]

------------------------------------------------------

[REC_SMT]
Ecrit la description du volume en cours dans un fichier ASCII
au  format  SMTRACER,  afin  de  pouvoir  le  relire  avec le
logiciel  de  suivi  de  rayon  SMTRACER  de  Stéphane Marty.
Ecriture des triangles de chaque facette.
[END]

------------------------------------------------------

[READ_PVS]
Relit  un  fichier  de  description  de  volume  PVSHAPE,  en
recherchant  par  défaut  si  non  spécifié  celui-ci dans le
répertoire C:\PVS\VOLUME. En tapant une spécification du type
c:\ray  ou  *.*,  vous  pouvez  accéder  à  un menu déroulant
donnant les  fichiers du répertoire,  et ainsi vous  déplacer
dans l'arborescence.

Validez le choix d'un  fichier  à  la  souris  ou  avec enter
au clavier.
[END]

------------------------------------------------------

[TRACE_REV]
Trace une silhouette  d'un objet autour de l'axe  Y. Une fois
vos points entrés  à la souris, tapez sur  le bouton droit de
la  souris pour  valider ceux-ci.  Entrez alors  le nombre de
tranches  que vous  souhaitez afin  de générer  un volume  de
révolution. (40 points autorisés).

Touche V :  Force le pointeur souris à  se déplacer sur l'axe
            vertical avec X égal au dernier point entré.

Touche H :  Force le pointeur souris à  se déplacer sur l'axe
            horizontal avec Y égal au dernier point entré.

Touche J :  Joint le  premier point et  le dernier entré  di-
            rectement.
[END]

------------------------------------------------------

[TRACE_EXT]
Trace  une  extrusion  de   surface,  suivant  les  bords  la
délimitant, sur l'axe Z. (40  points autorisés). Une fois vos
points entrés  à la souris, tapez  sur le bouton droit  de la
souris  pour  valider  ceux-ci.  Entrez  alors  le  nombre de
tranches que vous souhaitez.

Touche V :  Force le pointeur souris à  se déplacer sur l'axe
            vertical avec X égal au dernier point entré.

Touche H :  Force le pointeur souris à  se déplacer sur l'axe
            horizontal avec Y  égal au  dernier point  entré.

Touche J :  Joint le  premier point et  le dernier entré  di-
            rectement.
[END]

------------------------------------------------------

[EDIT_COL]
Vous  pouvez  maintenant  éditer  vos  propres  couleurs avec
PvShape, afin de les  récupérer dans POV-Ray, Vivid, Polyray,
Director3D, Smtracer etc...
Cliquez sur les potentiomètres de réglages  + et - de part et
d'autre de la couleur  choisie, afin d'ajuster celle-ci.
Vous avez  alors vos valeurs en  % sur le tableau  du bas, et
0.00<<couleur<<1.00 sur le tableau d'en haut.
Utilisant   la   palette   VGA,   vous   disposez  de  262144
combinaisons possibles, ce qui est largement suffisant.
[END]

------------------------------------------------------

[EDIT_GIF]
Cette option  permet de visualiser  le message qui  peut être
ajouté  aux  fichiers  GIF.  Celui-ci  sera  le  plus souvent
utilisé pour renseigner quant à  la provenance de l'image, le
logiciel utilisé, le nom de l'auteur, la date etc ...
Il  traite   que  les  types  de   fichiers  GIF89a,  ceux-ci
permettant l'incorporation  d'un message dans  leur code (pas
GIF87a).  D'autre logiciels  permettent cette  visualisation,
comme GDS 2.02 ou GWS 6.x.

Utilisez GIFEDIT (dans le  répertoire \UTILIT) afin d'ajouter
vos propres messages à vos fichiers.
[END]

------------------------------------------------------

[SHOW_FACE]
Visualise l'objet de face, sur l'axe X-Y.
[END]

------------------------------------------------------

[SHOW_AXO]
Visualise l'objet en 3D, sur X-Y-Z.
Les  touches +  et -  permettent de  zoomer sur/s'éloigner de
l'objet.
Touches W/X : rotation sur l'axe des X de +/- 5° d'angle.
Touches T/Y : rotation sur l'axe des X de +/- 5° d'angle.
Touches A/Z : rotation sur l'axe des X de +/- 5° d'angle.
Vous  pouvez  vous  servir  de  ces  options pour préparer le
placement d'un objet avec  POV-Ray, en récupérant les valeurs
de la rotation sur les 3 axes de l'espace. Il n'y a plus qu'à
les rapporter dans un ROTATE <X Y Z>.
[END]

------------------------------------------------------

[SHOW_3D]
Visualise l'objet en 3D avec perspective, sur X-Y-Z.
Les  touches +  et -  permettent de  zoomer sur/s'éloigner de
l'objet.
Touches W/X : rotation sur l'axe des X de -/+ 5° d'angle.
Touches T/Y : rotation sur l'axe des X de -/+ 5° d'angle.
Touches A/Z : rotation sur l'axe des X de -/+ 5° d'angle.
Touche  D/F : variation de la focale de -/+ 2.5.
Vous  pouvez  vous  servir  de  ces  options pour préparer le
placement d'un objet avec  POV-Ray, en récupérant les valeurs
de la rotation sur les 3 axes de l'espace. Il n'y a plus qu'à
les rapporter dans un ROTATE <X Y Z>.
[END]

------------------------------------------------------

[SHOW_DATA]
Visualise les données en cours en format numérique.
Utilise l'éditeur interne.
[END]

------------------------------------------------------

[SHOW_ASCII]
Visualise   un  fichier   ASCII  quelconque   à  l'aide  d'un
visualiseur  ASCII  de  votre  choix.  Je  conseille LIRE.COM
(Borland) ou  LIST.COM/EXE (V. De  Verg), qui sont  très bien
réalisés  et  compacts,  ou  encore  mieux LM/LISEZMOI.EXE de
Denis Olivier  (c'est qui celui-là  ?). Mais attention.  Tous
ceux-ci ne sont pas des éditeurs. Prenez alors QEDIT, qui est
ce qui se  fait de mieux en la matière.  Toute la mémoire est
libérée. Utilise l'éditeur externe.
[END]

------------------------------------------------------

[SHOW_DOC]
Visualise  la  documentation  (celle  que  vous  lisez  en ce
moment, en cas de besoin). Utilise l'éditeur externe.
Par défaut dans le répertoire de PvShape.
[END]

------------------------------------------------------

[SHOW_GLO]
Il vous manque une description  sur une matière ou un élément
quelconque de description de  scène. Tapez celui-ci et lisez.
Ceux qui  veulent affiner la description  ou avancer celle en
cours  sont accueillis  les bras  ouverts, car  je manque  de
temps et de sommeil (PVS  est l'anti somnifère par excellence
! ). Vous pouvez maintenant sélectionner un mot dans l'index,
qui se trouve en début du fichier PVS.GLO (en tapant INDEX ou
index au moment de taper un mot quelconque).
En cas  d'ajout de mots dans  le glossaire, veuillez rajouter
ce  dernier  dans  l'index,  par  ordre alphabétique. Utilise
l'éditeur interne.
[END]

------------------------------------------------------

[SHOM_FLI]
Visualise une animation au  format FLI d'AutoDesk Animator et
en 320x200  seulement. Utilise le  programme externe de  8 Ko
FLISHOW.EXE, qui doit se trouver dans un répertoire identique
à celui de main.exe.
[END]

------------------------------------------------------

[EXEC_ED]
Charge en mémoire votre éditeur de texte préféré.
Un conseil : Choisissez un éditeur compact (du type QEDIT).
Charge le script : Démarre l'éditeur avec le script en cours.
Sans le script   : Démarre l'éditeur sans le script en cours.
[END]

------------------------------------------------------

[EXEC_POV]
Soyez  bien sûr  de votre  configuration de  base et de votre
fichier de lancement. La  configuration reste inchangée après
l'exécution.

Lors d'une  exécution de POV-Ray, PvShape  se positionne dans
le répertoire contenant le fichier exécutable. Il écrit alors
un  fichier  PVS.DEF,  qui  contient  tous  les paramètres de
lancement du  raytracer. Ce dernier n'est  pas effacé, ce qui
permet une fois sous DOS de l'utiliser à nouveau.

CONSEIL  :  Ajoutez  dans  la  configuration POV-Ray, section
AUTRES,  les différents  répertoires où  POV-Ray peut trouver
des  fichiers à  inclure tels  que COLORS.INC,  TEXTURES.INC,
SHAPES.INC (ou  .INC...). Cela permet  aussi de spécifier  de
petits noms de script et sortie Targa (ou RAW, DUMP), POV-Ray
cherchant alors dans les  répertoires que vous lui indiquerez
les fichiers qui ne trouvant  pas dans son répertoire courant
(à l'aide de l'option -l).
[END]

------------------------------------------------------

[EXEC_PL]
Exécute PicLab puis retourne à PVS.
Toute la mémoire est libérée.
[END]

------------------------------------------------------

[EXEC_PIC]
Appelle en externe un visualiseur d'image (GDS,  CShow, VPic,
etc...).
Voir   plus  loin  pour  le  choix  d'un  visualiseur d'image
approprié. Toute la mémoire est libérée.
[END]

------------------------------------------------------

[EXEC_FRAC]
Démarre fractint et retourne à PVS.
Toute la mémoire est libérée.
[END]

------------------------------------------------------

[EXEC_EXT]
Cette partie regroupe la possibilité de démarrer un programme
externe, qui reste au choix de l'utilisateur.
Pour  cela, vous  devez éditer  le fichier  PVS.CFG (avec  un
éditeur de texte similaire à celui que vous utilisez pour les
scripts POV-Ray),  et modifier les  sections de [PROGRAM1]  à
[PROGRAM5].

Exemple :

   [PROGRAM1]  PCTOOLS7.1  C:\PCTOOLS\PCSHELL.EXE

   n°logiciel    nom     Chemin d'accès complet

Vous   verrez  alors   apparaître  dans   le  menu  "EXECUTE"
PCTOOLS7.1, qui sera lancé une fois sélectionné et validé.

Attention !
Pas plus de  18 caractères pour le nom  du programme (tronqué
si plus).
Ne  pas ajouter  d'espaces au  nom du  programme, car  le mot
après celui-ci  sera considéré comme étant  le chemin d'accès
au programme.
[END]

------------------------------------------------------

[CFG_POV]
Configure PvShape pour POV-Ray,  paramètres utilisés lors des
lancements en vu de produire une image de synthèse. Vous avez
le choix entre 'entrer un  nouveau script' ou 'réutiliser les
anciens'  (10   sont  gardés  en  attente),   mais  avec  les
paramètres en cours.
Voir 'TUTORIEL' pour l'explication plus détaillée des comman-
des paramètrant l'image.
[END]

------------------------------------------------------

[CFG_PVS]
Configure PvShape afin de connaître les répertoires utilisés,
les variables [AUTEUR] et [AUTOSAVE_CFG].
[END]

------------------------------------------------------

[REC_CFG]
Enregistre la configuration en cours.
[END]

------------------------------------------------------

[CMD_DOS]
Tapez  DOS  sur  la  ligne  de  commande  pour avoir un accés
prolongé  à  MS-DOS,  ou  alors  validez  une commande MS-DOS
(dir,cd,type...).
Lors de l'accès prolongé à  MS-DOS, la mémoire est libérée au
maximun,  afin  de  pouvoir  éventuellement  lancer  d'autres
programmes.  Lors   d'une  commande  MS-DOS   effectuée  dans
PvShape, la mémoire n'est pas  libérée. Veillez donc à ne pas
lancer des applications trop volumineuses.
[END]

