Je vous recommande tout d'abord d'installer le kit LDG
accessible sur le site officiel
des LDG.
Ensuite, télécharger la
dernière version de VISION
Pour réaliser un LDV, vous avez besoin:
Attention ! Par défaut le kit de développement fourni par VISION inclut ces fichiers pour le compilateur PureC. Je vous recommande vivement de remettre régulièrement à jour les .H et .LIB. en fonction de l'évolution des LDG.
L'arborescence proposée dans le kit LDV de VISION est la suivante:
Dossier / Sous dossier | Fichiers présents |
<..>/LDV | Pour la gestion LDG: LDG.H : Librairies dynamiques GEM, fichier header .H MT_AES.H : Pour utiliser les LDG/LDV en OS multitache. En fait, ce fichier ne sert que si vous utilisez l'AES dans le LDV, ce qui est improbable actuellement, mais peu être bientôt... LDG.LIB, MT_AES.LIB : à linker avec votre LDV Pour la gestion LDV: LDV.H : Définition des structures et interfaces avec VISION VAPI.H : Définition des structures et interfaces avec VAPI |
<...>/LDV/SRC | Chaque LDV est présent dans un
répertoire associé à son nom. Dans un tel répertoire,
on trouve: <nom du ldv>.C : le fichier "source" du LDV <nom du ldv>.PRJ : le fichier projet (Pure C) |
<...>/LDV/DOC | Cette documentation |
Vous pouvez utiliser comme fichier squelette d'un LDV n'importe quel fichier source d'un LDV donné dans le kit. A vous de voir quel fichier correspond le mieux au LDV que vous voulez réaliser !
Le kit VISION fournit les LDV suivants ainsi que les sources (en PureC). Voici leurs caractéristiques:
XWAVE.LDV / YWAVE.LDV | |
Description | Vagues sur l'axe X / Y |
Capacités | Tout nombre de plans (1, 2, 4, 8, 16, 24 et 32). Format de la machine. Ne modifie pas la palette. |
Type de transformation | Force VISION à allouer de la mémoire pour la destination. On doit pouvoir faire sans mais cela complique un peu le LDV... |
Utilise VAPI | Oui (Progress + Raster Interface) |
Fichier INI | Oui (Anglais / Français) |
Remarque | Amusant et assez simple. Présente l'interface de progression VAPI et la fonction de mise à "blanc" d'une image (RaImgWhite). Gère la possibilité d'annulation. |
BW.LDV | |
Description | Conversion d'une image (ou partie en True Color) en une image en niveaux de gris |
Capacités | Tout nombre de plans (1, 2, 4, 8, 16, 24 et 32). Format de la machine. Modifie la palette. |
Type de transformation | Sur place |
Utilise VAPI | Oui (Progress + Raster Interface) |
Fichier INI | Oui (Anglais / Français) |
Remarque | Met en oeuvre les fonctions de conversion de format en True Color (RaTCConvert et RaTCInvConvert). Montre aussi comment modifier la palette. Par rapport à la fonction équivalente de VISION (Conversion N&B), ce LDV permet d'agir sur un bloc (mode True Color uniquement). En mode true Color, le LDV est annulable. |
PIXEL.LDV | |
Description | Crée un effet de "pixelisation" sur une image (ou partie) |
Capacités | Modes True Color uniquement (16 et 32 plans). Format ATARI. |
Type de transformation | Sur place |
Utilise VAPI | Oui (Progress Interface) |
Fichier INI | Oui (Anglais / Français) |
Remarque | Bel effet et très éducatif : ce LDV ne sait gérer QUE le format True Color ATARI et pourtant il marchera sur votre MagicPC ! Il utilise la possibilité donnée à VISION de s'occuper des transformations entre formats et se concentre uniquement sur un format..Gère la possibilité d'annulation. |
YPERSC.LDV | |
Description | Crée un effet de perspective sur une image (ou partie) |
Capacités | Tout nombre de plans (1, 2, 4, 8, 16 et 32). Format ATARI. Ne modifie pas la palette. |
Type de transformation | Force VISION à allouer de la mémoire pour la destination. |
Utilise VAPI | Oui (Progress Interface+ Raster Interface + MEM Interface) |
Fichier INI | Oui (Anglais / Français) |
Remarque | Crée un bel effet de perspective sur une image ou une partie. Sur la partie, le bloc est alloué, et repositionné par VISION grâce au flag LDVF_NOSELECTION (c'est très pénible à gérer sinon en mode bit-plan), le LDV ne voit qu'une image et non pas une sélection à l'intérieur de celle-ci. Les fonctions MeCopyMemoryxx de MEM Interface sont utilisées afin de changer l'echelle des lignes. |
LIGHT.LDV / GAMMA.LDV | |
Description | Modifie la répartition des couleurs rouge, vert, bleu de façon linéaire (light) ou suivant une courbe gamma (gamma) |
Capacités | Tout nombre de plans (1, 2, 4, 8, 16 et 32). Format de la machine. Modifie la palette. |
Type de transformation | Sur place |
Utilise VAPI | Oui (Progress Interface+ Raster Interface) |
Fichier INI | Oui (Anglais / Français) |
Remarque | Remplace avantageusement les fonctions de
luminosité et de correction gamma déjà présentes dans
VISION (mais moins
évoluées)..En mode bit-plan, la palette est affectée.
Gère la possibilité d'annulation. Ces LDV sont très optimisés en mémoire : ils effectuent la transformation "sur place", travaillent sur le format spécifique de la machine et peuvent travailler sur un bloc de l'image (en true color seulement...). Ces 2 LDV sont très semblables : seule la fonction interne ChangeColors change. |
ROTATE.LDV | |
Description | Effectue une rotation sur une image ou une partie |
Capacités | Tout nombre de plans (1, 2, 4, 8, 16 et 32). Format de la machine. Ne modifie pas la palette. |
Type de transformation | Force VISION à allouer de la mémoire pour la destination. |
Utilise VAPI | Oui (Progress Interface+ Raster Interface) |
Fichier INI | Oui (Anglais / Français) |
Remarque | Ce LDV est sans doute le plus simple (à
comprendre...). En fait, il s'appuie entièrement sur les
fonctions RaRasterRotateGetDstMFDB
et RaRasterRotate
de l'interface Raster de VAPI. Voyez aussi comment ce LDV utilise le flag LDVF_NOSELECTION afin de ne pas se surcharger avec la gestion des blocs. |
PUZZLE.LDV | |
Description | Mélange des blocs de l'image générant un ... puzzle |
Capacités | Tout nombre de plans. Format de la machine. Ne modifie pas la palette. |
Type de transformation | Force VISION à allouer de la mémoire pour la destination. |
Utilise VAPI | Oui (Progress Interface) |
Fichier INI | Oui (Anglais / Français) |
Remarque | Pas grand chose à dire, ce LDV est sympa et assez simple à coder. La petite astuce consiste en la gestion de l'entropie, c'est à dire à la quantification du désordre dans le mélange. |
BHOLE.LDV | |
Description | Simule un trou noir dans l'image. Considérez-le comme un hommage à Stephen Hawking. |
Capacités | Tout nombre de plans. Format de la machine. Ne modifie pas la palette. |
Type de transformation | Force VISION à allouer de la mémoire pour la destination. |
Utilise VAPI | Oui (Progress Interface+Config Interface+Logging Interface) |
Fichier INI | Oui (Anglais / Français) |
Remarque | Ce LDV est le plus complet à ce jour. Il dispose d'optimisations spécifiques en 68030 et 68881. Utilise la symétrie du trou noir pour optimiser les calculs. |