opengl学习第三课(点和线的处理)
来源:互联网 发布:禅道 mysql数据库连接 编辑:程序博客网 时间:2024/06/05 08:51
跟随学期第三课
放了一个国庆,回家种树了。就没有持续的继续学习。下面我们跟着学习
opengl入门学习第三课
关于opengl处理点,和线的问题。
关于点
在我们话二维图像的时候我们发现只能画一条很细,而且我们的点看不见!为什么呢,因为我们没有对点的大小做出限制,他就是默认的1个像素,而一个像素很小,所以我们看到的东西就很细很小。下面我们来设置点大小来看看
利用glPointSize()函数来设置点的大小(注:函数内部是float类型的哦,而且必须大于1.0f)
void myDisplay(){ glClear(GL_COLOR_BUFFER_BIT); glPointSize(5.0f); glBegin(GL_POINTS); glVertex2f(0.0f, 0.0f); glVertex2f(0.5f, 0.5f); glEnd(); glFlush();}
运行截图
我们能清晰的看见在屏幕上有两个白色的点。我们将参数调大那么点也就会越大。
关于直线、
直线也有相对应的函数来定义高度glLineWidth(GLfloat width)函数内部也是需要float类型的哦
void display(){ glClear(GL_COLOR_BUFFER_BIT); glLineWidth(5.0F); glBegin(GL_LINES); glVertex2d(0.0, 0.0); glVertex2f(0.5f, 0.5f); glEnd(); glFlush();}
用法跟glpointsize()类似。
效果
关于虚线
我们要画虚线的话就在画线前启用glEnable(GL_LINE_STIPPLE);来启动虚线模式(使用glDisable(GL_LINE_STIPPLE)可以关闭之)。
通过glLineStipple()函数来设置虚线的样式
我们来试试。
void display(){ glClear(GL_COLOR_BUFFER_BIT); glEnable(GL_LINE_STIPPLE); glLineStipple(2, 0x3F07); glLineWidth(1.0F); glBegin(GL_LINES); glVertex2d(0.0, 0.0); glVertex2f(0.5f, 0.5f); glEnd(); glFlush();}
这一串代码中我们看到多加了
glEnable(GL_LINE_STIPPLE);
glLineStipple(2, 0x3F07);
其中第一个为启动虚线函数,第二个为设置虚线的样式,我们可以看到其中有两个参数,第一个为factor重复因子,第二个为pattern虚线画点的模式。什么是重复因子什么是画点的模式呢?
pattern是一个由0和1组成的序列从低位看起如果为1则不画点,为O则画点,如果我们的序列为0101010101010101那么画出来的点就为一个点一个空。
factor就是重复的次数,为那么0101010101010101就变成00110011001100110011001100110011的模式进行画图
破折线的话就改变参数值就能实现了。
- opengl学习第三课(点和线的处理)
- OpenGL学习:第三课
- 一步步学习SPD2010--第三章节--处理列表和库(19)----关键点
- opengl学习笔记(三)-点和线段的绘制
- opengl绘制opencv处理的数据点
- OpenGL从1.0开始--点和线的属性
- ArchieOpenGL基础教程第三课:glViewport()函数和glOrtho()函数的理解——学习OpenGL三维建模前必读
- OpenGL入门学习——第三课
- OpenGl学习第三章
- 一步步学习微软InfoPath2010和SP2010--第三章节--表单设计基础:处理InfoPath布局、控件和视图(10)--关键点
- OpenGL学习笔记:点 线 面
- OpenGL学习一:点与线
- 学习OpenGL(三)绘制点
- openGL画点---openGL学习笔记(二)
- VC++下OpenGL的配置和OpenGl基本图元—点和线的的绘制
- OpenGL入门学习——第三课 绘制几何图形的一些细节问题
- 安卓学习第三弹--关于布局文件LinearLayout和RelativeLayout的那点事
- opengl点的绘制
- Java_Swing图形界面-1选项卡的创建-2使其靠左垂直对齐
- 【Visual Studio】VS2012中添加模板
- Zookeeper 错误 Will not attempt to authenticate using SASL (unknown error)
- Android中GridView以表格形式显示多张图片(仿桌面)
- 66. Plus One
- opengl学习第三课(点和线的处理)
- 比较好的dx opegl学习相关网站
- 扑克牌洗牌代码
- [Android] 最全内存分析—2016年10月9日
- Python list,tuple,dict,set区别
- 67. Add Binary
- Docker 使用国内加速器
- android,java判断密码强度
- GitHub前100的开源库,非常实用