PEDN> Main Web>DeveloperApp (2008-09-03, LiXizhi) Change language en zh-cn? EditAttach

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

--[[
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="2008-12-03"},
	{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="2008-12-03"},
	{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

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

AppForm
TopicClassification NormalApp?
AppCategory Official
TestedOnPE? ParaEngineVersion01x00?
InstalledOnPE? No, Yes
DemoUrl? http://
DevelopedInSVN? No, Yes
ModificationPolicy? PleaseFeelFreeToModify?
RelatedTopics?

Topic attachments
I Attachment Action Size Date Who Comment
jpgjpg Install_module.jpg manage 61.3 K 2008-03-21 - 10:20 LiXizhi  
jpgjpg Make_module.jpg manage 71.9 K 2008-03-21 - 10:20 LiXizhi  
Topic revision: r2 - 2008-09-03 - 16:14:31 - LiXizhi
 

ParaEngine Developer Network

This site is powered by the TWiki collaboration platformCopyright © 2004-2008 ParaEngine Corporation
Ideas, requests, problems regarding ParaEngine platform Send feedback