Opengl es 使OpenGL多边形边平滑

Opengl es 使OpenGL多边形边平滑,opengl-es,opengl-es-2.0,cocos2d-x,cocos2d-x-3.0,Opengl Es,Opengl Es 2.0,Cocos2d X,Cocos2d X 3.0,由于带有纹理的矩形多边形倾斜,其边缘变得尖锐。但内部边缘(内部切割部分)仍然平滑 纹理已启用抗锯齿 glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); 看起来抗锯齿只在多边形边界内起作用,但在边上不起作用。 是否可以在边缘上启用抗锯齿,使其看起来像图片中的内部边缘一样平滑? 使用Cocos2d-x v3.3。启用多重采样可使边缘更加平滑。这不是完美的解决方案,但在视网膜上显示看起来不错。在本例中,采样

由于带有纹理的矩形多边形倾斜,其边缘变得尖锐。但内部边缘(内部切割部分)仍然平滑

纹理已启用抗锯齿

glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );    
看起来抗锯齿只在多边形边界内起作用,但在边上不起作用。 是否可以在边缘上启用抗锯齿,使其看起来像图片中的内部边缘一样平滑?
使用Cocos2d-x v3.3。

启用多重采样可使边缘更加平滑。这不是完美的解决方案,但在视网膜上显示看起来不错。在本例中,采样数2或9之间几乎没有差异

下面是如何在Cocos2d-x中设置多重采样的代码:

// In AppController.mm  

// Init the CCEAGLView
CCEAGLView *eaglView = [CCEAGLView viewWithFrame: [window bounds]
                                     pixelFormat: (NSString*)cocos2d::GLViewImpl::_pixelFormat
                                     depthFormat: cocos2d::GLViewImpl::_depthFormat
                              preserveBackbuffer: NO
                                      sharegroup: nil
                                   multiSampling: YES
                                 numberOfSamples: 2 ];

快速解决方法:使用背景色/透明向纹理添加1px边框。但如果使用部分现有纹理。是否需要将此部分复制到更大的纹理,并增加1 px的大小?一个选项是启用MSAA(多采样抗锯齿)。不确定你使用的工具是如何做到这一点的。我在这里写了一个问题的答案,解释了Android上的OpenGL ES:。MSAA帮助。非常感谢。它并不完美,但看起来更好。