-1

尝试将相机预览缓冲区渲染到 BB10 中的 opengl 渲染器时出现问题(但与任何平台相关)。我的渲染器只是一个基本的开放式 gl 渲染器,它通过一个相对无限的渲染循环但是我希望从我的相机类(我实例化我的渲染器)中发送相机预览缓冲区,所以

myThread = new QThread();
renderer = new BPRenderer();
renderer->moveToThread(myThread);
connect(myThread, SIGNAL(started()), renderer, SLOT(run()));
connect(this, SIGNAL(NewTexture(int)), renderer, SLOT(SetTextureFromRaw(unsigned char*)));
myThread->start();

所以发出函数是:

emit this->NewTexture(camera->buf);

所以这很基本,我知道它的更新很好。但似乎我的线程可能有问题,因为虽然运行信号运行良好,但我的 settexturefromraw 插槽从未被触发,我尝试将其设置为本地摄像头功能以检查它不是摄像头(此)功能,但这是工作很好,所以我确定它是 settexturefromrawfunc。

如果有人有任何想法,请将它们扔给我,因为这已经让我很长时间了!干杯

4

1 回答 1

0

检查控制台输出(您可能需要通过 SSH 连接到设备并执行“slog2info”)以查看信号是否实际正在连接。如果没有看到其余的代码,很难确定,但我猜想 NewTexture 的参数不匹配。

在 connect 调用中,您正在连接到 NewTexture(int)。当您发出它时,您调用的是 this->NewTexture(camera->buf)。通过参数名称,它看起来更像是一个指针。

于 2012-12-21T14:09:22.983 回答