В настоящее время я рисую единственную прозрачную трехмерную сетку, сгенерированную с помощью алгоритма маршевых кубов, с целью иметь больше объектов после исправления проблемы.3D Transparency JavaFX не смешивает все треугольники в сетке
Как бы то ни было, я могу нарисовать 3d-формы отлично, но когда я реализую прозрачность (в моем случае изменяя непрозрачность сетки PhongMaterial), я получаю странный эффект, когда только несколько треугольников отображаются за другим треугольником.
см. Пример.
http://i.imgur.com/1wdmYYs.png (извините, я не смог опубликовать изображение непосредственно, из-за репутации)
Когда «палка» позади большей формы, кажется, потеря в треугольниках и я в настоящее время не имеют ни малейшего представления Зачем.
Красный - это все равно сетка, выполненная таким же образом.
В настоящее время я использую окружающий свет, если это имеет значение.
Некоторые примеры кода:
MeshView mesh = generate Mesh Data via marching cube;
mesh.setCullFace(CullFace.None);
PhongMaterial mat = new PhongMaterial(1, 0, 0, 0.5d);
AmbientLight light = new AmbientLight();
light.setColor(new Color(1, 0, 0, 0.5)); // I dont believe the alpha makes a difference
light.setOpacity(0.5);
mesh.setMaterial(mat);
group.getChildren().addAll(light, mesh);
В какой версии JDK вы используете ? Обратите внимание, что прозрачность работает на основе порядка узлов на сцене, как вы можете видеть в этом вопросе (http://stackoverflow.com/a/30213869/3956070) –
Я использую JDK8u60 b15 Я считаю. Я попробую обновиться до последней сборки и посмотреть, что-нибудь изменится. В этом примере я представляю только одну сетку, поэтому только один узел. – jogden16761
Вот что я имел в виду под заказ, вам нужно иметь несколько трехмерных фигур, чтобы увидеть эффект прозрачности. Самый лучший прозрачный узел позволит вам увидеть остальные фигуры за ним. –