Как внедрить Screendoor Transparency в JOGL? - PullRequest
0 голосов
/ 17 апреля 2019

Я сейчас пытаюсь нарисовать прозрачный многогранник.Это сделано из отдельных прозрачных полигонов.Однако при использовании альфа-значений для цветов важен порядок прорисовки полигонов.Как вы можете видеть на рисунках, техника, которую я до сих пор использовал, приводит к тому факту, что полигоны, которые нарисованы ранее, как желтый, не позволяют просвечивать более поздние.Зеленый многоугольник, который был нарисован последним, позволяет мне видеть все другие многоугольники.

https://i.stack.imgur.com/1JpoF.png

https://i.stack.imgur.com/vAgnd.png

Я нашел один подход, который я не понимаю здесь от Рафаэлло ,

Альтернативой является так называемая прозрачность экрана .Но я не нашел никакой документации, как это реализовать.

Некоторые фрагменты кода из моего текущего кода:

gl.glEnable(GL.GL_BLEND);
gl.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
gl.glColor4f((float) color.getX(), (float) color.getY(), (float) color.getZ(), alpha);
...