OpenGL第二课

虚线

在这里插入图片描述

void myDisplay(void)
{
	glClear(GL_COLOR_BUFFER_BIT);
	glEnable(GL_LINE_STIPPLE);
	glLineStipple(2, 0x0F0F);
	glLineWidth(10.0f);
	glBegin(GL_LINES);
	glVertex2f(0.0f, 0.0f);
	glVertex2f(0.5f, 0.5f);
	glEnd();
	glDisable(GL_LINE_STIPPLE);
	glFlush(); //让前面的命令立即执行而不是在缓冲区,与fflush(stdout)作用类似
}

多边形

1)关于多边形的两面以及绘制方式

glPolygonMode(GL_FRONT,GL_FILL) //设置正面为填充方式
glPolygonMode(GL_BACK,GL_LINE) //设置反面为边缘绘制方式方式
glPolygonMode(GL_FRONT_AND_BACK,GL_POINT) //设置两面均为顶点绘制方式

2)反转

通过glFrontFace函数来交换“正面”和“反面”的概念
glFrontFace(GL_CCW) //设置ccw方向为“正面”,ccw(CounterClockWise),逆时针
glFrontFace(GL_CW) //设置cw方向为“正面”,cw(ClockWise),顺时针
在这里插入图片描述
在这里插入图片描述

void myDisplay(void)
{
	glClear(GL_COLOR_BUFFER_BIT);
	glPolygonMode(GL_FRONT, GL_FILL);
	glPolygonMode(GL_BACK, GL_LINE);
	/*glFrontFace(GL_CCW);*/
	glFrontFace(GL_CW);
	glBegin(GL_POLYGON);
	glVertex2f(-0.5f, -0.5f);
	glVertex2f(0.0f, -0.5f);
	glVertex2f(0.0f, 0.0f);
	glVertex2f(-0.5f, 0.0f);
	glEnd();
	glBegin(GL_POLYGON);
	glVertex2f(0.0f, 0.0f);
	glVertex2f(0.0f, 0.5f);
	glVertex2f(0.5f, 0.5f);
	glVertex2f(0.5f, 0.0f);
	glEnd();
	glFlush(); //让前面的命令立即执行而不是在缓冲区,与fflush(stdout)作用类似
}

3)剔除多边形表面

无法看见的背面的多边形,可以剔除掉,提高我们处理图形的效率。
使用glEnable(GL_CULL_FACE)来启动剔除功能(使用glDisable(GL_CULL_FACE)可以关闭之),然后使用glCullFace来剔除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值