VegaAPI(1):创建一个静态的场景
来源:互联网 发布:淘宝点了退款怎么取消 编辑:程序博客网 时间:2024/05/17 09:34
/*---------------------------------------------------------------------------------
copyright @ (ZH)Quinn 。 未经允许请勿公开发布
----------------------------------------------------------------------------------*/
如果使用Lynx界面编辑可以很方便地得到一个定制的应用程序定义文件(.adf文件)。但是对于一个希望走得更远的程序员而言借助这样的定制总是显得碍手碍脚。很不方便,帮助文档中说道Vega中 在 Lynx版面进行的操作都可以使用相应的API函数完成,所以纯代码的应用程序是可行的。
本文并没有完全抛弃Lynx版面操作,因为对于系统定义以及窗口定义和vgConfig()之间的关系(注:帮助文档中说道,vgConfig()中完成了窗口的创建,因而有关窗口属性的操作一般放在vgConfig()之前)作者还没有弄清楚。所以使用了包含系统定义和默认窗口的.adf文件。具体操作方法如下:
(1)定制.adf文件
初始默认的情况,Lynx开启了全部的Vega模块(module)。在file->Active Modules...下面 选择只保留两个模块:Vega 和 Base。因为初始不必要的模块配置会降低系统初始化效率。
默认的面板中含有以下的内容,(在控制版中点击可以看得到)按照版面的顺序罗列如下:system, graphics state,window, channel, Observer, Motion mode, Scene, Enviroment, light, InputDevices。只保留system和window,剩余的全部删掉。以channel为例,点击控制版面中的channel。注意此时Lynx界面主菜单的变化,第四个弹出式菜单变为“channel”。单击“channel”菜单,选择delete即可。其余依法炮制。
file->save as->“empty.adf”(保存路径暂且随便)
(2)显示一个场景要准备的元素
大体分为两部分,第一部分显示场景的载体,可以视为“显示工具”。这个部分从大到小window, channel。第二部分场景内容相关的:scene, objects, 以及observer。准确的说observer是连接两部分的一个东东。从下面的叙述可以看得出来。
【*】 第一部分
window 从外观上来看这里提到的window跟VC里边的window具有一样的表现。是屏幕上的一个矩形区域,含有标题栏,窗口边框等。个人猜测底层就是使用WindowsAPI实现的。
channel 通道 是窗口上的一个矩形区域,用来显示场景。在Vega中Channel是渲染动作的最小单元。
一个生动的例子就是模拟汽车驾驶舱的程序,可以在一个窗口里边定义两个channel。其中一个用位于窗口的上方,并且比较小。可以来模拟驾驶舱的后视镜。
【*】 第二部分
object 物体 是组成场景的单元。
scene 使物体的组合,channel里边显示的是场景的组成部分。比如一座山(object)、房子(object) 车(object)组成了一个场景。显示场景的那些部分取决于观察着(obserer)
observer 观察着。 观察着根据一定的方式"观察"场景,决定了场景的那一部分被现实,以及如何显示。打一个比方场景相当于实际的景色,观察着相当于一个摄像机,而通道相当于胶卷。摄像机的位置、焦距、运动方式等属性决定了景色那些部分显现在胶卷上。
To be continued...明天写的内容(这些要素的逻辑结构图,基于控制台的VegaAPI应用程序构建)
copyright @ (ZH)Quinn 。 未经允许请勿公开发布
----------------------------------------------------------------------------------*/
如果使用Lynx界面编辑可以很方便地得到一个定制的应用程序定义文件(.adf文件)。但是对于一个希望走得更远的程序员而言借助这样的定制总是显得碍手碍脚。很不方便,帮助文档中说道Vega中 在 Lynx版面进行的操作都可以使用相应的API函数完成,所以纯代码的应用程序是可行的。
本文并没有完全抛弃Lynx版面操作,因为对于系统定义以及窗口定义和vgConfig()之间的关系(注:帮助文档中说道,vgConfig()中完成了窗口的创建,因而有关窗口属性的操作一般放在vgConfig()之前)作者还没有弄清楚。所以使用了包含系统定义和默认窗口的.adf文件。具体操作方法如下:
(1)定制.adf文件
初始默认的情况,Lynx开启了全部的Vega模块(module)。在file->Active Modules...下面 选择只保留两个模块:Vega 和 Base。因为初始不必要的模块配置会降低系统初始化效率。
默认的面板中含有以下的内容,(在控制版中点击可以看得到)按照版面的顺序罗列如下:system, graphics state,window, channel, Observer, Motion mode, Scene, Enviroment, light, InputDevices。只保留system和window,剩余的全部删掉。以channel为例,点击控制版面中的channel。注意此时Lynx界面主菜单的变化,第四个弹出式菜单变为“channel”。单击“channel”菜单,选择delete即可。其余依法炮制。
file->save as->“empty.adf”(保存路径暂且随便)
(2)显示一个场景要准备的元素
大体分为两部分,第一部分显示场景的载体,可以视为“显示工具”。这个部分从大到小window, channel。第二部分场景内容相关的:scene, objects, 以及observer。准确的说observer是连接两部分的一个东东。从下面的叙述可以看得出来。
【*】 第一部分
window 从外观上来看这里提到的window跟VC里边的window具有一样的表现。是屏幕上的一个矩形区域,含有标题栏,窗口边框等。个人猜测底层就是使用WindowsAPI实现的。
channel 通道 是窗口上的一个矩形区域,用来显示场景。在Vega中Channel是渲染动作的最小单元。
一个生动的例子就是模拟汽车驾驶舱的程序,可以在一个窗口里边定义两个channel。其中一个用位于窗口的上方,并且比较小。可以来模拟驾驶舱的后视镜。
【*】 第二部分
object 物体 是组成场景的单元。
scene 使物体的组合,channel里边显示的是场景的组成部分。比如一座山(object)、房子(object) 车(object)组成了一个场景。显示场景的那些部分取决于观察着(obserer)
observer 观察着。 观察着根据一定的方式"观察"场景,决定了场景的那一部分被现实,以及如何显示。打一个比方场景相当于实际的景色,观察着相当于一个摄像机,而通道相当于胶卷。摄像机的位置、焦距、运动方式等属性决定了景色那些部分显现在胶卷上。
To be continued...明天写的内容(这些要素的逻辑结构图,基于控制台的VegaAPI应用程序构建)
- VegaAPI(1):创建一个静态的场景
- 创建一个雪天场景
- 创建一个场景
- 三、创建一个可复用的静态单链表
- 创建一个 Framework 类型的静态库
- cocos2d-x创建一个场景
- 【three.js】创建一个场景
- java3D一个场景内创建两个以上的图形
- c++实现创建一个cocos2d-x的场景类
- OSG:2.创建一个简单的彩色四边形场景
- Cocos2D-X学习3:创建一个新的场景
- 创建一个静态数组
- 关于自己创建的场景转换场景
- 在Cocos2d-X中创建一个场景
- 用一个view创建的多个静态分割窗体
- 怎样创建一个静态库
- 创建一个静态链表
- 轻松创建天龙八部的场景
- ABAP学习的一些范例程序
- javascript 限制输入和粘贴 IE和火狐2.x、火狐3.x下测试通过
- MYSQL使用索引的方法
- JS收藏
- 字节对齐详解
- VegaAPI(1):创建一个静态的场景
- tomcat virtual folder and virtual host
- 网页元素可以编辑
- 很费事的
- 介绍OSG,希望大家能多交流学习感受
- 堆(heap)和栈(stack)有什么区别
- 一句代码计算阶乘(python)
- ASCII码值表
- 网络中传送图片