Можно ли использовать шейдеры GLSL с JavaFX 3D?

Есть ли способ использовать ваши собственные шейдеры GLSL с JavaFX? В настоящее время я использую Java 8 162 и обнаружил серьезную нехватку документации по JavaFX 3D.


person rockjimstar    schedule 08.02.2020    source источник
comment
Короткий ответ — нет, и вы правы в том, что не хватает документации.   -  person mipa    schedule 08.02.2020
comment
Спасибо за Ваш ответ. Я так думал, что не мог найти ничего задокументированного по нему.   -  person rockjimstar    schedule 10.02.2020


Ответы (1)


Есть ли способ использовать ваши собственные шейдеры GLSL с JavaFX?

Нет. Шейдеры GLSL компилируются во время выполнения и привязываются к графическому конвейеру OpenGL, который является внутренним. В прошлом был запрос на это, но никто не приложил усилия для этого.

Возможно, вы сможете что-то взломать, если соберете JavaFX локально. Это зависит от того, насколько масштабны изменения, которые вы хотите внести. Вы можете добавить шейдеры, как в modules/javafx.graphics/src/main/resources/com/sun/prism/es2/glsl/main1Light.fragmain2Lights, и main3Lights). Затем вам нужно будет изменить com.sun.prism.es2.ES2PhongShader соответственно, по крайней мере.

Какой шейдер вы пытаетесь сделать? Возможно, его можно будет встроить в JavaFX, если это разумно.

существует серьезная нехватка документации JavaFX 3D

Да. Многие внутренние классы также имеют комментарии «TODO: 3D — нужна документация». Предлагаю вам написать в рассылку запрос, какую именно документацию вы хотели бы видеть.

person user1803551    schedule 25.04.2020