2016-04-22 12 views
1

Ich versuche VTK Sphere example auf Google Native Client (PNaCl) -Anwendung ausführen, die OpenGL ES 2.0 vollständig unterstützt. Auf Win32 funktioniert das Beispiel einwandfrei (linkes Bild unten), aber in einer Anwendung, die GLES2 verwendet, rendert es mit Artefakten (rechtes Bild unten). Kugeln werden leicht gedreht, Artefakte sind besser sichtbar. Aber 2D ImageRotate example funktioniert gut mit GLES2, also vermute ich, dass diese Artefakte mit 3D-Rendering in VTK verwandt sind.VTK - Rendering Artefakte mit OpenGL ES 2.0

Here is video Ich habe aufgezeichnet, das Rendering-Problem ist besser sichtbar auf einem Würfel. Einige Wände des Würfels sind transparent. Irgendwelche Ideen warum? Unterstützt VTK vollständig GLES2?

Win32 (left) and GL ES 2.0 (right) Win32 (left) and GL ES 2.0 (right)

Antwort

0

Ich habe es endlich, wie ich erwarten zu arbeiten.

Das Problem war, dass ich Tiefe nicht richtig beim Erstellen von OpenGL-Kontext (und auch Stichprobengröße - Antialiasing-Probleme) eingestellt habe. Wenn jemand dieses Problem in Zukunft konfrontiert sein wird, müssen Sie Ihre attrib Liste so etwas definieren:

const int32_t attrib_list[] = 
{ 
    PP_GRAPHICS3DATTRIB_ALPHA_SIZE,  8, 
    PP_GRAPHICS3DATTRIB_DEPTH_SIZE,  24, 
    PP_GRAPHICS3DATTRIB_SAMPLES,  8, 
    PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS, 8, 

    // ... 

    PP_GRAPHICS3DATTRIB_NONE, 
}; 

nun wie es gemacht wird.