像素 至 缓冲表面
来源:互联网 发布:多米诺激光机软件 编辑:程序博客网 时间:2024/03/29 19:37
typedef struct RGB_VALUE
{
int nRed;
int nGreen;
int nBule;
}RGBVALUE;
RGBVALUE GetRGBValue(COLORREF color)
{
RGBVALUE stRGB;
stRGB.nRed = color&RGB(255,0,0);
stRGB.nGreen = (color&RGB(0,255,0)) >> 8;
stRGB.nBule = (color&RGB(0,0,255)) >> 16;
return stRGB;
}
else if (true == bPixel)
{
memset(&DDde,0,sizeof(DDde));
DDde.dwSize = sizeof(DDde);
lpOBuf[nNum]->Lock(NULL, &DDde,
DDLOCK_SURFACEMEMORYPTR | DDLOCK_WAIT, NULL);
if (16 == PixelMode)
{
COLORREF color = RGB(255,0,255);
RGBVALUE stRGB = GetRGBValue(color);
color = _RGB16BIT565(stRGB.nRed,stRGB.nGreen,stRGB.nBule); int mempitch = DDde.lPitch/2;
WORD * video_buffer = (WORD *)DDde.lpSurface;
for (int nRow = 0; nRow < height; nRow++)
{
for ( int nCol = 0; nCol < width; nCol++)
{
video_buffer[nCol+nRow*mempitch] = color;
}
}
}
else if (32 == PixelMode)
{
COLORREF color = RGB(128,128,128);
RGBVALUE stRGB = GetRGBValue(color);
color = _RGB32BIT(0, stRGB.nRed, stRGB.nGreen, stRGB.nBule);
int mempitch = DDde.lPitch/4;
DWORD * video_buffer = (DWORD *)DDde.lpSurface;
for (int nRow = 0; nRow < height; nRow++)
{
for ( int nCol = 0; nCol < width; nCol++)
{
video_buffer[nCol+nRow*mempitch] = color;
}
}
}
lpOBuf[nNum]->Unlock(NULL);
}
- 像素 至 缓冲表面
- OpenGL像素缓冲对象(PBO)
- OpenGL ES 颜色缓冲 深度测试 表面剔除
- 创建一个关联有"后备缓冲"的"主表面"(即复杂表面,Complex Surface)
- 带偏移限制的视差贴图:一种粗糙表面的逐像素近似法(转载)
- 通向天才之路:翻译《带偏移限制的视差贴图:一种粗糙表面的逐像素近似法》
- 中科院半导体研究所宣布电子皮肤新进展,超薄高像素可直接贴附人体表面
- 缓冲
- 缓冲
- 缓冲
- 缓冲
- 缓冲
- 像素
- 像素。。。
- 像素
- 像素
- 像素
- 像素
- Service Oriented
- 数据库连接池的原理机制
- Java关键字系列(public,protected,private)
- 分页,心中的痛?
- 6个你必须用到AJAX的地方与6个不必用到的地方
- 像素 至 缓冲表面
- 哲理故事三百篇
- 面向对象设计的原则
- 大沙发
- Java~栈的数组表示
- NET工程师求职面试必杀技
- 软件企业质量保证的基石――QA、QC的良性协作
- how can i change the back color on mouse out to the color specified in gridview
- 人力资源开发与管理