2017-06-01 26 views
0

私は水槽をレンダリングしようとしており、そのためには半透明の直方体が必要です。私は間違って何をしていますか?固定機能OpenGLを使用した半透明?

glEnableClientState(GL_VERTEX_ARRAY); 
glEnable(GL_CULL_FACE); 
glFrontFace(GL_CCW); 
glCullFace(GL_FRONT); 
glEnableClientState(GL_COLOR_ARRAY); 
glDepthMask(GL_FALSE); 
glVertexPointer(3,GL_FLOAT,0,myCubeVertices); //the cuboid model is under myCube 
glColorPointer(3,GL_FLOAT,0,myCubeColors); //just blue 

glEnable(GL_BLEND); 
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); 
glDrawArrays(GL_QUADS,0,myCubeVertexCount); 
glDepthMask(GL_TRUE); 
glDisableClientState(GL_COLOR_ARRAY); 
glDisable(GL_CULL_FACE); 
glDisable(GL_BLEND); 

これは、今どのように見えるかです: aquarium

答えて

0
glColorPointer(3,GL_FLOAT,0,myCubeColors); //just blue 

あなたは間違っていた場所です。 myCubeColorsは、RGBA形式である必要があります.Aは、0.0の透明度を持つアルファまたは透明度を示します。

だから、それは次のようになります。彼らは(代わりにvec4のvec3別名)RGBフォーマットを期待している場合

glColorPointer(4,GL_FLOAT,0,myCubeColors); //just blue 

また、あなたが使用しているすべてのシェーダに適切な変更が必要になります。

希望に役立ちます。

関連する問題