gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 13:06:18 24 4
gpt4 key购买 nike

刚刚制作了这个小应用程序并想分享...

我从几个样本中提取了代码,并根据我的需要对其进行了调整 你可以在这里获取源代码:gitHub source

这里有几个截图给你...... screenShot 1

enter image description here

如果您觉得它有趣或有用,或者想帮助改进它...请随意说或做!

编辑: 好吧,似乎在某些图像上引入了很多滞后,我尝试实现时间轴以希望将一些处理推送到 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() 方法,覆盖此方法并使用它是我更新属性的首选方法。

在这样做的过程中,平台正常运行,我的问题也消失了。

关于3d - 来自 TriangleMesh 的 Javafx 8 3d 高度图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22290624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com