I wrote a small program for change blindness (this time windows only). It displays 4 images (2 real, 2 grey) via open gl in a qgl widget. It uses painters to do it.
It works quite on my pc. I tried to put it onto an other without qt and placed this gl files into the directory (found the with dependency walker):
libgcc_s_dw2-1.dll mingwm10.dll QtCore4.dll QtGui4.dll QtOpenGL4.dll
It worked well on my pc, outside the QTCreator and without any path set. On each other pc the QGL widgets are just black. The program works normaly (click on button etc) but all images are just black. I looked for the paths but they are all fine. No idea whats happening. The pcs I used have older hardware but nothing to special (older Ati cards with older driver, but i could play Half Life 2 on mid settings, so I assume the drivers are installed).
I got no error message or anything. Any Idea what can be done to fix it? If nothing works I will try to create an ubuntu usb stick with this program in it.
Paths (the paths are correct):
C:\tina_and_mona\pics\1\1.jpg C:\tina_and_mona\pics\1\2.jpg C:\tina_and_mona\pics\1\3.jpg C:\tina_and_mona\pics\1\4.jpg
void FlickerImage::updateGL()
{
//qDebug() << "In UpdateGl Event";
painter.begin(this);
painter.setRenderHint(QPainter::Antialiasing);
painter.drawImage ( QRectF(0,0,800,600), images[image_counter], QRectF(0,0, images[image_counter].width(), images[image_counter].height()));
//painter.fillRect(QRect(0,0,800,600), QColor(0,0,0,255));
painter.end();
}
void FlickerImage::loadImages()
{
busy = true;
images.clear();
/*images.append(QImage(QDir::toNativeSeparators(QString("pics") + QDir::separator () + QString::number(counter) + QDir::separator()+"1.jpg")));
images.append(QImage(QDir::toNativeSeparators(QString("pics") + QDir::separator () + QString::number(counter) + QDir::separator()+"2.jpg")));
images.append(QImage(QDir::toNativeSeparators(QString("pics") + QDir::separator () + QString::number(counter) + QDir::separator()+"3.jpg")));
images.append(QImage(QDir::toNativeSeparators(QString("pics") + QDir::separator () + QString::number(counter) + QDir::separator()+"4.jpg")));*/
images.append(QImage(QDir::toNativeSeparators(QDir::currentPath() + QDir::separator () + QString("pics") + QDir::separator () + QString::number(counter) + QDir::separator()+"1.jpg")));
images.append(QImage(QDir::toNativeSeparators(QDir::currentPath() + QDir::separator () + QString("pics") + QDir::separator () + QString::number(counter) + QDir::separator()+"2.jpg")));
images.append(QImage(QDir::toNativeSeparators(QDir::currentPath() + QDir::separator () + QString("pics") + QDir::separator () + QString::number(counter) + QDir::separator()+"3.jpg")));
images.append(QImage(QDir::toNativeSeparators(QDir::currentPath() + QDir::separator () + QString("pics") + QDir::separator () + QString::number(counter) + QDir::separator()+"4.jpg")));
qDebug() << "Before output file";
QFile output("image.log");
if(!output.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append))
{
qDebug() << "Could not open output";
}
else
{
qDebug() << "image.log could be opened";
output.write(QString("hi").toAscii());
output.write(QDir::toNativeSeparators(QDir::currentPath() + QDir::separator () + QString("pics") + QDir::separator () + QString::number(counter) + QDir::separator()+"1.jpg\n").toAscii());
output.write((QDir::toNativeSeparators(QDir::currentPath() + QDir::separator () + QString("pics") + QDir::separator () + QString::number(counter) + QDir::separator()+"2.jpg\n")).toAscii());
output.write((QDir::toNativeSeparators(QDir::currentPath() + QDir::separator () + QString("pics") + QDir::separator () + QString::number(counter) + QDir::separator()+"3.jpg\n")).toAscii());
output.write((QDir::toNativeSeparators(QDir::currentPath() + QDir::separator () + QString("pics") + QDir::separator () + QString::number(counter) + QDir::separator()+"4.jpg\n")).toAscii());
output.close();
}
busy = false;
}