随着cocos2d-x对3D特性的支持,很多开发者开始尝试在自己的游戏中载入3D模型,不过最近有些开发者表示不能接受3D模型显示时边缘的锯齿现象,特别是在windows上看着会更明显,这里给大家提供一个方法在不同平台上解决这个问题。Windows/Mac平台: 在cocos/platform/desktop/CCGLViewImpl.cpp 然后在GLViewImpl::initWithRect函数中添加下面语句 glfwWindowHint(GLFW_SAMPLES,4);4是一个采样的等级,你可以输入2,4,8 数值越大抗锯齿的效果越好,不过经过本人测试一般的android机器也就支持到4再高就无法运行了。IOS平台: 找到工程目录下proj.ios_mac/ios/AppController.mm文件,然后找到下面这行代码 CCEAGLView *eaglView = [CCEAGLView viewWithFrame: [window bounds] 修改 multiSampling: NO 为 multiSampling: YES 修改 numberOfSamples: 0 为 numberOfSamples: 4Android平台: 首先,在cocos\platform\android\java\src\org\cocos2dx\lib目录下找到Cocos2dxActivity.java文件,在文件头包含下面几项: import javax.microedition.khronos.egl.EGL10; import javax.microedition.khronos.egl.EGLConfig; import javax.microedition.khronos.egl.EGLDisplay; import android.opengl.GLSurfaceView.EGLConfigChooser; 接下来,在Cocos2dxActivity类的内部添加一个类 如下: public class BaseConfigChooser implements EGLConfigChooser { public BaseConfigChooser(){ } public EGLConfig chooseConfig(EGL10 egl, EGLDisplay display){ int CONFIG_ATTRIBS[] = { EGL10.EGL_RED_SIZE, 5, EGL10.EGL_GREEN_SIZE, 6, EGL10.EGL_BLUE_SIZE, 5, EGL10.EGL_DEPTH_SIZE, 16, EGL10.EGL_ALPHA_SIZE, EGL10.EGL_DONT_CARE, EGL10.EGL_STENCIL_SIZE, EGL10.EGL_DONT_CARE, EGL10.EGL_SURFACE_TYPE, EGL10.EGL_WINDOW_BIT, EGL10.EGL_SAMPLES, 4, EGL10.EGL_NONE }; int[] num_config = new int[1]; egl.eglChooseConfig(display, CONFIG_ATTRIBS, null, 0, num_config); int numConfigs = num_config[0]; if (numConfigs
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?