博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
渲染直线
阅读量:5865 次
发布时间:2019-06-19

本文共 1138 字,大约阅读时间需要 3 分钟。

说明

    渲染线段的时候指定使用GL_LINES,而不是GL_LINE,线段的宽度跟点的尺寸一样,都有一个最大的限制,如果要渲染一条100像素宽的线段只能够采用渲染填充矩形的方式

代码

#include <windows.h>

#include <gl/gl.h>

#include <gl/glu.h>

#include <gl/glut.h>

//

void myInit()

{

  glClearColor(1.0,1.0,1.0,0.0);

  glLineWidth(3.0);

  glMatrixMode(GL_PROJECTION);

  glLoadIdentity();

  gluOrtho2D(0.0,640,0.0,480);

}

/

void myDisplay()

{

  glClear(GL_COLOR_BUFFER_BIT);

  glColor3f(1.0f, 0.f, 0.f);

  glEnable(GL_LINE_SMOOTH);

  glEnable(GL_BLEND);

  glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

  glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);

  glLineWidth(1);

    glBegin(GL_LINES);

      glVertex2d(200, 20);

      glVertex2d(100, 300);

    glEnd();

  glFlush();

}

///

void main(int argc,char **argv)

{

  glutInit(&argc,argv);

  glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);

  glutInitWindowSize(640,480);

  glutInitWindowPosition(100,150);

  glutCreateWindow("my second attempt");

  glutDisplayFunc(myDisplay);

  myInit();

  glutMainLoop();

}

注意:

  glEnable(GL_LINE_SMOOTH);

  glEnable(GL_BLEND);

  glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

  glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);

指定渲染反走样的线段,实现一条平滑的线段

     本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/1721023,如需转载请自行联系原作者

你可能感兴趣的文章
【.NET】在config文件中自定义配置节
查看>>
Android 如何从应用返回待机界面(HOME)
查看>>
C# 自定义重绘TabControl
查看>>
语音控制的tab选项卡
查看>>
【LeetCode】25. Reverse Nodes in k-Group (2 solutions)
查看>>
HDU 2846 (AC自动机+多文本匹配)
查看>>
权限表的设计
查看>>
php类获取静态变量值以及调用
查看>>
Android——采用SQLiteDatabase操作SQLite数据库
查看>>
Android开发实战(十八):Android Studio 优秀插件:GsonFormat
查看>>
关于SQLite在Android开发中的知识点总结
查看>>
Atitit. 查找linux 项目源码位置
查看>>
子类继承和调用父类的构造方法
查看>>
有没有让你相见恨晚的(高考)教辅书?
查看>>
JSP页面固定页面为绝对路径
查看>>
在大数据分析/挖掘领域,哪些编程语言应用最多?
查看>>
.Net中的AOP系列之《方法执行前后——边界切面》
查看>>
NOIP2003pj数字游戏[环形DP]
查看>>
条件编译,头文件,静态库,共享库与多文件编程
查看>>
Crontab的格式
查看>>