用SDL或任何语言画圆的内存友好方法?

问题描述 投票:-1回答:1

答案不一定非得是sdl的。

这是我目前写的一个,但我认为它也会消耗很多内存,因为我也会给圆圈添加运动。

我使用的是 f(p)= xsquare + ysquare - rsquare 渲染圆内的像素(我猜是中点theoram)。

请把它简单化,因为我是一个初学者。另外,是否可以为你的程序制作许多头文件? 这是好的做法吗?

void add( SDL_Window *window ,SDL_Renderer *renderer,int r )
{
    int i=0;
   int j=0;
   int x,y,k;
for(i=1 ; i<= r; ++i)
    {
        for(j=1 ; j<= r; ++j)
        {
            k=(i*i)+(j*j)-(r*r);
            if(k <= 0)
            {
                x=20;
                y=400;
                SDL_RenderDrawPoint(renderer ,i+r-1+x,j+r-1+y);
                SDL_RenderDrawPoint(renderer ,-i+r+1+x,-j+r+1+y);
                SDL_RenderDrawPoint(renderer ,-i+r+1+x,j+r-1+y);
                SDL_RenderDrawPoint(renderer ,i+r-1+x,-j+r+1+y);
            }
        }
    }
SDL_RenderPresent(renderer);
}
c++ graphics geometry sdl sdl-2
1个回答
0
投票

你可以看看SDL2_gfx库。在这里,你可以看看SDL2_gfx库。 你可以使用这个库来绘制一些SDL的基元,或者只是借用它的一些代码。

© www.soinside.com 2019 - 2024. All rights reserved.