openGL编程#define drawOneLine(x1,y1,x2,y2) glBegin(GL_Lines); glVertex2f((x1),(y1));glVertex2f((x2),(y2));glEnd();1:第一行的drawOneLine(x1,y2,x2,y2)不是一个函数吗,而#define是定义宏的,为什么会有这种句式?2:draeOneLin
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/18 04:32:10
openGL编程#define drawOneLine(x1,y1,x2,y2) glBegin(GL_Lines); glVertex2f((x1),(y1));glVertex2f((x2),(y2));glEnd();1:第一行的drawOneLine(x1,y2,x2,y2)不是一个函数吗,而#define是定义宏的,为什么会有这种句式?2:draeOneLin
openGL编程
#define drawOneLine(x1,y1,x2,y2) glBegin(GL_Lines);
glVertex2f((x1),(y1));glVertex2f((x2),(y2));
glEnd();
1:第一行的drawOneLine(x1,y2,x2,y2)不是一个函数吗,而#define是定义宏的,为什么会有这种句式?
2:draeOneLine字面是画一个直线,是怎么根据四个参数实现的.
3:第一行里的x1,y1,x2,y2分别表示什么?跟第二行的glVertex2f((x1),(y1));glVertex2f((x2),(y2));里的x1,y1,x2,y2有什么关系?
openGL编程#define drawOneLine(x1,y1,x2,y2) glBegin(GL_Lines); glVertex2f((x1),(y1));glVertex2f((x2),(y2));glEnd();1:第一行的drawOneLine(x1,y2,x2,y2)不是一个函数吗,而#define是定义宏的,为什么会有这种句式?2:draeOneLin
宏定义的格式
#define 替换内容 被替换内容在这里的这句意思就是在预编译时预编译器把代码中所有"drawOneLine(x1,y1,x2,y2)"出现的地方替换为后面的
//以下为替换内容glBegin(GL_Lines); //开始绘制直线
glVertex2f((x1),(y1)); //直线第一个顶点(x坐标,y坐标)
glVertex2f((x2),(y2)); //直线第二个顶点(x坐标,y坐标)
glEnd; //绘制结束
//以上为替换内容