L'école [RESOLU] New Vision Technology Tentative d'affichage d'images en relief N.I.T
igal
Membre non connecté
Conseiller Municipal
Il y a quelques temps, je suis tombé sur cette surprenante image qui donne un effet de relief sans avoir besoin de lunettes.
Le principe est une image GIF dont qui alterne l'affichage de 2 images prisent sur deux angles légèrement différent.
Voici la source:
http://www.moillusions.com/wp-content/uploads/i207.photobucket.com/albums/bb234/vurdlak8/dino.gif
Voici les deux images que j'ai prélevé dans le GIF:
Voici ces mêmes images en SCREEN 12:
IMAGES DROITE ET GAUCHE.zip
Ce pack contient 4 images.
Le but étant de lire consécutivement deux images qui présentent un angle différent chacune.
Voici la vidéo:
http://youtu.be/IzeH1lDJFVI
Même si le résulta peut surprendre, il n'est pas réussi...
A suivre... Edité par igal Le 15/11/2013 à 19h32
Le principe est une image GIF dont qui alterne l'affichage de 2 images prisent sur deux angles légèrement différent.
Voici la source:
http://www.moillusions.com/wp-content/uploads/i207.photobucket.com/albums/bb234/vurdlak8/dino.gif
Voici les deux images que j'ai prélevé dans le GIF:
Voici ces mêmes images en SCREEN 12:
IMAGES DROITE ET GAUCHE.zip
Ce pack contient 4 images.
Le but étant de lire consécutivement deux images qui présentent un angle différent chacune.
Code TEXT :
340 PRINT"4) LANCER LA VISIONNEUSE 350 PRINT" 360 PRINT" [STOP] => FAIRE UN ARRET SUR IMAGE 370 PRINT" [CTRL]+[STOP] => QUITTER LE PROGRAMME 380 A$=INKEY$:IF A$=""THEN380 390 ON STOP GOSUB450:STOP ON:COLOR ,,0:SCREEN12:VDP(10)=0:VDP(9)=VDP(9)OR2:VDP(10)=4:N=10:ON ERROR GOTO 420 400 VDP(10)=4:ONSTOPGOSUB450:STOPON 410 SETPAGE1ANDN,(NAND1)XOR1:VDP(10)=4:BLOAD"IMG10"+MID$(STR$(N),2)+".scc",S:N=N+1:IFINKEY$=""THEN410ELSE460 420 N=10:GOTO400:IF ERR = 53 THEN 430 ELSE SCREEN 0:VDP(10)=3:VDP(10)=2:SET VIDEDO0,0,0: PRINT"error in line:";ERL : ERROR ERR : REM err 53 , file not found 430 RESUME 440 440 GOTO 420:'END 450 SET ADJUST (7,0):SET VIDEO 2,0,0:SET VIDEO 0,0,0:VDP(10)=3:VDP(10)=2:END 460 ONSTOPGOSUB390:STOPON 470 VDP(10)=1:VDP(10)=4:GOTO470
Voici la vidéo:
http://youtu.be/IzeH1lDJFVI
Même si le résulta peut surprendre, il n'est pas réussi...
A suivre... Edité par igal Le 15/11/2013 à 19h32
TurboSEB
Membre non connecté
Conseiller Municipal
Interessant, le principe du gif
Sinon sur la video c'est un crapau c'est ca .......... Ah c'est un... T-Rex , ....... mais c'est a s'y méprendre
Faudrait vraiment que je mets a jours, je rencontre des gens tres interessant dans mon taf, notaement des techniciens et meme des createurs de 3D en tout genre, du jeu video aux grosses productions cinematographique en passant par les ecoles spécialisées, mais ....................
A quand des avatars pour le village, c'est a l'etude , ou une demo de noel Edité par TurboSEB Le 12/11/2013 à 20h44
Sinon sur la video c'est un crapau c'est ca .......... Ah c'est un... T-Rex , ....... mais c'est a s'y méprendre
Faudrait vraiment que je mets a jours, je rencontre des gens tres interessant dans mon taf, notaement des techniciens et meme des createurs de 3D en tout genre, du jeu video aux grosses productions cinematographique en passant par les ecoles spécialisées, mais ....................
A quand des avatars pour le village, c'est a l'etude , ou une demo de noel Edité par TurboSEB Le 12/11/2013 à 20h44
MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
Merci, concept très intéressant. Alors c'est donc comme ça qu'ils ont conçu la N... 3DS ?
Et en modifiant la fréquence d'affichage, parvient-on à augmenter cet effet 3D ?
D'autres images bien-sûr ici :http://www.moillusions.com/stereo-animated-3d-illusions
Et en modifiant la fréquence d'affichage, parvient-on à augmenter cet effet 3D ?
D'autres images bien-sûr ici :http://www.moillusions.com/stereo-animated-3d-illusions
MSX Turbo-R FS A1GT - 1 Mo de RAM - Disque dur SCSI Syquest cartouches de 270 Mo - Lecteur CD. Musique, musique, musique et encore musique !
igal
Membre non connecté
Conseiller Municipal
Simple et efficace
http://youtu.be/IftGXjRiOsI
Merci Maggo
Code TEXT :
0 'save"dino.asc",a 10 DL = 4 20 COLOR,0,0 30 SCREEN 12:CLS 40 BLOAD"001.scc",S 50 SET PAGE 1,1:CLS 60 BLOAD"002.scc",S 70 VDP(10)=0 80 SET PAGE 0,0 90 TIME=0 100 IF TIME < DLTHEN GOTO 100 110 SET PAGE 1,1 120 TIME=0 130 IF TIME < DLTHEN GOTO 130 140 IF INKEY$<>""THEN GOTO 160 150 GOTO 80 160 SCREEN 0
http://youtu.be/IftGXjRiOsI
Merci Maggo
Le VDP(10)=0 à la ligne 70 à l'air d'être une erreur.
Même chose mais en plus court :
Ou encore :
À propos de l'image : logiquement, ce qui est plus proche du spectateur devrait bouger plus.
Même chose mais en plus court :
Code TEXT :
10 COLOR15,0,0 20 VDP(10)=VDP(10)AND253 'Affichage 60hz 30 SCREEN 12 40 BLOAD"001.scc",S 50 SET PAGE,1 60 BLOAD"002.scc",S 70 TIME=0 80 IF TIME>5THEN P=P XOR1:SETPAGE P:TIME=0 90 IF INKEY$=""THEN80 100 END
Ou encore :
Code TEXT :
10 COLOR,,0 20 VDP(10)=VDP(10)AND253 'Affichage 60Hz 30 SCREEN 12 40 BLOAD"001.scc",S 50 SET PAGE,1 60 BLOAD"002.scc",S 70 ON INTERVAL=6 GOSUB100:INTERVAL ON 80 IF INKEY$=""THEN80 90 INTERVAL OFF:END 100 P=P XOR1:SETPAGE P:RETURN
À propos de l'image : logiquement, ce qui est plus proche du spectateur devrait bouger plus.
Encore plus simple : c'est le VDP qui se charge tout seul d'alterner les pages (utilisation du registre R#13)
Code TEXT :
10 COLOR15,0,0:SCREEN12 20 SETPAGE0,0:BLOAD"001.scc",S 30 SET PAGE0,1:BLOAD"002.scc",S 40 VDP(2)=VDP(2)OR32:VDP(14)=255:VDP(10)=VDP(10)OR4 50 GOTO 50
MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
Metalion :
Encore plus simple : c'est le VDP qui se charge tout seul d'alterner les pages (utilisation du registre R#13)
J'ai pensé à cette méthode mais la description donnée dans les livres est fausse. Le résultat est différent.
D'après ce que j'ai compris, en mode graphique, cette méthode sert à afficher une rafale de pages paire(s) et impaire(s) avec une courte pause possible entre chaque rafale.
EDIT : Cet effet de 3D est impressionnant lorsqu'on utilise une caméra pour afficher les images en fonction de la position du spectateur.
https://www.youtube.com/watch?v=p3lDoVwEmts Edité par GDX Le 13/11/2013 à 09h44
GDX :
J'ai pensé à cette méthode mais la description donnée dans les livres est fausse. Le résultat est différent.
D'après ce que j'ai compris, en mode graphique, cette méthode sert à afficher une rafale de pages paire(s) et impaire(s) avec une courte pause possible entre chaque rafale.
D'après ce que j'ai compris, en mode graphique, cette méthode sert à afficher une rafale de pages paire(s) et impaire(s) avec une courte pause possible entre chaque rafale.
Bien sur que ça fonctionne.
La méthode est décrite dans le manuel du VDP écrit par Yamaha. Si même le constructeur ne sait pas comment son processeur fonctionne, il y a de sérieuses questions à se poser !
Le registre R#13 définit sur le quartet de poids fort le temps d'affichage de la page paire et sur le quartet de poids faible le temps d'affichage de la page impaire. Et le VDP alterne les deux images, une fois les autres registres mis à jour (R#2 et R#9).
Maintenant, il faudrait tester mon programme sur une vraie machine. Parce que sur BlueMSX, la valeur du registre R#13 n'a pas l'air d'affecter beaucoup le temps d'affichage. Ici, j'ai mis la valeur à 255, ce qui correspond au temps maximum pour les deux pages.
MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
Metalion :
La méthode est décrite dans le manuel du VDP écrit par Yamaha. Si même le constructeur ne sait pas comment son processeur fonctionne, il y a de sérieuses questions à se poser !
J'ai fait plusieurs tests hier et j'ai testé ton programmes ce matin sur un vrai MSX Turbo R avant de poster. Ça ne marche pas pareil.
Il y a aussi des erreurs dans les documentations officielles. Edité par GDX Le 13/11/2013 à 11h30
Metalion :
Encore plus simple : c'est le VDP qui se charge tout seul d'alterner les pages (utilisation du registre R#13)
Code TEXT :
10 COLOR15,0,0:SCREEN12 20 SETPAGE0,0:BLOAD"001.scc",S 30 SET PAGE0,1:BLOAD"002.scc",S 40 VDP(2)=VDP(2)OR32:VDP(14)=255:VDP(10)=VDP(10)OR4 50 GOTO 50
C'est aussi ce que j'avais essaye mais ca ne donne pas le resultat espere sur BLUEMSX (pas essaye avec OPENMSX).
D'ou la solution de rechange avec le setpage. Etrangement le timing du Reg 13 fonctionne en Screen 0... mais pas dans les autres modes sous emulateur.
Ce qui est étrange, c'est que les émulateurs ont été construits sur base de la documentation technique ... Donc, à la limite, si la documentation est erronée, l'émulation devrait fonctionner conformément à la documentation, contrairement au vrai matériel.
MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
igal
Membre non connecté
Conseiller Municipal
L'approche de Métalion est celle que j'essayait de trouver.
L'idée étant que...Sachant que dans le meilleur des cas, on peut afficher 3 images SCREEN 12 par secondes avec le player de Hit9918.
La technique "New Vision technology" demande à afficher alternativement une image Avant/Après
@Métalion: Afin d'afficher alternativement avec un temps identique pour chaque image, j'ai remplacé:
40 VDP(2)=VDP(2)OR32:VDP(14)=255:VDP(10)=VDP(10)OR4
40 VDP(2)=VDP(2)OR32:VDP(14)=17:VDP(10)=VDP(10)OR4
Le retour au SCREEN 0 a des airs de noël. Pour éteindre les guirlandes, j'ai fixé avec:
40 VDP(2)=VDP(2)OR32:VDP(14)=15:VDP(10)=VDP(10)OR4
http://youtu.be/PApnvUy-wbM
Dans le même temps, j'ai lancé une musique avec "MoonBlaster Wave Basic Driver 1.14".
Montez un peu le volume
J'essais de trouver le moyen d'imbriquer
0) [Lecture PAGE0 / Lecture PAGE1]
1)[Alternance Page 0 et 1 par VDP(14)=17 jusqu'au chargement complet de la PAGE2]
2)[Alternance Page 1 et 2 par VDP(14)=17 jusqu'au chargement complet de la PAGE3]
3)[Alternance Page 2 et 3 par VDP(14)=17 jusqu'au chargement complet de la PAGE4]
4)[Alternance Page 3 et 4 par VDP(14)=17 jusqu'au chargement complet de la PAGE4]
Etc etc...
L'idée étant que...Sachant que dans le meilleur des cas, on peut afficher 3 images SCREEN 12 par secondes avec le player de Hit9918.
La technique "New Vision technology" demande à afficher alternativement une image Avant/Après
@Métalion: Afin d'afficher alternativement avec un temps identique pour chaque image, j'ai remplacé:
40 VDP(2)=VDP(2)OR32:VDP(14)=255:VDP(10)=VDP(10)OR4
40 VDP(2)=VDP(2)OR32:VDP(14)=17:VDP(10)=VDP(10)OR4
Le retour au SCREEN 0 a des airs de noël. Pour éteindre les guirlandes, j'ai fixé avec:
40 VDP(2)=VDP(2)OR32:VDP(14)=15:VDP(10)=VDP(10)OR4
http://youtu.be/PApnvUy-wbM
Dans le même temps, j'ai lancé une musique avec "MoonBlaster Wave Basic Driver 1.14".
Montez un peu le volume
J'essais de trouver le moyen d'imbriquer
0) [Lecture PAGE0 / Lecture PAGE1]
1)[Alternance Page 0 et 1 par VDP(14)=17 jusqu'au chargement complet de la PAGE2]
2)[Alternance Page 1 et 2 par VDP(14)=17 jusqu'au chargement complet de la PAGE3]
3)[Alternance Page 2 et 3 par VDP(14)=17 jusqu'au chargement complet de la PAGE4]
4)[Alternance Page 3 et 4 par VDP(14)=17 jusqu'au chargement complet de la PAGE4]
Etc etc...
Ah !!!! Donc ça marche sur un vrai MSX (contrairement à ce que disait GDX ce matin) !
C'est donc l'émulation qui pose un problème.
Le clignotement en SCREEN0 est normal, c'est l'action sur le registre 9 qui le met en route. La commande pour l'arrêter est : VDP(10)=VDP(10)AND251
La valeur du registre 13 spécifie la durée d'affichage de chaque page : VDP(14)= Temps page 0 x 16 + Temps page 1
Sauf erreur de ma part, il n'y a que 2 pages disponibles en VRAM pour le SCREEN12.
Ton schéma d'alternance va donc être difficile à réaliser.
EDIT : essaie un peu en enlevant carrément la commande VDP(10) du programme. Car je ne suis pas sur qu'elle soit nécessaire. Edité par Metalion Le 14/11/2013 à 09h21
C'est donc l'émulation qui pose un problème.
Le clignotement en SCREEN0 est normal, c'est l'action sur le registre 9 qui le met en route. La commande pour l'arrêter est : VDP(10)=VDP(10)AND251
La valeur du registre 13 spécifie la durée d'affichage de chaque page : VDP(14)= Temps page 0 x 16 + Temps page 1
Sauf erreur de ma part, il n'y a que 2 pages disponibles en VRAM pour le SCREEN12.
Ton schéma d'alternance va donc être difficile à réaliser.
EDIT : essaie un peu en enlevant carrément la commande VDP(10) du programme. Car je ne suis pas sur qu'elle soit nécessaire. Edité par Metalion Le 14/11/2013 à 09h21
MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie