英语法语西班牙语

Ad


OnWorks 网站图标

whitedune - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 whitedune

这是 Whitedune 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


whitedune - 图形化 vrml97 编辑器和动画工具

概要


白沙丘 [ 变体选项 [ 立体视选项 [ 输入设备选项 [ 轴选项 [
错误选择 [ 文件.wrl 文件.x3dv 文件.xml ... ]

白沙丘 [ 转换选项 ] 文件名

白沙丘 -非法2vrml [ -字首 字首 ] 原型文件.wrl 文件.wrl ...

商品描述


白沙丘 / white_whitedune 是虚拟现实建模的图形编辑器
语言 (VRML97),ISO/IEC 14772-1:1997。
此外,它还支持 VRML97 修正案 1 中描述的 NurbsSurface 节点。
white_whitedune 还可以加载和存储 VRML 编码的 X3DV 文件
如果配置为使用命令行,它还可以加载具有 XML 编码的 X3D 文件
vrml97/x3d 转换器。
一个文件名 - 表示标准输入。
Dune 对立体视图有一些基本的支持,通常在 OpenGL 中使用百叶窗
“四缓冲”模式。
当与转换选项或 -非法2vrml 命令行参数,
white_whitedune 是一个非图形命令行程序。
转换选项用于将 VRML/X3DV 文件转换为源代码或其他 3D
图形格式。 此选项在命令行中使用,但某些选项需要
图形上下文(例如,在最简单的情况下,在 xterm的 命令),导致一些
转换选项需要使用 OpenGL 命令。 要创建 OpenGL 上下文,
有3种不同的方式。
首先打开一个临时图形窗口,进行转换并关闭图形窗口并
出口。 这目前在 M$Windows 下使用。
二是使用 Mesa 离屏渲染(程序编译时使用了 --with-
osmesa 配置选项)。 使用 Mesa 离屏渲染可以使用 OpenGL
纯命令行程序中的命令。
三是在Linux/UNIX/MacOSX下使用基于glx的离屏渲染。 在这种情况下,没有
该程序不打开图形窗口,但无论如何都需要可用的 X11 显示器。 在一个
文本控制台 Xvfb X11 服务器程序可用于获得正常工作的 X11 显示器。
-非法2vrml 选项用于修复带有非法扩展名的 VRML97 文件。
查看 非法2vrml(1) 联机帮助页了解更多信息。

变量选项


-4个孩子 使用简化的 GUI 作为儿童的简单 3D 建模器启动 whitedune。

-x3dv 如果没有加载文件,用一个新的 X3DV 文件启动 whitedune。
默认情况下,whitedune 以新的 VRML97 文件启动。

-坎比 启动 whitedune 以支持不可移植的扩展节点,仅可用于
kambi VRML 游戏引擎。

-盖 启动 whitedune 以支持不可移植的扩展节点,仅可用于
特殊的沉浸式 VRML97 查看器封面/covise。

-4猫 使用简化的 GUI 启动 whitedune 作为 CATT 用户的导出器/转换器
8 声音模拟软件。

-体重 使用黑白图标代替彩色图标

-德语
使用德语菜单、对话框和错误消息

-意大利语
使用意大利语菜单和对话框,错误信息仍为英文

-英语
使用英文菜单、对话框和错误消息。 这是默认可用于
覆盖 LANG 环境变量的设置。

转换选项


-vrml97
将文件转换为 VRML97 ISO/IEC 14772-1:1997,写入标准输出并退出。

-vrml97levelx3dv
将文件转换为 X97D 经典 VRML 的 VRML14772 ISO/IEC 1-1997:3 兼容部分
编码 ISO/IEC ISO/IEC 19776-2:2005,将其写入标准输出并退出。

-x3d 将文件转换为 XML 编码的 X3D,将其写入标准输出并退出。

-卡尼姆 文件名模式
将文件转换为 kanim 文件格式并将其写入标准输出。
kanim 文件格式是一个 XML 文件,其中引用了不同的 VRML 文件。 这
VRML 文件也是生成的,它们的名字是基于 文件名模式:本
文件名模式从文件扩展名缩短,然后用
下划线、增加的数字和 .wrl 扩展名。
所有 VRML 文件都描述了具有相同节点的相同 VRML 场景,但一些数字
字段是动画的。
这种类型的文件由基于开源 VRML 的 Kambi 游戏引擎使用。 它使
导出 kanim 文件没有意义,如果导出的 VRML 文件不包含
基于时间传感器/插值器的动画。

-仙境 模块目录
将文件转换为包含在需要的目录结构中的java源文件
构建 SUN 仙境 0.5 版模块并退出。
如果模块的根目录是从输入构建的 文件名 (无
扩展名)作为 模块目录/导出X3dv/文件名
如果这个目录和其他需要的文件不存在,这个文件也是
创建。 如果其他文件存在,它们不会被覆盖,只有目标 java
源本身被覆盖。 目标java源文件的名称是
模块目录/导出X3dv/文件名/src/classes/org/jdesktop/wonderland/modules/文件名/客户端/jme/cellrenderer/文件名.Java
目标java源文件的第一个字符是大写的。
模块目录/导出X3dv/文件名 目录,
机会进入这个目录并运行 蚂蚁 命令。 一个通常的 jar 文件
然后可以在 模块目录/导出X3dv/文件名/距离
目录。
用命令编译wonderland java source export的输出时
蚂蚁,java 编译器可能会耗尽内存资源。
为了解决这个问题,你可以通过扩展 javac 标签来设置内存限制
文件wonderland/build-tools/build-scripts/build-setup.xml 例如
<javac ...
...
叉=“真”
memoryinitialsize="256m"
memorymaximumsize="1024m"
>
目前,该 -仙境 选项仅支持静态 3D 建模器输出,不支持
动画或交互。
这些功能正在进行中,仍有待完成。
此选项使用 OpenGL 命令。

-x3d4仙境
将文件转换为 XML 编码的 X3D 以在 SUN Wonderland 0.4 中导入,将其写入
标准输出并退出。
SUN Wonderland 0.4 仅支持带有 colorPerVertex 和 fullsize 的 IndexedFaceSets
颜色节点。 这个导出器尝试将其他节点转换为这个 IndexedFaceSets,
但可以(当前)无法正确转换带有 colorPerVertex false 的节点和
全尺寸颜色节点。
此选项使用 OpenGL 命令。

-ac3d 将文件转换为 AC3D 格式(版本 AC3Db),将其写入标准输出并
出口。 此选项使用 OpenGL 命令。
AC3D 文件格式是 3D 建模器 ac3d 的输入/输出文件格式。
ac3d 3d 建模器不支持 VRML/X3D 的几个功能(例如 ac3d 3d
建模器不支持动画或交互)。 因此 AC3D 文件格式
一般无法保存 VRML/X3D 文件的完整信息。

-cat8geo 输出目录与材料地理
将文件转换为 catt geo 格式(第 8 版),将其写入多种 .geo 格式
到目录 输出目录与材料地理 并退出。
catt geo文件格式是catt acustic的输入几何文件格式
模拟程序。
这个目录下的master.geo文件 输出目录与材料地理 将举行包括
其他生成的 .geo 文件的命令。
在该目录中,必须存在包含所需 ABS 命令的文件 material.geo
转换前。 ABS 名称的材料名称由 DEF 生成
VRML 节点的名称。
如果 material.geo 文件不存在于 输出目录与材料地理 目录,
white_whitedune 失败并显示错误消息。
尽管 catt 程序可以导出 VRML97 文件,但它不支持多个
VRML/X3D 的特点。
因此 catt geo 文件格式无法保留 VRML/X3D 文件的信息
一般。
此选项使用 OpenGL 命令。

-ldraw 将文件转换为 ldraw 文件格式的主要部分并将其写入标准
输出。
不生成 ldraw 文件的标题。 标题是一个重要的组成部分
ldraw 文件,应该更早地写入标准输出(通常是这个
是从批处理脚本完成的)。
ldraw 文件格式是一种 ASCII 文件格式,用于交换 3D 数据
在几个开源塑料砖描述程序之间。 一个例子
一个程序是 LeoCAD。

-字首 字首
-字首 选项与转换结合仅用于以下情况
创建源代码的选项。 它可用于定义前导前缀
源代码输出中数据结构的名称。
例如,源代码创建名为“Node”、“Scenegraph”和
“打回来”。 为避免其他库出现问题,添加选项,例如
"-字首 X3d”会将名称更改为“X3dNode”、“X3dSceneGraph”和
“X3dCallback”。

-c 将文件转换为 C 头文件/源文件,将其写入标准输出并退出。
目前不导出路由信息。
见章节 C/C++/Java 出口 获取更多信息.

+c 字首
此选项非常类似于 -c 选项,但写入不完整的源文件,
它可以连接到由编写的源文件 -c 选项。
源文件中新定义的数据类型的名称以 字首
论据。

-3c 此选项类似于 -c 选项,但首先对曲面进行三角剖分并
然后导出为 TriangleSet 节点。
此选项使用 OpenGL 命令。

+3度 字首
此选项非常类似于 -3c 选项,但写入不完整的源文件,
它可以连接到由编写的源文件 -3c 选项。
源文件中新定义的数据类型的名称以 字首
论据。

-meshc 此选项类似于 -c 选项,但首先将曲面转换为
多边形网格,然后导出为 IndexedFaceSet 节点。

+网格 字首
此选项非常类似于 -meshc 选项,但写的来源不完整
文件,它可以连接到由编写的源文件 -meshc 选项。
源文件中新定义的数据类型的名称以 字首
论据。

-C++ 将文件转换为 C++ 头文件/源文件,将其写入标准输出并退出。
目前不导出路由信息。
见章节 C/C++/Java 出口 获取更多信息.

+c++ 字首
此选项非常类似于 -C++ 选项,但写的来源不完整
文件,它可以连接到由编写的源文件 -C++ 选项。
源文件中新定义的数据类型的名称以 字首
论据。

-3c++ 此选项类似于 -C++ 选项,但首先对曲面进行三角剖分并
然后导出为 TriangleSet 节点。
此选项使用 OpenGL 命令。

+3c++ 字首
此选项非常类似于 -3c++ 选项,但写的来源不完整
文件,它可以连接到由编写的源文件 -3c++ 选项。
源文件中新定义的数据类型的名称以 字首
论据。

-meshc++
此选项类似于 -C++ 选项,但首先将曲面转换为
多边形网格,然后导出为 IndexedFaceSet 节点。

+网格++ 字首
此选项非常类似于 -meshc++ 选项,但写的来源不完整
文件,它可以连接到由编写的源文件 -meshc++ 选项。
源文件中新定义的数据类型的名称以 字首
论据。

-java 将文件转换为 java 源文件,将其写入标准输出并退出。
目前不导出路由信息。
见章节 C/C++/Java 出口 获取更多信息.

+Java 字首
此选项非常类似于 -java 选项,但写的来源不完整
文件,它可以连接到由编写的源文件 -java 选项。
源文件中新定义的数据类型的名称以 字首
论据。

-3java 此选项类似于 -java 选项,但首先对曲面进行三角剖分并
然后导出为 TriangleSet 节点。
此选项使用 OpenGL 命令。

+3java 字首
此选项非常类似于 -3java 选项,但写的来源不完整
文件,它可以连接到由编写的源文件 -3java 选项。
源文件中新定义的数据类型的名称以 字首
论据。

-meshjava
此选项类似于 -java 选项,但首先将曲面转换为
多边形网格,然后导出为 IndexedFaceSet 节点。

+网格Java 字首
此选项非常类似于 -meshjava 选项,但写的来源不完整
文件,它可以连接到由编写的源文件 -meshjava 选项。
源文件中新定义的数据类型的名称以 字首
论据。

-许多类
仅在之后有效 -java, -3java, -meshjava or -仙境 选项​​。
这个选项是一个蛮力尝试对抗“太多常量”
java中的问题。 可能无法编译基于普通 java 的输出
源代码导出,导致当前java类文件格式限制为64K
所谓的“常数”。 不仅计算 1、2 或 3 等实常数,而且
诸如类中的成员变量定义之类的东西。
随着 -许多类 选项,所有数据都分布在许多单独的类中。
-许多类 选项应该会有所帮助,如果您遇到“太多常量”
问题。 如果 vrml/x3dv 文件中有大量 DEF 命令,您可以
仍然遇到“太多常量”的问题,导致每个DEF命令导致额外
主场景图类中的成员变量。 在这种情况下,您应该减少
带菜单点的 DEF 命令数 行动 ... 其余 of 场景图 ...
去掉 ... DEF 姓名
除了需要增加内存限制 Java语言 编译器(-Xms/-Xmx)
选项,您可能还需要增加 允许大小 内存限制
(-XX:永久大小=/-XX:最大永久大小=)的 java的 口译员。

立体视选项


-诺斯特雷奥
在 Linux/UNIX 上强制使用非立体模式(例如,如果您没有百叶窗)

-立体声
强制立体视图模式。
立体声仅支持硬件/软件组合,允许四缓冲
立体声(“窗口中的立体声”),而不是分屏立体声(例如“OpenGlVR”)。
支持四缓冲立体声的硬件/软件组合示例如下
支持快门眼镜或“立体克隆视图”连接的显卡
onewall 的投影仪。

-浮雕 眼镜型
强制实验立体视图模式与彩色立体眼镜一起使用。
眼镜型 可以是 red_green、green_red、red_blue 或 blue_red。
此选项使用 OpenGL 累积缓冲区。 这不是硬件支持的
很多显卡/显卡驱动程序,并可能导致糟糕的性能。

-眼科医生 目测仪
观察者的两只眼睛之间的距离。
默认 目测仪 是0.06,换眼可以为负(不需要
如果出现换眼问题,请重新配置您的硬件)。

-屏幕管理员 屏幕距离计
观看者的眼睛与监视器屏幕中间的距离。
默认 屏幕距离计 是0.8。

-视野 视野度数
覆盖 VRML 视点中的视野字段并设置为 fieldofviewindegree
度。
好的立体观看可能需要忽略视点的 fieldOfView 字段。 这
人眼的fieldOfView大约是18度,VRML默认是45度。

输入设备选项


以下选项仅在使用匹配的 inputdevice 编译 whitedune 时才有效
驱动程序支持(例如,在 IRIX 下不支持 Linux 游戏杆)。

-游戏杆 操纵杆装置
仅在 Linux 或 M$Windows 下有效。
在 Linux 下, 操纵杆装置 是 Linux 游戏杆的设备(通常是
像 /dev/input/js0 或 /dev/js0)。
在 M$Windows 下, 操纵杆装置 是一个数字。 依赖于 M$Windows
版本,此数字是 0、1 或 0 到 15 之间的数字。

-SDL操纵杆 操纵杆装置
目前仅在 MacOSX 下有效。 这 操纵杆装置 是一个数字(例如 0、1、2、
……)。

-太空球 太空球装置
太空球装置 是连接到太空球的串行设备(通常是什么东西
如 /dev/ttyd2 或 /dev/ttyS0)。
仅当使用 libsball 支持编译二进制文件时才有效。

-nxtials USB设备
此选项支持拨盘,如由 Mindstorms nxt 电机制成的输入设备。 只是
将轮子或齿轮连接到 3 个电机中的每一个,将它们连接到砖块并连接
通过 USB 将砖块连接到计算机。
此选项仅在编译 white_whitedune 时支持
libusb 库,例如在 Linux 下可用。
USB设备 是通过 USB 连接的 mindstorms nxt 砖的数量(0 表示
第一个 nxt 砖,1 表示第二个 nxt 砖,等等)。
-nxtials option 自动设置轮轴选项。

-输入 输入名称
输入名称 是 Xinput 协议支持的设备名(通常是
像麦哲伦或拨号盒)。
在大多数 Unix/X11 实现上有效。

-x输入列表
打印可能用作的 Xinput 设备名称列表 输入名称 等加工。为
-输入 选项并退出。
在大多数 Unix/X11 实现上有效。

-x输入列表长
打印包含轴信息的 Xinput 设备名称列表并退出。
在大多数 Unix/X11 实现上有效。

-成群结队 植绒装置 [ 选择权 ] -跟踪器 鸟地址 -棍棒 鸟地址
植绒装置 是连接到 Ascension Flock of Birds 主控的串行设备
发送器(通常类似于 /dev/ttyd2 或 /dev/ttyS0)。
Dune 采用以下配置:
具有单个 RS232 接口到主机计算机的多个 FOB(请参阅“
鸟类,安装和操作指南,单机和多机
变送器/多个传感器配置”,第 3 页(“介绍”一章),
图2)。
鸟地址 是磁头跟踪器的鸟单元地址(-跟踪器),或
“3D鼠标”(-棍棒) 在 Fast Bird Bus (FBB 地址) 中配置为
Bird Unit 上的拨码开关。
此程序需要在正常地址模式下配置 Flock of Birds
仅(参见上述手册的第 12 页,图 4)。

-头部导航
使用 headtracker 时使用当前的变换模式(包括旋转)。
没有 -headnavigation 的默认值仅使用翻译模式。 这个默认
给你一个非常自然的反应,当你的头移动时,虚拟世界也在移动,
但如果你的头只旋转,虚拟世界就会静止。 随着
headnavigation 选项,虚拟世界对头部旋转做出反应,取决于
当前变换模式。 在与他人交谈时使用此功能时要小心
观众。 说话会引起小而快的头部旋转,会引起小而快
虚拟世界的旋转。 您的听众可能会得到这样的印象
地震,更容易晕车。

-永远送
告诉 whitedune 设备发送(几乎)总是值。 然后这个值将
不会被自动解释为转换命令。
自动用于飞鸟群装置(-alock)。

-不关心焦点
Inputdevice 动作不关心窗口焦点。
这在某些情况下很有用,当您只使用一个 whitedune 窗口时,
例如,当使用 onewall 时。

轴选项


-x|-y|-z|-xrot|-yrot|-zrot=[-][整数轴编号]
[,[因子][,[加速度][,[车轮][,忽略]]]]

-all|-allxyz|-allrot=[因素][,[加速][,[轮][,忽略]]]

-无=整数轴编号

-axes=最大轴数

轴图例


- 用于从轴交换值的符号

整数轴编号
带有轴编号的整数,应该用于 xyz xrot yrot
zrot 方向。
该数量不得大于输入设备的轴数。
none 选项中的 integer_axisnumber 用于禁用此轴。

因素 使用轴的乘数浮动
all、allrot 和 allxyz 选项的因子独立于
单轴。

加速度 使用轴的指数加速器浮动

字符串“wheel”表示输入设备的这个轴将不会传递零,如果
发布

忽略 浮动值(相对于来自设备的最大值)将是
忽略(不敏感)

最大轴数
使用的轴数,(2,3,4,5) 之一。
这必须等于或小于设备的物理可用轴。 主要用途
此选项的一个目的是禁用不良设计或机械缺陷轴,例如,当您
希望操纵杆上的这个轴不存在

AFLOCK 选项


此选项仅对 Ascension 鸟群磁跟踪系统有效。

-波特 波特率
与发送器通信的串行线路的波特率。
根据群鸟手册,以下波特率对串口有效
专线通讯:2400、4800、9600、19200、38400、57600、115200。
默认值:38400

-numbirds 数鸟
连接到发射器的“数据传送”鸟类的数量(例如不计算
变送器本身,如果它是扩展范围控制器 (ERC))。
默认值:2(跟踪器和魔杖)。

-主 鸟地址
Fast Bird 总线中主发送器的地址(FBB 地址)如配置
与发射器单元上的拨码开关。
默认值:1

-masterIsErc
用于不同配置之间的差异,其中主设备是 ERC(扩展范围
控制器)与否。 如果 master 不是 ERC,则 FBB 地址与
追踪器或魔杖的 FBB 地址。
默认值:未设置

-半球 前下摆|后下摆|上下摆|下下摆|左下摆|右下摆
使用的半球。 坐在天线块上(腿靠近天线的一侧)
text) 看,什么是左边或右边 8-)
默认值:RIGHT_HEM

-同步 0 | 1
将 (1) 或不 (0) 数据输出同步到 CRT(监视器)或您的主机。
同步用于消除使用 CRT 的监视器的磁效应
同步电缆。
默认值:0

-块 0 | 1
设置 (1) 或不设置 (0) FNDELAY 标志到序列号的文件描述符
港口。
默认值:0

-过滤 AC_NARROW | 交流宽屏 | 直流滤波器
启用不同的过滤器。 阅读 Flock of Birds 手册了解更多信息。
可以重复此选项以使用多个过滤器。
默认值:未设置过滤器,使用 Flock 自动配置设置的过滤器。

-突然变锁 0 | 1
允许 (0) 或禁止 (1) 设置混乱的位置和方向
突发大事件。
默认值:1

-cal文件 校准文件
使用 VR Juggler 样式文件校准位置测量。

-忽略大小 三角洲
忽略来自大于 delta 的羊群的位置跳跃。 这很像
突然变化锁定,但纯软件为基础。
默认值:0

错位


-镶嵌 整数
将基于 NURBS 和超公式的参数形状的默认细分设置为
整数.
曲面细分的含义决定了在一个方向上生成了多少条边。
低默认细分导致相关形状的更快渲染
在 white_whitedune 应用程序中镶嵌设置为 0,但可以给出
缩小视图,因此可能隐藏形状的细节。
如果不 -镶嵌 使用选项,默认细分为 32。

-间接
强制间接 OpenGL 渲染,即使 3D 硬件渲染加速
可用的。 在可能的 3D 硬件渲染加速的情况下,此选项可以
大大减慢程序。
此选项在图形驱动程序有问题的计算机上最有用,或者
halfbaken 3D 桌面功能,如 compiz。

-卸载
在命令行上输出信息(如果可用),white_whitedune 如何
应用程序可以卸载并退出。
在 Micro$oft Windows 下,它还清除所有由以下主动设置的信息
Windows 注册表中的 white_whitedune(在 HKEY_CURRENT_USER 下)。

-psn_???
仅在 MacOSX 下有效。
以字符串“-psn_”开头的选项由 Aqua 桌面生成
某些版本的 MacOSX 并被默默忽略。

-fn 字体
仅在 Linux/UNIX/MacOSX 下有效。
设置unix字体。 检查有效字体 字体(1) 命令。

-演示模式 超时
此选项旨在将程序作为引人注目的工具运行,例如。 在一个博览会上。
该选项仅在视点动画正在运行时有用。 输入时
从鼠标 (mouseclick)、键盘或 3D 输入设备,动画停止
用户可以在 3D 世界中导航。
超时 最后一次输入后的秒数,视点动画不被抑制
了。

-文件对话框目录 目录
更改为特定 目录 在打开文件对话框之前。

-原型 类别 原型文件
在文件中添加 VRML PROTO 原型文件 到可用的 PROTO 列表
创建 => proto 菜单中的 类别 子菜单并退出。

-渲染较慢
此选项使用较慢的渲染模式。

- 版
打印版本信息并退出。

--版权详情
打印出详细的版权信息并退出。

鼠标/按键


在 3D 视图中,whitedune 支持以下鼠标/键盘命令:

鼠标按钮 1 单击:
选择光标下(或下
立体视图中 3D 光标的顶部)

鼠标按钮 2 单击:
另外选择光标下(或 3D 顶部下)的白框 3D 处理程序
立体视图中的光标)

鼠标按钮 1 拖动:
拖动对象/3D 处理程序

CTRL-鼠标按钮 1 拖动:
虚拟轨迹球导航

SHIFT-鼠标按钮 1 拖动:
前进/后退导航

CTRL+SHIFT-鼠标按钮 1 拖动:
上/下/左/右导航

ALT-鼠标按钮 1 拖动:(SGI 样式)
虚拟轨迹球导航

ALT-鼠标按钮 2 拖动:(SGI 样式)
上/下/左/右导航

ALT-鼠标按钮 1+2 拖动:(SGI 风格)
前进/后退导航

导航图标按下-鼠标按钮 1 拖动:
虚拟轨迹球导航

导航图标按下-鼠标按钮 2 拖动:
前进/后退导航

导航图标-鼠标按钮 1+2 拖动:
上/下/左/右导航

在路由视图中,whitedune 支持以下鼠标/键盘命令:

鼠标按钮 1 单击节点的事件套接字并拖动到匹配的事件
插座:
创建 ROUTE 连接

鼠标按钮 1 点击什么也不拖拽:
切断 ROUTE 连接

鼠标按钮 1 单击一个节点并拖动:
在路由视图中移动节点

鼠标按钮 1 单击一个节点,按住鼠标按钮 1,按 Page Up/Down 键
将路由视图中的节点移动一页(仅适用于正确的motif/lesstif
实现)

可以在工具栏中找到有关其他键盘使用的信息。

使用whitedune的技巧可以在whitedune的docs目录中找到
(http://129.69.35.12/whitedune/docs/)

C/C++/Java 出口


导出到源代码是导出源代码的信息(数字和字符串)
VRML/X3D 场景图树。
White_whitedune 不会使用 OpenGL 命令导出类似 C 源代码的内容。 出口的
代码独立于任何渲染引擎,但可以与任何 3D API 一起使用。
需要额外的代码来使用 3D API 渲染场景图。 目前
white_whitedune 只为 Java Monkey Engine 提供了一组这样的附加代码
(JME)。 此代码可用作为其他渲染引擎编写代码的模型。
场景图的信息写入到一个类/结构体中,名字连接起来
从字符串 字首 参数(默认为“X3d”)和字符串“SceneGraph”。 这
场景图类/结构填充了对不同 VRML/X3D 命令的引用
(“节点”)。 这种节点的类型名称是从
字首 参数(默认为“X3d”)和“节点”。 每个节点类型包含
变量中的 VRML/X3D 节点以与 VRML/X3D 字段相同的方式命名。
下表显示了从 VRML/X3D 字段类型到 C、C++ 和 java 的映射
数据类型:

│ │ │
VRML/X3D 数据类型 │ C 数据类型 │ C++ 数据类型 │ java 数据类型
────────────────────┼────────────────┼────────────────┼ ──────────────────
SFBool │ short │ bool │ 布尔值
SFInt32 │ 整数 │ 整数 │ 整数
SFImage │ 整数* │ 整数* │ 整数[]

SFFloat │ 浮动 │ 浮动 │ 浮动
SFVec2f │ 浮动[2] │ 浮动[2] │ 浮动[2]
SFVec3f │ 浮动[3] │ 浮动[3] │ 浮动[3]
SFVec4f │ 浮动[4] │ 浮动[4] │ 浮动[4]
SFRotation │ 浮点[4] │ 浮点[4] │ 浮点[4]
SFMatrix3f │ 浮动[9] │ 浮动[9] │ 浮动[9]
SFMatrix4f │ 浮动[16] │ 浮动[16] │ 浮动[16]
SFColor │ 浮动[3] │ 浮动[3] │ 浮动[3]
SFColorRGBA │ 浮动[4] │ 浮动[4] │ 浮动[4]
SFDouble │ 双 │ 双 │ 双
SFVec3d │ 双[3] │ 双[3] │ 双[3]
SFTime │ 双 │ 双 │ 双
SFString │ 常量字符* │ 常量字符* │ 字符串
SFNode (***) │ X3dNode* │ X3dNode* │ X3dNode
│ │ │
MFBool │ 短* │ 布尔* │ 布尔[]
MFInt32 │ 整数* │ 整数* │ 整数[]
MFFloat │ 浮动* │ 浮动* │ 浮动[]
MFVec2f │ 浮动* │ 浮动* │ 浮动[]
MFVec3f │ 浮动* │ 浮动* │ 浮动[]
MFVec4f │ 浮动* │ 浮动* │ 浮动[]
MFRotation │ 浮动* │ 浮动* │ 浮动[]
MFMatrix3f │ 浮动* │ 浮动* │ 浮动[]
MFMatrix4f │ 浮动* │ 浮动* │ 浮动[]
MFColor │ 浮动* │ 浮动* │ 浮动[]
MFColorRGBA │ 浮动* │ 浮动* │ 浮动[]
MFDouble │ 双* │ 双* │ 双[]
MFVec3d │ 双* │ 双* │ 双[]
MFTime │ 双* │ 双* │ 双[]
MFString │ 常量字符** │ 常量字符** │ 字符串[]
MFNode (***) │ X3dNode** │ X3dNode** │ X3dNode[]
(***) 名称的“X3d”部分是默认的,它可以替换为
字首 论据。
对于任何 MF* 类型字段(和 SFImage 类型字段),int、float 等值的数量
该数组存储在由“m_”组成的 X3dNode 结构/类的变量中,名称
在 C/C++ 导出的情况下,字段和“_length”。 Java不需要这样的变量,
因为数组的长度总是可用的,就像数组的 .length 组件一样
数组。

场景图是一棵节点树。 场景图的根是(类似于
white_whitedune 内部)一个名为“root”的 VRML/X3D 组节点。
在 Group 节点中,包含的节点通过名为“children”类型的字段附加
MF节点。
例如,想象以下 VRML 文件:

#VRML V2.0 utf8

团队
{
孩子
[
团队
{
}
团队
{
}
DEF NAME_OF_FOGNODE 雾
{
颜色 1 0.50000000 1
}
]
}

如果不 字首 使用参数,VRML/X3D 文件中的第一个节点在
在“X0dSceneGraph”结构中将 C 源代码导出为“root->children[3]”。
如果 VRML/X3D 文件中的第一个节点也是一个 Group 节点并且包含其他三个节点,
第三个这个节点表示为“root->children[0]->children[2]”在
“X3dSceneGraph”结构。
如果此节点的第三个是 Fog 节点,则表示 Fog 节点的“颜色”字段
在“X0dSceneGraph”中作为“root->children[2]->children[3]->color”导出的 C 源代码中
结构。
Fog节点的“颜色”字段类型为SFColor。 SFColor 类型表示
作为 C 源代码中 3 个浮点值的数组,用于存储红色、绿色和
蓝色部分的颜色。
所以雾色的绿色部分在导出的 C 源代码中表示为
“X0dSceneGraph”结构中的“root->children[2]->children[1]->color[3]”。
C++ 导出也将使用“root->children[0]->children[2]->color[1]”
“X3dSceneGraph”类。
java 导出将类似地使用“root.children[0].children[2].color[1]”在
“X3dSceneGraph”类。

还有第二种方法可以访问 Fog 节点的字段。
在 VRML/X3D 中,可以使用“DEF”命令命名节点。 DEF 后面的字符串
命令(示例中的“NAME_OF_FOGNODE”)也出现在“X3dSceneGraph”中
struct ,可直接用于访问匹配的 VRML/X3D 数据。
所以雾色的绿色部分在导出的 C 源代码中表示为
“X1dSceneGraph”结构中的“NAME_OF_FOGNODE->color[3]”。
C++ 导出还将在“X1dSceneGraph”类中使用“NAME_OF_FOGNODE->color[3]”。
Java 导出将在“X1dSceneGraph”类中使用类似的“NAME_OF_FOGNODE.color[3]”。
如果 DEF 命令后面的字符串是保留关键字,则可能会出现问题
目标语言。 例如,3D 建模师wings3d 经常使用DEF 名称“default”
导出 VRML97 文件时。
在这种情况下,DEF 名称将被重命名(例如,为“default1”)并且会出现警告
在导出期间写入标准错误。

除了直接访问节点数据外,还有2组回调来处理
整个场景图(或它的一个分支)的数据:一组用于渲染内容的回调
的场景图分支(“*RenderCallback”)和其他的一组额外的回调
任务(“*DoWithDataCallback”)。
也有回调来替换函数,默认情况下,它们一起遍历
场景图(“*TreeRenderCallback”和“*TreeDoWithDataCallback”)。
回调机制和场景图初始化与编程语言不同
到编程语言。

C:
场景图(前缀的默认参数“X3d”)可以声明为
struct X3dSceneGraphsceneGraph;
并初始化为
X3dSceneGraphInit(&sceneGraph);
任何 X3D 节点类型(如 Fog、Text、IndexedFaceSet 等)的回调函数具有
声明
void mycallbackFunction(X3dNode *self, void *data)
要访问 X3D 节点的字段,通常将 X3dNode 指针转换为指向
从字符串构建的类型 字首 参数(默认为“X3d”)和名称
您使用此回调访问的 X3D 节点类型(例如 X3dFog、X3dText、X3dIndexedFaceSet
等等)。
X3dFog *节点 = (X3dFog *)self;
X3dText *节点 = (X3dText *)self;
X3dIndexedFaceSet *节点 = (X3dIndexedFaceSet *)self;
等等
使用这个变量“节点”可以访问 X3D 节点的字段。
要安装回调,只需将指向“callbackFunction”的函数指针分配给一个
从字符串的变量构建 字首 参数(默认为“X3d”),名称
X3D 节点和字符串“RenderCallback”或“DoWithDataCallback”。 例如
X3dFogRenderCallback = mycallbackFunction;
X3dTextDoWithDataCallback = mycallbackFunction;
X3dIndexedFaceSetRenderCallback = mycallbackFunction;
要使用场景图树运行 Render 或 DoWithData 函数,只需使用
X3dGroupTreeDoWithData(&sceneGraph.root, NULL);
可以将其他数据传递给回调的“data”参数,而不是使用 NULL
功能。

C ++:
回调机制与C 机制非常相似。
主要区别在于回调函数的存储。 而回调函数
在C中存储在全局空间中,C++回调函数存储在静态部分
匹配的节点类型。
而不是使用
X3dFogRenderCallback = mycallbackFunction; // C
C++ 程序将使用
X3dFog 假人;
dummy.renderCallback = &mycallbackFunction; // C++
在 C++ 中,不需要调用初始化函数。 构造函数被调用时

X3dSceneGraph 场景图;
使用声明。
使用场景图树运行 Render 或 DoWithData 函数
"sceneGraph.render(NULL);" 或“sceneGraph.doWithData(NULL);” 用来。
NULL 可以替换为其他数据,这些数据将传递给
回调函数。

爪哇:
java回调机制有点不同,它是基于继承的。
回调函数是一个类的一部分,它扩展了一个匹配的类:
class MyCallbackClass 扩展 X3dFogRenderCallback {
公共无效渲染(X3dNode节点){
新类用于以下示例:
MyCallbackClass myCallback = new MyCallbackClass();
X3dSceneGraphsceneGraph = new X3dSceneGraph();
X3dText.setX3dTextRenderCallback(我的回调);
场景图.render();

随着 -许多类 选项,最后一行更改为“X3dSceneGraph.render();”。 这
使用 x3dv/vrml 文件中的 DEF 命令访问节点也会更改为静态
以类似的方式变量。
请参阅目录 docs/export_example_c、docs/export_example_c++ 和
源存档的 docs/export_example_java 示例。

示例


白沙丘-nostereo
以这种方式启动 whitedune,如果您有立体视觉效果,但没有百叶窗
或其他基于快门的技术。

Whitedune -xinput magellan -allxyz=10,100,,0.0000002 -xinput dialbox-1 -x=0 -y=2 -z=4
-xrot=1 -yrot=3 -zrot=5 -all=1000,,轮
使用 magellan xinputdevice 启动 whitedune,因子为 10,加速度为 100 和
xyz 轴上的忽略值 0.0000002 和带有
x 轴 = 0. 轴
y 轴 = 2. 轴
z轴 = 4.轴
绕 x 轴旋转 = 1. 轴
绕 y 轴旋转 = 3. 轴
绕 y 轴旋转 = 5. 轴
所有轴都使用因子 1000,如果释放,则所有轴都不会传递零

Whitedune -操纵杆/dev/input/js0 -z=,3 -axes=3
使用 linux 操纵杆启动 whitedune,将 z 轴的加速度设置为 3 并
禁用 4. (5., 6., ...) 轴。

Whitedune -xinput magellan -z=3 -xrot=2 -none=2
使用 xinput/magellan 设备启动 whitedune,交换轴编号 2 和轴
编号 3,禁用轴编号 2。

whitedune -n​​xtdials
使用 mindstorms nxt USB 设备启动 whitedune,所有轴都是自动处理的
作为轮子。

Whitedune -aflock /dev/ttyS1 -numbirds 2 -master 1 -wand 2 -tracker 3
白沙丘以飞升的鸟群开始。 主发射机(一个扩展
位于 FBB 地址 1 的 Range Controller (ERC)) 连接到串行设备
/dev/ttyS1,使用 2 只鸟,其中一只连接到 FBB 地址 3 的“2D 鼠标”设备和
一个连接到 FBB 地址 3 的头部跟踪设备。

whitedune -wonderland Wonderland/modules -manyclasses Test.x3dv
将Test.x3dv的内容作为wonderland 0.5的java源码导出到目录
仙境/模块/exportX3dv/测试。
将java源码编译成wonderland模块
Wonderland/modules/exportX3dv/test/dist/test.jar 将目录改为
Wonderland/modules/exportX3dv/test 并使用 ant。

使用 onworks.net 服务在线使用 whitedune


免费服务器和工作站

下载 Windows 和 Linux 应用程序

  • 1
    移相器
    移相器
    Phaser 是一个快速、免费且有趣的开放式
    源 HTML5 游戏框架,提供
    WebGL 和 Canvas 渲染
    桌面和移动网络浏览器。 游戏
    可以共...
    下载移相器
  • 2
    附庸引擎
    附庸引擎
    VASSAL 是一个游戏引擎,用于创建
    电子版传统板
    和纸牌游戏。 它提供支持
    游戏块渲染和交互,
    和...
    下载 VASSAL 引擎
  • 3
    OpenPDF - iText 的分支
    OpenPDF - iText 的分支
    OpenPDF 是一个 Java 库,用于创建
    以及使用 LGPL 编辑 PDF 文件和
    MPL 开源许可证。 OpenPDF 是
    iText 的 LGPL/MPL 开源继承者,
    一个...
    下载 OpenPDF - iText 的分支
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - 自动化系统
    地球科学分析 - 是地理
    信息系统 (GIS) 软件
    地理数据的强大功能
    加工和分析...
    下载 SAGA GIS
  • 5
    Java/JTOpen 工具箱
    Java/JTOpen 工具箱
    IBM Toolbox for Java / JTOpen 是一个
    Java类库支持
    客户端/服务器和互联网编程
    模型到运行 OS/400 的系统,
    i5/OS, 哦...
    下载 Java/JTOpen 工具箱
  • 6
    D3.js
    D3.js
    D3.js(或数据驱动文档的 D3)
    是一个 JavaScript 库,它允许你
    生成动态的交互式数据
    Web 浏览器中的可视化。 与D3
    您...
    下载 D3.js
  • 更多 ”

Linux 命令

Ad