OpenGL实线绘制单色位图填充六边形(原件)

电脑杂谈  发布时间:2020-02-26 07:00:24  来源:网络整理

多边形内角和公式_opengl 多边形填充_opengl 多边形填充

在直线上画点并填充五角大楼

这两个概念可以简单地理解和实现,也就是说,我们可以指定一个实线类型来绘制一条线,以及一个小的单色位图来填充我们的五角大楼。

实现也相对简单。首先,你需要启用这个模式:GL enable(GL?行吗?点画);(启用点绘制线)或glEnable(GL?多边形?点画);(启用单色位图填充六边形)

这里使用了两个函数:void gllinestamp(glint factor,glushort pattern);void glpolygonslipple(pbitmap);gllinestamp的第二个参数很容易理解。这是一个连接我们到草图线型和数据表示(表示一系列1和0)以指定线型的桥。第一个参数表示第二个参数所表示的像素数,这两个参数的组合最终可以确定所需的实线类型。就glpolygonslipple而言,只有一个参数。这是单色位图。我们用链表来表达它。填充六边形的单色位图与纹理贴图中的纹理不同。它不会随着六边形的变化而改变方向和位置,纹理贴图也会随着对象的移动而相应地改变。以下是此函数的代码:

#包括<;GL/glx.h>

#包括<;GL/GL.h>

#包括<;GL/glut.h>

GLfloat位置x=-25.0f

GLfloat位置y=25.0f

GLfloat change_x=0.1f

GLfloat变化y=0.1f

GLfloat高度=100.0f

GLfloat宽度=100.0f

GLfloat temp=1.0f

GLubyte一[]={

0x00,0x00,0x00,0x00

0x00,0x00,0x00,0x00

0x00,0x00,0x00,0x00

0x00,0x00,0x00,0x00

0x00,0xFF,0x00,0x00

0x00,0x00,0x00,0x00

0x00,0x00,0x00,0x00

opengl 多边形填充_多边形内角和公式_opengl 多边形填充

0x00,0x00,0xFF,0x00

0x00,0x00,0x00,0x00

0x00,0x00,0x00,0x00

0x00,0x00,0x00,0x00

0x00,0x00,0x00,0x00

0x00,0x00,0x00,0x00

0x11,0x11,0x11,0x11

0x00,0x00,0x00,0x00

0x00,0x00,0x00,0x00

0x00,0x00,0x00,0x00

0x00,0x00,0x00,0x00

0x00,0x00,0x00,0x00

0x00,0x00,0x00,0x00

0x00,0x00,0x00,0x00

0x00,0x00,0x00,0x00

0x00,0x00,0x00,0x00

0x00,0x00,0x00,0x00

0x00,0x00,0x00,0x00

0x00,0x00,0x00,0x00

0x00,0xFF,0x00,0x00

0x00,0x00,0x00,0x00

0x00,0x00,0x00,0x00

opengl 多边形填充_opengl 多边形填充_多边形内角和公式

0x00,0x00,0x00,0x00

0x00,0x00,0x00,0x00

0x00,0x00,0x00,0x00

};//指定填充位图

失效时间函数(失效)

{

}

空渲染层(空)

{

glClear(GL_COLOR_BUFFER_BIT)

e:6:f:5:5:2:1:c:d:b:a:4:f:c:7:3:f:e:b:d:0:9:d:2:e:b:4>0f

8:0:3:f:1:4:6:3:9:b:e:f:7:f:4:5:3:9:b:a:d:6:3:1:d:0:8:8:c>0fopengl 多边形填充,-25.0f)

glBegin(总帐行)

glVertex2f(-50.0f,50.0f)

glVertex2f(50.0f,50.0f)

格伦

glBegin(GL_多边形)

glVertex2f(-50.0f,50.0f)

glVertex2f(-50.0f,-50.0f)

glVertex2f(50.0f,-50.0f)

glVertex2f(50.0f,50.0f)

格伦

opengl 多边形填充_多边形内角和公式_opengl 多边形填充

glutSwapBuffers()

}

空隙设置RC(空隙)

{

:e:6:1:0:6:b:8:9:3:b:9:8:c:d:b:b:3:8:8:2:0:9:2:9:4>0f,1.0f

可擦亮(玻璃线点画)

gllineStiple(1,0x3333);//指定线型

glEnable(GL_POLYGON_点画)

glPolygonStipple(一个)

}

空隙变化大小(GLsizei w,GLsizei h)

{

GLfloat喷雾器

if(h==0)

h=1

glViewport(0,0opengl 多边形填充,w,h)

glMatrixMode(GL_投影)

glLoadIdentity()

温度=aspectRatio=(GLfloat)w/(GLfloat)h

如果(w<;=h)

:b:6:c:6:e:6:1:0:6:b:8:9:3:b:9:8:c:d:b:b:3:8:8:2:0:9:2:9:9:4>0/投影,1.0,-1.0)

其他

多边形内角和公式_opengl 多边形填充_opengl 多边形填充

100.0,100.0,1.0,-1.0)

glMatrixMode(总帐模型视图)

glLoadIdentity()

}

int main(int argc,char*argv[])

{

glutInit(&argc,argv)

glutInitDisplayMode(GLUT|u DOUBLE|GLUT|u RGB)

glutCreateWindow(“点画”)

glutDisplayFunc(RenderScene)

glutReformefunc(改变大小)

//glutTimerFunc(33,TimeFunction,1)

设置rc()

glutMainLoop()

返回0

}

**************************************************************

*本文于2008年02月08日12:56:32在网易博客上发表,并转移到新浪博客。

*作者:Crab

*电子邮件:hsw625728@163.com

*个人主页:

*网易博客:

*新浪博客:

**************************************************************


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-142114-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...