opengl 直线的线型(各种虚线)
来源:互联网 发布:c语言三种基本结构 编辑:程序博客网 时间:2024/05/21 00:15
除了直线的宽度可以根据需要进行改变外,直线的线型也可以改变。glLineStipple就可以提供不同于常规的连续线段的中心线、虚线、点划线等等。其函数原型如下
void glLineStipple(
GLint factor,
GLushort pattern
);
其中factor 是比例因子,它表示在线型模式中,每一位的放大倍数。例如,factor为3,那么线型模式中的每一位要重复3次,然后在继续下一位。factor的取值范围是[1, 256],缺省值是1。pattern 是一个16位的整数,它表示线型模式,当某一位为0时,表示不画线,为1时画线,但是处理是从最底位开始的,颜色为当前颜色。缺省值为0xFFFF,即连续线。 例如pattern为0x40FF时,表示的画线如下图10-3所示。
禁用和启用线型模式设置可以使用glEnable(GL_LINE_STIPPLE) 和glDisable(GL_LINE_STIPPLE),当禁用线型模式时,使用glLineStipple设置的直线均按照连续线处理,这也是OpenGL的缺省处理。
下面我们来举例说明常用的几种直线线型的构造和使用。
BOOL bAntialiasing = FALSE; //是否进行反走样处理
BOOL bAntiPress = FALSE; //是否按了F1键
void Line3f(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
int PatternMode = 0; //线型模式
int Pattern[]= //定义了6种线型
{
//点线 1000100010001000, 表示实际画线的点,反序后转换成16进制就是0x1111
//. . . . . . . . . . . . . .
0x1111,
//点划线 1111111111100100
//____ . ____ . _____ . _____. _____
0x27FF,
//中心线 1111111111001100
//_____ _ _____ _ _____ _ _____ _ _____
0x33FF,
//虚线 1111110011111100
//____ ____ ____ ____ ____ ____ ____
0x3F3F,
//双点划线 1111111100100100
// ____ . . ____ . . ____ . . ____ . . ____
0x24FF,
//三点划线 111111110101010
// ____ . . ____ . . ____ . . ____ . . ____
0x55FF
};
- opengl 直线的线型(各种虚线)
- OpenGL画点、直线、虚线和多边形
- OpenGL学习第一天: 画点,直线,虚线,多边形
- OpenGL设置线型
- openGL线型和线宽以及线的抗锯齿
- div+css中一条直线和一条虚线的实现。
- 自适应各种宽度的虚线怎么做?
- 计算机图形学考试-绘制一条任意线型和线宽的直线。
- ios:画直线和虚线
- CGContextRef 画直线、画虚线
- 用opengl实现直线的裁剪
- OpenGL写的直线裁剪法
- opengl DDA直线算法的实现
- OpenGL如何画虚线
- matlab绘图的线型
- GDI+基础知识——各种画笔线型
- matlab中各种线型-颜色-标记点
- iOS 画线(曲线、虚线、直线)
- 创建工作流控制台应用程序 helloworkflow
- JavaIO流(13)
- android 命令行操作
- 关于scite文本编辑器的说明
- Java网络编程深入之TCP协议编程
- opengl 直线的线型(各种虚线)
- 大牛给的ACM进阶建议
- 2个有序数组求合并后的中位数
- 转载:C语言内存分配:malloc、calloc、realloc
- MSP430 Operating Mode
- Qt中动态链接库的使用
- Android4.0.4休眠唤醒机制分析(基于MSM8260)
- java中关于static的一个小问题
- 【2012Esri中国用户大会讲座】ArcGIS 10.1 for Server 安全机制(2)使用Token