for my renderer, i need a reliable way to detect (at startup) if a gpu can handle the following:
- hardware shadow mapping for point lights via sampler2DShadow/shadow2D(Proj)
- hardware shadow mapping for omnidirectional lights via samplerCubeShadow/shadowCube
- Automatic bilinear filtering for 2d shadow maps
- Automatic bilinear filtering for cubic shadow maps
any ideas? to check for hdr support i could try to setup such an fbo and check its status, ok… what about the shadow features? thanks
there are two ways to go, both involves detecting specific extensions using the extension string
#1 directly detect the actual extension that support these features, you could search trough the extension registry to find those.
#2 find out which cards support which and then try to detect the individual cards by analyzing the specific extensions each generation add.
i find #1 works pretty well in most situations.
Originally posted by Vexator:
for my renderer, i need a reliable way to detect (at startup) if a gpu can handle…
If you want to find out if a feature is supported in hardware, there’s no easy way right now - it’ll silently go into software mode.
Once GL3 comes out, anything that isn’t hardware-accelerated just won’t be created - the object returned will be NULL, or some other indicator of failure. Until then, you just have to hope you don’t hit a software path.
Now, if you just want to find out if it can be rendered, whether it be in hardware or software, you just have to check for the right extensions, the the previous posters said.