2.0 KiB
2.0 KiB
OpenGLDevice::GetCapabilities
const RHICapabilities& GetCapabilities() const override
获取 OpenGL 设备能力。
详细描述
返回设备的硬件能力和特性支持信息。能力信息在 InitializeWithExistingWindow() 期间通过查询 OpenGL 获得。
查询的能力项
| 能力字段 | 描述 | OpenGL 查询 |
|---|---|---|
majorVersion |
OpenGL 主版本 | GL_MAJOR_VERSION |
minorVersion |
OpenGL 次版本 | GL_MINOR_VERSION |
bSupportsGeometryShaders |
几何着色器支持 | 始终 true |
bSupportsComputeShaders |
计算着色器支持 | GL_VERSION >= 4.3 |
bSupportsTessellation |
曲面细分支持 | GL_VERSION >= 4.1 |
bSupportsExplicitMultiThreading |
多线程支持 | 始终 false |
maxTexture2DSize |
2D 纹理最大尺寸 | GL_MAX_TEXTURE_SIZE |
maxTextureCubeSize |
立方体贴图最大尺寸 | GL_MAX_CUBE_MAP_TEXTURE_SIZE |
maxRenderTargets |
最大渲染目标数 | GL_MAX_DRAW_BUFFERS |
maxColorAttachments |
最大颜色附件数 | GL_MAX_DRAW_BUFFERS |
maxViewports |
最大视口数 | GL_MAX_VIEWPORTS |
maxAnisotropy |
最大各向异性级别 | GL_MAX_TEXTURE_MAX_ANISOTROPY |
maxVertexAttribs |
最大顶点属性数 | GL_MAX_VERTEX_ATTRIBS |
返回值
const RHICapabilities& - 设备能力结构的常量引用
复杂度
O(1) - 返回内部缓存的能力信息
示例
const RHICapabilities& caps = device.GetCapabilities();
std::cout << "OpenGL Version: " << caps.majorVersion << "." << caps.minorVersion << std::endl;
std::cout << "Max Texture Size: " << caps.maxTexture2DSize << std::endl;
std::cout << "Max Render Targets: " << caps.maxRenderTargets << std::endl;
if (caps.bSupportsComputeShaders) {
std::cout << "Compute shaders supported" << std::endl;
}
相关文档
- OpenGLDevice - 类总览
- RHICapabilities - 能力结构定义
- GetDeviceInfo - 获取设备信息