首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不绘制点

不绘制点
EN

Stack Overflow用户
提问于 2016-03-02 16:51:31
回答 1查看 1.5K关注 0票数 0

首先:是的,我知道这是一个非常过时的编程接口。但一些目标机器甚至不保证OpenGL 2.1,这就是为什么它仍然必须使用的原因。

我的问题:使用OpenGL绘制某些几何图形时,无法绘制仅由两个点组成的点和多段线。如果有至少有三个坐标点的多段线,它将平滑工作。所以这是不起作用的:

代码语言:javascript
复制
glBegin(GL_POINT);
glVertex3f(...);
glEnd();

glBegin(GL_LINE_STRIP);
glVertex3f(...);
glVertex3f(...);
glEnd();

...while这将按预期创建结果:

代码语言:javascript
复制
glBegin(GL_LINE_STRIP);
glVertex3f(...);
glVertex3f(...);
glVertex3f(...);
...
glEnd();

这是我的初始化:

代码语言:javascript
复制
glEnable(GL_CULL_FACE);
glEnable(GL_DEPTH_TEST);
glEnable(GL_BLEND);

glEnable(GL_LINE_SMOOTH);
glEnable(GL_POINT_SMOOTH);
glEnable(GL_POLYGON_SMOOTH);
glShadeModel(GL_SMOOTH);
glHint( GL_POINT_SMOOTH_HINT, GL_NICEST );
glHint( GL_LINE_SMOOTH_HINT, GL_NICEST );
glHint( GL_POLYGON_SMOOTH_HINT, GL_NICEST );

glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-0.5f, 0.5f, -0.5f, 0.5f, 1.0f, 1000.0f);

你知道这种行为的原因是什么吗?为什么不画简单的线条和点呢?

EN

回答 1

Stack Overflow用户

发布于 2017-02-09 17:33:05

尝试使用GL_POINTS而不是GL_POINTGL_POINTS是一种告诉OpenGL渲染点的枚举。我相信GL_POINT用于修改渲染模式(渲染实体多边形(GL_FILL)、渲染线框多边形(GL_LINE)或渲染多边形的断开顶点(GL_POINT))。我之前想要澄清,但当时想不出一个好的方法来解释它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35742382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档