0

同时,有没有办法规定 Matlab 或 paraview 或任何其他使用 openGL 以双精度执行任务的应用程序?我可以使用解决方法来解决我的问题,但我不想这样做:) 谢谢!

编辑:我尝试更具体地说明问题/问题。前两张图: openGL 渲染

其他渲染器

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

因此,我想知道您是否知道某种方式(在 matlab、Paraview、操作系统设置中)来设置更高的渲染精度(我读到 gpus/opengl 通常以浮点数计算)

4

1 回答 1

2

首先,这与 OpenGL 无关。Matlab 中实际进行绘图的部分是用某种编译语言编写的,并且仅依赖于 OpenGL 来将内容显示到屏幕上。

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

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

于 2014-07-21T18:35:20.100 回答