gpt4 book ai didi

c++ - 从头开始画大圆圈

转载 作者:太空狗 更新时间:2023-10-29 23:41:10 27 4
gpt4 key购买 nike

<分区>

我是 C++ 的新手,但我觉得这门语言还不错。作为一个学习项目,我决定制作一个小型 2D 图形引擎。这似乎是一个艰巨的项目,但我很清楚如何继续前进。

我还没有真正开始,但是当我遇到这个问题时,此刻我正在脑海中形成一些东西:在某些时候,我将不得不创建一个在屏幕上绘制圆圈的功能。我现在的做法是这样的:

in a square with sides from (x-r) to (x+r) loop through x and y,
if at each point, the current distance sqr(x^2+y^2) is less than or equal to r
, then draw a pixel at that point.

这行得通,如果行不通,请不要告诉我,我会想办法的。如果 x+r & y+r 在屏幕上,我当然只会画这个圆圈。

问题在于有时我需要画很大的圆圈。例如,如果我需要绘制一个半径为 5000 的圆,(如果像素循环计算需要总共循环 10000^2 次)。因此,对于 2Ghz 的处理器,这个单个圆圈只能渲染 2Ghz/(10000^2),即 ~22 次/秒,同时占用整个核心(相信每个像素只需要一次计算,这是无处可寻的)真相)。

现在哪种方法是正确的?我想这与使用 GFX 进行这些简单计算有关。如果是这样,我可以为此使用 C++ 的 OpenGL 吗?我也想学:)

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com