- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将 OpenGL 与 C++(但没有着色器和 GLSL)结合使用,并使用 glu 库函数绘制球体(台球)和圆柱体(球杆)。我正在使用 glBindTexture()
绑定(bind)纹理并使用 SOIL library 加载纹理.
正如您从屏幕截图中看到的那样,圆柱体和球体都有锯齿状的边缘。调用以下 glHint()
如何去除锯齿状边缘。 gluSphere()
有 25 个堆栈和切片,gluCylinder()
有 100 个堆栈和切片。增加堆栈和切片不会提高图像质量。
在绘图的其余部分使用 freeglut
glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST); //Smooth polygons
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); //Best perspective corrections
glHint(GL_POINT_SMOOTH_HINT, GL_NICEST); //Smooth points
glHint(GL_LINE_SMOOTH_HINT, GL_NICEST); //Smooth lines
最佳答案
首先你的问题与aliasing有关术语,这是当 tringles 和一些其他基元(这些是创建整个场景的非常基本的对象)被光栅化时发生的情况(基于几何描述,屏幕上的一些像素是否着色)。尝试寻找“如何打开抗锯齿”——这里有很多关于这个和一些相关主题的有用信息:http://www.glprogramming.com/red/chapter06.html .在您的情况下,它可能是 GL_POLYGON_SMOOTH 和 GL_BLEND 的 glEnable。例如。
glEnable (GL_POLYGON_SMOOTH);
glEnable (GL_BLEND);
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glHint (GL_POLYGON_SMOOTH_HINT, GL_DONT_CARE);
如果您打算使用线条,则会有 GL_LINE_SMOOTH 和 GL_LINE_SMOOTH_HINT。
对于 future 的项目,如果它们远离观察者(为球体制作尽可能多的切片),尽量不要使用如此复杂的模型,这会导致性能损失。
关于c++ - 使用 gluSphere() 和 gluCylinder() 渲染光滑的球体和圆柱体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16948635/
我正在编写一个函数,使用 OpenGL 管道命令和 gluCylinder() 函数绘制一个圆柱体,该圆柱体的每个底面的中心都位于特定点上。 作为第一次尝试,我只是尝试绘制圆柱体,结果是一个圆柱体,底
我想使用 gluQuadric 和 gluCylinder 绘制一个圆柱体。这个圆柱体应该有纹理。 我的绘制代码如下: pTexture->Enable(); pTexture->Bind(); gl
我想用 OpenGL build 一个板球场。我制作了几个多边形来表示球场、球场和保龄球线。但问题是,当我尝试使用 gluCylinder 制作树桩时,我制作了深度 glEnable(GL_DEPTH
如何为 gluCylinder() 和 gluDisk() 等函数设置纹理坐标偏移和乘数? 因此,如果正常情况下纹理会从点 0 开始,我想将其设置为从点 0.6 或 3.2 等开始。乘数意味着纹理会变
我遇到了一个问题,我用以下代码制作了一个圆柱体,我一直在尝试移动它(向后移动,以便它的中心位于灰色光束所在的位置)。 但是,输出根本没有移动圆柱体,我没能发现问题所在? GLfloat plane[]
我将 OpenGL 与 C++(但没有着色器和 GLSL)结合使用,并使用 glu 库函数绘制球体(台球)和圆柱体(球杆)。我正在使用 glBindTexture() 绑定(bind)纹理并使用 SO
我是一名优秀的程序员,十分优秀!