用OpenGL绘制国旗出现了一点问题
来源:百度知道 编辑:UC知道 时间:2024/06/25 04:13:24
我用OpenGL来绘制一面五星红旗,下面是我的完整代码,但是绘制五角星的地方有点问题,绘出来的居然不是五角星,郁闷死我了,看了一个早上都没有发现到底是什么问题,哪位大侠帮帮忙,我加分~~
#include "stdafx.h"
#include "GL/glut.h"
#include "math.h"
#define PI 3.141592653589793238462643383279
void Rectangle (void)
{
glPolygonMode(GL_FRONT, GL_FILL);
glBegin(GL_POLYGON);
glColor3f(1.0,0,0);
glVertex2f(0.8,0.5);
glVertex2f(-0.8,0.5);
glVertex2f(-0.8,-0.5);
glVertex2f(0.8,-0.5);
glEnd();
}
void BigStar(void)
{
float d=0.1;
float d0=d*sin(PI/10)/cos(PI/5);
float x0=-0.58;
float y0=0.25;
glPolygonMode(GL_FRONT, GL_FILL);
glBegin(GL_POLYGON);
glColor3f(1.0,1.0,0);
glVertex2f(x0,y0+d);
//就是这行出问题了,都画不出这个凹角,但是我怎么看都看不出有什么问题。
glVertex2f(x0+d0*cos(3*PI/10),y0+d0*sin(3*PI/10));
glVertex2f(x0-d*cos(PI/10),y0+d*sin(PI/10));
glVert
#include "stdafx.h"
#include "GL/glut.h"
#include "math.h"
#define PI 3.141592653589793238462643383279
void Rectangle (void)
{
glPolygonMode(GL_FRONT, GL_FILL);
glBegin(GL_POLYGON);
glColor3f(1.0,0,0);
glVertex2f(0.8,0.5);
glVertex2f(-0.8,0.5);
glVertex2f(-0.8,-0.5);
glVertex2f(0.8,-0.5);
glEnd();
}
void BigStar(void)
{
float d=0.1;
float d0=d*sin(PI/10)/cos(PI/5);
float x0=-0.58;
float y0=0.25;
glPolygonMode(GL_FRONT, GL_FILL);
glBegin(GL_POLYGON);
glColor3f(1.0,1.0,0);
glVertex2f(x0,y0+d);
//就是这行出问题了,都画不出这个凹角,但是我怎么看都看不出有什么问题。
glVertex2f(x0+d0*cos(3*PI/10),y0+d0*sin(3*PI/10));
glVertex2f(x0-d*cos(PI/10),y0+d*sin(PI/10));
glVert
gl_polygon 只能画 凸多边形,
凹多边形 请 分解后再画
下面是 我改的程序
PS: 我这是偷懒的做法, 不要用来画凹多边形, opengl 不保证渲染正确, 虽然 在下面的程序 画的是对的
#include "stdafx.h"
#pragma comment(lib,"opengl32.lib")
#pragma comment(lib,"glut32.lib")
#include "GL/glut.h"
#include "math.h"
#define PI 3.141592653589793238462643383279
void Rectangle (void)
{
glPolygonMode(GL_FRONT, GL_FILL);
glBegin(GL_POLYGON);
glColor3f(1.0,0,0);
glVertex2f(0.8,0.5);
glVertex2f(-0.8,0.5);
glVertex2f(-0.8,-0.5);
glVertex2f(0.8,-0.5);
glEnd();
}
void star(float x0,float y0,float d)
{
float d0=d*sin(PI/10)/cos(PI/5);
glPolygonMode(GL_FRONT, GL_FILL);
glColor3f(1.0,1.0,0);
glEnable(GL_POLYGON_SMOOTH);
glBegin(GL_POLYGON);
//就是这行出问题了,都画不出这个凹角,但是我怎么看都看不出有什么问题。
glVertex2f(x0+d0*co
巴西国旗怎么绘制?请给出相关比例,颜色值。
为什么韩国国旗用了太极八卦图?
我安装了荣誉勋章出现了GLW_StartOpenGL() - could not load OpenGL subsystem,请问如何解决?
用CAD绘制足球
用MATLAB绘制sin3x,
蜡笔小新自己绘制了售价一亿万元的漫画,其中的主角叫什么
进不去出现了 the selected OpenGL mode is not supported by your video card
如何用OpenGL或DirectX或其他东西绘制空间圆?
在vb中,怎样将opengl绘制的图像保存到位图文件
如何在VC++6.0中将OpenGL绘制的图像输出到一个CBitmap对象中