#include"gl/glut.h"
void Initial(void)
{
glClearColor(1.0f,1.0f,1.0f,1.0f);
glMatrixMode(GL_PROJECTION);
gluOrtho2D(-200.0,200.0,-200.0,200.0);
}
void drawline(int x0,int y0,int x1,int y1)
{glBegin(GL_LINES);
glVertex2i(x0,y0);
glVertex2i(x1,y1);
glEnd();
}
/*void MidBresenhamLine(int x0,int y0,int x1,int y1)
{
int dx,dy,d,UpIncre,DownIncre,x,y;
if(x0>x1){
x=x1;x1=x0;x0=x;
y=y1;y1=y0;y0=y;
}
x=x0;y=y0;
dx=x1-x0;
dy=y1-y0;
d=dx-2*dy;
UpIncre=2*dx-2*dy; DownIncre=-2*dy;
while(x<=x1){
glBegin(GL_POINTS);
glVertex2i(x,y);
glEnd();
x++;
if(d<0){
y++;
d+=UpIncre;
}
else d+=DownIncre;
}
}*/
int LBLineClipTest(float p,float q,float &umax,float &umin)
{
float r=0.0;
if(p<0.0){ //p小于0时比较最大值
r=q/p;
if(r>umin) return
用opengl实现直线的裁剪
最新推荐文章于 2023-05-15 13:48:56 发布
该博客介绍了如何使用OpenGL进行直线裁剪,包括LBLineClip函数的详细步骤,通过处理四个边界交点来确定直线在窗口内的部分,并展示了相关的代码实现。
摘要由CSDN通过智能技术生成