在Cocos2d-x项目中用到了OpenGL,使用GL_LINE_SMOOTH开启线条抗锯齿。代码如下:
ccDrawColor4B(50, 26, 12, 255);// 设置线宽glLineWidth(2.0f); // 启用线段反锯齿glEnable(GL_LINE_SMOOTH); // 画第一条线ccDrawLine(startPoint1,endPoint);// 画第二条线ccDrawLine(startPoint2,endPoint);// 关闭线段反锯齿glDisable(GL_LINE_SMOOTH);使用NDK编译Android工程时提示error: ‘GL_LINE_SMOOTH’ was not declared in this scope
开发环境说明:
引擎版本
Cocos2d-x2.2.1
开发工具
Visual Studio 2012
Android NDKr9
系统
windows7
error: ‘GL_LINE_SMOOTH’ was not declared in this scope,表示GL_LINE_SMOOTH没有找到定义。
1.于是打开cocos2d.h,找到Android平台下与OpenGL相关的头文件CCGL.h
2.CCGL.h中包含了gl2.h和gl2ext.h两个头文件,<>中的头文件表示优先在系统路径下查找
于是就到ndk路径下查找该文件,,这两个头文件都在GLES2目录下,该目录下包含OpenGL ES2.0相关的头文件
查看gl2.h和glext.h后并没有找到GL_LINE_SMOOTH的定义,表示这个可能定义在OpenGL ES1.0相关的头文件
3.于是到GLES目录下去查找
于是在gl.h头文件中找到了GL_LINE_SMOOTH的定义
4.在Android平台下的CCGL.h头文件中#include <GLES/gl.h>就可以解决这个问题了
寂寞时,想想我的影子,我会在远方给你一个微笑;难过时,