社区
机器视觉
帖子详情
凌晨跪拜求教!如何让openGL和GDI同时显示在form中?
happyili
2004-10-29 03:18:23
大致是这样的。。本来有一个用GDI绘图显示的程序,现在要加入openGL绘制内容。
可是在opengl画完之后一用SwapBuffers好像就把整个窗口擦除了。。
有什么好办法把opengl绘制的内容限制在一个窗口里面呢?难道用memDC+bitmap?
...全文
137
9
打赏
收藏
凌晨跪拜求教!如何让openGL和GDI同时显示在form中?
大致是这样的。。本来有一个用GDI绘图显示的程序,现在要加入openGL绘制内容。 可是在opengl画完之后一用SwapBuffers好像就把整个窗口擦除了。。 有什么好办法把opengl绘制的内容限制在一个窗口里面呢?难道用memDC+bitmap?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lynnboy
2004-10-31
打赏
举报
回复
涉及到GDI的就是这么回事吧。。。
happyili
2004-10-30
打赏
举报
回复
哎,试了半天还是没有成功~
郁闷,用不来啊,memDC
自己再顶一下,期盼着高手再来指点阿~~
zzwu
2004-10-30
打赏
举报
回复
恭喜你取得了成功!
happyili
2004-10-30
打赏
举报
回复
呵呵,弄了半天没想到还真是memdc+bitmap... 分特。。
happyili
2004-10-30
打赏
举报
回复
哈~ 终于搞定了,原来前面在selectobject(bitmap...)之前设置了pixelformat... 真正郁闷阿~
现在的大致是下面这个样子。。
不过还是不懂DIB dc,和在绘时切换RC是什么概念,望多指点拉~~
BITMAPINFO info; /* Bitmap information */
GLubyte *bits; /* Buffer for bitmap data */
HBITMAP bitmap; /* Bitmap */
PIXELFORMATDESCRIPTOR pfd;
// Create the device context...
dc = CreateCompatibleDC(NULL);
// Create and bind the rendering context
//CDC dcMemory;
//dcMemory.CreateCompatibleDC(pDC);
/* Create and bind the bitmap */
memset(&info, 0, sizeof(info));
info.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
info.bmiHeader.biWidth = 900;
info.bmiHeader.biHeight = 900;
info.bmiHeader.biPlanes = 1;
info.bmiHeader.biBitCount = 24;
info.bmiHeader.biCompression = BI_RGB;
bitmap = CreateDIBSection(dc, &info, DIB_RGB_COLORS, (void **)&bits, NULL, 0);
//CBitmap* pOldBitmap = dcMemory.SelectObject(&bmp);
SelectObject(dc, bitmap); // create context after select the bitmap???
// Set the pixel format...
// !!! must set the pixel format after selecting the bitmap!!!!!!!!!!!!
memset(&pfd, 0, sizeof(pfd));
pfd.nSize = sizeof(pfd);
pfd.nVersion = 1;
pfd.dwFlags = PFD_DRAW_TO_BITMAP | PFD_SUPPORT_OPENGL; // draw to bitmap!!!
pfd.iPixelType = PFD_TYPE_RGBA;
pfd.cColorBits = 24;
pfd.cRedBits = 8;
pfd.cGreenBits = 8;
pfd.cBlueBits = 8;
pfd.cDepthBits = 16;
int pf = ChoosePixelFormat(dc, &pfd);
SetPixelFormat(dc, pf, &pfd);
rc = wglCreateContext(dc);
wglMakeCurrent(dc, rc);
Initialize();
DrawObject();
// SwapBuffers(dc);
// prepare palette
LOGPALETTE * pLogPal = (LOGPALETTE *)new char[sizeof(LOGPALETTE) +
256 * sizeof(PALETTEENTRY)];
pLogPal->palVersion = 0x300;
pLogPal->palNumEntries = 256;
RGBQUAD pRGB[256];
::GetDIBColorTable(dc, 0, 256, pRGB); // use HDC of opengl
for(int i = 0 ; i < 256 ; i ++)
{
pLogPal->palPalEntry[i].peRed = pRGB[i].rgbRed;
pLogPal->palPalEntry[i].peGreen = pRGB[i].rgbGreen;
pLogPal->palPalEntry[i].peBlue = pRGB[i].rgbBlue;
pLogPal->palPalEntry[i].peFlags = 0;
}
CPalette * hPalette = NULL;
hPalette = new CPalette;
hPalette->CreatePalette(pLogPal);
delete pLogPal;
CClientDC thisdc(this);
CPalette *oldPalette;
oldPalette = thisdc.SelectPalette(hPalette, true);
thisdc.RealizePalette();
::StretchDIBits(thisdc.GetSafeHdc(), 0,0, 500, 500,
0, 0, 500, 500,
bits, &info,
DIB_RGB_COLORS, SRCCOPY);
thisdc.SelectPalette(oldPalette, true);
::DeleteObject(hPalette);
wglMakeCurrent(NULL,NULL);
// wglDeleteContext(rc);
DeleteObject(bitmap);
// DeleteDC(dc);
ReleaseDC(&thisdc);
syy64
2004-10-29
打赏
举报
回复
在绘时切换RC
yjh1982
2004-10-29
打赏
举报
回复
用DIB dc可以办到.可惜是永不加速.也就是说只能用到M$的软件实现.
还有一个方法是GDI绘在memDC中.画opengl其它内容前用drawpixel先画memDC中的内容.
redcony
2004-10-29
打赏
举报
回复
关注
happyili
2004-10-29
打赏
举报
回复
有没有具体的代码阿。。。贴出来看看。。。
我很菜的。。。
我先去试试吧~ 多谢拉~~
五年级语文下册 4.2藏羚羊
跪拜
教案3 长春版-长春版小学五年级下册语文教案.doc
综上所述,"藏羚羊
跪拜
"这篇课文的教学,不仅要关注语文知识的传授,更要注重培养学生的情感态度与价值观,让他们在学习
中
体验母爱的力量,理解生命的尊严,从而培养他们尊重和关爱一切生命的世界观。
六年级语文上册第31课藏羚羊
跪拜
课件上海五四制版.rar
在这个故事
中
,藏羚羊的
跪拜
行为象征着对生命的敬畏和对母爱的伟大,旨在引导学生思考人与自然的关系,培养他们的同情心和环保意识。 课件通常包含以下组成部分: 1. 课程目标:明确学生在学习本课后应达到的知识和...
五年级语文下册 4.2藏羚羊
跪拜
教案 长春版-长春版小学五年级下册语文教案.doc
教师通过引导学生讨论和思考,让学生们主动参与到话题
中
来,从而自主地感受语言的魅力和作品
中
的人文关怀。教学难点在于如何使学生真正理解并接受所有生命都拥有生存权利的观念。教育者需要巧妙地引导学生,让他们从...
五年级语文下册 4.2藏羚羊
跪拜
教案1 长春版-长春版小学五年级下册语文教案.doc
在长春版小学五年级语文下册的教学大纲
中
,《藏羚羊
跪拜
》这篇课文占据了重要的位置。它不仅仅是一次普通的阅读教学,更是一次关于生命尊严和环境保护的深刻教育。本文将根据所给教案的概要内容,深入探讨这篇课文的...
伟大的母爱读《藏羚羊的
跪拜
》有感作文600字.doc
在阅读《藏羚羊的
跪拜
》这篇文章后,我深受触动。故事
中
的母藏羚羊面对猎人的枪口,所展现的无私与勇气,令我不得不对其背后的母爱伟大而感到震撼。这一份感动促使我写下这篇读后感,我愿借由文字的传递,让更多的人...
机器视觉
4,499
社区成员
15,347
社区内容
发帖
与我相关
我的任务
机器视觉
图形图像/机器视觉
复制链接
扫一扫
分享
社区描述
图形图像/机器视觉
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章