吾爱分享资源网

 找回密码
 立即注册
快捷导航
搜索
查看: 22|回复: 0

易语言制作OPENGL打开3DS文件源码下载

[复制链接]

1598

主题

1717

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
17845
金币
8056
发表于 4 天前 | 显示全部楼层 |阅读模式
请点击此处下载

查看状态:需购买或无权限

您的用户组是:游客

提取密码:5ifx88 
下载次数:0  文件大小:0 Bytes 
下载权限: 不限 以上或 VIP会员   [购买VIP]   [充值金币]  [免费赚金币]



部分代码如下
  
窗口程序集名保 留  保 留备 注
窗口程序集1   
变量名类 型数组备 注
窗口句柄整数型  
移动速度小数型  
光照开关逻辑型  
纹理开关逻辑型  
纹理号数组整数型0 

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
_启动窗口.标题 = “读取3DS文件”
窗口句柄 = _启动窗口.取窗口句柄 ()
建立OPenGL组件 (窗口句柄)
移动速度 = 0.1
视点.横 = 0
视点.竖 = 0
视点.纵 = -6
视点.绕Y = 0
比例 = 1
子程序名返回值类型公开备 注
__启动窗口_尺寸被改变  
尺寸被改变 (0, 0, _启动窗口.取用户区宽度 (), _启动窗口.取用户区高度 ())
子程序名返回值类型公开备 注
__启动窗口_将被销毁  
撤消OPenGL组件 (窗口句柄)
子程序名返回值类型公开备 注
_时钟1_周期事件  
绘图 ()
子程序名返回值类型公开备 注
__启动窗口_按下某键逻辑型 
参数名类 型参考可空数组备 注
键代码整数型   
功能键状态整数型   
判断 (键代码 = #PageUp键 )  ' 上移
设置视点 ()
判断 (键代码 = #PageDown键 )  ' 下移
设置视点 ()
判断 (键代码 = #上光标键 键代码 = #W键 )  ' 前移
设置视点 (, )
判断 (键代码 = #下光标键 键代码 = #S键 )  ' 后移
设置视点 (, )
判断 (键代码 = #左光标键 键代码 = #A键 )  ' 左移
设置视点 (, , )
判断 (键代码 = #右光标键 键代码 = #D键 )  ' 右移
设置视点 (, , )
判断 (键代码 = #Q键 )  ' 左转
设置视点 (, , , )
判断 (键代码 = #E键 )  ' 右转
设置视点 (, , , )
判断 (键代码 = #右中括号键 )  ' 加速
移动速度 = 移动速度 + 0.1
如果真 (移动速度 > 100)
移动速度 = 100
状态条1.置文本 (4, “移动速度:”到文本 (移动速度))
判断 (键代码 = #左中括号键 )  ' 减速
移动速度 = 移动速度 - 0.1
如果真 (移动速度 ≤ 0)
移动速度 = 0.1
状态条1.置文本 (4, “移动速度:”到文本 (移动速度))
判断 (键代码 = #X键 )  ' 放大
比例 = 比例 × 1.2
状态条1.置文本 (7, “比例”到文本 (比例))
判断 (键代码 = #Z键 )  ' 缩小
比例 = 比例 × 0.8
状态条1.置文本 (7, “比例”到文本 (比例))
判断 (键代码 = #Del键 )  ' 删除纹理
输出调试文本 (“删除”到文本 (删除纹理号 (, 纹理号数组)) + “个”)



子程序名返回值类型公开备 注
设置视点  
参数名类 型参考可空数组备 注
上移逻辑型  
后移逻辑型  
右移逻辑型  
角度逻辑型  
判断 (取反 (是否为空 (上移)))
视点.竖 = 视点.竖 + 选择 (上移, 1, -1) × 移动速度  ' Y
状态条1.置文本 (1, “Y:”数值到格式文本 (视点.竖, 1, ))
判断 (取反 (是否为空 (后移)))
视点.纵 = 视点.纵 + 选择 (后移, 1, -1) × 移动速度  ' Z
状态条1.置文本 (2, “Z:”数值到格式文本 (视点.纵, 1, ))
判断 (取反 (是否为空 (右移)))
视点.横 = 视点.横 + 选择 (右移, 1, -1) × 移动速度  ' X
状态条1.置文本 (0, “X:”数值到格式文本 (视点.横, 1, ))
判断 (取反 (是否为空 (角度)))
视点.绕Y = 视点.绕Y + 选择 (角度, 1, -1)  ' 角度
判断 (视点.绕Y ≥ 360)
视点.绕Y = 视点.绕Y - 360
判断 (视点.绕Y ≤ 0)
视点.绕Y = 视点.绕Y + 360


状态条1.置文本 (3, “角度:”数值到格式文本 (视点.绕Y, 1, ))



子程序名返回值类型公开备 注
_打开_被选择  
变量名类 型静态数组备 注
文件名文本型  
成功载入逻辑型  
循环变量   
成员数   
如果真 (通用对话框1.打开 ())  ' 王军改动的地方
返回 ()  ' 王军增加的地方
文件名 = 通用对话框1.文件名
置等待鼠标 ()
载入次数 = 载入次数 + 1  ' 王军增加的地方
列表号 [载入次数]生成列表号 (3)  ' 王军增加的地方
开始创建列表 (列表号 [载入次数], #GL_编译列表 )  ' 王军增加的地方
成员数 = 取数组成员数 (纹理号数组)
计次循环首 (成员数, 循环变量)
输出调试文本 (“第”到文本 (循环变量)“个”选择 (是否存在纹理号 (纹理号数组 [循环变量]), “存在”, “不存在”))
计次循环尾 ()
输出调试文本 (“删除”到文本 (删除纹理号 (, 纹理号数组)) + “个”)
成功载入 = 载入3DS文件 (文件名, 列表号 [载入次数], 纹理号数组)  ' 轻描淡写改的地方,第2个参数好象无用.
成员数 = 取数组成员数 (纹理号数组)
计次循环首 (成员数, 循环变量)
输出调试文本 (“新建纹理号”到文本 (纹理号数组 [循环变量]))
计次循环尾 ()
恢复鼠标 ()
如果 (取反 (成功载入))
信息框 (“载入3DS文件失败!请确定载入了3DS格式的文件,请检查3DS模型中是否使用了非BMP的纹理图片。”, #错误图标, “错误”)
状态条1.置文本 (8, 文件名)
停止创建列表 ()  ' 轻描淡写改的地方
子程序名返回值类型公开备 注
_上移_被选择  
设置视点 ()
子程序名返回值类型公开备 注
_下移_被选择  
设置视点 ()
子程序名返回值类型公开备 注
_前移_被选择  
设置视点 (, )
子程序名返回值类型公开备 注
_后移_被选择  
设置视点 (, )
子程序名返回值类型公开备 注
_左移_被选择  
设置视点 (, , )
子程序名返回值类型公开备 注
_右移_被选择  
设置视点 (, , )
子程序名返回值类型公开备 注
_左转_被选择  
设置视点 (, , , )
子程序名返回值类型公开备 注
_右转_被选择  
设置视点 (, , , )
子程序名返回值类型公开备 注
_加速_被选择  
移动速度 = 移动速度 + 0.1
子程序名返回值类型公开备 注
_减速_被选择  
移动速度 = 移动速度 + 0.1
子程序名返回值类型公开备 注
_光照_被选择  
光照开关 = 取反 (光照开关)
如果 (光照开关)
启用功能 ( #GL_零号光源 )
启用功能 ( #GL_光照 )
停用功能 ( #GL_零号光源 )
停用功能 ( #GL_光照 )
状态条1.置文本 (5, “光照:”选择 (光照开关, “开”, “关”))
绘图 ()
子程序名返回值类型公开备 注
_纹理_被选择  
纹理开关 = 取反 (纹理开关)
如果 (纹理开关)
启用功能 ( #GL_二维纹理 )
停用功能 ( #GL_二维纹理 )
状态条1.置文本 (6, “纹理:”选择 (纹理开关, “开”, “关”))
绘图 ()
子程序名返回值类型公开备 注
_放大X_被选择  
比例 = 比例 ÷ 1.2
状态条1.置文本 (7, “比例”数值到格式文本 (比例, 2, ))
子程序名返回值类型公开备 注
_缩小Z_被选择  
比例 = 比例 × 0.8
状态条1.置文本 (7, “比例”数值到格式文本 (比例, 2, ))
子程序名返回值类型公开备 注
_退出_被选择  
销毁 ()
子程序名返回值类型公开备 注
_正面点_被选择  
正面点.选中 = 真
连续赋值 (假, 正面网格.选中, 正面面.选中)
设置多边形模式 ( #GL_正面, #GL_点 )
子程序名返回值类型公开备 注
_正面网格_被选择  
正面网格.选中 = 真
连续赋值 (假, 正面点.选中, 正面面.选中)
设置多边形模式 ( #GL_正面, #GL_线 )
子程序名返回值类型公开备 注
_正面面_被选择  
正面面.选中 = 真
连续赋值 (假, 正面点.选中, 正面网格.选中)
设置多边形模式 ( #GL_正面, #GL_面 )
子程序名返回值类型公开备 注
_背面点_被选择  
背面点.选中 = 真
连续赋值 (假, 背面网格.选中, 背面面.选中)
设置多边形模式 ( #GL_背面, #GL_点 )
子程序名返回值类型公开备 注
_背面网格_被选择  
背面网格.选中 = 真
连续赋值 (假, 背面点.选中, 背面面.选中)
设置多边形模式 ( #GL_背面, #GL_线 )
子程序名返回值类型公开备 注
_背面面_被选择  
背面面.选中 = 真
连续赋值 (假, 背面点.选中, 背面网格.选中)
设置多边形模式 ( #GL_背面, #GL_面 )
子程序名返回值类型公开备 注
_删除纹理_被选择  
输出调试文本 (“删除”到文本 (删除纹理号 (, 纹理号数组)) + “个”)


i支持库列表   支持库注释   
iext扩展界面支持库一
OPenGLOPenGL支持库

效果图
QQ截图20201120172052.jpg




上一篇:易语言制作OPENGL窗口显示外部图片的一般方法源码下载
下一篇:易语言制作OPENGL应用中纹理贴图的方法源码下载
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2020-11-24 05:37 , Processed in 0.738317 second(s), 44 queries .
Powered by Discuz! X3.2 © 2001-2017 Comsenz Inc.
快速回复 返回顶部 返回列表