来自TriangleMesh的Javafx 8 3d高度贴图

来自TriangleMesh的Javafx 8 3d高度贴图,3d,javafx-8,3d,Javafx 8,刚刚制作了这个小应用程序,想与大家分享 我从几个示例中提取代码,并对其进行调整以满足我的需要 您可以在此处获取来源: 这里有几个截图给你。。。 如果你觉得它有趣或有用,或者想帮助改进它。。。请随意这样做或这样说 编辑:好的,似乎在一些图像上引入了很多延迟,我尝试实现一个时间表,希望将一些处理推到GPU上。。(我相信这就是它的工作原理)。。有人能想出更好的方法来创建更新线程吗 Timeline defaultTimeline = new Timeline(); defaultTimel

刚刚制作了这个小应用程序,想与大家分享

我从几个示例中提取代码,并对其进行调整以满足我的需要 您可以在此处获取来源:

这里有几个截图给你。。。

如果你觉得它有趣或有用,或者想帮助改进它。。。请随意这样做或这样说

编辑:好的,似乎在一些图像上引入了很多延迟,我尝试实现一个时间表,希望将一些处理推到GPU上。。(我相信这就是它的工作原理)。。有人能想出更好的方法来创建更新线程吗

Timeline defaultTimeline = new Timeline();
    defaultTimeline.getKeyFrames().addAll(new KeyFrame(new Duration(14 - (System.currentTimeMillis() % 14)), (ActionEvent t) -> {

        Timeline everySecond = new Timeline();
        everySecond.setCycleCount(Timeline.INDEFINITE);
        everySecond.getKeyFrames().addAll(new KeyFrame(Duration.valueOf(14 + "ms"), (ActionEvent event) -> {
            update();                  
        }));
        everySecond.play();
        System.err.println("Playing");
    }));
    defaultTimeline.play();
以及更新方法:

 private void update() {
    if(pixelSkipSlider.isValueChanging()){
        if(meshView.getMesh() != null){
            meshView.setMesh(MeshUtils.createHeightMap(meshImageView.getImage(), (int)pixelSkipSlider.getValue() , (float)maxHeightSlider.getValue(), (float)scaleSlider.getValue()));
        }
    }
    if(maxHeightSlider.isValueChanging()){
        if(meshView.getMesh() != null){
            meshView.setMesh(MeshUtils.createHeightMap(meshImageView.getImage(), (int)pixelSkipSlider.getValue() , (float)maxHeightSlider.getValue(), (float)scaleSlider.getValue()));
        }
    }
    if(scaleSlider.isValueChanging()){
        if(meshView.getMesh() != null){
            meshView.setMesh(MeshUtils.createHeightMap(meshImageView.getImage(), (int)pixelSkipSlider.getValue() , (float)maxHeightSlider.getValue(), (float)scaleSlider.getValue()));
        }
    }
}    

在被问到这个问题时,我不知道JavaFX属性的invalidated()方法, 重写此方法并使用它是我更新属性的首选方法


通过这样做,平台的性能达到了应有的水平,我的问题也消失了。

这看起来很棒,也很有趣,但这不是一个问题。StackOverflow是一个问答网站,所以请求关闭是一个离题的话题。我编辑了它,因为我确实有一些问题,谢谢你的提醒。