Как сделать каркас прозрачным в Qt3D? - PullRequest
0 голосов
/ 28 апреля 2018

Я пытаюсь сделать каркас прозрачным в один из примеров Qt3D , но не получается. Я установил альфа на 0.5 в robustwireframe.frag, но он не работает.

void main(){
// Calculate the color from the phong model
     vec4 color = vec4( adsModel( fs_in.position, normalize( fs_in.normal ) ), 0.5);
     fragColor = shadeLine( color );

Как сделать каркас прозрачным в Qt3D?

1 Ответ

0 голосов
/ 14 марта 2019

Добавление BlendEquation к renderStates включит альфа-смешение, поэтому добавьте следующий код в RenderPass в WireframeEffect.qml :

RenderPass {
    renderStates: [
           BlendEquation {blendFunction: BlendEquation.Min}
     ]
     shaderProgram: ShaderProgram {
                        vertexShaderCode:loadSource("qrc:/shaders/robustwireframe.vert")
                        geometryShaderCode: loadSource("qrc:/shaders/robustwireframe.geom")
                        fragmentShaderCode: loadSource("qrc:/shaders/robustwireframe.frag")
   }
}
...