#if !defined(__E_STATIC_LIB)
#include "include_opengl_header.h"

//TODO 静态库需要的部分,会记录所有的函数名到数组里,静态编译的时候需要取回命令名
static ARG_INFO g_argumentInfo_opengl_global_var[] = 
{
    // 1=参数名称, 2=参数详细解释, 3=指定图像索引,从1开始,0表示无, 4=图像数目(用作动画)
    // 5=参数类型, 6=参数默认值,   7=参数标志 AS_ 开头常量
    // AS_HAS_DEFAULT_VALUE         有默认值,倒数第二个参数是默认值
    // AS_DEFAULT_VALUE_IS_EMPTY    默认值为空,有可空标志
    // AS_RECEIVE_VAR               只能传递变量,相当于传引用,传递过来的肯定不是数组
    // AS_RECEIVE_VAR_ARRAY         传递过来的肯定是数组变量引用
    // AS_RECEIVE_VAR_OR_ARRAY      传递变量或者数组变量引用
    // AS_RECEIVE_ARRAY_DATA        传递数组
    // AS_RECEIVE_ALL_TYPE_DATA     传递数组/非数组
    // AS_RECEIVE_VAR_OR_OTHER      可以传递 变量/数据/返回值数据

    /*000*/ {"设备句柄", "需要取得像素格式号的设备句柄。", 0, 0, SDT_INT, 0, NULL},
    /*001*/ {"像素格式", "为指定的设备选择的像素格式。", 0, 0, MAKELONG(0x01, 0), 0, NULL},

    /*002*/ {"设备句柄", "需要设置像素格式的设备句柄。", 0, 0, SDT_INT, 0, NULL},
    /*003*/ {"像素格式号", "与指定的设备相匹配的像素格式号", 0, 0, SDT_INT, 0, NULL},
    /*004*/ {"像素格式", "为指定的设备选择的像素格式。", 0, 0, MAKELONG(0x01, 0), 0, NULL},

    /*005*/ {"设备句柄", "需要创建着色描述表的设备句柄。", 0, 0, SDT_INT, 0, NULL},

    /*006*/ {"设备句柄", "需要设置着色描述表的设备句柄。0表示释放当前着色描述表。", 0, 0, SDT_INT, 0, NULL},
    /*007*/ {"着色描述表号", "需要设置的着色描述表，0表示释放当前着色描述表。", 0, 0, SDT_INT, 0, NULL},

    /*008*/ {"着色描述表号", "需要删除的着色描述表。", 0, 0, SDT_INT, 0, NULL},

    /*009*/ {"窗口句柄", NULL, 0, 0, SDT_INT, 0, NULL},

    /*010*/ {"是否显示", "真表示显示，假表示隐藏光标", 0, 0, SDT_BOOL, 0, NULL},

    /*011*/ {"窗口句柄", NULL, 0, 0, SDT_INT, 0, NULL},
    /*012*/ {"设备句柄", "需要释放的设备句柄。", 0, 0, SDT_INT, 0, NULL},

    /*013*/ {"矩阵模式", "参数值可以为以下常量：\r\n\t5888、#观察矩阵，用来建模的坐标矩阵；\r\n\t5889、#投影矩阵，用来进行投影变换的坐标矩阵；\r\n\t5890、#纹理矩阵，用来改变纹理坐标的坐标矩阵。", 0, 0, SDT_INT, 0, NULL},

    /*014*/ {"横向位置", "默认情况下水平向右为正数，向左为负数，如果坐标已经变换，那么在上一次坐标系的基础上继续叠加。", 0, 0, SDT_DOUBLE, 0, AS_HAS_DEFAULT_VALUE},
    /*015*/ {"竖向位置", "默认情况下竖直向上为正数，向下为负数，如果坐标已经变换，那么在上一次坐标系的基础上继续叠加。", 0, 0, SDT_DOUBLE, 0, AS_HAS_DEFAULT_VALUE},
    /*016*/ {"纵向位置", "默认情况下屏幕前方为正数，后方为负数，如果坐标已经变换，那么在上一次坐标系的基础上继续叠加。", 0, 0, SDT_DOUBLE, 0, AS_HAS_DEFAULT_VALUE},

    /*017*/ {"角度", "使用角度单位", 0, 0, SDT_DOUBLE, 0, NULL},
    /*018*/ {"横向位置", "默认情况下水平向右为正数，向左为负数，如果坐标已经变换，那么在上一次坐标系的基础上继续叠加。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*019*/ {"竖向位置", "默认情况下竖直向上为正数，向下为负数，如果坐标已经变换，那么在上一次坐标系的基础上继续叠加。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*020*/ {"纵向位置", "默认情况下屏幕前方为正数，后方为负数，如果坐标已经变换，那么在上一次坐标系的基础上继续叠加。", 0, 0, SDT_DOUBLE, 0, NULL},

    /*021*/ {"横向位置缩放", "默认情况下水平向右为正数，向左为负数，绝对值大于1表示放大，绝对值小于1表示缩小，如果坐标已经变换，那么在上一次坐标系的基础上继续叠加。", 0, 0, SDT_DOUBLE, 1, AS_HAS_DEFAULT_VALUE},
    /*022*/ {"竖向位置缩放", "默认情况下竖直向上为正数，向下为负数，绝对值大于1表示放大，绝对值小于1表示缩小，如果坐标已经变换，那么在上一次坐标系的基础上继续叠加。", 0, 0, SDT_DOUBLE, 1, AS_HAS_DEFAULT_VALUE},
    /*023*/ {"纵向位置缩放", "默认情况下屏幕前方为正数，后方为负数，绝对值大于1表示放大，绝对值小于1表示缩小，如果坐标已经变换，那么在上一次坐标系的基础上继续叠加。", 0, 0, SDT_DOUBLE, 1, AS_HAS_DEFAULT_VALUE},

    /*024*/ {"最左端", "长方体形状的三维坐标空间的最左端", 0, 0, SDT_DOUBLE, 0, NULL},
    /*025*/ {"最右端", "长方体形状的三维坐标空间的最右端", 0, 0, SDT_DOUBLE, 0, NULL},
    /*026*/ {"最底端", "长方体形状的三维坐标空间的最底端", 0, 0, SDT_DOUBLE, 0, NULL},
    /*027*/ {"最顶端", "长方体形状的三维坐标空间的最顶端", 0, 0, SDT_DOUBLE, 0, NULL},
    /*028*/ {"最近端", "长方体形状的三维坐标空间的最近端", 0, 0, SDT_DOUBLE, 0, NULL},
    /*029*/ {"最远端", "长方体形状的三维坐标空间的最远端", 0, 0, SDT_DOUBLE, 0, NULL},

    /*030*/ {"最左端", "长方体形状的三维坐标空间的最左端", 0, 0, SDT_DOUBLE, 0, NULL},
    /*031*/ {"最右端", "长方体形状的三维坐标空间的最左端", 0, 0, SDT_DOUBLE, 0, NULL},
    /*032*/ {"最底端", "长方体形状的三维坐标空间的最底端", 0, 0, SDT_DOUBLE, 0, NULL},
    /*033*/ {"最顶端", "长方体形状的三维坐标空间的最顶端", 0, 0, SDT_DOUBLE, 0, NULL},
    /*034*/ {"最近端", "长方体形状的三维坐标空间的最近端", 0, 0, SDT_DOUBLE, 0, NULL},
    /*035*/ {"最远端", "长方体形状的三维坐标空间的最远端", 0, 0, SDT_DOUBLE, 0, NULL},

    /*036*/ {"左下角横坐标", "必须大于0。如果需要全部显示就设为0", 0, 0, SDT_INT, 0, NULL},
    /*037*/ {"左下角竖坐标", "必须大于0。如果需要全部显示就设为0", 0, 0, SDT_INT, 0, NULL},
    /*038*/ {"宽度", "必须大于0。如果需要全部显示就设为组件的完整宽度", 0, 0, SDT_INT, 0, NULL},
    /*039*/ {"高度", "必须大于0。如果需要全部显示就设为组件的完整高度", 0, 0, SDT_INT, 0, NULL},

    /*040*/ {"指定矩阵", "矩阵为一个拥有16个成员的数组，多余部分无效。", 0, 0, SDT_DOUBLE, 0, AS_RECEIVE_ARRAY_DATA},

    /*041*/ {"仰角", "四棱台形状的三维坐标空间的上下两面张开的角度。角度越大，看到的范围越高，范围在0-180度之间。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*042*/ {"宽度除以高度的比值", "只有与实际的视口大小相匹配的时候，界面看起来才不会变形。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*043*/ {"最近距离", "四棱台形状的三维坐标空间距离屏幕最近的面，必须为正数。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*044*/ {"最远距离", "四棱台形状的三维坐标空间距离屏幕最远的面，必须为正数。", 0, 0, SDT_DOUBLE, 0, NULL},

    /*045*/ {"画出模式", "参数值可以为以下常量：\r\n\t0、#点集，在“设置点”命令所定义的位置画出一个点；\r\n\t1、#线段，在“设置点”命令所定义的位置上，每隔两个点画一条线段；\r\n\t2、#闭合线段，将“设置点”的命令所定义的点连成一个首尾相连线段；\r\n\t3、#连续线段，将“设置点”的命令所定义的点连成一串连续的线段；\r\n\t4、#三角形，在“设置点”命令所定义的位置上，每隔三个点画一个填充颜色的三角形；\r\n\t5、#连续三角形，在“设置点”命令所定义的位置上，每三个相邻的点画一个填充颜色的三角形；\r\n\t6、#扇形三角形，在“设置点”命令所定义的位置上，始终以第一个点为顶点，沿着相邻两个点画填充颜色的三角形；\r\n\t7、#四边形，在“设置点”命令所定义的位置上，每隔四个点画一个填充颜色的四边形；\r\n\t8、#连续四边形，在“设置点”命令所定义的位置上，每四个相邻的点画一个填充颜色的四边形，并且每增加两个点就再增加一个四边形；\r\n\t9、#凸多边形，在“设置点”命令所定义的位置上，沿着围绕所有的点组成一个首尾相连的填充颜色的凸多边形", 0, 0, SDT_INT, 0, NULL},

    /*046*/ {"横向位置", "默认情况下水平向右为正数，向左为负数，如果坐标已经变换，那么在上一次坐标系的基础上继续叠加", 0, 0, SDT_DOUBLE, 0, AS_HAS_DEFAULT_VALUE},
    /*047*/ {"竖向位置", "默认情况下竖直向上为正数，向下为负数，如果坐标已经变换，那么在上一次坐标系的基础上继续叠加", 0, 0, SDT_DOUBLE, 0, AS_HAS_DEFAULT_VALUE},
    /*048*/ {"纵向位置", "默认情况下屏幕前方为正数，后方为负数，如果坐标已经变换，那么在上一次坐标系的基础上继续叠加", 0, 0, SDT_DOUBLE, 0, AS_HAS_DEFAULT_VALUE},

    /*049*/ {"左上角横坐标", NULL, 0, 0, SDT_DOUBLE, 0, NULL},
    /*050*/ {"左上角纵坐标", NULL, 0, 0, SDT_DOUBLE, 0, NULL},
    /*051*/ {"右下角横坐标", NULL, 0, 0, SDT_DOUBLE, 0, NULL},
    /*052*/ {"右下角纵坐标", NULL, 0, 0, SDT_DOUBLE, 0, NULL},

    /*053*/ {"模式", "参数值可以为以下常量：\r\n\t2304、#顺时针；\r\n\t2305、#逆时针", 0, 0, SDT_INT, 0, NULL},

    /*054*/ {"平面号", "参数值可以为以下常量：\r\n\t12288、#零号裁剪面；\r\n\t12289、#一号裁剪面；\r\n\t12290、#二号裁剪面；\r\n\t12291、#三号裁剪面；\r\n\t12292、#四号裁剪面；\r\n\t12293、#五号裁剪面", 0, 0, SDT_INT, 0, NULL},
    /*055*/ {"平面参数", "参数值为四维数组。这四个数分别为一般平面方程“\r\n\t\tA（X - X0)+B（Y - Y0）+ C ( Y - Y0 ) + D = 0”\r\n中的A、B、C、D这几个系数。如果D = 0，那么（A，B，C）代表平面的法向量。如果D = -1，那么1/A，1/B，1/C分别代表平面在X，Y，Z轴上的截距。D默认为0。多余部分无效。例如一个平行于XZ平面，正面指向Y正方向的裁剪面就是{0，1，0，0}", 0, 0, SDT_DOUBLE, 0, AS_RECEIVE_ARRAY_DATA},

    /*056*/ {"应用面", "参数值可以为以下常量：\r\n\t1028、#正面；\r\n\t1029、#背面；\r\n\t1032、#正面和背面", 0, 0, SDT_INT, 0, NULL},
    /*057*/ {"模式", "参数值可以为以下常量：\r\n\t6912、#点，将画出的多边形显示为点；\r\n\t6913、#线，将画出的多边形显示为线段；\r\n\t6914、#面，将画出的多边形显示为填充颜色的多边形", 0, 0, SDT_INT, 0, NULL},

    /*058*/ {"放大倍数", "用来拉伸线型", 0, 0, SDT_INT, 0, NULL},
    /*059*/ {"线型", "按照循序排列的16位二进制数其中每一位代表一个象素，且从低位开始，1表示用当前颜色绘制一个象素，0表示当前不绘制。", 0, 0, SDT_SHORT, 0, NULL},

    /*060*/ {"图案", "一个拥有128个成员的数组，其中每个字节代表八个位，每一位代表一个象素，最后呈现出一个32×32位的图案。且从低位开始。1表示用当前颜色绘制一个象素，0表示当前不绘制。多余部分无效。", 0, 0, SDT_BYTE, 0, AS_RECEIVE_ARRAY_DATA},

    /*061*/ {"是否为边界线", "真表示属于多边形，需要显示，假表示不显示。", 0, 0, SDT_BOOL, 0, NULL},

    /*062*/ {"左下角横坐标", "相对于显示设备的左下角，以像素为单位", 0, 0, SDT_INT, 0, NULL},
    /*063*/ {"左下角纵坐标", "相对于显示设备的左下角，以像素为单位", 0, 0, SDT_INT, 0, NULL},
    /*064*/ {"宽度", "以像素为单位", 0, 0, SDT_INT, 0, NULL},
    /*065*/ {"高度", "以像素为单位", 0, 0, SDT_INT, 0, NULL},

    /*066*/ {"目标", "参数值可以为以下常量：\r\n\t3152、#透视修正质量，控制颜色和纹理的显示效果；\r\n\t3153、#点质量，控制点的显示质量；\r\n\t3154、#线质量，控制线的显示质量；\r\n\t3155、#多边形质量，控制多边形的显示质量；\r\n\t3156、#雾质量，控制雾的显示质量；\r\n", 0, 0, SDT_INT, 0, NULL},
    /*067*/ {"效果", "参数值可以为以下常量：\r\n\t4352、#不考虑；不做特殊要求，让OPenGL自己选择合适的方式进行显示；\r\n\t4353、#快速；使用最快的显示速度，但是显示效果会有所下降；\r\n\t4354、#最佳；使用最好的显示效果，但是显示速度会有所下降。当“目标”值为#雾质量时不能使用", 0, 0, SDT_INT, 0, NULL},

    /*068*/ {"比较函数", "参数值可以为以下常量：\r\n\t512、#失效，始终为假；\r\n\t513、#小于，如果输入值小于测试值时为真；\r\n\t514、#等于，如果输入值等于测试值时为真；\r\n\t515、#小于等于，如果输入值小于等于测试值时为真；\r\n\t516、#大于，如果输入值大于测试值时为真；\r\n\t517、#不等于，如果输入值不等于测试值时为真；\r\n\t518、#大于等于，如果输入值大于等于测试值时为真；\r\n\t519、#有效，始终为真", 0, 0, SDT_INT, 0, NULL},
    /*069*/ {"测试值", "范围在[0，1]内的数值。否则无效", 0, 0, SDT_FLOAT, 0, NULL},

    /*070*/ {"源值", "参数值可以为以下常量：\r\n\t0、0；\r\n\t1、1；\r\n\t770、#源值通道比例；\r\n\t771、#源值通道比例反；\r\n\t774、#目标值颜色比例；\r\n\t775、#目标值颜色比例反；\r\n\t776、#源值饱和通道", 0, 0, SDT_INT, 0, NULL},
    /*071*/ {"目标值", "参数值可以为以下常量：\r\n\t0、0； \r\n\t1、1； \r\n\t768、#源值颜色比例；\r\n\t769、#源值颜色比例反；\r\n\t770、#源值通道比例；\r\n\t771、#源值通道比例反；\r\n\t772、#目标值通道比例；\r\n\t773、#目标值通道比例反", 0, 0, SDT_INT, 0, NULL},

    /*072*/ {"测试方式", "通过使用“清除深度缓存”来设置与其比较的测试值。然后与测试值比较并返回比较结果。参数值可以为以下常量：\r\n\t512、#失效，始终为假；\r\n\t513、#小于，如果输入的纵向坐标值小于测试值时为真；\r\n\t514、#等于，如果输入的纵向坐标值等于测试值时为真；\r\n\t515、#小于等于，如果输入的纵向坐标值小于等于测试值时为真；\r\n\t516、#大于，如果输入的纵向坐标值大于测试值时为真；\r\n\t517、#不等于，如果输入的纵向坐标值不等于测试值时为真；\r\n\t518、#大于等于，如果输入的纵向坐标值大于等于测试值时为真；\r\n\t519、#有效，始终为真", 0, 0, SDT_INT, 0, NULL},

    /*073*/ {"测试方式", "参数值可以为以下常量：\r\n\t512、#失效，始终为假；\r\n\t513、#小于，如果测试值的测试位小于输入值的测试位时为真；\r\n\t514、#等于，如果测试值的测试位等于输入值的测试位时为真；\r\n\t515、#小于等于，如果测试值的测试位小于等于输入值的测试位时为真；\r\n\t516、#大于，如果测试值的测试位大于输入值的测试位时为真；\r\n\t517、#不等于，如果测试值的测试位不等于输入值的测试位时为真；\r\n\t518、#大于等于，如果测试值的测试位大于等于输入值的测试位时为真；\r\n\t519、#有效，始终为真", 0, 0, SDT_INT, 0, NULL},
    /*074*/ {"测试位", "需要测试模板的位", 0, 0, SDT_INT, 0, NULL},
    /*075*/ {"测试值", NULL, 0, 0, SDT_INT, 0, NULL},

    /*076*/ {"模板测试失败时的操作", "参数值可以为以下常量：\r\n\t0、0；，把模板缓存值替换0；\r\n\t7680、#保持当前值，保持当前的模板缓存值；\r\n\t7681、#替换当前值，把模板缓存值替换为测试值；\r\n\t7682、#增加当前值，增加模板缓存值，但不能超过模板缓存所能表达的最大值；\r\n\t7683、#减去当前值，减去模板缓存值，但不能低于0；\r\n\t5386、#倒置当前值，把模板缓存值取反", 0, 0, SDT_INT, 0, NULL},
    /*077*/ {"深度测试失败时的操作", "当模板测试通过，但是深度测试失败的时候所进行的操作。参数值可以为以下常量：\r\n\t0、0；，把模板缓存值替换0；\r\n\t7680、#保持当前值，保持当前的模板缓存值；\r\n\t7681、#替换当前值，把模板缓存值替换为测试值；\r\n\t7682、#增加当前值，增加模板缓存值，但不能超过模板缓存所能表达的最大值；\r\n\t7683、#减去当前值，减去模板缓存值，但不能低于0；\r\n\t5386、#倒置当前值，把模板缓存值取反；\r\n", 0, 0, SDT_INT, 0, NULL},
    /*078*/ {"深度测试通过时的操作", "当模板测试和深度测试都通过时候所进行的操作。参数值可以为以下常量：\t0、0；，把模板缓存值替换0；\r\n\t7680、#保持当前值，保持当前的模板缓存值；\r\n\t7681、#替换当前值，把模板缓存值替换为测试值；\r\n\t7682、#增加当前值，增加模板缓存值，但不能超过模板缓存所能表达的最大值；\r\n\t7683、#减去当前值，减去模板缓存值，但不能低于0；\r\n\t5386、#倒置当前值，把模板缓存值取反", 0, 0, SDT_INT, 0, NULL},

    /*079*/ {"设备句柄", NULL, 0, 0, SDT_INT, 0, NULL},

    /*080*/ {"操作方式", "参数值可以为以下常量：\r\n\t256、#获取缓存，获取红绿蓝以及混合通道的数据，并加入到累积缓存里；\r\n\t257、#载入缓存，获取红绿蓝以及混合通道的数据，并加入到累积缓存里，但是不包括缓存现有的数据；\r\n\t258、#返回缓存，将累积缓存里的数据返回到颜色缓存中去；\r\n\t259、#缩放缓存，按照操作值来缩放累积缓存里的数据；\r\n\t260、#加入缓存，增加累积缓存里每个红绿蓝以及混合通道的数据", 0, 0, SDT_INT, 0, NULL},
    /*081*/ {"操作值", "范围在[-1，1]内的数值。", 0, 0, SDT_FLOAT, 0, NULL},

    /*082*/ {"缓存", "可以使用下列参数值的位或后的数值。参数值可以为以下常量：\r\n\t256、#深度缓存位，将深度缓存恢复到默认值；\r\n\t512、#累积缓存位，将累积缓存恢复到默认值；\r\n\t1024、#模板缓存位，将模板缓存恢复到默认值；\r\n\t16384、#颜色缓存位，将颜色缓存恢复到默认值", 0, 0, SDT_INT, 0, NULL},

    /*083*/ {"红色位", "范围在[-1，1]内的数值。", 0, 0, SDT_FLOAT, 0, AS_HAS_DEFAULT_VALUE},
    /*084*/ {"绿色位", "范围在[-1，1]内的数值。", 0, 0, SDT_FLOAT, 0, AS_HAS_DEFAULT_VALUE},
    /*085*/ {"蓝色位", "范围在[-1，1]内的数值。", 0, 0, SDT_FLOAT, 0, AS_HAS_DEFAULT_VALUE},
    /*086*/ {"通道位", "范围在[-1，1]内的数值。", 0, 0, SDT_FLOAT, 0, AS_HAS_DEFAULT_VALUE},

    /*087*/ {"红色位", "范围在[0，1]内的数值。", 0, 0, SDT_FLOAT, 0, AS_HAS_DEFAULT_VALUE},
    /*088*/ {"绿色位", "范围在[0，1]内的数值。", 0, 0, SDT_FLOAT, 0, AS_HAS_DEFAULT_VALUE},
    /*089*/ {"蓝色位", "范围在[0，1]内的数值。", 0, 0, SDT_FLOAT, 0, AS_HAS_DEFAULT_VALUE},
    /*090*/ {"通道位", "范围在[0，1]内的数值。", 0, 0, SDT_FLOAT, 0, AS_HAS_DEFAULT_VALUE},

    /*091*/ {"深度", "范围在[0，1]内的数值。", 0, 0, SDT_DOUBLE, 1, AS_HAS_DEFAULT_VALUE},

    /*092*/ {"模板值", NULL, 0, 0, SDT_INT, 0, AS_HAS_DEFAULT_VALUE},

    /*093*/ {"颜色索引号", NULL, 0, 0, SDT_FLOAT, 0, AS_HAS_DEFAULT_VALUE},

    /*094*/ {"红色位", "范围在[0，1]内的数值。", 0, 0, SDT_DOUBLE, 0, AS_HAS_DEFAULT_VALUE},
    /*095*/ {"绿色位", "范围在[0，1]内的数值。", 0, 0, SDT_DOUBLE, 0, AS_HAS_DEFAULT_VALUE},
    /*096*/ {"蓝色位", "范围在[0，1]内的数值。", 0, 0, SDT_DOUBLE, 0, AS_HAS_DEFAULT_VALUE},
    /*097*/ {"通道位", "范围在[0，1]内的数值。", 0, 0, SDT_DOUBLE, 1, AS_HAS_DEFAULT_VALUE},

    /*098*/ {"颜色索引号", NULL, 0, 0, SDT_FLOAT, 0, NULL},

    /*099*/ {"功能", "参数值可以为以下常量：\r\n\t3008、#通道测试；\r\n\t3042、#混合测试；\r\n\t2903、#材质颜色；\r\n\t2929、#深度测试；\r\n\t2912、#雾；\r\n\t2884、#精选面；\r\n\t2896、#光照；\r\n\t2852、#线型；\r\n\t3153、#点质量；\r\n\t3154、#线质量；\r\n\t2847、#光滑点；\r\n\t2848、#光滑线；\r\n\t2977、#单位法向量；\r\n\t2882、#图案填充；\r\n\t3479、#曲线坐标；\r\n\t3511、#曲面坐标；\r\n\t3456、#自动法向量\t3089、#裁剪测试；\r\n\t2960、#模板测试；\r\n\t3552、#一维纹理；\r\n\t3553、#二维纹理；\r\n\t3168、#生成S向纹理；\r\n\t3169、#生成T向纹理；\r\n\t12288--12293、#零号裁剪面--五号裁剪面；\r\n\t16384--16391、#零号光源--七号光源", 0, 0, SDT_INT, 0, NULL},

    /*100*/ {"光源号", "参数值可以为以下常量：\r\n\t16384、#零号光源；\r\n\t16385、#一号光源；\r\n\t16386、#二号光源；\r\n\t16387、#三号光源；\r\n\t16388、#四号光源；\r\n\t16389、#五号光源；\r\n\t16390、#六号光源；\r\n\t16391、#七号光源", 0, 0, SDT_INT, 0, NULL},
    /*101*/ {"参数名称", "参数值可以为以下常量：\r\n\t4608、#环境光，参数值为范围在[0，1]内的表示红绿蓝混合通道颜色的四维数组 ，默认值为（0，0，0，1），多余部分无效；\r\n\t4609、#漫反射光，参数值为范围在[0，1]内的表示红绿蓝混合通道颜色的四维数组 ，#零号光源的默认值为（1，1，1，1），其他光源的默认值为（0，0，0，1），多余部分无效；\r\n\t4610、#镜面光，参数值为范围在[0，1]内的表示红绿蓝混合通道颜色的四维数组，#零号光源的默认值为（1，1，1，1），其他光源的默认值为（0，0，0，1），多余部分无效；\r\n\t4611、#光源位置，参数值为四维数组，默认值（0，0，1，0），前面三位表示坐标，最后一位为0时，表示平行光。否则，表示点光源。多余部分无效；\r\n\t4612、#光源聚光方向，对聚光灯才有效。参数值为三维数组（0，0，-1），多余部分无效；\r\n\t4613、#光源聚光指数，对聚光灯才有效。参数值范围在[0，128]内的非数组数值，默认值0；\r\n\t4614、#点光源聚光截止角。参数值范围在[0，90]内和特殊值180的非数组数值，默认值180，表示不产生聚光效果，[0，90]内的数值表示使用聚光效果；\r\n\t4615、#常量衰减，对聚光灯才有效。参数值为非数组数值，默认值1；\r\n\t4616、#线形衰减，对聚光灯才有效。参数值为非数组数值，默认值0；\r\n\t4617、#二次方衰减，对聚光灯才有效。参数值为非数组数值，默认值0", 0, 0, SDT_INT, 0, NULL},
    /*102*/ {"参数值", NULL, 0, 0, SDT_FLOAT, 0, AS_RECEIVE_ALL_TYPE_DATA},

    /*103*/ {"参数名称", "参数值可以为以下常量：\r\n\t2897、#光源观察点模式，顶点的高光强度不仅取决于顶点法向量，而且取决于顶点到光源的方向以及顶点到视点的方向.1表示设置为局部视点,需要计算视点到每个顶点的方向,会影响运行速度。0表示设置为无穷远视点,不论观察坐标如何改变，光的反射方向始终与纵向轴平行。默认为0；\r\n\t2898、#双面光模式，如果参数值为0表示使用单面光，只有正面接受光照效果。否则正面和背面都接受光照效果，背面的法向为正面法向的反方向。默认为0；\r\n\t2899、#全局光模式，参数值为范围在[0，1]内的表示红绿蓝混合通道颜色的四维数组，默认为（0.2, 0.2, 0.2, 1.0），多余部分无效；\r\n", 0, 0, SDT_INT, 0, NULL},
    /*104*/ {"参数值", NULL, 0, 0, SDT_FLOAT, 0, AS_RECEIVE_ALL_TYPE_DATA},

    /*105*/ {"应用面", "参数值可以为以下常量：\r\n   1028、#正面； 1029、#背面； 1030、#正面和背面；\r\n", 0, 0, SDT_INT, 0, NULL},
    /*106*/ {"参数名称", "参数值可以为以下常量：\r\n\t4608、#环境光，参数值为范围在[0，1]内的表示红绿蓝混合通道颜色的四维数组，多余部分无效；\r\n\t4609、#漫反射光，参数值为范围在[0，1]内的表示红绿蓝混合通道颜色的四维数组，多余部分无效；\r\n\t4610、#镜面光，参数值为范围在[0，1]内的表示红绿蓝混合通道颜色的四维数组，多余部分无效；\r\n\t5632、#散射光，参数值为范围在[0，1]内的表示红绿蓝混合通道颜色的四维数组，多余部分无效；\r\n\t5633、#亮光，参数值为范围在[0，128]内的非数组数值；\r\n\t5634、#环境光和漫反射光，参数值为范围在[0，1]内的表示红绿蓝混合通道颜色的四维数组，多余部分无效；\r\n\t5635、#颜色索引，参数值为非数组数值", 0, 0, SDT_INT, 0, NULL},
    /*107*/ {"参数值", NULL, 0, 0, SDT_FLOAT, 0, AS_RECEIVE_ALL_TYPE_DATA},

    /*108*/ {"应用面", "参数值可以为以下常量：\r\n\t1028、#正面；\r\n\t1029、#背面；\r\n\t1030、#正面和背面；\r\n", 0, 0, SDT_INT, 0, NULL},
    /*109*/ {"模式", "参数值可以为以下常量：\r\n\t4608、#环境光；\r\n\t4609、#漫反射光；\r\n\t4610、#镜面光；\r\n\t5632、#散射光；\r\n\t5633、#亮光；\r\n\t5634、#环境光和漫反射光", 0, 0, SDT_INT, 0, NULL},

    /*110*/ {"参数名称", "参数值可以为以下常量：\r\n\t2913、#雾索引，参数值为非数组数值；\r\n\t2914、#雾密度，参数值为范围在[0，+∞)内的非数组数值；\r\n\t2915、#雾起点，参数值为非数组数值；\r\n\t2916、#雾终点，参数值为非数组数值；\r\n\t2917、#雾模式，参数值可以为以下常量：\r\n\t\t2048、#雾模式1；\r\n\t\t2049、#雾模式2；\r\n\t\t9729、#线性\r\n\t2918、#雾颜色，参数值为范围在[0，1]内的四维数组，多余部分无效", 0, 0, SDT_INT, 0, NULL},
    /*111*/ {"参数值", NULL, 0, 0, SDT_FLOAT, 0, AS_RECEIVE_ALL_TYPE_DATA},

    /*112*/ {"横向量", NULL, 0, 0, SDT_DOUBLE, 0, NULL},
    /*113*/ {"竖向量", NULL, 0, 0, SDT_DOUBLE, 0, NULL},
    /*114*/ {"纵向量", NULL, 0, 0, SDT_DOUBLE, 0, NULL},

    /*115*/ {"模式", "参数值可以为以下常量：\r\n\t7424、#平坦，明暗的过度为跳跃地变化；\r\n\t7425、#光滑，明暗的过度为连续地变化", 0, 0, SDT_INT, 0, NULL},

    /*116*/ {"纹理维数", "参数值可以为以下常量：\r\n\t3552、#一维纹理；\r\n\t3553、#二维纹理", 0, 0, SDT_INT, 0, NULL},
    /*117*/ {"纹理号", NULL, 0, 0, SDT_INT, 0, NULL},

    /*118*/ {"纹理维数", "参数值可以为以下常量：\r\n\t3552、#一维纹理； 3553、#二维纹理", 0, 0, SDT_INT, 0, NULL},
    /*119*/ {"控制方式", "参数值可以为以下常量：\r\n\t10240、#放大纹理滤波，当纹理被放大时所进行的滤波。控制值可以为以下常量：\r\n\t\t9728、#最近滤镜，插入的颜色为最接近纹理图像原像素点位置的颜色； \r\n\t\t9729、#线性滤镜，使用线性插值方式插入颜色；\r\n\t10241、#缩小纹理滤波，当纹理被缩小时所进行的滤波。控制值可以为以下常量：\r\n\t\t9728、#最近滤镜，插入的颜色为最接近纹理图像原像素点位置的颜色； \r\n\t\t9729、#线性滤镜，使用线性插值方式插入颜色；\r\n\t\t9984、#最近多贴图滤镜，使用最接近纹理原始尺寸的图像，再使用 #最近滤镜 进行滤波；\r\n\t\t9985、#多贴图线性内插滤镜，使用最接近纹理原始尺寸的图像，再使用 #线性滤镜 进行滤波；\r\n\t\t9986、#线性内插多贴图滤镜，使用最接近纹理原始尺寸的两张图像，再使用 #最近滤镜 对两张图像中进行滤波，最后取两张图像的平均值；\r\n\t\t9987、#内插多贴图的线性内插滤镜，使用最接近纹理原始尺寸的两张图像，再使用 #线性滤镜 对两张图像中进行滤波，最后取两张图像的平均值；\r\n\t10242、#S向纹理约束，控制值可以为以下常量：\r\n\t\t10496、#纹理插值约束，纹理的坐标值被约束在[0，1]之间；\r\n\t\t10497、#纹理重复约束，允许纹理图片出现重复；\r\n\t10243、#T向纹理约束，控制值可以为以下常量：\r\n\t\t10496、#纹理插值约束，纹理的坐标值被约束在[0，1]之间；\r\n\t\t10497、#纹理重复约束，允许纹理图片出现重复", 0, 0, SDT_INT, 0, NULL},
    /*120*/ {"控制值", NULL, 0, 0, SDT_FLOAT, 0, AS_RECEIVE_ALL_TYPE_DATA},

    /*121*/ {"等级", "通常为0，只有在多贴图情况下表，说明贴图的等级", 0, 0, SDT_INT, 0, AS_HAS_DEFAULT_VALUE},
    /*122*/ {"颜色成份", "说明在纹理图片中的颜色是由那些成份所组成。必须为1、2、3或4", 0, 0, SDT_INT, 0, NULL},
    /*123*/ {"宽度", "为范围大于0的数值，并且必须为2的幂数", 0, 0, SDT_INT, 0, NULL},
    /*124*/ {"格式", "指出所读象素数据元素的格式。参数值可以为以下常量：\r\n\t6400、#单个颜色索引，每个元素为一个颜色索引号；\r\n\t6403、#红色分量，每个元素为一个红色分量的值；\r\n\t6404、#绿色分量，每个元素为一个绿色分量的值；\r\n\t6405、#蓝色分量，每个元素为一个蓝色分量的值；\r\n\t6406、#混合通道分量，每个元素为一个混合通道分量的值；\r\n\t6407、#红绿蓝分量，每个元素为一个红绿蓝分量的值；\r\n\t6408、#红绿蓝混合通道分量，每个元素为一个红绿蓝混合通道分量的值；\r\n\t6409、#亮度，每个元素为一个亮度分量的值；\r\n\t6410、#亮度和混合通道分量，每个元素为亮度和混合通道分量的值", 0, 0, SDT_INT, 0, NULL},
    /*125*/ {"图片像素", "一组包含纹理图片像素信息的数组，数组成员组成为[宽度][高度][颜色成份],否则纹理图片将发生变形。", 0, 0, SDT_BIN, 0, NULL},

    /*126*/ {"等级", "通常为0，只有在多贴图情况下表，说明贴图的等级", 0, 0, SDT_INT, 0, AS_HAS_DEFAULT_VALUE},
    /*127*/ {"颜色成份", "必须为1、2、3或4", 0, 0, SDT_INT, 0, NULL},
    /*128*/ {"宽度", "为范围大于0的数值，并且必须为2的幂数", 0, 0, SDT_INT, 0, NULL},
    /*129*/ {"高度", "为范围大于0的数值，并且必须为2的幂数", 0, 0, SDT_INT, 0, NULL},
    /*130*/ {"格式", "指出所读象素数据元素的格式。参数值可以为以下常量：\r\n\t6400、#单个颜色索引，每个元素为一个颜色索引号；\r\n\t6403、#红色分量，每个元素为一个红色分量的值；\r\n\t6404、#绿色分量，每个元素为一个绿色分量的值；\r\n\t6405、#蓝色分量，每个元素为一个蓝色分量的值；\r\n\t6406、#混合通道分量，每个元素为一个混合通道分量的值；\r\n\t6407、#红绿蓝分量，每个元素为一个红绿蓝分量的值；\r\n\t6408、#红绿蓝混合通道分量，每个元素为一个红绿蓝混合通道分量的值；\r\n\t6409、#亮度，每个元素为一个亮度分量的值；\r\n\t6410、#亮度和混合通道分量，每个元素为亮度和混合通道分量的值", 0, 0, SDT_INT, 0, NULL},
    /*131*/ {"图片像素", "一组包含纹理图片像素信息的数组，数组成员组成为[宽度][高度][颜色成份],否则纹理图片将发生变形。", 0, 0, SDT_BIN, 0, NULL},

    /*132*/ {"横向位置", "纹理图片的左边为0，右边为1，超出[0，1]范围的值，纹理图片将被平移相应的距离。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*133*/ {"竖向位置", "纹理图片的底边为0，顶边为1，超出[0，1]范围的值，纹理图片将被平移相应的距离。如果为空，表示定义的是一维纹理的坐标", 0, 0, SDT_DOUBLE, 0, NULL},

    /*134*/ {"处理方式", "参数值可以为以下常量：\r\n\t8704、#纹理映射模式；映射值可以为以下常量：\r\n\t\t8448、#调节处理；调节当前亮度和颜色 \r\n\t\t8849、#粘贴处理；不受颜色和亮度影响 \r\n\t\t3042、#混合测试；与原来色颜色进行混合测试。\r\n\t8705、#纹理映射颜色；映射值为范围在[0，1]内的四维数组，多余部分无效", 0, 0, SDT_INT, 0, NULL},
    /*135*/ {"映射值", NULL, 0, 0, SDT_FLOAT, 0, AS_RECEIVE_ALL_TYPE_DATA},

    /*136*/ {"纹理数", "需要生成纹理号", 0, 0, SDT_INT, 0, NULL},
    /*137*/ {"存放纹理号的变量", "用来存放纹理号的变量，如果提供的变量为数组，那么纹理号将被依次存放在数组中。超出数组成员数的部分将无法生成。", 0, 0, SDT_INT, 0, AS_RECEIVE_VAR_OR_ARRAY},

    /*138*/ {"坐标量", "参数值可以为以下常量：\r\n\t8192、#S分量； \r\n\t8193、#T分量；\r\n", 0, 0, SDT_INT, 0, NULL},
    /*139*/ {"映射值", "参数值可以为以下常量：\r\n\t9472、#纹理生成模式，坐标值可以为以下常量：\r\n\t\t9216、#观测线性插值； \r\n\t\t9217、#模型线性插值； \r\n\t\t9218、#纹理贴图形状；\r\n\t9473、#模型平面，四维数组，为生成纹理坐标的方程指定四个相应的参数，多余部分无效；\r\n\t9474、#观测平面，四维数组，为生成纹理坐标的方程指定四个相应的参数，多余部分无效；", 0, 0, SDT_INT, 0, NULL},
    /*140*/ {"坐标值", NULL, 0, 0, SDT_DOUBLE, 0, AS_RECEIVE_ALL_TYPE_DATA},

    /*141*/ {"位图文件名", "允许使用1位、4位、8位、16位、24位、32位的翻转行序或非翻转行序的非压缩BMP位图文件格式", 0, 0, SDT_TEXT, 0, NULL},
    /*142*/ {"背景色", "位图中指定为背景色的区域，其颜色值的通道部分将被定义为0。如果为空，将被定义为1。可以通过使用“通道混合测试”进行处理。\r\n\t如果希望将背景色部分显示为透明，可以执行：\r\n\t  启用功能 (#通道测试)\r\n\t  通道混合测试 (#大于, 0)\r\n\t  设置纹理映射方式 (#纹理映射模式, #调节处理)", 0, 0, SDT_INT, 0, AS_DEFAULT_VALUE_IS_EMPTY},

    /*143*/ {"列表号", "可以直接指定列表号或者使用由“生成列表号”取得的返回值，必须是大于0的整数。", 0, 0, SDT_INT, 0, NULL},
    /*144*/ {"列表模式", "参数值可以为以下常量：\r\n\t4864、#编译列表； \r\n\t4865、#编译并且执行列表", 0, 0, SDT_INT, 0, NULL},

    /*145*/ {"列表长度", "必须是大于0的整数", 0, 0, SDT_INT, 0, NULL},

    /*146*/ {"起始列表号", "必须是大于0的整数", 0, 0, SDT_INT, 0, NULL},
    /*147*/ {"列表数", "必须是大于0的整数", 0, 0, SDT_INT, 0, NULL},

    /*148*/ {"偏移列表数", "必须是大于0的整数", 0, 0, SDT_INT, 0, NULL},

    /*149*/ {"列表号数组", "保存一系列即将被依次调用的列表号的一维数组。如果列表号不存在，将看不到效果。", 0, 0, SDT_INT, 0, AS_RECEIVE_ARRAY_DATA},

    /*150*/ {"横向位置", "光栅原点到当前矩阵的坐标系原点的横向距离，单位与坐标系相同。正数时光栅原点在坐标原点右边，反之在左边，0表示相同。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*151*/ {"竖向位置", "光栅原点到当前矩阵的坐标系原点的竖向距离，单位与坐标系相同。正数时光栅原点在坐标原点上边，反之在下边，0表示相同。", 0, 0, SDT_DOUBLE, 0, NULL},

    /*152*/ {"宽度", "“位图数据”中将要显示的宽度，必须大于0。", 0, 0, SDT_INT, 0, NULL},
    /*153*/ {"高度", "“位图数据”中将要显示的高度，必须大于0。", 0, 0, SDT_INT, 0, NULL},
    /*154*/ {"原点横坐标", "坐标原点与位图左下角的横向素数距离，正数时在原点左边，反之在右边。", 0, 0, SDT_FLOAT, 0, NULL},
    /*155*/ {"原点竖坐标", "坐标原点与位图左下角的竖向素数距离，正数时在原点下边，反之在上边。", 0, 0, SDT_FLOAT, 0, NULL},
    /*156*/ {"横向平移", "本次画出结束后，坐标原点向右移动的像素距离，负数为反方向。只会影响下一次“画出位图”时的画出位置，与本次画出无关。", 0, 0, SDT_FLOAT, 0, NULL},
    /*157*/ {"纵向平移", "本次画出结束后，坐标原点向上移动的像素距离，负数为反方向。只会影响下一次“画出位图”时的画出位置，与本次画出无关。", 0, 0, SDT_FLOAT, 0, NULL},
    /*158*/ {"位图数据", NULL, 0, 0, SDT_BIN, 0, NULL},

    /*159*/ {"左下角横向位置", "矩形的左下角距离坐标原点的横向素数个数。", 0, 0, SDT_INT, 0, NULL},
    /*160*/ {"左下角纵向位置", "矩形的左下角距离坐标原点的纵向素数个数。", 0, 0, SDT_INT, 0, NULL},
    /*161*/ {"宽度", "以素数为单位，必须大于0。", 0, 0, SDT_INT, 0, NULL},
    /*162*/ {"高度", "以素数为单位，必须大于0。", 0, 0, SDT_INT, 0, NULL},
    /*163*/ {"类型", "参数值可以为以下常量：\r\n\t6144、#颜色类型； \r\n\t6145、#深度类型； \r\n\t6146、#模板类型", 0, 0, SDT_INT, 0, NULL},

    /*164*/ {"存储的字节数", "只能是1、2、4或8，其他数值无效。", 0, 0, SDT_INT, 0, NULL},

    /*165*/ {"横向位置缩放", "大于1表示放大，小于1表示缩小，1表示不进行缩放，必须大于0", 0, 0, SDT_FLOAT, 0, NULL},
    /*166*/ {"竖向位置缩放", "大于1表示放大，小于1表示缩小，1表示不进行缩放，必须大于0", 0, 0, SDT_FLOAT, 0, NULL},

    /*167*/ {"欲检查文本", NULL, 0, 0, SDT_TEXT, 0, NULL},
    /*168*/ {"欲检查的字符位置", "0为首位置，1为第2个位置，如此类推，必须是大于0。", 0, 0, SDT_INT, 0, NULL},

    /*169*/ {"设备句柄", NULL, 0, 0, SDT_INT, 0, NULL},
    /*170*/ {"欲使用其外形的首个字符的代码", NULL, 0, 0, SDT_INT, 0, NULL},
    /*171*/ {"字符数", "必须是大于0。如果为1就显示首个字符，2就显示首个字符后面的一个字符。中文为双字节一个字符，不能大于1", 0, 0, SDT_INT, 0, NULL},
    /*172*/ {"基列表号", NULL, 0, 0, SDT_INT, 0, NULL},
    /*173*/ {"轮廓偏移量", "数值越小越逼真，0的时候最好。", 0, 0, SDT_FLOAT, 0, NULL},
    /*174*/ {"拉伸厚度", "沿着Z轴方向拉伸的距离。", 0, 0, SDT_FLOAT, 0, NULL},
    /*175*/ {"实心", "真表示使用实心字体，否则生成空心轮廓。", 0, 0, SDT_BOOL, 1, AS_HAS_DEFAULT_VALUE},

    /*176*/ {"半径", "负数自动被转化为正数，如果等于0，将由1来取代。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*177*/ {"经线条数", "负数自动被转化为正数，如果等于0，将由1来取代。数值越大越逼真，占用的系统资源也越大。", 0, 0, SDT_INT, 0, NULL},
    /*178*/ {"纬线条数", "负数自动被转化为正数，如果等于0，将由1来取代。数值越大越逼真，占用的系统资源也越大。", 0, 0, SDT_INT, 0, NULL},

    /*179*/ {"半径", "负数自动被转化为正数，如果等于0，将由1来取代。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*180*/ {"经线条数", "负数自动被转化为正数，如果等于0，将由1来取代。数值越大越逼真，占用的系统资源也越大。", 0, 0, SDT_INT, 0, NULL},
    /*181*/ {"纬线条数", "负数自动被转化为正数，如果等于0，将由1来取代。数值越大越逼真，占用的系统资源也越大。", 0, 0, SDT_INT, 0, NULL},

    /*182*/ {"棱长", "负数自动被转化为正数，如果等于0，将由1来取代。", 0, 0, SDT_DOUBLE, 0, NULL},

    /*183*/ {"底面半径", "负数自动被转化为正数，如果等于0，将由1来取代。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*184*/ {"圆锥体高度", "负数自动被转化为正数，如果等于0，将由1来取代。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*185*/ {"经线条数", "负数自动被转化为正数，如果等于0，将由1来取代。数值越大越逼真，占用的系统资源也越大。", 0, 0, SDT_INT, 0, NULL},
    /*186*/ {"纬线条数", "负数自动被转化为正数，如果等于0，将由1来取代。数值越大越逼真，占用的系统资源也越大。", 0, 0, SDT_INT, 0, NULL},

    /*187*/ {"底面半径", "负数自动被转化为正数，如果等于0，将由1来取代。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*188*/ {"圆锥体高度", "负数自动被转化为正数，如果等于0，将由1来取代。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*189*/ {"经线条数", "负数自动被转化为正数，如果等于0，将由1来取代。数值越大越逼真，占用的系统资源也越大。", 0, 0, SDT_INT, 0, NULL},
    /*190*/ {"纬线条数", "负数自动被转化为正数，如果等于0，将由1来取代。数值越大越逼真，占用的系统资源也越大。", 0, 0, SDT_INT, 0, NULL},

    /*191*/ {"内圆半径", "负数自动被转化为正数，如果等于0，将由1来取代。如果内圆半径大于外圆半径,就交换内圆半径和外圆半径的值。如果内圆半径和外圆半径的值相等，外圆半径自动加1。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*192*/ {"外圆半径", "负数自动被转化为正数，如果等于0，将由1来取代。如果内圆半径大于外圆半径,就交换内圆半径和外圆半径的值。如果内圆半径和外圆半径的值相等，外圆半径自动加1。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*193*/ {"边数", "负数自动被转化为正数，如果小于3，将由3来取代。数值越大越逼真，占用的系统资源也越大。", 0, 0, SDT_INT, 0, NULL},
    /*194*/ {"环数", "负数自动被转化为正数，如果小于3，将由3来取代。数值越大越逼真，占用的系统资源也越大。", 0, 0, SDT_INT, 0, NULL},

    /*195*/ {"内圆半径", "负数自动被转化为正数，如果等于0，将由1来取代。如果内圆半径大于外圆半径,就交换内圆半径和外圆半径的值。如果内圆半径和外圆半径的值相等，外圆半径自动加1。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*196*/ {"外圆半径", "负数自动被转化为正数，如果等于0，将由1来取代。如果内圆半径大于外圆半径,就交换内圆半径和外圆半径的值。如果内圆半径和外圆半径的值相等，外圆半径自动加1。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*197*/ {"边数", "负数自动被转化为正数，如果小于3，将由3来取代。数值越大越逼真，占用的系统资源也越大。", 0, 0, SDT_INT, 0, NULL},
    /*198*/ {"环数", "负数自动被转化为正数，如果小于3，将由3来取代。数值越大越逼真，占用的系统资源也越大。", 0, 0, SDT_INT, 0, NULL},

    /*199*/ {"底圆半径", "负数自动被转化为正数，如果等于0，将由1来取代。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*200*/ {"高度", "负数自动被转化为正数，如果等于0，将由1来取代。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*201*/ {"经线条数", "负数自动被转化为正数，如果等于0，将由1来取代。数值越大越逼真，占用的系统资源也越大。", 0, 0, SDT_INT, 0, NULL},

    /*202*/ {"底圆半径", "负数自动被转化为正数，如果等于0，将由1来取代。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*203*/ {"高度", "负数自动被转化为正数，如果等于0，将由1来取代。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*204*/ {"经线条数", "负数自动被转化为正数，如果等于0，将由1来取代。数值越大越逼真，占用的系统资源也越大。", 0, 0, SDT_INT, 0, NULL},

    /*205*/ {"眼睛横坐标", NULL, 0, 0, SDT_DOUBLE, 0, NULL},
    /*206*/ {"眼睛竖坐标", NULL, 0, 0, SDT_DOUBLE, 0, NULL},
    /*207*/ {"眼睛纵坐标", NULL, 0, 0, SDT_DOUBLE, 0, NULL},
    /*208*/ {"中心横坐标", NULL, 0, 0, SDT_DOUBLE, 0, NULL},
    /*209*/ {"中心竖坐标", NULL, 0, 0, SDT_DOUBLE, 0, NULL},
    /*210*/ {"中心纵坐标", NULL, 0, 0, SDT_DOUBLE, 0, NULL},
    /*211*/ {"正上方横坐标", NULL, 0, 0, SDT_DOUBLE, 0, NULL},
    /*212*/ {"正上方竖坐标", NULL, 0, 0, SDT_DOUBLE, 0, NULL},
    /*213*/ {"正上方纵坐标", NULL, 0, 0, SDT_DOUBLE, 0, NULL},

    /*214*/ {"3DS文件名", "需要载入的3DS文件名称。", 0, 0, SDT_TEXT, 0, NULL},
    /*215*/ {"列表号", "可以直接指定列表号或者使用由“生成列表号”取得的返回值，必须是大于0的整数。", 0, 0, SDT_INT, 0, NULL},
    /*216*/ {"存放被取回纹理号的数组变量", "在命令执行完毕后，本变量数组内被顺序填入在载入3DS文件时候创建的纹理号。变量数组内原有数据被全部销毁，变量数组的维数被自动调整为一维数组。", 0, 0, SDT_INT, 0, AS_RECEIVE_VAR_ARRAY},

    /*217*/ {"下底圆半径", "负数自动被转化为正数，如果上下底圆半径都等于0，就无法显示。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*218*/ {"上底圆半径", "负数自动被转化为正数，如果上下底圆半径都等于0，就无法显示。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*219*/ {"高度", "负数自动被转化为正数，如果等于0，表示压成平面。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*220*/ {"经线条数", "负数自动被转化为正数，如果等于0，将由1来取代。数值越大越逼真，占用的系统资源也越大。", 0, 0, SDT_INT, 0, NULL},
    /*221*/ {"纬线条数", "负数自动被转化为正数，如果等于0，将由1来取代。数值越大越逼真，占用的系统资源也越大。", 0, 0, SDT_INT, 0, NULL},

    /*222*/ {"下底圆半径", "负数自动被转化为正数，如果上下底圆半径都等于0，就无法显示。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*223*/ {"上底圆半径", "负数自动被转化为正数，如果上下底圆半径都等于0，就无法显示。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*224*/ {"高度", "负数自动被转化为正数，如果等于0，表示压成平面。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*225*/ {"经线条数", "负数自动被转化为正数，如果等于0，将由1来取代。数值越大越逼真，占用的系统资源也越大。", 0, 0, SDT_INT, 0, NULL},
    /*226*/ {"纬线条数", "负数自动被转化为正数，如果等于0，将由1来取代。数值越大越逼真，占用的系统资源也越大。", 0, 0, SDT_INT, 0, NULL},

    /*227*/ {"宽度", "以像素为单位的正数，负数自动取正，零还原为1。默认为1个像素大小。目前WINDOWS支持的宽度大小在0.5和10.0之间，间隔为0.125，最后使用的实际宽度为最接近这个值的宽度大小。", 0, 0, SDT_FLOAT, 0, NULL},

    /*228*/ {"大小", "以像素为单位的正数，负数自动取正，零还原为1。默认为1个像素大小。", 0, 0, SDT_FLOAT, 0, NULL},

    /*229*/ {"U参数上限", "U参数的起始值。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*230*/ {"U参数下限", "U参数的终止值。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*231*/ {"控制点", "用来描述控制点的数组，按照U1（X、Y、Z），U2（X、Y、Z），U3（X、Y、Z）...的顺序排列。", 0, 0, SDT_DOUBLE, 0, AS_RECEIVE_ARRAY_DATA},

    /*232*/ {"U参数", "参数值应该介于“设置曲线控制点”命令中的“U参数上限”和“U参数下限”之间。", 0, 0, SDT_DOUBLE, 0, NULL},

    /*233*/ {"U向等分数", "等分数目越多，曲线越光滑，占用的系统资源也越大。", 0, 0, SDT_INT, 0, NULL},
    /*234*/ {"U向等分上限", "U参数的起始值。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*235*/ {"U向等分下限", "U参数的终止值。", 0, 0, SDT_DOUBLE, 0, NULL},

    /*236*/ {"画出模式", "参数值可以为以下常量：\r\n\t6912、#点，将画出的多边形显示为点；\r\n\t6913、#线，将画出的多边形显示为线段；\r\n", 0, 0, SDT_INT, 0, NULL},
    /*237*/ {"曲线起点", "参数值应该介于 0 和“设置曲线等分点”命令中的“U向等分数”之间。", 0, 0, SDT_INT, 0, NULL},
    /*238*/ {"曲线终点", "参数值应该介于 0 和“设置曲线等分点”命令中的“U向等分数”之间。", 0, 0, SDT_INT, 0, NULL},

    /*239*/ {"U参数上限", "U参数的起始值。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*240*/ {"U参数下限", "U参数的终止值。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*241*/ {"U向控制点数", "U向控制点的数目,必须为非零整数。负数自动取正。", 0, 0, SDT_INT, 0, NULL},
    /*242*/ {"V参数上限", "V参数的起始值。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*243*/ {"V参数下限", "V参数的终止值。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*244*/ {"控制点", "用来描述控制点的数组，按照U1V1（X、Y、Z），U2V1（X、Y、Z）...，U1V2（X、Y、Z），U2V2（X、Y、Z）...的顺序排列。", 0, 0, SDT_DOUBLE, 0, AS_RECEIVE_ARRAY_DATA},

    /*245*/ {"U参数", "参数值应该介于“设置曲面控制点”命令中的“U参数上限”和“U参数下限”之间。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*246*/ {"V参数", "参数值应该介于“设置曲面控制点”命令中的“V参数上限”和“V参数下限”之间。", 0, 0, SDT_DOUBLE, 0, NULL},

    /*247*/ {"U向等分数", "等分数目越多，曲线越光滑，占用的系统资源也越大。", 0, 0, SDT_INT, 0, NULL},
    /*248*/ {"U向等分上限", "U参数的起始值。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*249*/ {"U向等分下限", "U参数的终止值。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*250*/ {"V向等分数", "等分数目越多，曲线越光滑，占用的系统资源也越大。", 0, 0, SDT_INT, 0, NULL},
    /*251*/ {"V向等分上限", "V参数的起始值。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*252*/ {"V向等分下限", "V参数的终止值。", 0, 0, SDT_DOUBLE, 0, NULL},

    /*253*/ {"画出模式", "参数值可以为以下常量：\r\n\t6912、#点，将画出的多边形显示为点；\r\n\t6913、#线，将画出的多边形显示为线段；\r\n\t6914、#面，将画出的多边形显示为填充颜色的多边形", 0, 0, SDT_INT, 0, NULL},
    /*254*/ {"曲面U向起点", "参数值应该介于 0 和“设置曲面等分网格”命令中的“U向等分数”之间。", 0, 0, SDT_INT, 0, NULL},
    /*255*/ {"曲面U向终点", "参数值应该介于 0 和“设置曲面等分网格”命令中的“U向等分数”之间。", 0, 0, SDT_INT, 0, NULL},
    /*256*/ {"曲面V向起点", "参数值应该介于 0 和“设置曲面等分网格”命令中的“V向等分数”之间。", 0, 0, SDT_INT, 0, NULL},
    /*257*/ {"曲面V向终点", "参数值应该介于 0 和“设置曲面等分网格”命令中的“V向等分数”之间。", 0, 0, SDT_INT, 0, NULL},

    /*258*/ {"纹理", "需要进行判断的纹理号。", 0, 0, SDT_INT, 0, NULL},

    /*259*/ {"需要删除的纹理号数量", "默认删除纹理数组中所有的纹理号，否则删除数组中指定的前几项。", 0, 0, SDT_INT, 0, AS_DEFAULT_VALUE_IS_EMPTY},
    /*260*/ {"纹理号数组", "保存了纹理号的数组。", 0, 0, SDT_INT, 0, AS_RECEIVE_ALL_TYPE_DATA},

    /*261*/ {"名字", "压入栈顶的名字。", 0, 0, SDT_INT, 0, NULL},

    /*262*/ {"名字", "栈顶的名字。", 0, 0, SDT_INT, 0, NULL},

    /*263*/ {"屏幕横向位置", "在当前OPenGL所显示的窗口组件中的横向位置", 0, 0, SDT_INT, 0, NULL},
    /*264*/ {"屏幕纵向位置", "在当前OPenGL所显示的窗口组件中的纵向位置", 0, 0, SDT_INT, 0, NULL},
    /*265*/ {"选择区域宽度", "需要进行选择的区域的宽度，宽度越大搜索范围越大，计算量也越大。", 0, 0, SDT_INT, 0, NULL},
    /*266*/ {"选择区域高度", "需要进行选择的区域的高度，高度越大搜索范围越大，计算量也越大。", 0, 0, SDT_INT, 0, NULL},
    /*267*/ {"命名图元子程序", "子程序没有使用参数和返回值。只有在这个子程序中使用与名字栈有关的命令才有效。", 0, 0, SDT_SUB_PTR, 0, NULL},
    /*268*/ {"存放选择选择缓存的数组", "原来的数据将被清除。并重新定义为一维数组。", 0, 0, SDT_INT, 0, AS_RECEIVE_VAR_ARRAY},

    /*269*/ {"空间坐标横向位置", "OPenGL的空间坐标系中的横向位置", 0, 0, SDT_DOUBLE, 0, NULL},
    /*270*/ {"空间坐标竖向位置", "OPenGL的空间坐标系中的竖向位置", 0, 0, SDT_DOUBLE, 0, NULL},
    /*271*/ {"空间坐标纵向位置", "OPenGL的空间坐标系中的纵向位置", 0, 0, SDT_DOUBLE, 0, NULL},
    /*272*/ {"存放屏幕坐标横向位置的变量", "窗口组件中的横向位置", 0, 0, SDT_DOUBLE, 0, AS_RECEIVE_VAR},
    /*273*/ {"存放屏幕坐标纵向位置的变量", "窗口组件中的纵向位置", 0, 0, SDT_DOUBLE, 0, AS_RECEIVE_VAR},
    /*274*/ {"存放屏幕深度的变量", "0表示与投影坐标系中的最近的平面,1表示最远的平面。", 0, 0, SDT_DOUBLE, 0, AS_RECEIVE_VAR},

    /*275*/ {"屏幕坐标横向位置", "窗口组件中的横向位置", 0, 0, SDT_DOUBLE, 0, NULL},
    /*276*/ {"屏幕坐标纵向位置", "窗口组件中的纵向位置", 0, 0, SDT_DOUBLE, 0, NULL},
    /*277*/ {"屏幕深度", "0表示与投影坐标系中的最近的平面,1表示最远的平面。", 0, 0, SDT_DOUBLE, 0, NULL},
    /*278*/ {"存放空间坐标横向位置的变量", "OPenGL的空间坐标系中的横向位置", 0, 0, SDT_DOUBLE, 0, AS_RECEIVE_VAR},
    /*279*/ {"存放空间坐标竖向位置的变量", "OPenGL的空间坐标系中的竖向位置", 0, 0, SDT_DOUBLE, 0, AS_RECEIVE_VAR},
    /*280*/ {"存放空间坐标纵向位置的变量", "OPenGL的空间坐标系中的纵向位置", 0, 0, SDT_DOUBLE, 0, AS_RECEIVE_VAR},

    /*281*/ {"位图文件名", "允许使用24位、32位的压缩和非压缩的TGA文件格式", 0, 0, SDT_TEXT, 0, NULL},
    /*282*/ {"背景色", "位图中指定为背景色的区域，其颜色值的通道部分将被定义为0。如果为空，将被定义为1。可以通过使用“通道混合测试”进行处理。\r\n\t如果希望将背景色部分显示为透明，可以执行：\r\n\t  启用功能 (#通道测试)\r\n\t  通道混合测试 (#大于, 0)\r\n\t  设置纹理映射方式 (#纹理映射模式, #调节处理)", 0, 0, SDT_INT, 0, AS_DEFAULT_VALUE_IS_EMPTY},
    /*283*/ {"宽度", "保存图片的宽度的变量", 0, 0, SDT_INT, 0, AS_RECEIVE_VAR},
    /*284*/ {"高度", "保存图片的高度的变量", 0, 0, SDT_INT, 0, AS_RECEIVE_VAR},

};

#ifdef _DEBUG    // 这里是为了确认参数序号是否正确, 成员数比最后一个序号大1就是正确
const int dbg_cmd_arg_count__ = sizeof(g_argumentInfo_opengl_global_var) / sizeof(g_argumentInfo_opengl_global_var[0]);
#endif


#define OPENGL_DEF_CMDINFO(_index, _szName, _szEgName, _szExplain, _shtCategory, _wState, _dtRetValType, _wReserved, _shtUserLevel, _shtBitmapIndex, _shtBitmapCount, _nArgCount, _pBeginArgInfo) \
    { _szName, ______E_FNENAME(_szEgName), _szExplain, _shtCategory, _wState, _dtRetValType, _wReserved, _shtUserLevel, _shtBitmapIndex, _shtBitmapCount, _nArgCount, _pBeginArgInfo },


// 易语言每个命令的定义, 会把信息显示在支持库列表里, 这里每个成员都是详细的描述一个命令的信息
CMD_INFO g_cmdInfo_opengl_global_var[] = 
{
    OPENGL_DEF(OPENGL_DEF_CMDINFO)
};

int g_cmdInfo_opengl_global_var_count = sizeof(g_cmdInfo_opengl_global_var) / sizeof(g_cmdInfo_opengl_global_var[0]);

#endif

