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
Matlab OpenGL双精度_Matlab_Opengl_Paraview - Fatal编程技术网

Matlab OpenGL双精度

Matlab OpenGL双精度,matlab,opengl,paraview,Matlab,Opengl,Paraview,同时,有没有一种方法可以口述Matlab或paraview或任何其他使用openGL以双精度进行操作的应用程序?我可以为我的问题找到解决办法,但我不想:)谢谢 编辑: 我试图更具体地说明这个问题。前两张图片: 第一个是使用openGL渲染的,第二个(精细的)是在键入“openGL neverselect”方法后渲染的,该方法切换到另一个渲染器。由于我在Paraview中也遇到过类似的渲染问题,我很确定这是OpenGL特有的,而不是matlab或Paraview的“错误”。当我移动下面注释中提

同时,有没有一种方法可以口述Matlab或paraview或任何其他使用openGL以双精度进行操作的应用程序?我可以为我的问题找到解决办法,但我不想:)谢谢

编辑: 我试图更具体地说明这个问题。前两张图片:

第一个是使用openGL渲染的,第二个(精细的)是在键入“openGL neverselect”方法后渲染的,该方法切换到另一个渲染器。由于我在Paraview中也遇到过类似的渲染问题,我很确定这是OpenGL特有的,而不是matlab或Paraview的“错误”。当我移动下面注释中提到的值时,也会得到平滑渲染的图像。我假设这是因为我的数据范围与零有一个巨大的偏移,并且重新计算例程中的精度不够精确,在渲染计算中会产生严重的舍入错误


因此,我想知道您是否知道一些方法(在matlab、Paraview和OS设置中)来设置更高的渲染精度(我了解到GPU/opengl通常以浮点计算)

首先,这与opengl无关。Matlab的绘图部分是用一些编译语言编写的,并且依赖OpenGL在屏幕上显示内容

使用的精度(双精度/浮点)硬编码到程序中。你不能让操作系统或其他东西强迫程序使用不同的数据类型。在某些情况下,您可能能够对程序的源代码进行相关更改,然后重新编译,但这听起来不适用于您的情况


这并不意味着没有一种方法可以在Matlab中实现您想要的功能。事实上,由于该程序是专门设计用于进行数值计算的,因此几乎可以肯定有一种方法可以指定精度。如果你想获得进一步的指导,你需要提供关于你的问题的更详细的信息(截图?)。

你的问题的一部分似乎被切断了……实际上不是;)由于硬件opengl中的单一精度,我在matlab和paraview中遇到绘图问题。(我知道,因为如果我将变量的范围移近零,从而提高相对精度,绘图效果会更好。)然而,我并不真的希望由于评估过程中的依赖性而移动数据,除非Matlab使用半浮点数,否则你不应该得到那么糟糕的伪影。(回想一下,一个正常的浮点有6个有效数字。)您的图形驱动程序是最新的吗?我强烈怀疑这是由某个地方的错误引起的,图形驱动程序是一个很好的起点。图形驱动程序是最新的。。。z轴呢?我这里的值几乎不能用浮点表示:z(1)=7.356913341356019e+005,z(2)=7.356913341772569e+005,第11位的差,在这种情况下,你确实需要比浮点更高的精度。事实上,Matlab没有注意到这一点本身并不是好兆头。如果你幸运的话,它可能在某个地方有一个开关来提高精度,但是看起来Matlab并不是专门为处理这种情况而设计的。我更新了我的帖子:)如果你能看看,我会很高兴的