2 Star 1 Fork 0

精易科技/opengl

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
opengl_cmdDef.cpp 80.75 KB
一键复制 编辑 原始数据 按行查看 历史
精易科技 提交于 2022-12-19 16:56 . 初始化仓库
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356
#include "include_opengl_header.h"
// 调用格式: SDT_INT 选择像素格式, 命令说明: "为指定的设备选择一个匹配的像素格式。成功返回像素格式号,失败返回0。"
// 参数<1>: 设备句柄 SDT_INT, 参数说明: "需要取得像素格式号的设备句柄。"
// 参数<2>: 像素格式 MAKELONG(0x01, 0), 参数说明: "为指定的设备选择的像素格式。"
OPENGL_EXTERN_C void opengl_ChoosePixelFormat_0_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
void* arg2 = pArgInf[1].m_pCompoundData;
}
// 调用格式: SDT_BOOL 置像素格式, 命令说明: "使用像素格式号为指定的设备设置像素格式。成功返回真,失败返回假。"
// 参数<1>: 设备句柄 SDT_INT, 参数说明: "需要设置像素格式的设备句柄。"
// 参数<2>: 像素格式号 SDT_INT, 参数说明: "与指定的设备相匹配的像素格式号"
// 参数<3>: 像素格式 MAKELONG(0x01, 0), 参数说明: "为指定的设备选择的像素格式。"
OPENGL_EXTERN_C void opengl_SetPixelFormat_1_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
void* arg3 = pArgInf[2].m_pCompoundData;
}
// 调用格式: SDT_INT 创建着色描述表, 命令说明: "为设备创建着色描述表,成功返回着色描述表号,失败返回0。在不用的时候必须删除着色描述表。"
// 参数<1>: 设备句柄 SDT_INT, 参数说明: "需要创建着色描述表的设备句柄。"
OPENGL_EXTERN_C void opengl_wglCreateContext_2_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
}
// 调用格式: SDT_BOOL 置当前着色描述表, 命令说明: "设置当前的着色描述表,成功以后所有OPenGL命令都作用在指定的设备上。成功返回真,失败返回假。在不使用着色描述表的时候要释放当前着色描述表。"
// 参数<1>: 设备句柄 SDT_INT, 参数说明: "需要设置着色描述表的设备句柄。0表示释放当前着色描述表。"
// 参数<2>: 着色描述表号 SDT_INT, 参数说明: "需要设置的着色描述表,0表示释放当前着色描述表。"
OPENGL_EXTERN_C void opengl_wglMakeCurrent_3_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
}
// 调用格式: SDT_BOOL 删除着色描述表, 命令说明: "删除当前的着色描述表,解除OPenGL命令对指定的设备的作用。成功返回真,失败返回假。"
// 参数<1>: 着色描述表号 SDT_INT, 参数说明: "需要删除的着色描述表。"
OPENGL_EXTERN_C void opengl_wglDeleteContext_4_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
}
// 调用格式: SDT_INT 取任意设备句柄, 命令说明: "可以取得任意一个窗口组件的设备句柄,成功返回着色描述表号,失败返回0。"
// 参数<1>: 窗口句柄 SDT_INT, 参数说明: NULL
OPENGL_EXTERN_C void opengl_gethdc_5_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
}
// 调用格式: SDT_INT 显示光标, 命令说明: "指定当前应用程序是否显示光标,也可以用来判断当前的光标是否显示,返回值大于0表示正在显示,返回值小于0表示正在隐藏。"
// 参数<1>: 是否显示 SDT_BOOL, 参数说明: "真表示显示,假表示隐藏光标"
OPENGL_EXTERN_C void opengl_ShowCursor_6_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
BOOL arg1 = pArgInf[0].m_bool;
}
// 调用格式: SDT_INT 释放设备句柄, 命令说明: "释放由调用“取任意设备句柄”命令获取的指定设备场景,执行成功为1,失败为0。"
// 参数<1>: 窗口句柄 SDT_INT, 参数说明: NULL
// 参数<2>: 设备句柄 SDT_INT, 参数说明: "需要释放的设备句柄。"
OPENGL_EXTERN_C void opengl_ReleaseDC_7_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
}
// 调用格式: _SDT_NULL 矩阵复位, 命令说明: "让当前选中的坐标系回到原点。"
// 无参数
OPENGL_EXTERN_C void opengl_glLoadIdentity_8_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
}
// 调用格式: _SDT_NULL 选择矩阵模式, 命令说明: "选择接下来将要进行操作的坐标矩阵。"
// 参数<1>: 矩阵模式 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t5888、#观察矩阵,用来建模的坐标矩阵;\r\n\t5889、#投影矩阵,用来进行投影变换的坐标矩阵;\r\n\t5890、#纹理矩阵,用来改变纹理坐标的坐标矩阵。"
OPENGL_EXTERN_C void opengl_glMatrixMode_9_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
}
// 调用格式: _SDT_NULL 坐标平移, 命令说明: "平移当前坐标矩阵。在矩阵复位以前,将影响接下来的坐标操作。"
// 参数<1>: 横向位置 SDT_DOUBLE, 参数说明: "默认情况下水平向右为正数,向左为负数,如果坐标已经变换,那么在上一次坐标系的基础上继续叠加。"
// 参数<2>: 竖向位置 SDT_DOUBLE, 参数说明: "默认情况下竖直向上为正数,向下为负数,如果坐标已经变换,那么在上一次坐标系的基础上继续叠加。"
// 参数<3>: 纵向位置 SDT_DOUBLE, 参数说明: "默认情况下屏幕前方为正数,后方为负数,如果坐标已经变换,那么在上一次坐标系的基础上继续叠加。"
OPENGL_EXTERN_C void opengl_glTranslate_10_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
double arg3 = pArgInf[2].m_double;
}
// 调用格式: _SDT_NULL 坐标旋转, 命令说明: "转动轴为从原点指向参数点的一个向量。在矩阵复位以前,将影响接下来的坐标操作。"
// 参数<1>: 角度 SDT_DOUBLE, 参数说明: "使用角度单位"
// 参数<2>: 横向位置 SDT_DOUBLE, 参数说明: "默认情况下水平向右为正数,向左为负数,如果坐标已经变换,那么在上一次坐标系的基础上继续叠加。"
// 参数<3>: 竖向位置 SDT_DOUBLE, 参数说明: "默认情况下竖直向上为正数,向下为负数,如果坐标已经变换,那么在上一次坐标系的基础上继续叠加。"
// 参数<4>: 纵向位置 SDT_DOUBLE, 参数说明: "默认情况下屏幕前方为正数,后方为负数,如果坐标已经变换,那么在上一次坐标系的基础上继续叠加。"
OPENGL_EXTERN_C void opengl_glRotate_11_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
double arg3 = pArgInf[2].m_double;
double arg4 = pArgInf[3].m_double;
}
// 调用格式: _SDT_NULL 坐标缩放, 命令说明: "缩放当前坐标矩阵。在矩阵复位以前,将影响接下来的坐标操作。"
// 参数<1>: 横向位置缩放 SDT_DOUBLE, 参数说明: "默认情况下水平向右为正数,向左为负数,绝对值大于1表示放大,绝对值小于1表示缩小,如果坐标已经变换,那么在上一次坐标系的基础上继续叠加。"
// 参数<2>: 竖向位置缩放 SDT_DOUBLE, 参数说明: "默认情况下竖直向上为正数,向下为负数,绝对值大于1表示放大,绝对值小于1表示缩小,如果坐标已经变换,那么在上一次坐标系的基础上继续叠加。"
// 参数<3>: 纵向位置缩放 SDT_DOUBLE, 参数说明: "默认情况下屏幕前方为正数,后方为负数,绝对值大于1表示放大,绝对值小于1表示缩小,如果坐标已经变换,那么在上一次坐标系的基础上继续叠加。"
OPENGL_EXTERN_C void opengl_glScale_12_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
double arg3 = pArgInf[2].m_double;
}
// 调用格式: _SDT_NULL 创建透视投影, 命令说明: "在屏幕里面建立一个长方体形状的透视投影的三维坐标空间。长方体的前后两面平行于屏幕,左右两面垂直屏幕并竖直,上下两面垂直屏幕并水平。近处物体大,远处物体小。"
// 参数<1>: 最左端 SDT_DOUBLE, 参数说明: "长方体形状的三维坐标空间的最左端"
// 参数<2>: 最右端 SDT_DOUBLE, 参数说明: "长方体形状的三维坐标空间的最右端"
// 参数<3>: 最底端 SDT_DOUBLE, 参数说明: "长方体形状的三维坐标空间的最底端"
// 参数<4>: 最顶端 SDT_DOUBLE, 参数说明: "长方体形状的三维坐标空间的最顶端"
// 参数<5>: 最近端 SDT_DOUBLE, 参数说明: "长方体形状的三维坐标空间的最近端"
// 参数<6>: 最远端 SDT_DOUBLE, 参数说明: "长方体形状的三维坐标空间的最远端"
OPENGL_EXTERN_C void opengl_glFrustum_13_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
double arg3 = pArgInf[2].m_double;
double arg4 = pArgInf[3].m_double;
double arg5 = pArgInf[4].m_double;
double arg6 = pArgInf[5].m_double;
}
// 调用格式: _SDT_NULL 创建正投影, 命令说明: "在屏幕里面建立一个长方体形状的正投影的三维坐标空间。长方体的前后两面平行于屏幕,左右两面垂直屏幕并竖直,上下两面垂直屏幕并水平。近处物体和远处物体一样的大。"
// 参数<1>: 最左端 SDT_DOUBLE, 参数说明: "长方体形状的三维坐标空间的最左端"
// 参数<2>: 最右端 SDT_DOUBLE, 参数说明: "长方体形状的三维坐标空间的最左端"
// 参数<3>: 最底端 SDT_DOUBLE, 参数说明: "长方体形状的三维坐标空间的最底端"
// 参数<4>: 最顶端 SDT_DOUBLE, 参数说明: "长方体形状的三维坐标空间的最顶端"
// 参数<5>: 最近端 SDT_DOUBLE, 参数说明: "长方体形状的三维坐标空间的最近端"
// 参数<6>: 最远端 SDT_DOUBLE, 参数说明: "长方体形状的三维坐标空间的最远端"
OPENGL_EXTERN_C void opengl_glOrtho_14_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
double arg3 = pArgInf[2].m_double;
double arg4 = pArgInf[3].m_double;
double arg5 = pArgInf[4].m_double;
double arg6 = pArgInf[5].m_double;
}
// 调用格式: _SDT_NULL 设置视口, 命令说明: "设置设备中可以显示的范围。"
// 参数<1>: 左下角横坐标 SDT_INT, 参数说明: "必须大于0。如果需要全部显示就设为0"
// 参数<2>: 左下角竖坐标 SDT_INT, 参数说明: "必须大于0。如果需要全部显示就设为0"
// 参数<3>: 宽度 SDT_INT, 参数说明: "必须大于0。如果需要全部显示就设为组件的完整宽度"
// 参数<4>: 高度 SDT_INT, 参数说明: "必须大于0。如果需要全部显示就设为组件的完整高度"
OPENGL_EXTERN_C void opengl_glViewport_15_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
INT arg3 = pArgInf[2].m_int;
INT arg4 = pArgInf[3].m_int;
}
// 调用格式: _SDT_NULL 矩阵入栈, 命令说明: "把当前矩阵压入栈顶。"
// 无参数
OPENGL_EXTERN_C void opengl_glPushMatrix_16_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
}
// 调用格式: _SDT_NULL 矩阵出栈, 命令说明: "退出栈顶矩阵。"
// 无参数
OPENGL_EXTERN_C void opengl_glPopMatrix_17_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
}
// 调用格式: _SDT_NULL 载入矩阵, 命令说明: "把当前坐标模式变换成指定的矩阵。"
// 参数<1>: 指定矩阵 数组 SDT_DOUBLE, 参数说明: "矩阵为一个拥有16个成员的数组,多余部分无效。"
OPENGL_EXTERN_C void opengl_glLoadMatrix_18_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
void* arg1 = pArgInf[0].m_pAryData;
}
// 调用格式: _SDT_NULL 乘入矩阵, 命令说明: "把当前坐标模式再乘以指定的矩阵使它变换成目标的矩阵。"
// 参数<1>: 指定矩阵 数组 SDT_DOUBLE, 参数说明: "矩阵为一个拥有16个成员的数组,多余部分无效。"
OPENGL_EXTERN_C void opengl_glMultMatrix_19_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
void* arg1 = pArgInf[0].m_pAryData;
}
// 调用格式: _SDT_NULL 创建对称透视投影, 命令说明: "在屏幕里面建立一个四棱台形状的透视投影的三维坐标空间。四棱台的前后两面平行于屏幕,其余四面呈喇叭口形状对称展开。近处物体大,远处物体小。"
// 参数<1>: 仰角 SDT_DOUBLE, 参数说明: "四棱台形状的三维坐标空间的上下两面张开的角度。角度越大,看到的范围越高,范围在0-180度之间。"
// 参数<2>: 宽度除以高度的比值 SDT_DOUBLE, 参数说明: "只有与实际的视口大小相匹配的时候,界面看起来才不会变形。"
// 参数<3>: 最近距离 SDT_DOUBLE, 参数说明: "四棱台形状的三维坐标空间距离屏幕最近的面,必须为正数。"
// 参数<4>: 最远距离 SDT_DOUBLE, 参数说明: "四棱台形状的三维坐标空间距离屏幕最远的面,必须为正数。"
OPENGL_EXTERN_C void opengl_gluPerspective_20_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
double arg3 = pArgInf[2].m_double;
double arg4 = pArgInf[3].m_double;
}
// 调用格式: _SDT_NULL 开始画, 命令说明: "画一组相似图元的开始语句。画不同的图元需要执行不同条数的“设置点”的命令。以“停止画”命令结尾。"
// 参数<1>: 画出模式 SDT_INT, 参数说明: "参数值可以为以下常量:\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、#凸多边形,在“设置点”命令所定义的位置上,沿着围绕所有的点组成一个首尾相连的填充颜色的凸多边形"
OPENGL_EXTERN_C void opengl_glBegin_21_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
}
// 调用格式: _SDT_NULL 停止画, 命令说明: "必须与“开始画”搭配使用,单独使用不会有效果。"
// 无参数
OPENGL_EXTERN_C void opengl_glEnd_22_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
}
// 调用格式: _SDT_NULL 设置点, 命令说明: "插入到“开始画”和“停止画”中来设置模型的顶点。"
// 参数<1>: 横向位置 SDT_DOUBLE, 参数说明: "默认情况下水平向右为正数,向左为负数,如果坐标已经变换,那么在上一次坐标系的基础上继续叠加"
// 参数<2>: 竖向位置 SDT_DOUBLE, 参数说明: "默认情况下竖直向上为正数,向下为负数,如果坐标已经变换,那么在上一次坐标系的基础上继续叠加"
// 参数<3>: 纵向位置 SDT_DOUBLE, 参数说明: "默认情况下屏幕前方为正数,后方为负数,如果坐标已经变换,那么在上一次坐标系的基础上继续叠加"
OPENGL_EXTERN_C void opengl_glVertex_23_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
double arg3 = pArgInf[2].m_double;
}
// 调用格式: _SDT_NULL 画矩形, 命令说明: "在当前坐标原点指定的深度,使用先前选定的颜色画出一个填充颜色的矩形。"
// 参数<1>: 左上角横坐标 SDT_DOUBLE, 参数说明: NULL
// 参数<2>: 左上角纵坐标 SDT_DOUBLE, 参数说明: NULL
// 参数<3>: 右下角横坐标 SDT_DOUBLE, 参数说明: NULL
// 参数<4>: 右下角纵坐标 SDT_DOUBLE, 参数说明: NULL
OPENGL_EXTERN_C void opengl_glRect_24_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
double arg3 = pArgInf[2].m_double;
double arg4 = pArgInf[3].m_double;
}
// 调用格式: _SDT_NULL 设置正面, 命令说明: "为填充颜色的多边形指定正面的定义方向。当四个手指并拢依次绕着“设置点”命令所定义点的方向握紧时,大拇指所指的方向就是正面的方向。反面即为背面。必须启用“#精选面”才有效。默认为#逆时针。"
// 参数<1>: 模式 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t2304、#顺时针;\r\n\t2305、#逆时针"
OPENGL_EXTERN_C void opengl_glFrontFace_25_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
}
// 调用格式: _SDT_NULL 设置裁剪平面, 命令说明: "裁剪面的背面被减去。必须启用“#裁剪测试”和“#零号裁剪面~#五号裁剪面”,才能执行裁剪,不使用的时候需要关闭。"
// 参数<1>: 平面号 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t12288、#零号裁剪面;\r\n\t12289、#一号裁剪面;\r\n\t12290、#二号裁剪面;\r\n\t12291、#三号裁剪面;\r\n\t12292、#四号裁剪面;\r\n\t12293、#五号裁剪面"
// 参数<2>: 平面参数 数组 SDT_DOUBLE, 参数说明: "参数值为四维数组。这四个数分别为一般平面方程“\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}"
OPENGL_EXTERN_C void opengl_glClipPlane_26_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
void* arg2 = pArgInf[1].m_pAryData;
}
// 调用格式: _SDT_NULL 设置多边形模式, 命令说明: "当绘出图形为封闭的多边形时才起作用。默认设置正面和背面都为面。"
// 参数<1>: 应用面 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t1028、#正面;\r\n\t1029、#背面;\r\n\t1032、#正面和背面"
// 参数<2>: 模式 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t6912、#点,将画出的多边形显示为点;\r\n\t6913、#线,将画出的多边形显示为线段;\r\n\t6914、#面,将画出的多边形显示为填充颜色的多边形"
OPENGL_EXTERN_C void opengl_glPolygonMode_27_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
}
// 调用格式: _SDT_NULL 设置线型, 命令说明: "设置线段的类型。默认使用实线。必须启用“#线型”才有效,不使用的时候需要关闭。"
// 参数<1>: 放大倍数 SDT_INT, 参数说明: "用来拉伸线型"
// 参数<2>: 线型 SDT_SHORT, 参数说明: "按照循序排列的16位二进制数其中每一位代表一个象素,且从低位开始,1表示用当前颜色绘制一个象素,0表示当前不绘制。"
OPENGL_EXTERN_C void opengl_glLineStipple_28_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
SHORT arg2 = pArgInf[1].m_short;
}
// 调用格式: _SDT_NULL 设置图案填充, 命令说明: "设置多边形的填充方式。必须启用“#图案填充”才有效,不使用的时候需要关闭。"
// 参数<1>: 图案 数组 SDT_BYTE, 参数说明: "一个拥有128个成员的数组,其中每个字节代表八个位,每一位代表一个象素,最后呈现出一个32×32位的图案。且从低位开始。1表示用当前颜色绘制一个象素,0表示当前不绘制。多余部分无效。"
OPENGL_EXTERN_C void opengl_glPolygonStipple_29_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
void* arg1 = pArgInf[0].m_pAryData;
}
// 调用格式: _SDT_NULL 标记边界线, 命令说明: "在“设置点”之前使用,指定多边形的该点或者线是否是边界线的一部分。只有当多边形的模式为点或者线的时候才有意义。"
// 参数<1>: 是否为边界线 SDT_BOOL, 参数说明: "真表示属于多边形,需要显示,假表示不显示。"
OPENGL_EXTERN_C void opengl_glEdgeFlag_30_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
BOOL arg1 = pArgInf[0].m_bool;
}
// 调用格式: _SDT_NULL 矩形剪切, 命令说明: "定义一个矩形剪切框。裁剪框内的内容被保留下来,其余被减掉。必须启用“#裁剪测试”才有效,不使用的时候需要关闭。"
// 参数<1>: 左下角横坐标 SDT_INT, 参数说明: "相对于显示设备的左下角,以像素为单位"
// 参数<2>: 左下角纵坐标 SDT_INT, 参数说明: "相对于显示设备的左下角,以像素为单位"
// 参数<3>: 宽度 SDT_INT, 参数说明: "以像素为单位"
// 参数<4>: 高度 SDT_INT, 参数说明: "以像素为单位"
OPENGL_EXTERN_C void opengl_glScissor_31_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
INT arg3 = pArgInf[2].m_int;
INT arg4 = pArgInf[3].m_int;
}
// 调用格式: _SDT_NULL 设置画面质量, 命令说明: "在权衡运行速度和画面质量之后,为显示效果的质量和画面的细节处理设置等级。"
// 参数<1>: 目标 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t3152、#透视修正质量,控制颜色和纹理的显示效果;\r\n\t3153、#点质量,控制点的显示质量;\r\n\t3154、#线质量,控制线的显示质量;\r\n\t3155、#多边形质量,控制多边形的显示质量;\r\n\t3156、#雾质量,控制雾的显示质量;\r\n"
// 参数<2>: 效果 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t4352、#不考虑;不做特殊要求,让OPenGL自己选择合适的方式进行显示;\r\n\t4353、#快速;使用最快的显示速度,但是显示效果会有所下降;\r\n\t4354、#最佳;使用最好的显示效果,但是显示速度会有所下降。当“目标”值为#雾质量时不能使用"
OPENGL_EXTERN_C void opengl_glHint_32_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
}
// 调用格式: _SDT_NULL 通道混合测试, 命令说明: "当比较函数返回真的时候才显示出效果来。只有在红绿蓝混合通道模式下,启用“#通道测试”后才有效。不使用的时候需要关闭。"
// 参数<1>: 比较函数 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t512、#失效,始终为假;\r\n\t513、#小于,如果输入值小于测试值时为真;\r\n\t514、#等于,如果输入值等于测试值时为真;\r\n\t515、#小于等于,如果输入值小于等于测试值时为真;\r\n\t516、#大于,如果输入值大于测试值时为真;\r\n\t517、#不等于,如果输入值不等于测试值时为真;\r\n\t518、#大于等于,如果输入值大于等于测试值时为真;\r\n\t519、#有效,始终为真"
// 参数<2>: 测试值 SDT_FLOAT, 参数说明: "范围在[0,1]内的数值。否则无效"
OPENGL_EXTERN_C void opengl_glAlphaFunc_33_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
FLOAT arg2 = pArgInf[1].m_float;
}
// 调用格式: _SDT_NULL 混合测试, 命令说明: "为混合运算设定运算方法。必须启用“#混合测试”才有效。不使用的时候需要关闭。"
// 参数<1>: 源值 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t0、0;\r\n\t1、1;\r\n\t770、#源值通道比例;\r\n\t771、#源值通道比例反;\r\n\t774、#目标值颜色比例;\r\n\t775、#目标值颜色比例反;\r\n\t776、#源值饱和通道"
// 参数<2>: 目标值 SDT_INT, 参数说明: "参数值可以为以下常量:\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、#目标值通道比例反"
OPENGL_EXTERN_C void opengl_glBlendFunc_34_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
}
// 调用格式: _SDT_NULL 深度测试, 命令说明: "当比较函数返回真的时候才显示出效果来。必须启用“#深度测试”,才能执行测试。不使用的时候需要关闭。"
// 参数<1>: 测试方式 SDT_INT, 参数说明: "通过使用“清除深度缓存”来设置与其比较的测试值。然后与测试值比较并返回比较结果。参数值可以为以下常量:\r\n\t512、#失效,始终为假;\r\n\t513、#小于,如果输入的纵向坐标值小于测试值时为真;\r\n\t514、#等于,如果输入的纵向坐标值等于测试值时为真;\r\n\t515、#小于等于,如果输入的纵向坐标值小于等于测试值时为真;\r\n\t516、#大于,如果输入的纵向坐标值大于测试值时为真;\r\n\t517、#不等于,如果输入的纵向坐标值不等于测试值时为真;\r\n\t518、#大于等于,如果输入的纵向坐标值大于等于测试值时为真;\r\n\t519、#有效,始终为真"
OPENGL_EXTERN_C void opengl_glDepthFunc_35_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
}
// 调用格式: _SDT_NULL 模板测试, 命令说明: "为模板运算设定影响范围。必须启用“#模板测试”,才能执行测试。不使用的时候需要关闭。"
// 参数<1>: 测试方式 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t512、#失效,始终为假;\r\n\t513、#小于,如果测试值的测试位小于输入值的测试位时为真;\r\n\t514、#等于,如果测试值的测试位等于输入值的测试位时为真;\r\n\t515、#小于等于,如果测试值的测试位小于等于输入值的测试位时为真;\r\n\t516、#大于,如果测试值的测试位大于输入值的测试位时为真;\r\n\t517、#不等于,如果测试值的测试位不等于输入值的测试位时为真;\r\n\t518、#大于等于,如果测试值的测试位大于等于输入值的测试位时为真;\r\n\t519、#有效,始终为真"
// 参数<2>: 测试位 SDT_INT, 参数说明: "需要测试模板的位"
// 参数<3>: 测试值 SDT_INT, 参数说明: NULL
OPENGL_EXTERN_C void opengl_glStencilFunc_36_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
INT arg3 = pArgInf[2].m_int;
}
// 调用格式: _SDT_NULL 模板测试操作, 命令说明: "为模板运算设定运算方法。必须启用“#模板测试”,才能执行测试。不使用的时候需要关闭。"
// 参数<1>: 模板测试失败时的操作 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t0、0;,把模板缓存值替换0;\r\n\t7680、#保持当前值,保持当前的模板缓存值;\r\n\t7681、#替换当前值,把模板缓存值替换为测试值;\r\n\t7682、#增加当前值,增加模板缓存值,但不能超过模板缓存所能表达的最大值;\r\n\t7683、#减去当前值,减去模板缓存值,但不能低于0;\r\n\t5386、#倒置当前值,把模板缓存值取反"
// 参数<2>: 深度测试失败时的操作 SDT_INT, 参数说明: "当模板测试通过,但是深度测试失败的时候所进行的操作。参数值可以为以下常量:\r\n\t0、0;,把模板缓存值替换0;\r\n\t7680、#保持当前值,保持当前的模板缓存值;\r\n\t7681、#替换当前值,把模板缓存值替换为测试值;\r\n\t7682、#增加当前值,增加模板缓存值,但不能超过模板缓存所能表达的最大值;\r\n\t7683、#减去当前值,减去模板缓存值,但不能低于0;\r\n\t5386、#倒置当前值,把模板缓存值取反;\r\n"
// 参数<3>: 深度测试通过时的操作 SDT_INT, 参数说明: "当模板测试和深度测试都通过时候所进行的操作。参数值可以为以下常量:\t0、0;,把模板缓存值替换0;\r\n\t7680、#保持当前值,保持当前的模板缓存值;\r\n\t7681、#替换当前值,把模板缓存值替换为测试值;\r\n\t7682、#增加当前值,增加模板缓存值,但不能超过模板缓存所能表达的最大值;\r\n\t7683、#减去当前值,减去模板缓存值,但不能低于0;\r\n\t5386、#倒置当前值,把模板缓存值取反"
OPENGL_EXTERN_C void opengl_glStencilOp_37_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
INT arg3 = pArgInf[2].m_int;
}
// 调用格式: SDT_BOOL 交换缓存, 命令说明: "交换后台缓存与前台缓存。将后台缓存显示出来,对前台缓存进行操作。成功返回真,失败返回假。在双缓存模式下才用效。"
// 参数<1>: 设备句柄 SDT_INT, 参数说明: NULL
OPENGL_EXTERN_C void opengl_SwapBuffers_38_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
}
// 调用格式: _SDT_NULL 结束绘图操作, 命令说明: "单缓存模式下才可以使用。等待所有已经提交的OpenGL命令执行完毕后才返回。不能在“开始画”和“停止画”之间执行本语句。"
// 无参数
OPENGL_EXTERN_C void opengl_glFinish_39_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
}
// 调用格式: _SDT_NULL 强制结束绘图操作, 命令说明: "单缓存模式下才可以使用。强制结束,并且返回,不管已经提交的OpenGL命令是否执行完毕。不能在“开始画”和“停止画”之间执行本语句。"
// 无参数
OPENGL_EXTERN_C void opengl_glFlush_40_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
}
// 调用格式: _SDT_NULL 操作累积缓存, 命令说明: "对裁剪区域里的缓存颜色进行累积缓存操作。"
// 参数<1>: 操作方式 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t256、#获取缓存,获取红绿蓝以及混合通道的数据,并加入到累积缓存里;\r\n\t257、#载入缓存,获取红绿蓝以及混合通道的数据,并加入到累积缓存里,但是不包括缓存现有的数据;\r\n\t258、#返回缓存,将累积缓存里的数据返回到颜色缓存中去;\r\n\t259、#缩放缓存,按照操作值来缩放累积缓存里的数据;\r\n\t260、#加入缓存,增加累积缓存里每个红绿蓝以及混合通道的数据"
// 参数<2>: 操作值 SDT_FLOAT, 参数说明: "范围在[-1,1]内的数值。"
OPENGL_EXTERN_C void opengl_glAccum_41_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
FLOAT arg2 = pArgInf[1].m_float;
}
// 调用格式: _SDT_NULL 清除缓存, 命令说明: "指定清除的一项或几项缓存。"
// 参数<1>: 缓存 SDT_INT, 参数说明: "可以使用下列参数值的位或后的数值。参数值可以为以下常量:\r\n\t256、#深度缓存位,将深度缓存恢复到默认值;\r\n\t512、#累积缓存位,将累积缓存恢复到默认值;\r\n\t1024、#模板缓存位,将模板缓存恢复到默认值;\r\n\t16384、#颜色缓存位,将颜色缓存恢复到默认值"
OPENGL_EXTERN_C void opengl_glClear_42_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
}
// 调用格式: _SDT_NULL 清除累积缓存, 命令说明: "设置累积缓存的默认值。不执行本命令前参数全部为0。"
// 参数<1>: 红色位 SDT_FLOAT, 参数说明: "范围在[-1,1]内的数值。"
// 参数<2>: 绿色位 SDT_FLOAT, 参数说明: "范围在[-1,1]内的数值。"
// 参数<3>: 蓝色位 SDT_FLOAT, 参数说明: "范围在[-1,1]内的数值。"
// 参数<4>: 通道位 SDT_FLOAT, 参数说明: "范围在[-1,1]内的数值。"
OPENGL_EXTERN_C void opengl_glClearAccum_43_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
FLOAT arg1 = pArgInf[0].m_float;
FLOAT arg2 = pArgInf[1].m_float;
FLOAT arg3 = pArgInf[2].m_float;
FLOAT arg4 = pArgInf[3].m_float;
}
// 调用格式: _SDT_NULL 清除颜色缓存, 命令说明: "设置颜色缓存的默认值。不执行本命令前参数全部为0。"
// 参数<1>: 红色位 SDT_FLOAT, 参数说明: "范围在[0,1]内的数值。"
// 参数<2>: 绿色位 SDT_FLOAT, 参数说明: "范围在[0,1]内的数值。"
// 参数<3>: 蓝色位 SDT_FLOAT, 参数说明: "范围在[0,1]内的数值。"
// 参数<4>: 通道位 SDT_FLOAT, 参数说明: "范围在[0,1]内的数值。"
OPENGL_EXTERN_C void opengl_glClearColor_44_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
FLOAT arg1 = pArgInf[0].m_float;
FLOAT arg2 = pArgInf[1].m_float;
FLOAT arg3 = pArgInf[2].m_float;
FLOAT arg4 = pArgInf[3].m_float;
}
// 调用格式: _SDT_NULL 清除深度缓存, 命令说明: "设置深度缓存的默认值。"
// 参数<1>: 深度 SDT_DOUBLE, 参数说明: "范围在[0,1]内的数值。"
OPENGL_EXTERN_C void opengl_glClearDepth_45_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
}
// 调用格式: _SDT_NULL 清除模板缓存, 命令说明: "设置模板缓存的默认值。不执行本命令前模板值为0。"
// 参数<1>: 模板值 SDT_INT, 参数说明: NULL
OPENGL_EXTERN_C void opengl_glClearStencil_46_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
}
// 调用格式: _SDT_NULL 清除颜色索引, 命令说明: "设置颜色索引的默认值。不执行本命令前颜色索引号为0。"
// 参数<1>: 颜色索引号 SDT_FLOAT, 参数说明: NULL
OPENGL_EXTERN_C void opengl_glClearIndex_47_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
FLOAT arg1 = pArgInf[0].m_float;
}
// 调用格式: _SDT_NULL 设置颜色, 命令说明: "设置接下来的图元的颜色。能在“开始画”和“停止画”之间执行本语句。只有在红绿蓝混合通道模式下有效。"
// 参数<1>: 红色位 SDT_DOUBLE, 参数说明: "范围在[0,1]内的数值。"
// 参数<2>: 绿色位 SDT_DOUBLE, 参数说明: "范围在[0,1]内的数值。"
// 参数<3>: 蓝色位 SDT_DOUBLE, 参数说明: "范围在[0,1]内的数值。"
// 参数<4>: 通道位 SDT_DOUBLE, 参数说明: "范围在[0,1]内的数值。"
OPENGL_EXTERN_C void opengl_glColor_48_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
double arg3 = pArgInf[2].m_double;
double arg4 = pArgInf[3].m_double;
}
// 调用格式: _SDT_NULL 设置颜色索引, 命令说明: "设置接下来的图元的颜色。能在“开始画”和“停止画”之间执行本语句。只有在颜色索引模式下有效。"
// 参数<1>: 颜色索引号 SDT_FLOAT, 参数说明: NULL
OPENGL_EXTERN_C void opengl_glIndex_49_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
FLOAT arg1 = pArgInf[0].m_float;
}
// 调用格式: _SDT_NULL 启用功能, 命令说明: "启用某项功能后,会一直保持启用状态。要关闭该功能,必须使用停用功能才能停止。"
// 参数<1>: 功能 SDT_INT, 参数说明: "参数值可以为以下常量:\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、#零号光源--七号光源"
OPENGL_EXTERN_C void opengl_glEnable_50_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
}
// 调用格式: _SDT_NULL 停用功能, 命令说明: "与启用功能搭配使用。"
// 参数<1>: 功能 SDT_INT, 参数说明: "参数值可以为以下常量:\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、#零号光源--七号光源"
OPENGL_EXTERN_C void opengl_glDisable_51_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
}
// 调用格式: _SDT_NULL 设置光源参数, 命令说明: "必须启用“#光照”后才有效。"
// 参数<1>: 光源号 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t16384、#零号光源;\r\n\t16385、#一号光源;\r\n\t16386、#二号光源;\r\n\t16387、#三号光源;\r\n\t16388、#四号光源;\r\n\t16389、#五号光源;\r\n\t16390、#六号光源;\r\n\t16391、#七号光源"
// 参数<2>: 参数名称 SDT_INT, 参数说明: "参数值可以为以下常量:\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"
// 参数<3>: 参数值 数组/非数组 SDT_FLOAT, 参数说明: NULL
OPENGL_EXTERN_C void opengl_glLight_52_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
void* arg3 = pArgInf[2].m_pAryData;
}
// 调用格式: _SDT_NULL 设置光照模式, 命令说明: NULL
// 参数<1>: 参数名称 SDT_INT, 参数说明: "参数值可以为以下常量:\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"
// 参数<2>: 参数值 数组/非数组 SDT_FLOAT, 参数说明: NULL
OPENGL_EXTERN_C void opengl_glLightModel_53_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
void* arg2 = pArgInf[1].m_pAryData;
}
// 调用格式: _SDT_NULL 设置材质, 命令说明: NULL
// 参数<1>: 应用面 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n 1028、#正面; 1029、#背面; 1030、#正面和背面;\r\n"
// 参数<2>: 参数名称 SDT_INT, 参数说明: "参数值可以为以下常量:\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、#颜色索引,参数值为非数组数值"
// 参数<3>: 参数值 数组/非数组 SDT_FLOAT, 参数说明: NULL
OPENGL_EXTERN_C void opengl_glMaterial_54_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
void* arg3 = pArgInf[2].m_pAryData;
}
// 调用格式: _SDT_NULL 设置材质颜色, 命令说明: "使用当前颜色为材料的颜色。必须启用“#材质颜色”才有效,不使用的时候需要关闭。"
// 参数<1>: 应用面 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t1028、#正面;\r\n\t1029、#背面;\r\n\t1030、#正面和背面;\r\n"
// 参数<2>: 模式 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t4608、#环境光;\r\n\t4609、#漫反射光;\r\n\t4610、#镜面光;\r\n\t5632、#散射光;\r\n\t5633、#亮光;\r\n\t5634、#环境光和漫反射光"
OPENGL_EXTERN_C void opengl_glColorMaterial_55_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
}
// 调用格式: _SDT_NULL 设置雾, 命令说明: "必须启用“#雾”后才有效。"
// 参数<1>: 参数名称 SDT_INT, 参数说明: "参数值可以为以下常量:\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]内的四维数组,多余部分无效"
// 参数<2>: 参数值 数组/非数组 SDT_FLOAT, 参数说明: NULL
OPENGL_EXTERN_C void opengl_glFog_56_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
void* arg2 = pArgInf[1].m_pAryData;
}
// 调用格式: _SDT_NULL 设置法向量, 命令说明: "指定下一顶点的法向量。能在“开始画”和“停止画”之间执行本语句。启用“#单位法向量”后,法向量的长度就会变成1。"
// 参数<1>: 横向量 SDT_DOUBLE, 参数说明: NULL
// 参数<2>: 竖向量 SDT_DOUBLE, 参数说明: NULL
// 参数<3>: 纵向量 SDT_DOUBLE, 参数说明: NULL
OPENGL_EXTERN_C void opengl_glNormal_57_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
double arg3 = pArgInf[2].m_double;
}
// 调用格式: _SDT_NULL 设置明暗模式, 命令说明: "设置明暗的表示方法。对点图元无效。"
// 参数<1>: 模式 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t7424、#平坦,明暗的过度为跳跃地变化;\r\n\t7425、#光滑,明暗的过度为连续地变化"
OPENGL_EXTERN_C void opengl_glShadeModel_58_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
}
// 调用格式: _SDT_NULL 绑定纹理号, 命令说明: NULL
// 参数<1>: 纹理维数 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t3552、#一维纹理;\r\n\t3553、#二维纹理"
// 参数<2>: 纹理号 SDT_INT, 参数说明: NULL
OPENGL_EXTERN_C void opengl_glBindTexture_59_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
}
// 调用格式: _SDT_NULL 纹理控制, 命令说明: NULL
// 参数<1>: 纹理维数 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t3552、#一维纹理; 3553、#二维纹理"
// 参数<2>: 控制方式 SDT_INT, 参数说明: "参数值可以为以下常量:\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、#纹理重复约束,允许纹理图片出现重复"
// 参数<3>: 控制值 数组/非数组 SDT_FLOAT, 参数说明: NULL
OPENGL_EXTERN_C void opengl_glTexParameter_60_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
void* arg3 = pArgInf[2].m_pAryData;
}
// 调用格式: SDT_BOOL 定义一维纹理图片, 命令说明: NULL
// 参数<1>: 等级 SDT_INT, 参数说明: "通常为0,只有在多贴图情况下表,说明贴图的等级"
// 参数<2>: 颜色成份 SDT_INT, 参数说明: "说明在纹理图片中的颜色是由那些成份所组成。必须为1、2、3或4"
// 参数<3>: 宽度 SDT_INT, 参数说明: "为范围大于0的数值,并且必须为2的幂数"
// 参数<4>: 格式 SDT_INT, 参数说明: "指出所读象素数据元素的格式。参数值可以为以下常量:\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、#亮度和混合通道分量,每个元素为亮度和混合通道分量的值"
// 参数<5>: 图片像素 SDT_BIN, 参数说明: "一组包含纹理图片像素信息的数组,数组成员组成为[宽度][高度][颜色成份],否则纹理图片将发生变形。"
OPENGL_EXTERN_C void opengl_glTexImage1D_61_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
INT arg3 = pArgInf[2].m_int;
INT arg4 = pArgInf[3].m_int;
LPBYTE arg5 = pArgInf[4].m_pBin;
}
// 调用格式: SDT_BOOL 定义二维纹理图片, 命令说明: "成功返回真,失败返回假"
// 参数<1>: 等级 SDT_INT, 参数说明: "通常为0,只有在多贴图情况下表,说明贴图的等级"
// 参数<2>: 颜色成份 SDT_INT, 参数说明: "必须为1、2、3或4"
// 参数<3>: 宽度 SDT_INT, 参数说明: "为范围大于0的数值,并且必须为2的幂数"
// 参数<4>: 高度 SDT_INT, 参数说明: "为范围大于0的数值,并且必须为2的幂数"
// 参数<5>: 格式 SDT_INT, 参数说明: "指出所读象素数据元素的格式。参数值可以为以下常量:\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、#亮度和混合通道分量,每个元素为亮度和混合通道分量的值"
// 参数<6>: 图片像素 SDT_BIN, 参数说明: "一组包含纹理图片像素信息的数组,数组成员组成为[宽度][高度][颜色成份],否则纹理图片将发生变形。"
OPENGL_EXTERN_C void opengl_glTexImage2D_62_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
INT arg3 = pArgInf[2].m_int;
INT arg4 = pArgInf[3].m_int;
INT arg5 = pArgInf[4].m_int;
LPBYTE arg6 = pArgInf[5].m_pBin;
}
// 调用格式: _SDT_NULL 设置纹理映射坐标, 命令说明: NULL
// 参数<1>: 横向位置 SDT_DOUBLE, 参数说明: "纹理图片的左边为0,右边为1,超出[0,1]范围的值,纹理图片将被平移相应的距离。"
// 参数<2>: 竖向位置 SDT_DOUBLE, 参数说明: "纹理图片的底边为0,顶边为1,超出[0,1]范围的值,纹理图片将被平移相应的距离。如果为空,表示定义的是一维纹理的坐标"
OPENGL_EXTERN_C void opengl_glTexCoord_63_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
}
// 调用格式: _SDT_NULL 设置纹理映射方式, 命令说明: NULL
// 参数<1>: 处理方式 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t8704、#纹理映射模式;映射值可以为以下常量:\r\n\t\t8448、#调节处理;调节当前亮度和颜色 \r\n\t\t8849、#粘贴处理;不受颜色和亮度影响 \r\n\t\t3042、#混合测试;与原来色颜色进行混合测试。\r\n\t8705、#纹理映射颜色;映射值为范围在[0,1]内的四维数组,多余部分无效"
// 参数<2>: 映射值 数组/非数组 SDT_FLOAT, 参数说明: NULL
OPENGL_EXTERN_C void opengl_glTexEnv_64_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
void* arg2 = pArgInf[1].m_pAryData;
}
// 调用格式: _SDT_NULL 生成纹理号, 命令说明: NULL
// 参数<1>: 纹理数 SDT_INT, 参数说明: "需要生成纹理号"
// 参数<2>: &存放纹理号的变量 数组/非数组 SDT_INT, 参数说明: "用来存放纹理号的变量,如果提供的变量为数组,那么纹理号将被依次存放在数组中。超出数组成员数的部分将无法生成。"
OPENGL_EXTERN_C void opengl_glGenTextures_65_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
void** arg2 = pArgInf[1].m_ppAryData;
}
// 调用格式: _SDT_NULL 生成纹理坐标, 命令说明: "需要生成纹理号"
// 参数<1>: 坐标量 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t8192、#S分量; \r\n\t8193、#T分量;\r\n"
// 参数<2>: 映射值 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t9472、#纹理生成模式,坐标值可以为以下常量:\r\n\t\t9216、#观测线性插值; \r\n\t\t9217、#模型线性插值; \r\n\t\t9218、#纹理贴图形状;\r\n\t9473、#模型平面,四维数组,为生成纹理坐标的方程指定四个相应的参数,多余部分无效;\r\n\t9474、#观测平面,四维数组,为生成纹理坐标的方程指定四个相应的参数,多余部分无效;"
// 参数<3>: 坐标值 数组/非数组 SDT_DOUBLE, 参数说明: NULL
OPENGL_EXTERN_C void opengl_glTexGen_66_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
void* arg3 = pArgInf[2].m_pAryData;
}
// 调用格式: SDT_BOOL 载入位图数据, 命令说明: "成功载入返回真,失败返回假"
// 参数<1>: 位图文件名 SDT_TEXT, 参数说明: "允许使用1位、4位、8位、16位、24位、32位的翻转行序或非翻转行序的非压缩BMP位图文件格式"
// 参数<2>: [背景色 SDT_INT], 参数说明: "位图中指定为背景色的区域,其颜色值的通道部分将被定义为0。如果为空,将被定义为1。可以通过使用“通道混合测试”进行处理。\r\n\t如果希望将背景色部分显示为透明,可以执行:\r\n\t 启用功能 (#通道测试)\r\n\t 通道混合测试 (#大于, 0)\r\n\t 设置纹理映射方式 (#纹理映射模式, #调节处理)"
OPENGL_EXTERN_C void opengl_auxDIBImageLoad_67_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
LPSTR arg1 = pArgInf[0].m_pText;
INT arg2 = pArgInf[1].m_int;
}
// 调用格式: _SDT_NULL 开始创建列表, 命令说明: NULL
// 参数<1>: 列表号 SDT_INT, 参数说明: "可以直接指定列表号或者使用由“生成列表号”取得的返回值,必须是大于0的整数。"
// 参数<2>: 列表模式 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t4864、#编译列表; \r\n\t4865、#编译并且执行列表"
OPENGL_EXTERN_C void opengl_glNewList_68_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
}
// 调用格式: _SDT_NULL 停止创建列表, 命令说明: "与“开始创建列表”搭配使用。"
// 无参数
OPENGL_EXTERN_C void opengl_glEndList_69_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
}
// 调用格式: SDT_INT 生成列表号, 命令说明: "按次序自动生成一串连续的空列表号。返回其中的第一个列表号。失败返回-1"
// 参数<1>: 列表长度 SDT_INT, 参数说明: "必须是大于0的整数"
OPENGL_EXTERN_C void opengl_glGenLists_70_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
}
// 调用格式: SDT_BOOL 调用列表, 命令说明: "调用已经创建的列表。可以重复调用。成功返回真,失败返回假"
// 参数<1>: 列表号 SDT_INT, 参数说明: "可以直接指定列表号或者使用由“生成列表号”取得的返回值,必须是大于0的整数。"
OPENGL_EXTERN_C void opengl_glCallList_71_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
}
// 调用格式: SDT_BOOL 是否存在列表, 命令说明: "如果该列表号存在已经编译的列表就返回真,否则返回假。"
// 参数<1>: 列表号 SDT_INT, 参数说明: "可以直接指定列表号或者使用由“生成列表号”取得的返回值,必须是大于0的整数。"
OPENGL_EXTERN_C void opengl_glIsList_72_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
}
// 调用格式: SDT_BOOL 删除列表列, 命令说明: "删除一列连续的列表。成功返回真,失败返回假"
// 参数<1>: 起始列表号 SDT_INT, 参数说明: "必须是大于0的整数"
// 参数<2>: 列表数 SDT_INT, 参数说明: "必须是大于0的整数"
OPENGL_EXTERN_C void opengl_glDeleteLists_73_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
}
// 调用格式: SDT_BOOL 设置偏移列表数, 命令说明: "为“调用多显示列表”设定一个起始列表号。成功返回真,失败返回假"
// 参数<1>: 偏移列表数 SDT_INT, 参数说明: "必须是大于0的整数"
OPENGL_EXTERN_C void opengl_glListBase_74_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
}
// 调用格式: _SDT_NULL 调用多显示列表, 命令说明: "等效为多次使用“调用列表”的结果。"
// 参数<1>: 列表号数组 数组 SDT_INT, 参数说明: "保存一系列即将被依次调用的列表号的一维数组。如果列表号不存在,将看不到效果。"
OPENGL_EXTERN_C void opengl_glCallLists_75_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
void* arg1 = pArgInf[0].m_pAryData;
}
// 调用格式: _SDT_NULL 设置光栅位置, 命令说明: "设置下一次对光栅操作的坐标位置,会受到坐标变换的影响。如果要改变像素的颜色必须在本命令之前使用。"
// 参数<1>: 横向位置 SDT_DOUBLE, 参数说明: "光栅原点到当前矩阵的坐标系原点的横向距离,单位与坐标系相同。正数时光栅原点在坐标原点右边,反之在左边,0表示相同。"
// 参数<2>: 竖向位置 SDT_DOUBLE, 参数说明: "光栅原点到当前矩阵的坐标系原点的竖向距离,单位与坐标系相同。正数时光栅原点在坐标原点上边,反之在下边,0表示相同。"
OPENGL_EXTERN_C void opengl_glRasterPos_76_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
}
// 调用格式: _SDT_NULL 画出位图, 命令说明: "必须先使用“设置像素存储字节数”。坐标的原点只与“设置光栅位置”有关与坐标变换命令无关。"
// 参数<1>: 宽度 SDT_INT, 参数说明: "“位图数据”中将要显示的宽度,必须大于0。"
// 参数<2>: 高度 SDT_INT, 参数说明: "“位图数据”中将要显示的高度,必须大于0。"
// 参数<3>: 原点横坐标 SDT_FLOAT, 参数说明: "坐标原点与位图左下角的横向素数距离,正数时在原点左边,反之在右边。"
// 参数<4>: 原点竖坐标 SDT_FLOAT, 参数说明: "坐标原点与位图左下角的竖向素数距离,正数时在原点下边,反之在上边。"
// 参数<5>: 横向平移 SDT_FLOAT, 参数说明: "本次画出结束后,坐标原点向右移动的像素距离,负数为反方向。只会影响下一次“画出位图”时的画出位置,与本次画出无关。"
// 参数<6>: 纵向平移 SDT_FLOAT, 参数说明: "本次画出结束后,坐标原点向上移动的像素距离,负数为反方向。只会影响下一次“画出位图”时的画出位置,与本次画出无关。"
// 参数<7>: 位图数据 SDT_BIN, 参数说明: NULL
OPENGL_EXTERN_C void opengl_glBitmap_77_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
FLOAT arg3 = pArgInf[2].m_float;
FLOAT arg4 = pArgInf[3].m_float;
FLOAT arg5 = pArgInf[4].m_float;
FLOAT arg6 = pArgInf[5].m_float;
LPBYTE arg7 = pArgInf[6].m_pBin;
}
// 调用格式: SDT_BOOL 复制像素, 命令说明: "复制一个矩形范围内的内容到现在的光栅位置处。成功返回真,失败返回假"
// 参数<1>: 左下角横向位置 SDT_INT, 参数说明: "矩形的左下角距离坐标原点的横向素数个数。"
// 参数<2>: 左下角纵向位置 SDT_INT, 参数说明: "矩形的左下角距离坐标原点的纵向素数个数。"
// 参数<3>: 宽度 SDT_INT, 参数说明: "以素数为单位,必须大于0。"
// 参数<4>: 高度 SDT_INT, 参数说明: "以素数为单位,必须大于0。"
// 参数<5>: 类型 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t6144、#颜色类型; \r\n\t6145、#深度类型; \r\n\t6146、#模板类型"
OPENGL_EXTERN_C void opengl_glCopyPixels_78_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
INT arg3 = pArgInf[2].m_int;
INT arg4 = pArgInf[3].m_int;
INT arg5 = pArgInf[4].m_int;
}
// 调用格式: _SDT_NULL 设置像素存储字节数, 命令说明: "设置位图像素数据在计算机内存中存储的方式"
// 参数<1>: 存储的字节数 SDT_INT, 参数说明: "只能是1、2、4或8,其他数值无效。"
OPENGL_EXTERN_C void opengl_glPixelStore_79_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
}
// 调用格式: SDT_BOOL 像素缩放, 命令说明: "设置接下来的像素操作的缩放比例。成功返回真,失败返回假"
// 参数<1>: 横向位置缩放 SDT_FLOAT, 参数说明: "大于1表示放大,小于1表示缩小,1表示不进行缩放,必须大于0"
// 参数<2>: 竖向位置缩放 SDT_FLOAT, 参数说明: "大于1表示放大,小于1表示缩小,1表示不进行缩放,必须大于0"
OPENGL_EXTERN_C void opengl_glPixelZoom_80_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
FLOAT arg1 = pArgInf[0].m_float;
FLOAT arg2 = pArgInf[1].m_float;
}
// 调用格式: SDT_BOOL 是否为双字节字符, 命令说明: "如果为双字节返回真,否则返回假。如果指定位置超出文本长度,返回0。"
// 参数<1>: 欲检查文本 SDT_TEXT, 参数说明: NULL
// 参数<2>: 欲检查的字符位置 SDT_INT, 参数说明: "0为首位置,1为第2个位置,如此类推,必须是大于0。"
OPENGL_EXTERN_C void opengl_IsDBCSLeadByte_81_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
LPSTR arg1 = pArgInf[0].m_pText;
INT arg2 = pArgInf[1].m_int;
}
// 调用格式: SDT_BOOL 创建文字轮廓, 命令说明: "创建三维的文字外形轮廓。如果成功返回真,否则返回假。"
// 参数<1>: 设备句柄 SDT_INT, 参数说明: NULL
// 参数<2>: 欲使用其外形的首个字符的代码 SDT_INT, 参数说明: NULL
// 参数<3>: 字符数 SDT_INT, 参数说明: "必须是大于0。如果为1就显示首个字符,2就显示首个字符后面的一个字符。中文为双字节一个字符,不能大于1"
// 参数<4>: 基列表号 SDT_INT, 参数说明: NULL
// 参数<5>: 轮廓偏移量 SDT_FLOAT, 参数说明: "数值越小越逼真,0的时候最好。"
// 参数<6>: 拉伸厚度 SDT_FLOAT, 参数说明: "沿着Z轴方向拉伸的距离。"
// 参数<7>: 实心 SDT_BOOL, 参数说明: "真表示使用实心字体,否则生成空心轮廓。"
OPENGL_EXTERN_C void opengl_wglUseFontOutlinesW_82_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
INT arg3 = pArgInf[2].m_int;
INT arg4 = pArgInf[3].m_int;
FLOAT arg5 = pArgInf[4].m_float;
FLOAT arg6 = pArgInf[5].m_float;
BOOL arg7 = pArgInf[6].m_bool;
}
// 调用格式: _SDT_NULL 创建实心球, 命令说明: "创建一个圆心在坐标原点的实心球。"
// 参数<1>: 半径 SDT_DOUBLE, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。"
// 参数<2>: 经线条数 SDT_INT, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。数值越大越逼真,占用的系统资源也越大。"
// 参数<3>: 纬线条数 SDT_INT, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。数值越大越逼真,占用的系统资源也越大。"
OPENGL_EXTERN_C void opengl_glutSolidSphere_83_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
INT arg2 = pArgInf[1].m_int;
INT arg3 = pArgInf[2].m_int;
}
// 调用格式: _SDT_NULL 创建空心球, 命令说明: "创建一个圆心在坐标原点的空心球。"
// 参数<1>: 半径 SDT_DOUBLE, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。"
// 参数<2>: 经线条数 SDT_INT, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。数值越大越逼真,占用的系统资源也越大。"
// 参数<3>: 纬线条数 SDT_INT, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。数值越大越逼真,占用的系统资源也越大。"
OPENGL_EXTERN_C void opengl_glutWireSphere_84_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
INT arg2 = pArgInf[1].m_int;
INT arg3 = pArgInf[2].m_int;
}
// 调用格式: _SDT_NULL 创建实心正方体, 命令说明: "创建一个中心在坐标原点的实心正方体。"
// 参数<1>: 棱长 SDT_DOUBLE, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。"
OPENGL_EXTERN_C void opengl_glutSolidCube_85_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
}
// 调用格式: _SDT_NULL 创建空心正方体, 命令说明: "创建一个中心在坐标原点的空心正方体。"
// 参数<1>: 棱长 SDT_DOUBLE, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。"
OPENGL_EXTERN_C void opengl_glutWireCube_86_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
}
// 调用格式: _SDT_NULL 创建实心圆锥体, 命令说明: "创建一个中心在坐标原点的实心圆锥体。"
// 参数<1>: 底面半径 SDT_DOUBLE, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。"
// 参数<2>: 圆锥体高度 SDT_DOUBLE, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。"
// 参数<3>: 经线条数 SDT_INT, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。数值越大越逼真,占用的系统资源也越大。"
// 参数<4>: 纬线条数 SDT_INT, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。数值越大越逼真,占用的系统资源也越大。"
OPENGL_EXTERN_C void opengl_glutSolidCone_87_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
INT arg3 = pArgInf[2].m_int;
INT arg4 = pArgInf[3].m_int;
}
// 调用格式: _SDT_NULL 创建空心圆锥体, 命令说明: "创建一个中心在坐标原点的空心圆锥体。"
// 参数<1>: 底面半径 SDT_DOUBLE, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。"
// 参数<2>: 圆锥体高度 SDT_DOUBLE, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。"
// 参数<3>: 经线条数 SDT_INT, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。数值越大越逼真,占用的系统资源也越大。"
// 参数<4>: 纬线条数 SDT_INT, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。数值越大越逼真,占用的系统资源也越大。"
OPENGL_EXTERN_C void opengl_glutWireCone_88_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
INT arg3 = pArgInf[2].m_int;
INT arg4 = pArgInf[3].m_int;
}
// 调用格式: _SDT_NULL 创建实心圆环, 命令说明: "创建一个中心在坐标原点的实心圆环。"
// 参数<1>: 内圆半径 SDT_DOUBLE, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。如果内圆半径大于外圆半径,就交换内圆半径和外圆半径的值。如果内圆半径和外圆半径的值相等,外圆半径自动加1。"
// 参数<2>: 外圆半径 SDT_DOUBLE, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。如果内圆半径大于外圆半径,就交换内圆半径和外圆半径的值。如果内圆半径和外圆半径的值相等,外圆半径自动加1。"
// 参数<3>: 边数 SDT_INT, 参数说明: "负数自动被转化为正数,如果小于3,将由3来取代。数值越大越逼真,占用的系统资源也越大。"
// 参数<4>: 环数 SDT_INT, 参数说明: "负数自动被转化为正数,如果小于3,将由3来取代。数值越大越逼真,占用的系统资源也越大。"
OPENGL_EXTERN_C void opengl_glutSolidTorus_89_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
INT arg3 = pArgInf[2].m_int;
INT arg4 = pArgInf[3].m_int;
}
// 调用格式: _SDT_NULL 创建空心圆环, 命令说明: "创建一个中心在坐标原点的空心圆环。"
// 参数<1>: 内圆半径 SDT_DOUBLE, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。如果内圆半径大于外圆半径,就交换内圆半径和外圆半径的值。如果内圆半径和外圆半径的值相等,外圆半径自动加1。"
// 参数<2>: 外圆半径 SDT_DOUBLE, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。如果内圆半径大于外圆半径,就交换内圆半径和外圆半径的值。如果内圆半径和外圆半径的值相等,外圆半径自动加1。"
// 参数<3>: 边数 SDT_INT, 参数说明: "负数自动被转化为正数,如果小于3,将由3来取代。数值越大越逼真,占用的系统资源也越大。"
// 参数<4>: 环数 SDT_INT, 参数说明: "负数自动被转化为正数,如果小于3,将由3来取代。数值越大越逼真,占用的系统资源也越大。"
OPENGL_EXTERN_C void opengl_glutWireTorus_90_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
INT arg3 = pArgInf[2].m_int;
INT arg4 = pArgInf[3].m_int;
}
// 调用格式: _SDT_NULL 创建实心十二面体, 命令说明: "创建一个中心在坐标原点的外接球半径为三分之二根号三的实心十二面体。"
// 无参数
OPENGL_EXTERN_C void opengl_glutSolidDodecahedron_91_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
}
// 调用格式: _SDT_NULL 创建空心十二面体, 命令说明: "创建一个中心在坐标原点的外接球半径为三分之二根号三的空心十二面体。"
// 无参数
OPENGL_EXTERN_C void opengl_glutWireDodecahedron_92_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
}
// 调用格式: _SDT_NULL 创建实心八面体, 命令说明: "创建一个中心在坐标原点的外接球半径为一的实心八面体。"
// 无参数
OPENGL_EXTERN_C void opengl_glutSolidOctahedron_93_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
}
// 调用格式: _SDT_NULL 创建空心八面体, 命令说明: "创建一个中心在坐标原点的外切球半径为一的空心八面体。"
// 无参数
OPENGL_EXTERN_C void opengl_glutWireOctahedron_94_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
}
// 调用格式: _SDT_NULL 创建实心四面体, 命令说明: "创建一个中心在坐标原点的外接球半径为根号三的实心四面体。"
// 无参数
OPENGL_EXTERN_C void opengl_glutSolidTetrahedron_95_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
}
// 调用格式: _SDT_NULL 创建空心四面体, 命令说明: "创建一个中心在坐标原点的外接球半径为根号三的空心四面体。"
// 无参数
OPENGL_EXTERN_C void opengl_glutWireTetrahedron_96_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
}
// 调用格式: _SDT_NULL 创建实心二十面体, 命令说明: "创建一个中心在坐标原点的外接球半径为一的实心二十面体。"
// 无参数
OPENGL_EXTERN_C void opengl_glutSolidIcosahedron_97_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
}
// 调用格式: _SDT_NULL 创建空心二十面体, 命令说明: "创建一个中心在坐标原点的外接球半径为一的空心二十面体。"
// 无参数
OPENGL_EXTERN_C void opengl_glutWireIcosahedron_98_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
}
// 调用格式: _SDT_NULL 创建实心圆柱体, 命令说明: "创建一个中心在坐标原点的实心圆柱体。"
// 参数<1>: 底圆半径 SDT_DOUBLE, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。"
// 参数<2>: 高度 SDT_DOUBLE, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。"
// 参数<3>: 经线条数 SDT_INT, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。数值越大越逼真,占用的系统资源也越大。"
OPENGL_EXTERN_C void opengl_glutSolidcylinder_99_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
INT arg3 = pArgInf[2].m_int;
}
// 调用格式: _SDT_NULL 创建空心圆柱体, 命令说明: "创建一个中心在坐标原点的空心圆柱体。"
// 参数<1>: 底圆半径 SDT_DOUBLE, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。"
// 参数<2>: 高度 SDT_DOUBLE, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。"
// 参数<3>: 经线条数 SDT_INT, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。数值越大越逼真,占用的系统资源也越大。"
OPENGL_EXTERN_C void opengl_glutWirecylinder_100_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
INT arg3 = pArgInf[2].m_int;
}
// 调用格式: SDT_TEXT 取错误信息文本, 命令说明: "如果执行某OPenGL命令失败,在其后执行本命令可以取回错误信息文本。\t\t如果该OPenGL命令执行成功,执行本命令将返回空文本。\r\n\t\t如果参数值超出整数的范围,返回“无效整数”\r\n\t\t如果参数值超出可选的范围,返回“无效数值”\r\n\t\t如果OPenGL命令出现在错误的位置,返回“无效操作”\r\n\t\t如果在堆栈已满时继续入栈,返回“堆栈溢出”\r\n\t\t如果在堆栈已空时继续出栈,返回“堆栈下溢”"
// 无参数
OPENGL_EXTERN_C void opengl_glGetError_101_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
}
// 调用格式: _SDT_NULL 设置观察坐标, 命令说明: "新的视图空间以坐标中心位置为坐标原点,坐标中心位置到眼睛的矢量为纵向坐标轴的正方向,以正上方矢量为竖向坐标轴的正方向。"
// 参数<1>: 眼睛横坐标 SDT_DOUBLE, 参数说明: NULL
// 参数<2>: 眼睛竖坐标 SDT_DOUBLE, 参数说明: NULL
// 参数<3>: 眼睛纵坐标 SDT_DOUBLE, 参数说明: NULL
// 参数<4>: 中心横坐标 SDT_DOUBLE, 参数说明: NULL
// 参数<5>: 中心竖坐标 SDT_DOUBLE, 参数说明: NULL
// 参数<6>: 中心纵坐标 SDT_DOUBLE, 参数说明: NULL
// 参数<7>: 正上方横坐标 SDT_DOUBLE, 参数说明: NULL
// 参数<8>: 正上方竖坐标 SDT_DOUBLE, 参数说明: NULL
// 参数<9>: 正上方纵坐标 SDT_DOUBLE, 参数说明: NULL
OPENGL_EXTERN_C void opengl_gluLookAt_102_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
double arg3 = pArgInf[2].m_double;
double arg4 = pArgInf[3].m_double;
double arg5 = pArgInf[4].m_double;
double arg6 = pArgInf[5].m_double;
double arg7 = pArgInf[6].m_double;
double arg8 = pArgInf[7].m_double;
double arg9 = pArgInf[8].m_double;
}
// 调用格式: SDT_BOOL 载入3DS文件, 命令说明: "载入以3DS为后缀的三维模型文件,并编译为一个显示列表。如果3DS文件中包含有纹理图片,那么只有BMP位图格式的纹理才可以被使用。否则无法显示纹理。使用“调用列表”命令可以显示模型。成功返回真,失败返回假。"
// 参数<1>: 3DS文件名 SDT_TEXT, 参数说明: "需要载入的3DS文件名称。"
// 参数<2>: 列表号 SDT_INT, 参数说明: "可以直接指定列表号或者使用由“生成列表号”取得的返回值,必须是大于0的整数。"
// 参数<3>: &存放被取回纹理号的数组变量 数组 SDT_INT, 参数说明: "在命令执行完毕后,本变量数组内被顺序填入在载入3DS文件时候创建的纹理号。变量数组内原有数据被全部销毁,变量数组的维数被自动调整为一维数组。"
OPENGL_EXTERN_C void opengl_glLoad3DS_103_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
LPSTR arg1 = pArgInf[0].m_pText;
INT arg2 = pArgInf[1].m_int;
void** arg3 = pArgInf[2].m_ppAryData;
}
// 调用格式: _SDT_NULL 创建实心圆台, 命令说明: "创建一个中心在坐标原点的实心圆台。"
// 参数<1>: 下底圆半径 SDT_DOUBLE, 参数说明: "负数自动被转化为正数,如果上下底圆半径都等于0,就无法显示。"
// 参数<2>: 上底圆半径 SDT_DOUBLE, 参数说明: "负数自动被转化为正数,如果上下底圆半径都等于0,就无法显示。"
// 参数<3>: 高度 SDT_DOUBLE, 参数说明: "负数自动被转化为正数,如果等于0,表示压成平面。"
// 参数<4>: 经线条数 SDT_INT, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。数值越大越逼真,占用的系统资源也越大。"
// 参数<5>: 纬线条数 SDT_INT, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。数值越大越逼真,占用的系统资源也越大。"
OPENGL_EXTERN_C void opengl_glutSolidtaper_104_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
double arg3 = pArgInf[2].m_double;
INT arg4 = pArgInf[3].m_int;
INT arg5 = pArgInf[4].m_int;
}
// 调用格式: _SDT_NULL 创建空心圆台, 命令说明: "创建一个中心在坐标原点的空心圆台。"
// 参数<1>: 下底圆半径 SDT_DOUBLE, 参数说明: "负数自动被转化为正数,如果上下底圆半径都等于0,就无法显示。"
// 参数<2>: 上底圆半径 SDT_DOUBLE, 参数说明: "负数自动被转化为正数,如果上下底圆半径都等于0,就无法显示。"
// 参数<3>: 高度 SDT_DOUBLE, 参数说明: "负数自动被转化为正数,如果等于0,表示压成平面。"
// 参数<4>: 经线条数 SDT_INT, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。数值越大越逼真,占用的系统资源也越大。"
// 参数<5>: 纬线条数 SDT_INT, 参数说明: "负数自动被转化为正数,如果等于0,将由1来取代。数值越大越逼真,占用的系统资源也越大。"
OPENGL_EXTERN_C void opengl_glutWiretaper_105_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
double arg3 = pArgInf[2].m_double;
INT arg4 = pArgInf[3].m_int;
INT arg5 = pArgInf[4].m_int;
}
// 调用格式: SDT_BOOL 设置线宽, 命令说明: "为所画的线段设置线条宽度。如果操作系统支持指定的宽度大小,返回真,否则返回假。通过启用和停用“光滑线”功能,来控制线段的放样效果。"
// 参数<1>: 宽度 SDT_FLOAT, 参数说明: "以像素为单位的正数,负数自动取正,零还原为1。默认为1个像素大小。目前WINDOWS支持的宽度大小在0.5和10.0之间,间隔为0.125,最后使用的实际宽度为最接近这个值的宽度大小。"
OPENGL_EXTERN_C void opengl_glLineWidth_106_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
FLOAT arg1 = pArgInf[0].m_float;
}
// 调用格式: _SDT_NULL 设置点大小, 命令说明: "为所画的点设置点的大小。通过启用和停用“光滑点”功能,来控制点的放样效果。"
// 参数<1>: 大小 SDT_FLOAT, 参数说明: "以像素为单位的正数,负数自动取正,零还原为1。默认为1个像素大小。"
OPENGL_EXTERN_C void opengl_glPointSize_107_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
FLOAT arg1 = pArgInf[0].m_float;
}
// 调用格式: SDT_INT 设置曲线控制点, 命令说明: "为Bezier曲线定义控制点。定义了控制点后,才可以画曲线。成功返回有效的控制点数,失败返回0。始终保持这样的曲线,直到再次使用本命令改变控制点。\r\n\t本命令使用参数方程来定义曲线上的每个顶点。\r\n\t\tX = f (U )\r\n\t\tY = f (U )\r\n\t\tZ = f (U )\r\n\t其中X、Y、Z分别代表曲线上的点的横向位置、竖向位置和纵向位置,U代表参数方程f()的参数\r\n当参数 U 发生变化的时候,X、Y、Z也相应的改变。"
// 参数<1>: U参数上限 SDT_DOUBLE, 参数说明: "U参数的起始值。"
// 参数<2>: U参数下限 SDT_DOUBLE, 参数说明: "U参数的终止值。"
// 参数<3>: 控制点 数组 SDT_DOUBLE, 参数说明: "用来描述控制点的数组,按照U1(X、Y、Z),U2(X、Y、Z),U3(X、Y、Z)...的顺序排列。"
OPENGL_EXTERN_C void opengl_glMap1_108_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
void* arg3 = pArgInf[2].m_pAryData;
}
// 调用格式: _SDT_NULL 设置曲线点, 命令说明: "插入到“开始画”和“停止画”中来设置曲线上的点。先使用“设置曲线控制点”命令生成曲线,然后指定U参数的值,计算出曲线上点的坐标。必须启用“#曲线坐标”才有效,不使用的时候需要关闭。"
// 参数<1>: U参数 SDT_DOUBLE, 参数说明: "参数值应该介于“设置曲线控制点”命令中的“U参数上限”和“U参数下限”之间。"
OPENGL_EXTERN_C void opengl_glEvalCoord1_109_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
}
// 调用格式: _SDT_NULL 设置曲线等分点, 命令说明: "先使用“设置曲线控制点”命令生成曲线,然后设置曲线的等分点数,让曲线光滑的过度。\r\n\t最终得到的每两个相邻U参数的间隔为:(U向等分下限 - U向等分上限)/ U向等分数。"
// 参数<1>: U向等分数 SDT_INT, 参数说明: "等分数目越多,曲线越光滑,占用的系统资源也越大。"
// 参数<2>: U向等分上限 SDT_DOUBLE, 参数说明: "U参数的起始值。"
// 参数<3>: U向等分下限 SDT_DOUBLE, 参数说明: "U参数的终止值。"
OPENGL_EXTERN_C void opengl_glMapGrid1_110_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
double arg2 = pArgInf[1].m_double;
double arg3 = pArgInf[2].m_double;
}
// 调用格式: _SDT_NULL 画曲线, 命令说明: "先使用“设置曲线控制点”命令生成曲线,然后才能画出曲线。显示范围在“曲线起点”和“曲线终点”之间。必须启用“#曲线坐标”才有效,不使用的时候需要关闭。如果需要使用法向量,必须启用“#自动法向量”才有效,不使用的时候需要关闭。"
// 参数<1>: 画出模式 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t6912、#点,将画出的多边形显示为点;\r\n\t6913、#线,将画出的多边形显示为线段;\r\n"
// 参数<2>: 曲线起点 SDT_INT, 参数说明: "参数值应该介于 0 和“设置曲线等分点”命令中的“U向等分数”之间。"
// 参数<3>: 曲线终点 SDT_INT, 参数说明: "参数值应该介于 0 和“设置曲线等分点”命令中的“U向等分数”之间。"
OPENGL_EXTERN_C void opengl_glEvalMesh1_111_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
INT arg3 = pArgInf[2].m_int;
}
// 调用格式: SDT_INT 设置曲面控制点, 命令说明: "为Bezier曲面定义控制点。定义了控制点后,才可以画曲面。成功返回有效的控制点数,失败返回0。必须启用“#曲面坐标”才有效,不使用的时候需要关闭。始终保持这样的曲面,直到再次使用本命令改变控制点。\r\n\t本命令使用参数方程来定义曲线上的每个顶点。\r\n\t\tX = f (U ,V)\r\n\t\tY = f (U ,V)\r\n\t\tZ = f (U ,V)\r\n\t其中X、Y、Z分别代表曲线上的点的横向位置、竖向位置和纵向位置,U、V代表参数方程f()的参数\r\n当参数 U 、V发生变化的时候,X、Y、Z也相应的改变。"
// 参数<1>: U参数上限 SDT_DOUBLE, 参数说明: "U参数的起始值。"
// 参数<2>: U参数下限 SDT_DOUBLE, 参数说明: "U参数的终止值。"
// 参数<3>: U向控制点数 SDT_INT, 参数说明: "U向控制点的数目,必须为非零整数。负数自动取正。"
// 参数<4>: V参数上限 SDT_DOUBLE, 参数说明: "V参数的起始值。"
// 参数<5>: V参数下限 SDT_DOUBLE, 参数说明: "V参数的终止值。"
// 参数<6>: 控制点 数组 SDT_DOUBLE, 参数说明: "用来描述控制点的数组,按照U1V1(X、Y、Z),U2V1(X、Y、Z)...,U1V2(X、Y、Z),U2V2(X、Y、Z)...的顺序排列。"
OPENGL_EXTERN_C void opengl_glMap2_112_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
INT arg3 = pArgInf[2].m_int;
double arg4 = pArgInf[3].m_double;
double arg5 = pArgInf[4].m_double;
void* arg6 = pArgInf[5].m_pAryData;
}
// 调用格式: _SDT_NULL 设置曲面点, 命令说明: "插入到“开始画”和“停止画”中来设置曲线上的点。先使用“设置曲面控制点”命令生成曲线,然后指定U参数的值,计算出曲线上点的坐标。必须启用“#曲面坐标”才有效,不使用的时候需要关闭。"
// 参数<1>: U参数 SDT_DOUBLE, 参数说明: "参数值应该介于“设置曲面控制点”命令中的“U参数上限”和“U参数下限”之间。"
// 参数<2>: V参数 SDT_DOUBLE, 参数说明: "参数值应该介于“设置曲面控制点”命令中的“V参数上限”和“V参数下限”之间。"
OPENGL_EXTERN_C void opengl_glEvalCoord2_113_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
}
// 调用格式: _SDT_NULL 设置曲面等分网格, 命令说明: "先使用“设置曲面控制点”命令生成曲面,然后设置曲面的等分网格,让曲面光滑的过度。\r\n\t最终得到的每两个相邻U参数的间隔为:(U向等分下限 - U向等分上限)/ U向等分数。\r\n\t最终得到的每两个相邻V参数的间隔为:(V向等分下限 - V向等分上限)/ V向等分数。"
// 参数<1>: U向等分数 SDT_INT, 参数说明: "等分数目越多,曲线越光滑,占用的系统资源也越大。"
// 参数<2>: U向等分上限 SDT_DOUBLE, 参数说明: "U参数的起始值。"
// 参数<3>: U向等分下限 SDT_DOUBLE, 参数说明: "U参数的终止值。"
// 参数<4>: V向等分数 SDT_INT, 参数说明: "等分数目越多,曲线越光滑,占用的系统资源也越大。"
// 参数<5>: V向等分上限 SDT_DOUBLE, 参数说明: "V参数的起始值。"
// 参数<6>: V向等分下限 SDT_DOUBLE, 参数说明: "V参数的终止值。"
OPENGL_EXTERN_C void opengl_glMapGrid2_114_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
double arg2 = pArgInf[1].m_double;
double arg3 = pArgInf[2].m_double;
INT arg4 = pArgInf[3].m_int;
double arg5 = pArgInf[4].m_double;
double arg6 = pArgInf[5].m_double;
}
// 调用格式: _SDT_NULL 画曲面, 命令说明: "先使用“设置曲面控制点”命令生成曲面,然后才能画出曲面。U向显示范围在“曲面U向起点”和“曲面U向起点”之间。V向显示范围在“曲面V向起点”和“曲面V向起点”之间。必须启用“#曲面坐标”才有效,不使用的时候需要关闭。如果需要使用法向量,必须启用“#自动法向量”才有效,不使用的时候需要关闭。"
// 参数<1>: 画出模式 SDT_INT, 参数说明: "参数值可以为以下常量:\r\n\t6912、#点,将画出的多边形显示为点;\r\n\t6913、#线,将画出的多边形显示为线段;\r\n\t6914、#面,将画出的多边形显示为填充颜色的多边形"
// 参数<2>: 曲面U向起点 SDT_INT, 参数说明: "参数值应该介于 0 和“设置曲面等分网格”命令中的“U向等分数”之间。"
// 参数<3>: 曲面U向终点 SDT_INT, 参数说明: "参数值应该介于 0 和“设置曲面等分网格”命令中的“U向等分数”之间。"
// 参数<4>: 曲面V向起点 SDT_INT, 参数说明: "参数值应该介于 0 和“设置曲面等分网格”命令中的“V向等分数”之间。"
// 参数<5>: 曲面V向终点 SDT_INT, 参数说明: "参数值应该介于 0 和“设置曲面等分网格”命令中的“V向等分数”之间。"
OPENGL_EXTERN_C void opengl_glEvalMesh2_115_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
INT arg3 = pArgInf[2].m_int;
INT arg4 = pArgInf[3].m_int;
INT arg5 = pArgInf[4].m_int;
}
// 调用格式: SDT_BOOL 是否存在纹理号, 命令说明: "如果该纹理号已经存在就返回真,否则返回假。"
// 参数<1>: 纹理 SDT_INT, 参数说明: "需要进行判断的纹理号。"
OPENGL_EXTERN_C void opengl_glIsTexture_116_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
}
// 调用格式: SDT_INT 删除纹理号, 命令说明: "删除已经创建的纹理号,与纹理号相应的纹理将无法使用。返回实际删除的纹理号的数量"
// 参数<1>: [需要删除的纹理号数量 SDT_INT], 参数说明: "默认删除纹理数组中所有的纹理号,否则删除数组中指定的前几项。"
// 参数<2>: 纹理号数组 数组/非数组 SDT_INT, 参数说明: "保存了纹理号的数组。"
OPENGL_EXTERN_C void opengl_glDeleteTextures_117_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
void* arg2 = pArgInf[1].m_pAryData;
}
// 调用格式: SDT_INT 清空名字栈, 命令说明: "清空名字栈中的所有名字。返回最大名字栈长度。必须在选择模式下使用。否则无效。"
// 无参数
OPENGL_EXTERN_C void opengl_glInitNames_118_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
}
// 调用格式: _SDT_NULL 名字入栈, 命令说明: "设置接下来的图元的名称。并把指定名称压入栈顶,不能超出最大名字栈长度。每个图元的名字与当时出现在名字栈中所有的名字有关。因此一个图元可以拥有多个名字。连续重复使用本命令即可达到命名多级名字的效果。必须在选择模式下使用。否则无效。"
// 参数<1>: 名字 SDT_INT, 参数说明: "压入栈顶的名字。"
OPENGL_EXTERN_C void opengl_glPushName_119_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
}
// 调用格式: _SDT_NULL 名字出栈, 命令说明: "停止使用当前的名称。并把栈顶名称退出栈顶名称,不能在名字栈为空的时候出栈。必须在选择模式下使用。否则无效。"
// 无参数
OPENGL_EXTERN_C void opengl_glPopName_120_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
}
// 调用格式: SDT_BOOL 置栈顶名字, 命令说明: "设置接下来的图元的名称。如果名字栈为空,将返回假。必须在选择模式下使用。否则无效。"
// 参数<1>: 名字 SDT_INT, 参数说明: "栈顶的名字。"
OPENGL_EXTERN_C void opengl_glLoadName_121_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
}
// 调用格式: SDT_INT 进入选择模式, 命令说明: "进入选择模式后画出的任何图元都不会显示出来。只有在选择模式下对模型进行命名的操作才有效。成功后将所有在选择区域中包含的命中记录存放在数组参数中。并且返回命中记录的个数。否则清空数组,并且返回0。\r\n\t选择缓存内容的排列规则:\r\n\t\t1.命中级别: 如果为顶级记录,值为1,二级为2,依次类推。\r\n\t\t2.最近距离:只表示在屏幕内的深度,并不对应Z坐标,数值为VC中的 unsigned int 数据类型,需要转换到0~4294967295范围的值。不同的投影方式,会有不同的结果。\r\n\t\t3.最远距离:同上。\r\n\t\t4.名字列表:成员1表示顶级名字,成员2表示二级名字,依次类推,最后一个成员表示命中名字。\r\n\t\t5.如果存在其他命中记录就重复1-4步。"
// 参数<1>: 屏幕横向位置 SDT_INT, 参数说明: "在当前OPenGL所显示的窗口组件中的横向位置"
// 参数<2>: 屏幕纵向位置 SDT_INT, 参数说明: "在当前OPenGL所显示的窗口组件中的纵向位置"
// 参数<3>: 选择区域宽度 SDT_INT, 参数说明: "需要进行选择的区域的宽度,宽度越大搜索范围越大,计算量也越大。"
// 参数<4>: 选择区域高度 SDT_INT, 参数说明: "需要进行选择的区域的高度,高度越大搜索范围越大,计算量也越大。"
// 参数<5>: 命名图元子程序 SDT_SUB_PTR, 参数说明: "子程序没有使用参数和返回值。只有在这个子程序中使用与名字栈有关的命令才有效。"
// 参数<6>: &存放选择选择缓存的数组 数组 SDT_INT, 参数说明: "原来的数据将被清除。并重新定义为一维数组。"
OPENGL_EXTERN_C void opengl_glSelect_122_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
INT arg1 = pArgInf[0].m_int;
INT arg2 = pArgInf[1].m_int;
INT arg3 = pArgInf[2].m_int;
INT arg4 = pArgInf[3].m_int;
DWORD arg5 = pArgInf[4].m_dwSubCodeAdr;
void** arg6 = pArgInf[5].m_ppAryData;
}
// 调用格式: SDT_BOOL 到屏幕坐标, 命令说明: "将OPenGL的空间坐标转换到组件的屏幕坐标。成功返回真,否则返回假。"
// 参数<1>: 空间坐标横向位置 SDT_DOUBLE, 参数说明: "OPenGL的空间坐标系中的横向位置"
// 参数<2>: 空间坐标竖向位置 SDT_DOUBLE, 参数说明: "OPenGL的空间坐标系中的竖向位置"
// 参数<3>: 空间坐标纵向位置 SDT_DOUBLE, 参数说明: "OPenGL的空间坐标系中的纵向位置"
// 参数<4>: &存放屏幕坐标横向位置的变量 SDT_DOUBLE, 参数说明: "窗口组件中的横向位置"
// 参数<5>: &存放屏幕坐标纵向位置的变量 SDT_DOUBLE, 参数说明: "窗口组件中的纵向位置"
// 参数<6>: &存放屏幕深度的变量 SDT_DOUBLE, 参数说明: "0表示与投影坐标系中的最近的平面,1表示最远的平面。"
OPENGL_EXTERN_C void opengl_gluProject_123_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
double arg3 = pArgInf[2].m_double;
double* arg4 = pArgInf[3].m_pDouble;
double* arg5 = pArgInf[4].m_pDouble;
double* arg6 = pArgInf[5].m_pDouble;
}
// 调用格式: SDT_BOOL 到空间坐标, 命令说明: "将组件的屏幕坐标转换到OPenGL的空间坐标。成功返回真,否则返回假。"
// 参数<1>: 屏幕坐标横向位置 SDT_DOUBLE, 参数说明: "窗口组件中的横向位置"
// 参数<2>: 屏幕坐标纵向位置 SDT_DOUBLE, 参数说明: "窗口组件中的纵向位置"
// 参数<3>: 屏幕深度 SDT_DOUBLE, 参数说明: "0表示与投影坐标系中的最近的平面,1表示最远的平面。"
// 参数<4>: &存放空间坐标横向位置的变量 SDT_DOUBLE, 参数说明: "OPenGL的空间坐标系中的横向位置"
// 参数<5>: &存放空间坐标竖向位置的变量 SDT_DOUBLE, 参数说明: "OPenGL的空间坐标系中的竖向位置"
// 参数<6>: &存放空间坐标纵向位置的变量 SDT_DOUBLE, 参数说明: "OPenGL的空间坐标系中的纵向位置"
OPENGL_EXTERN_C void opengl_gluUnProject_124_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
double arg1 = pArgInf[0].m_double;
double arg2 = pArgInf[1].m_double;
double arg3 = pArgInf[2].m_double;
double* arg4 = pArgInf[3].m_pDouble;
double* arg5 = pArgInf[4].m_pDouble;
double* arg6 = pArgInf[5].m_pDouble;
}
// 调用格式: SDT_BOOL 载入TGA图片, 命令说明: "成功载入返回真,失败返回假"
// 参数<1>: 位图文件名 SDT_TEXT, 参数说明: "允许使用24位、32位的压缩和非压缩的TGA文件格式"
// 参数<2>: [背景色 SDT_INT], 参数说明: "位图中指定为背景色的区域,其颜色值的通道部分将被定义为0。如果为空,将被定义为1。可以通过使用“通道混合测试”进行处理。\r\n\t如果希望将背景色部分显示为透明,可以执行:\r\n\t 启用功能 (#通道测试)\r\n\t 通道混合测试 (#大于, 0)\r\n\t 设置纹理映射方式 (#纹理映射模式, #调节处理)"
// 参数<3>: &宽度 SDT_INT, 参数说明: "保存图片的宽度的变量"
// 参数<4>: &高度 SDT_INT, 参数说明: "保存图片的高度的变量"
OPENGL_EXTERN_C void opengl_glTGALoad_125_opengl(PMDATA_INF pRetData, INT nArgCount, PMDATA_INF pArgInf)
{
LPSTR arg1 = pArgInf[0].m_pText;
INT arg2 = pArgInf[1].m_int;
PINT arg3 = pArgInf[2].m_pInt;
PINT arg4 = pArgInf[3].m_pInt;
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/JYtechnology/opengl.git
git@gitee.com:JYtechnology/opengl.git
JYtechnology
opengl
opengl
master

搜索帮助