opengl背景颜色为什么一直是黑色的(+100分), 求问 100

我有3个问题,需要大神帮我下:第一个问题:.我的代码:#include"stdafx.h"#include<Windows.h>#include<gl\glut.h>#i... 我有3个问题,需要大神帮我下:
第一个问题:
.我的代码:
#include "stdafx.h"
#include <Windows.h>
#include <gl\glut.h>
#include <stdlib.h>

void Display(void)
{
glClearColor(1.0f, 1.0f, 1.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0f, 1.0f, 1.0f);
glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
glFlush();
}
int main(int argc, char *argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(500,500);
glutInitWindowPosition(200,200);
glutCreateWindow("Ball");
glutDisplayFunc(&Display);
glutMainLoop();
return 0;
}
为什么我怎么改glClearColor(1.0f, 1.0f, 1.0f, 0.0f);里面的值,背景颜色还是黑色的。。。求大神回答下。

第二个问题是:我用线画圆,但线的宽度大于10怎么做,看一些资料是用quad作为线的宽度,然后画一个圆,但具体不知道怎么做。哪位大神能否写下代码。

第二个问题是,能否固定窗体的大小,图像不会因为窗体大小的改变而改变。

求问。。
展开
 我来答
不列颠fly
2015-04-28 · 超过14用户采纳过TA的回答
知道答主
回答量:18
采纳率:0%
帮助的人:14.4万
展开全部
一:
glClearColor(1.0f, 1.0f, 1.0f, 0.0f);设置当前帧的背景颜色
glClear(GL_COLOR_BUFFER_BIT);清除当前帧的颜色,也就是变成黑色背景,你先设置了当前帧的数据,然后马上就清除了,当然就没有了。所以你要把这两行代码调换顺序。
二:
void ReshapeFunc(int width, int height)//width和height是当前窗口的大小,
{
glViewport(0, 0, width, height);//设置图像显示窗口和当前系统窗口一样大小,使用参数width, height
glViewport(0, 0, 800, 600);//图像不随窗口的变化而变化。你用这个就行,但是如果系统窗口太小的话,图像会无法全部显示。
}

//你还要在main里添加这样一行代码,就ok啦
glutReshapeFunc(ReshapeFunc);
匿名用户
2015-04-28
展开全部
你可以自己改背景颜色的glClearColor();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式