Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenGL 4.0 FP64功能_Opengl_Precision - Fatal编程技术网

OpenGL 4.0 FP64功能

OpenGL 4.0 FP64功能,opengl,precision,Opengl,Precision,最近我一直在做一个需要FP64支持的项目 现在,我正在检查GPU是否支持ARB\u GPU\u shader\u fp64扩展。然而,最近我在一台装有Nvidia gt 540m的笔记本电脑上测试了这个项目,它确实支持OpenGL 4.0,但并没有宣传这个扩展 在OpenGL4.0中,ARB\uGPU\uShader\uFP64成为“核心扩展”。这是什么意思?任何支持opengl 4.0的gpu都支持fp64吗?它必须宣传扩展,还是暗示它支持此功能?它的意思就是它所说的。ARB_gpu_shad

最近我一直在做一个需要FP64支持的项目

现在,我正在检查GPU是否支持
ARB\u GPU\u shader\u fp64
扩展。然而,最近我在一台装有Nvidia gt 540m的笔记本电脑上测试了这个项目,它确实支持OpenGL 4.0,但并没有宣传这个扩展


在OpenGL4.0中,
ARB\uGPU\uShader\uFP64
成为“核心扩展”。这是什么意思?任何支持opengl 4.0的gpu都支持fp64吗?它必须宣传扩展,还是暗示它支持此功能?

它的意思就是它所说的。ARB_gpu_shader_fp64正式称为“向后兼容性扩展”。这意味着它与4.0功能相同,枚举数和函数甚至没有
ARB
后缀。这意味着,如果存在扩展,或者版本号>=到采用它的OpenGL版本,则使用这些枚举/函数始终有效

这样做的目的是允许硬件公开无法实现其余4.0的功能。用户可以使用任何一种硬件,而无需对用户代码进行任何代码更改(甚至包括枚举/函数名)。他们只需要检查版本和扩展名,如果其中一个存在,则使用该功能

很有可能扩展只因驱动程序错误而丢失。我这么说是因为3都明确列出了硬件支持的扩展。因此,如果您的驱动程序是最新的,这可能只是一个最近的驱动程序错误。如果他们更老,更新可能会修复它


或者,检查此扩展是否存在的代码可能有缺陷。

谢谢,这就是我一直在寻找的答案,现在只需要使用
#VERSION 400
#VERSION 330+扩展编译着色器。