在窗口CMyWndClass上用OpenGl画了一个图形,然后用glReadPixels获取窗口中的图像,将图像读到缓冲区lpDIBits中。我的程序最初是运行在intel 的32位CPU上,用glReadPixels读到的图像跟窗口上显示的一致。后来,我把程序拿到intel 的64位CPU上运行,发现,图像严重失真。不知什么原因? 请熟悉opengl的老兄帮忙分析一下。
下面是我使用glReadPixels的方式,不知有什么问题。LPBYTE CMyWndClass::GetImageData()
{
::glReadPixels(0, 0, m_nImageSize[0], m_nImageSize[1],
GL_RGB, GL_UNSIGNED_BYTE, (GLvoid *)m_lpDIBits);
return m_lpDIBits;
}
其中: m_nImageSize[0] = (窗口宽度 / 4) * 4
m_nImageSize[1] = 窗口高度
m_lpDIBits为保存屏幕图像数据的缓冲区,在外面已经生成。
下面是我使用glReadPixels的方式,不知有什么问题。LPBYTE CMyWndClass::GetImageData()
{
::glReadPixels(0, 0, m_nImageSize[0], m_nImageSize[1],
GL_RGB, GL_UNSIGNED_BYTE, (GLvoid *)m_lpDIBits);
return m_lpDIBits;
}
其中: m_nImageSize[0] = (窗口宽度 / 4) * 4
m_nImageSize[1] = 窗口高度
m_lpDIBits为保存屏幕图像数据的缓冲区,在外面已经生成。
解决方案 »
- mfc可以跨平台吗?
- MFC中给edit控件赋值问题
- 点击对话框上的X会发送给对话框WM_DESTROY消息么?
- 关于PutActiveConnection
- 在VC内如何实现DLL的静态调用? (动态调用已经实现)
- 什么图形软件可以直接生成/处理压缩的Bitmap文件?
- 程序中想通过#import"c:\......\excel9.old"调用excel可是编译时通不过!!!!
- 在IE中实现实时数据的发布从效率上跟用普通的客户端应用程序来发布有什么区别?
- 急:如何向DLG动态添加一个CScrollBar控件?
- 问一个简单的问题,你能做出来吗?
- 怎样让对话框程序启动不出现界面?
- 我现在已经做到移动鼠标到图片上时textout一行文字,怎么使文字停留时间长一点
问题应该处在这里吧!
你把初始化它的代码贴上来看看!