我需要帮助实施更精确的浮子.(Mandelbrot渲染器)
I need help implementing bigger more precise floats. (Mandelbrot Renderer)
__ float128太慢
我在GMP或MPFR中没有经验。
我有什么可以做的吗?
这是我的代码的非常缩小的版本。
剪切代码缺少许多元素:
代码
我是新手堆栈溢出
#include <SFML/Graphics.hpp>
typedef long double num;
void drawFract(const unsigned int threadNum)
{
for(unsigned int iy = 0; iy < threadHeight; iy++)
{
num px = xStart;
for(unsigned int ix = 0; ix < w; ix++)
{
pixels[counter + 0] = 0; pixels[counter + 1] = 0;
pixels[counter + 2] = 0; pixels[counter + 3] = 255;
num zr = px, zi = py;
for(unsigned int i = 0; i < iter; i++)
{
const num sqzr = zr * zr,
sqzi = zi * zi,
add = zr + zi;
zi = py + add*add - sqzr - sqzi;
zr = sqzr - sqzi + px;
if(sqzr + sqzi > bail)
{
i %= colors;
pixels[counter + 0] = r[i];
pixels[counter + 1] = g[i];
pixels[counter + 2] = b[i];
break;
}
}
px += xIter;
counter += 4;
}
py += yIter;
}
return;
}
int main()
{
app.setFramerateLimit(64);
sf::Thread bot0(drawFract,0), bot1(drawFract,1),
bot2(drawFract,2), bot3(drawFract,3),
bot4(drawFract,4), bot5(drawFract,5),
bot6(drawFract,6), bot7(drawFract,7);
/* My position manager system */
}
对不起,我真的需要帮助,而不是为了娱乐。
mpfr是任意精确浮点的标准标准。但是,如果您认真对待性能,则应真正考虑渲染优化。
相关文章:
- 需要帮助设置在C++中使用的Potrace
- 在指针的帮助下,文本文件中单词的频率
- 计算每个节点的树高,帮助我解释这个代码解决方案
- 如何在Qbutton的帮助下更改Q对话框的宽度
- 需要帮助将结构数组传递给函数
- C++需要帮助从用户那里获得一个整数,并确保它在另外两个整数之间
- 需要帮助在 c++ 中将字符串转换为字符 ----错误 "const char *" 类型的值不能用于初始化 "char" 类型的实体
- 有人可以帮助我处理正则表达式吗?
- C++调用具有 *this 属性的单个帮助程序函数
- C++:需要帮助了解运算符重载错误
- 需要以下代码的帮助,下面的代码有什么问题
- CS1 项目帮助C++
- 用于检查值是否为其任何参数的帮助程序函数
- 需要有关此 if 语句的帮助
- 类型限定宏帮助程序
- CoreCLR 中的检测探查器 - 将帮助程序程序集加载到 dotnet 进程的方法
- NS3 插槽混淆(需要帮助理解)
- 设计帮助 - 为不同类型的消息处理通用接口的设计模式
- 需要帮助查找内存泄漏
- 我需要帮助实施更精确的浮子.(Mandelbrot渲染器)