lixizhi / nplruntime Goto Github PK
View Code? Open in Web Editor NEWNPL - Neural Parallel Language
Home Page: https://paracraft.cn
License: GNU General Public License v2.0
NPL - Neural Parallel Language
Home Page: https://paracraft.cn
License: GNU General Public License v2.0
可变粒度方块参考bmax的lod, 合并面的算法 增加LOD功能合并相同面的功能
我们底层库不支持某种数据类型
we want to share our shader code with both directX and openGL.
Right now, we have to write separate almost identical shader files for directX and openGL.
PhysX and bullet are both open source.
Integrate physics engine into our API
paraengineclient.exe
.npl.bat
(which will start the local NPL code wiki site)optimize the BlockEngine:GetBlockFull(x,y,z)
function.
We do the following:
BlockRegion::GetBlockFullDataByIndex
in BlockRegion.cpp
this is how to return multiple values in ffi:
基础功能制作
制作Demo文件并更新WIKI文档
支持一个可以隐藏某类型方块的接口
只隐藏方块本身的显示,其余逻辑保持原本的样子
思路:
1.将BlockTemplate临时设置为transparent & invisible
2.rebuild all renderable chunks to take effect.
3.better remove aabb for mouse picking
请问我可以使用Canvas3D设计出类似3D设计器中三视图的功能吗?我们需要类似于3Dmax,maya或者unity中编辑器的三视图界面,3D坐标系显示和地上的网格功能,左侧显示俯视图,正视图和左视图,右侧显示3D视角,当主视角旋转时三视图中对应画面要联动。
NPL IPC debugger package for vs plugin will crash visual studio, if NPL web debugger is running simultanously.
通过使用python+clang分析c++代码, 自动化的生成Lua bing代码
实现目标
Help review code by remove dev guy.
我调用ide\gui_helper.lua 中的_guihelper.SetUIFontFormat(uiobject, format) 设置了editbox的文本位置format=5,文本居中对齐了但光标却还是左对齐
以前都没遇到过的,今天编译试了2台centos 7 都有如下错误?
[ 26%] Building CXX object ParaEngineServer/CMakeFiles/ParaEngineServer.dir/root/NPLRuntime/Client/trunk/ParaEngineClient/Core/ParaEngineAppBase.cpp.o
/root/NPLRuntime/Client/trunk/ParaEngineClient/Core/ParaEngineAppBase.cpp: In member function ‘virtual bool ParaEngine::CParaEngineAppBase::LoadNPLPackage(const char*, std::string*)’:
/root/NPLRuntime/Client/trunk/ParaEngineClient/Core/ParaEngineAppBase.cpp:423:21: error: ambiguous overload for ‘operator=’ (operand types are ‘std::string {aka std::basic_string}’ and ‘NPL::NPLObjectProxy’)
*pOutMainFile = sMainFile;
^
/root/NPLRuntime/Client/trunk/ParaEngineClient/Core/ParaEngineAppBase.cpp:423:21: note: candidates are:
In file included from /usr/include/c++/4.8.2/string:52:0,
from /root/NPLRuntime/NPLRuntime/ParaEngineServer/../../Client/trunk/ParaEngineClient/Core/PEtypes.h:530,
from /root/NPLRuntime/NPLRuntime/ParaEngineServer/../../Client/trunk/ParaEngineClient/renderer/RenderCore.h:7,
from /root/NPLRuntime/Client/trunk/ParaEngineClient/Core/Platforms.h:7,
from /root/NPLRuntime/Client/trunk/ParaEngineClient/Core/ParaEngine.h:2,
from /root/NPLRuntime/Client/trunk/ParaEngineClient/Core/ParaEngineAppBase.cpp:8:
/usr/include/c++/4.8.2/bits/basic_string.h:546:7: note: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::operator=(const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]
operator=(const basic_string& __str)
^
/usr/include/c++/4.8.2/bits/basic_string.h:565:7: note: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::operator=(_CharT) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]
operator=(_CharT __c)
^
/usr/include/c++/4.8.2/bits/basic_string.h:580:7: note: std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::operator=(std::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]
operator=(basic_string&& __str)
^
/usr/include/c++/4.8.2/bits/basic_string.h:580:7: note: no known conversion for argument 1 from ‘NPL::NPLObjectProxy’ to ‘std::basic_string&&’
make[2]: *** [ParaEngineServer/CMakeFiles/ParaEngineServer.dir/root/NPLRuntime/Client/trunk/ParaEngineClient/Core/ParaEngineAppBase.cpp.o] Error 1
make[1]: *** [ParaEngineServer/CMakeFiles/ParaEngineServer.dir/all] Error 2
make: *** [all] Error 2
~/NPLRuntime
compress block engine raw file when saving to disk
Must support old uncompressed file, use a different version number when saving compressed file.
It is too big(1-2MB) to upload to git cloud.
In paracraft, this method is wrong since some NPLRuntime version. Please fix it asap.
you can test with following command
/selectobj
例如:
local a = NPL.load('a');
有文件 npl_mod/a/a.npl
无法加载此文件。
如果将 a.npl 改为 a.lua,则正常。
Just moved movie codec here:
Make this a mod project to be uploaded to mods site in keepwork.com
the mod should be an install once mod, meaning that it is loaded only on demand by the C++ engine.
I think it should be a special mod zip file like
Mod/MovieCodecPlugin.zip
Once loaded as an ordinary mod, it will deploy itself and then unload and disabled.
ModBase:SetEnabled(false)
ModBase:ExtractMod()
ModBase:CheckVersion()
播放时,bmax模型方块的突然减少,会显得突兀
some xml movie entity file in paracraft can be as large as 1-4MB, which is too large for our git cloud.
The C++ version of ParaIO. read /write xml may optionally support (de)compressing the xml file into zip file without changing the extension.
The reader code can automatically detect if xml is compressed or not. So all we need to change is the npl writer code in Paracraft.
it may be related to wrong mouse x,y delta calculation in relation to windows message.
This is pretty urgent because remote control player's desktop is very common when solving problems on end users' computers or during a remote meeting.
应用buffer picking 返回的结果是一个整型数据集合。而常规拾取本身期望能获取鼠标当前选中的场景中的对象。
调用代码:
NPL.load("(gl)script/ide/System/Scene/BufferPicking.lua");
local BufferPicking = commonlib.gettable("System.Scene.BufferPicking");
local result = BufferPicking:Pick(nil, nil, 2, 2);
Assimp update (#109)
update physics interface
db support non-ascii code path
Revert "db support non-ascii code path"
This reverts commit 3abf77c.
FBX particle/UV exporter
update physics
resolve conflicts
update server make list
Revert "update server make list"
This reverts commit e363f8f.
update server make list
fix compile error
Revert "fix compile error"
This reverts commit 47dd78d.
This reverts commit 0c62de8.
This reverts commit 1420d0d.
This reverts commit 548ab0f.
This reverts commit 72546e5.
None default Value, it is faster then GetField
add GetField2
optimised CAttributeClass
return nil if get value fails
BlockRegion supported compressed file
xml reader supported read zip file
xml reader supported read zip file
add ZipAddData
fix ZipAddData bug
fix ZipAddData bug
update ZipAddData
BMaxParser support read zip file
edit box supported align text
update fbx
fix compile error
update offsetworld command
optimize BlockEngine:GetBlockFull
fixe compile error
skip unsupported property
fix compile error
update assimp
update assimp
update assimp
update assimp
delete unused files
see also :
这个是http2的设计:
这个设计主要是HTTP2 有一个设计是Server Push就是可以预测Client的请求, 主动将数据推送给Client。 比如你访问了index.html, Server预测你一定会需要index.css, 那么Server会主动Push数据给Client. 不需要Client发任何请求
最近发现越来越多的fbx文件 读取时有兼容问题, 升级一下assimp看能不能解决这些问题
// we expect all remote NPL runtime's public file list mapping to be identical
int file_id = m_msg_dispatcher.GetIDByPubFileName(file_name.sRelativePath);
这个设计感觉限制性很强啊
LiXizhi 9/27/2016 6:33:56 PM
嗯 这个我一直希望改改。 在建立连接时,同步一下这个表。
刘世峰 9/27/2016 6:34:03 PM
既然都用文件名作publicfile了,为什么不在远程机器上直接激活文件名呢
不需要同步啊 两边各自用各自的表就好了
LiXizhi 9/27/2016 6:34:32 PM
对 是可以做到的。
刘世峰 9/27/2016 6:34:44 PM
双方只需要知道自己关心的那个文件名就好了
相当于一个接口名
LiXizhi 9/27/2016 6:35:07 PM
是这样的, 为了节约带宽, 实际传的是ID。
发送方需要知道接收方的ID是什么
刘世峰 9/27/2016 6:36:03 PM
传id的限制太大了 两边的上层逻辑不一定一样 那么很可能id就对不上
LiXizhi 9/27/2016 6:36:56 PM
我在设计时, 是希望自动同步ID的。 但是后来一直没有做这里。
刘世峰 9/27/2016 6:37:09 PM
就直接传文件名,每次浪费几十个字节 应该影响不大吧
LiXizhi 9/27/2016 6:37:10 PM
所以NPL的代码中, 你是看不到ID的。
刘世峰 9/27/2016 6:38:02 PM
嗯 自动同步倒也是可以解决问题
LiXizhi 9/27/2016 6:38:52 PM
还是尽量省一点。
刘世峰 9/27/2016 6:39:27 PM
嗯 也是 毕竟每个message都有这部分
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.