3D测试-初级程序-极语言教程
//窗体代码:
整数 窗体; 程序资源 24,"清单.xml"; 程序段 加载窗体 整数 左=(桌面.宽-625)>>1,上=(桌面.高-584)>>1; 窗体=创建窗口($100,程序.名称,"3D测试",$14CF0000,左,上,625,584,0,0,0,0); 窗体启动;读取消息 结束
//程序代码:
引入 "lib\opengl32.lib"; 程序段 窗体消息(窗口,消息,参数,双字 数据) 判断(消息)为 窗口关闭 停止 为 窗口创建 渲染设备(窗口) 为 窗口重绘 绘制旋转图形 为 窗口缩放 设置视区(0,0,数据.低,数据.高) 否则 处理窗口(窗口,消息,参数,数据) 结束 常量 四边形 = 7; 常量 颜色缓冲位 = $4000; 常量 逆时针=0x0901,图形背面=0x0405,剔除面=0x0B44; 整数 设备,渲染;小数 旋转=45.0;布尔 加速=真;矩形类 视窗; 像素格式类 图像(版本=1,标志=$25,颜色位=16,缓冲深度=16) 程序段 窗体启动 读取消息 结束 程序段 渲染设备(窗口) 设备 = 取设备(窗口) 格式像素(设备,匹配像素(设备,图像),图像) 渲染 = 创建渲染(设备) 指定渲染(设备,渲染) 结束 程序段 绘制旋转图形 小数 速度; 正多边形(逆时针) 剔除画面(图形背面) 启用图库(剔除面) 清理预设(颜色缓冲位); 旋转小数(旋转,0.5,0.5,1.0); 速度 = 0.01 * 旋转; 如果(加速=真){ 如果(旋转<30.0)旋转+速度 否则 加速=假 }否则{ 如果(旋转>1.0)旋转-速度 否则 加速=真 } 开始分形(四边形) //后面 三色小数(40.0,0.0,0.0)三点小数(-0.6,-0.6,-0.6) 三色小数(40.0,40.0,0.0)三点小数(-0.6,0.6,-0.6) 三色小数(0.0,0.0,40.0)三点小数(0.6,0.6,-0.6) 三色小数(0.0,40.0,0.0)三点小数(0.6,-0.6,-0.6) //左面 三色小数(20.0,0.0,0.0)三点小数(-0.6,-0.6,-0.6) 三色小数(0.0,20.0,0.0)三点小数(-0.6,-0.6,0.6) 三色小数(0.0,0.0,20.0)三点小数(-0.6,0.6,0.6); 三色小数(20.0,20.0,0.0)三点小数(-0.6,0.6,-0.6) //下面 三色小数(50.0,0.0,0.0)三点小数(-0.6,-0.6,-0.6) 三色小数(0.0,50.0,0.0)三点小数(0.6,-0.6,-0.6) 三色小数(0.0,0.0,50.0)三点小数(0.6,-0.6,0.6) 三色小数(50.0,50.0,0.0)三点小数(-0.6,-0.6,0.6) //前面 三色小数(60.0,0.0,0.0)三点小数(-0.6,-0.6,0.6) 三色小数(0.0,80.0,0.0)三点小数(0.6,-0.6,0.6) 三色小数(0.0,0.0,80.0)三点小数(0.6,0.6,0.6) 三色小数(80.0,80.0,0.0)三点小数(-0.6,0.6,0.6) //右面 三色小数(140.0,0.0,0.0)三点小数(0.6,-0.6,-0.6) 三色小数(0.0,140.0,0.0)三点小数(0.6,0.6,-0.6) 三色小数(0.0,0.0,140.0)三点小数(0.6,0.6,0.6) 三色小数(140.0,140.0,0.0)三点小数(0.6,-0.6,0.6) //上面 三色小数(240.0,0.0,0.0)三点小数(-0.6,0.6,-0.6) 三色小数(0.0,240.0,0.0)三点小数(-0.6,0.6,0.6) 三色小数(0.0,0.0,240.0)三点小数(0.6,0.6,0.6) 三色小数(240.0,240.0,0.0)三点小数(0.6,0.6,-0.6) 结束分形;交换缓冲(设备) 结束