comunque ti dico per esperienza (possessore di un nvidia 3d vision kit con schermo samsung syncmaster 2233) che se gli schermi per il 3D partono da 100Hz e che se uno schermo normale oscilla tra i 60 e i 75Hz il motivo è che se scendi sotto i 50Hz per occhio ti si affatica la vista e ti provoca un gran mal di testa dopo anche una sola ora (indifferentemente dalla profondità che dai all'immagine stereoscopica).
se proprio vuoi fare un 3D in casa per un portatile utilizza una cosa chiamata barriera di parallasse che almeno non ti rovini gli occhi.
se però vuoi continuare devi usare una porta esterna, non credo che il tuo pc non abbia nemmeno una HDMI o DVI o VGA. Certo se fossi in grado di gestire le directx come nulla potresti farlo via software ma già il tempo necessario per comunicare via seriale e credo andresti out of sync
inoltre abilitare il v-sync riduce le prestazioni del gioco/programma
Ok ho più o meno capito quello che vuoi dire, mi domando se a questo punto una soluzione potrebbe essere che il plughin stesso si sincronizzi con gli occhiali ( è il plughin che alterna i 2 fotogrammi del formato Side-by-Side 3D )
ma cosi mi vengono in mente molti altri problemi.
Chi sta provando a farmi il plughin non sa nemmeno se farlo in c++ o in java ( stavamo giusto ragionandoci ora ) e non abbiamo la più pallida idea di come interfacciarlo con arduino.
Il plughin lo stiamo pensando per VLC.
però tocca essere molto bravi a scrivere software per pc e avere un'ottima conoscenza di Windows/Linux.
E anche di DirectX o similare secondo me
Chi sta provando a farmi il plughin non sa nemmeno se farlo in c++ o in java ( stavamo giusto ragionandoci ora ) e non abbiamo la più pallida idea di come interfacciarlo con arduino.
Se vuoi avere una chance per il plugin devi andare su C++ e NON si deve interfacciare con Arduino che il segnale lo deve prendere direttamente dalla VGA
comunque ti dico per esperienza (possessore di un nvidia 3d vision kit con schermo samsung syncmaster 2233) che se gli schermi per il 3D partono da 100Hz e che se uno schermo normale oscilla tra i 60 e i 75Hz il motivo è che se scendi sotto i 50Hz per occhio ti si affatica la vista e ti provoca un gran mal di testa dopo anche una sola ora (indifferentemente dalla profondità che dai all'immagine stereoscopica).
Io ho visto usare con un discreto successo anche con la frequenza di 60 Hz.
In ogni caso se avessi un ipotetica shcedavideo che arriva fino a 120 l'intero dispositivo si adaterebbe alla nuovo frequenza.
Il progetto e pensato solo per la visualizazioni di video.
Ok ho letto quello che riguarda il DirectX, è molto bella come cosa ma decisamente troppo complessa secondo me.
ora non mi rimane che riordinare le idee.
In ogni caso vorrei realizzare un programma su arduino per prendere il clock dal vsinc della presa vga ( lasciando per ora perdere la porta usb ) per poi mandarlo ai vari occhiali, cosi almeno potrò effettuare maggiori test.
Il dubbio che mi rimane ora è se riuscirò a creare il tanto agoniato plughin e nel caso riuscire a sincronizzarlo .
PROPOSITI FUTURI:
Spero di riuscire ad ottenere almeno un risultato accettabile e speriamo che il progetto prenda piede in maniera da poter essere sempre più sviluppato.
INTANTO:
Secondo voi questo codice va bene ? o si potrebbe quasi sicuramente renderlo più snello e veloce?
int VGAclock=0;
int SINCswic=0;
void setup(){
pinMode ( 13, OUTPUT ); // il pin 13 e 12 servono per comandare gli occhiali tramite cavo non IR
pinMode ( 12, OUTPUT );
pinMode (8, INPUT); // da qui faccio entrare il segnale di clock VGA
pinMode (9, INPUT); // interruttore per girare la fase
}
void loop() {
VGAclock=digitalRead(8);
SINCswic=digitalRead(9);
if(VGAclock==HIGH , SINCswic==LOW ){
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
}
else{
digitalWrite(13,LOW);
digitalWrite(12,HIGH);
}
if(VGAclock==HIGH , SINCswic==HIGH ){
digitalWrite(13,LOW);
digitalWrite(12,HIGH);
}
else{
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
}
}
lesto:
o meglio ancora le openGL, così fai win, linux e mac
Facile dire openGL ma in questo caso non si avrebbe qualcosa di molto portabile a meno di non scrivere codice specifico per le tre piattaforme, il VSYNC con la scheda video non è inclusa nelle specifiche principali ed è delegata alla piattaforma
OK il progetto sta andando avanti anche in C++ con questa libreria da assemblase SoC 2011/Stereoscopic Video - VideoLAN Wiki
se qualcuno fosse interressato a darmi una mano anche con questa parte questo è il link.
Ora ho anche bisogno di racogliere un pò di segnali IR dai vari tv per poterli copiare in arduino.
E anche qui ho bisogno della vostra mano, se potete intercettare i segnali con IRrecord e poi comunicarmi il codice e il modello del tv ve ne sarei grato
Grazie ora ci do una bella letta, intanto se qualcuno e interessato questo è il codice fatto fino ad ora.
Se avete consigli su come migliorarlo ditemi pure.
#include <IRremote.h>
IRsend irsend;
int VGAclock=0;
int SINCswic=0;
int IR=2;
int CR=0x20DFDF20; // inserisci dopo 0x il codice per il segnale R
int CL=0x20DFDF20; // inserisci dopo 0x il codice per il segnale L
void setup(){
pinMode (7, INPUT); // VGAclock da qui faccio entrare il segnale di clock VGA
pinMode (6, INPUT); // SINCswic interruttore per girare la fase
pinMode (IR, OUTPUT); // uscita led IR
Serial.begin(9600);
}
void loop() {
VGAclock=digitalRead(7);
SINCswic=digitalRead(6);
if(VGAclock==HIGH , SINCswic==LOW ){
irsend.sendNEC(CR, IR); // inserisci dopo 0x il codice
}
else{
irsend.sendNEC(CL, IR);
}
if(VGAclock==HIGH , SINCswic==HIGH ){
irsend.sendNEC(CL, IR);
}
else{
irsend.sendNEC(CR, IR);
}
}