Developer Application

Developers is an application to create, edit, submit other applications. Application developers can create a new application from several predefined template and submit applications to application directory.

3D 美术资源实时统计

美术人员通过: 点击帕拉巫开发-->美术工具集-->显示引擎统计数据(F4) 激活实时统计 实时统计显示在左上角,含义如下
field description
30FPS 表示当前的渲染帧数的平均值. 上限是30FPS(偶尔变成28,29是正常现象), 如果一直维持在25-27FPS ,表示渲染出现了瓶颈
tri 表示当前摄影机中所有交给GPU处理的各种多边形(mesh+char+ui+other+terra)的总和. 如果开启阴影则所有投影物体多边形数目翻倍; 如果开启水面反射,则所有反射物体多边形数目翻倍 如果要看原始模型面数可以将影子和水去掉。 一般的显卡在100K-150K左右以下速度可以很正常。对于人口多的地方:最多40K给场景, 60K预留给人物
mesh 所有的静态3D模型的多边形数。同样影子和反射会将其翻倍
char 所有的人物等动态模型的多边形数。同样影子和反射会将其翻倍
terra 地表多边形数。同样反射会将其翻倍
others 海洋等的边形数。
meshes:B->F:n 大型模型的数目,从前向后渲染。 大型模型一般可以遮挡小模型,从而减少渲染量。要尽量减少大模型的数目,一般是0-5
meshes:F->B:n1(n2) n1是小模型的数目,从后向前渲染。n2是交给显卡的实际渲染的小模型的数目。 如果n2<n1, 表示摄影机中部分小模型被地形或大建筑遮挡住,从而不用渲染。要尽量让n1>>n2, 比如60(5)
meshes:char:n1(n2) n1是人物的数目。n2是交给显卡的实际渲染的人物数目。 如果n2<n1, 表示摄影机中部分人物被地形或大建筑遮挡住,从而不用渲染。要尽量让n1>>n2, 比如30(8)
meshes:post:n1 透明物体的数目。越少越好
ocean:n1 海洋Tile的数目。海水最好不要和大建筑或人群设计在一起。 很占资源
sentient object:n1 世界中被仿真的AI数目
shadow casters:n1 receivers: n2 n1 投射阴影的物体数, n2接受阴影的物体数

Summary of Contents

  • Install modules
    • Module consists of one module definition file and several template files. See the sample module definition file.
    • Module can have replaceables (defined in module definition file) which the user can specify before creating their own class
    • Developers can create module used by other developers
  • Preinstalled modules
    • application module
    • MCML page control module
    • IDE module
    • window module: singleton, instanced, top level, etc.
    • test file module

Sample module definition file %CODE{"lua"}% --[[ Title: a sample module file Author(s): LiXizhi Date: 2008/3/5 Desc: use the lib:


NPL.load("(gl)script/kids/3DMapSystemApp/Developers/sample_module.lua");
-- file1.lua is assumed to be at the same directory as the sample_module. %MODULEFILE{"file1.lua", replace = { {from = "%SRC_DIR%", to="%INSTALL_DIR%"}, {from = "2008/3/5", to="2018-12-15"}, {from = "SampleApp", to="%INSTALL_NAME%"}, }, post_func="", dest = "%INSTALL_DIR%/%SRC_NAME%", }%

%MODULEFILE{"file2.lua", replace = { {from = "%SRC_DIR%", to="%INSTALL_DIR%"}, {from = "2008/3/5", to="2018-12-15"}, {from = "SampleApp", to="%INSTALL_NAME%"}, }, post_func="", dest = "%INSTALL_DIR%/%SRC_NAME%", }%

Description:

  • MODULEFILE: each module can contain one or several module files usually in its comment block, like this file.
  • first string: the file path of the source template file. It does not contain parent path, it is assumed to be located at the same directory of the this module file.
  • replace: an array of replaceables. Replaceable can contain predefined variables.
  • INSTALL_DIR: where the user specified to install the module. such as "script/myapp"
  • INSTALL_NAME: what name the user specified to install, such as "MyModule"
  • SRC_NAME: name of the source template file. in the above case, it is "file1.lua"
  • SRC_DIR: directory of the source template file. in the above case, it is the directory of this module file.
  • post_func: the function to be called to perform some manual refinement after replaceables are performed.
  • dest: the destination directory where the new instance of this file is installed.
]]

if(not sample_modules) then sample_modules = {} end

-- this is an sample post processing function that replaces one string with another in the template file. -- @param input: input file text string -- @return: result file text string. function sample_modules.file1_post_func(input) return string.gsub(input, "LiXizhi", "ParaEngine Corporation"); end %ENDCODE%

Screenshots & User Guide

UI sample : Press F5 and choose solution manager to see this alive in ParaIDE.net

make module Install module
Make_module.jpg Install_module.jpg

Detailed Documentation

李西峙(李西峙) 10:23:45 http://wiki/twiki/bin/view/Main/DeveloperApp 李西峙(李西峙) 10:25:48 你看看这个程序,教给你开发如何。 之前让你看过的内容,都可以用上了。 张磊(张磊) 10:27:04 开发啥呢~~~ ? 李西峙(李西峙) 10:28:41 开发程序的程序。 李西峙(李西峙) 10:31:20 有点像 新建各种程序的向导。 张磊(张磊) 10:31:33

在这里面添加模块? 张磊(张磊) 10:32:27 有点像 新建各种程序的向导。

还是用npl mcml实现是吧? 李西峙(李西峙) 10:33:03 这是原来用C#做的一个界面。 但是用起来不方便。我们用NPL MCML做一个许多页面的,向导模式的新建程序的程序 李西峙(李西峙) 10:34:00 我们可以先讨论下具体的UI和功能。 李西峙(李西峙) 10:34:42 这将是未来内外部的开发者都会使用的一个关键程序 李西峙(李西峙) 10:35:10 相当于Visual Studio 中的 File->new 张磊(张磊) 10:35:22 了解了~~~~ 就是功能,展现形式 是类似与 现在是用 npl mcml来实现~~? 李西峙(李西峙) 10:35:35 npl mcml来实现 张磊(张磊) 10:35:48 就是可视化操作了 是这样吧 李西峙(李西峙) 10:36:06 向导式的UI. 下一步 下一步 下一步 下一步 完成 李西峙(李西峙) 10:36:49 UI部分可以用MCML实现。 李西峙(李西峙) 10:36:57 相当于学习MCML了。 李西峙(李西峙) 10:37:19 逻辑部分和之前的Wiki DocGen 是一样的。 李西峙(李西峙) 10:37:30 也要许多regular expression.

-- LiXizhi - 21 Mar 2008

Installation Instructions

Note: You do not need to install anything on the client to use this contrib package.

  • Download the ZIP file from the app web (see below)
  • Restart application

Application Info

Author: TWiki:Main/LiXizhi
Copyright : 2008 ParaEngine Corporation, All Rights Reserved
License: GPL (GNU General Public License)
Dependencies: none, OfficialApps
Version: 1.0
Change History:  
21 Mar 2008: Initial version
Home: DeveloperApp
Feedback: DeveloperAppDev
Appraisal: DeveloperAppAppraisal

Related Topics: InsidePE

-- TWiki:Main/LiXizhi - 21 Mar 2008

Topic attachments
I Attachment History Action Size Date Who Comment
JPEGjpg Install_module.jpg r1 manage 61.3 K 2008-03-21 - 02:20 LiXizhi  
JPEGjpg Make_module.jpg r1 manage 71.9 K 2008-03-21 - 02:20 LiXizhi  
Topic revision: r2 - 2008-09-03 - LiXizhi
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback