平民程序 - linghuye's blog

天下风云出我辈,一入江湖岁月催。皇图霸业谈笑中,不胜人生一场醉。提剑跨骑挥鬼雨,白骨如山鸟惊飞。尘事如潮人如水,只笑江湖几人回。

随笔 - 221, 文章 - 0, 评论 - 680, 引用 - 0
数据加载中……

显卡对Opengl标准的支持

显卡对Opengl标准的支持,在逻辑是通过驱动程序完成的.理论上通过软件实现,驱动程序可以实现所有的最新的Opengl标准(只要驱动程序暴露扩展函数接口即可),但受限于原先固有硬件的设计,有些扩展无法或实现非常困难,如Shader标准,FrameBuffer等与硬件紧密相关的技术. 但很多扩展只需要升级驱动程序即可.尽管Opengl 2.0是刚通过ARB的,但在此前出产的有相关硬件能力的显卡只需升级驱动程序即可.

OpenGL Extensions Viewer这个工具能检查当前显卡驱动程序对Opengl的实现程度.

// 取显卡内存量
bool getVideoMemUsage(DWORD &vidMemTotal, DWORD &vidMemFree)
{
// Uses directdraw to get total and free video memory
LPDIRECTDRAW lpDD = NULL;
HWND hWnd = NULL;
DDCAPS ddcaps;
ddcaps.dwSize=sizeof(DDCAPS);

if(DirectDrawCreate(NULL, &lpDD, NULL)!=DD_OK)
{
return false;
}
if(lpDD->SetCooperativeLevel(hWnd, DDSCL_NORMAL)!=DD_OK)
{
lpDD->Release();
return false;
}
if(lpDD->GetCaps(&ddcaps, NULL)!=DD_OK)
{
lpDD->Release();
return false;
}
vidMemTotal = ddcaps.dwVidMemTotal;
vidMemFree = ddcaps.dwVidMemFree;
lpDD->Release();
return true;
}

posted on 2005-09-24 23:48 linghuye 阅读(648) 评论(0)  编辑 收藏 引用 所属分类: 3D图形学研究

只有注册用户登录后才能发表评论。