Tag: jmonkeyengine

jMonkey优化类似于Java3D的

编辑:对于实时绘图,在opengl和opencl之间的“互用性”中开始使用基于jmonkeyengine和jocl的lwjgl,现在可以实时计算和绘制10万个粒子。 也许地狱版本的Jmonkey引擎可以治愈这个drawcall开销问题。 几天来,我一直在Eclipse(java 64位)学习jMonkey引擎(ver:3.0),并尝试使用GeometryBatchFactory.optimize(rootNode);优化场景GeometryBatchFactory.optimize(rootNode); 命令。 没有优化(具有改变球体位置的能力): 好的,只有1-fps源于pci-express带宽+ jvm开销。 通过优化(无法改变球体的位置): 现在即使增加三angular形数字也是29 fps。 Java3D有一个setCapability()方法,它使得一个场景对象能够被优化的forms读写。 jMonkey引擎3.0必须能够这个主题,但我找不到任何痕迹(search教程和示例,失败)。 问题:如何在jMonkey 3.0中设置场景optimized节点的read/write position/rotation/scalefunction? 如果你不能回答第一个问题,你能告诉我为什么我使用优化命令时三angular形数字增加了吗? 我必须创build一个新的方法来访问graphics卡,并自己改变variables(jogl也许?)? 场景信息:16k粒子(16×16分辨率的球体)+ 1分光线(及其4096分辨率的阴影)。 我相信我们可以轻松地通过pci-express在毫秒内发送几千个浮点数。 附加信息:我使用Aparapi-kernels更新粒子位置需要10毫秒(16k * 16k交互来计算力量)(不会改变任何东西在优化模式:()可以aparapi访问这些优化的数据? 对于batchNode.batch(); 优化,这里是1 fps又减less对象数字: 对象数目现在只有几百,但fps仍然在1! 只发送球体位置到GPU,并让它计算顶点位置可能比计算CPU上的顶点,加上巨大的数据发送到CPU更好。 没有人在这里帮忙? 已经尝试过batchNode,但没有足够的帮助。 我不想改变3D API,因为JMonkey人已经改造了车轮,我很满意目前的情况。 只是试图挤一点点的performance(取消阴影提供了百分之百的速度,但质量也很重要!)。 这个Java程序将成为一个小行星撞击现场模拟器(将有select的小行星的大小,质量,速度,angular度)与行进立方体algorithm与LOD(将数百万颗粒)。 Marching-cubesalgorithm会大大减less三angular形数量。 如果你不能给出任何答案的问题,任何行军立方体(或任何O(n)凸包)algorithm的Java将被接受! 数据:x,y,zarrays为源,三angular形条阵为目标(等值面网格点) 谢谢。 以下是一些有关stream的示例(分辨率低得多): 1)由引力引起的立方体形岩体的塌陷: 2)排斥力开始显现出来: 3)排斥力+引力使组形成更加光滑的形状: 4)组形成一个球体(如预期): 5)然后,一个巨大的星体接近: 6)关于触摸: 7)影响的时刻: 在Barnes-Huttalgorithm和截断势能的帮助下,粒子数量将会增加10倍(也许是100倍)。 而不是Marching-Cubesalgorithm,包装nbody的鬼布料可以给出低分辨率的船体(比BH更容易,但需要更多的计算) 鬼布会受nbody影响(重力+排斥),但是nbody不会受到缠绕布料的影响。 Nbody不会被渲染,但布网将被渲染与较低的triange数。 如果MC或以上的工作,这将使程序渲染约200倍的粒子的包装布。