opengl 多边形颜色怎么填充不了 5

voidfill(){COLORREFc,body_color;body_color=RGB(0,0,0);//实例化,这是啥颜色setcolor(body_color)... void fill(){
COLORREF c,body_color;

body_color=RGB(0,0,0);//实例化,这是啥颜色

setcolor(body_color); //设置画笔颜色

setfillstyle(c, SOLID_FILL, NULL); //设置填充颜色

int x,y,p;
int flag = 0;
c=getpixel(x,y);
for(int j=0;j<=y0+h;j++) //y方向扫描线
{
for(int i=0;i<640;i++) //x方向,从左到右找border点
{
c=getpixel(i,j); //得到该点颜色
if(c==body_color && flag==0) //是边框色
{ //是第一次遇到
p = i;
flag = 1;
}
else if(c==body_color && flag==1) //是边框色
{ //是第二次遇到

flag = 2;
line(p,j,i,j);
}
}
flag = 0; //清0,以方便下一轮再来
}
}
展开
 我来答
志当存高远389
2015-06-27 · 知道合伙人互联网行家
志当存高远389
知道合伙人互联网行家
采纳数:11236 获赞数:20406
08年毕业,一直从事计算机行业,从基层做起。有较强的实践操作能力。

向TA提问 私信TA
展开全部
如果你使用非固定管线的opengl版本可以直接在你的“片段着色器”(fragment shader)里控制,想怎么填冲怎么填充极为自由,当然要使用GLSL哦!

例如单一颜色:
varying lowp vec4 DestinationColor;//这是顶点着色器传过来的值

void mian (void)
{
gl_FragColor = DestinationColor;//这样就填充了单一的颜色不做改变相当于glShaderModel(GL_FLAT),当然也可以让根据你的要求来改变,例如顶点位置神马的...
}
追问
我们必须用上面的方法的,能帮我看看那代码有什么错误吗??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式