Buggy code:
final float x2 ; final float y2 ; final float z2 ; final float x3 ; final float y3 ; final float z3 ; final float x4 ; final float y4 ; final float z4 ; final BigDecimal X1 ; final BigDecimal Y1 ; final BigDecimal Z1 ; final BigDecimal X2 ; final BigDecimal Y2 ; final BigDecimal Z2 ; final BigDecimal X3 ; final BigDecimal Y3 ; final BigDecimal Z3 ; final BigDecimal X4 ; final BigDecimal Y4 ; final BigDecimal Z4 ; private final Vector4f A = new Vector4f ( 0 , 0 , 0 , 1.0F ) ; private final Vector4f B = new Vector4f ( 0 , 0 , 0 , 1.0F ) ; private final Vector4f C = new Vector4f ( 0 , 0 , 0 , 1.0F ) ; private final Vector4f D = new Vector4f ( 0 , 0 , 0 , 1.0F ) ; private final Vector4f A2 = new Vector4f ( 0 , 0 , 0 , 1.0F ) ; private final Vector4f B2 = new Vector4f ( 0 , 0 , 0 , 1.0F ) ; private final Vector4f C2 = new Vector4f ( 0 , 0 , 0 , 1.0F ) ; private final Vector4f D2 = new Vector4f ( 0 , 0 , 0 , 1.0F ) ; private final Vector4f N = new Vector4f ( 0 , 0 , 0 , 1.0F ) ; private Matrix4f M = new Matrix4f ( ) ; private final float [ ] [ ] lGeom ; final GData1 parent ; private boolean wasShown = false ; public GData5 ( final int colourNumber , float r , float g , float b , float a , BigDecimal x1 , BigDecimal y1 , BigDecimal z1 , BigDecimal x2 , BigDecimal y2 , BigDecimal z2 , BigDecimal x3 , BigDecimal y3 , BigDecimal z3 , BigDecimal x4 , BigDecimal y4 , BigDecimal z4 , GData1 parentFileRef , DatFile datFile ) { } public GData5 ( boolean superFast , final int colourNumber , float r , float g , float b , float a , BigDecimal x1 , BigDecimal y1 , BigDecimal z1 , BigDecimal x2 , BigDecimal y2 , BigDecimal z2 , BigDecimal x3 , BigDecimal y3 , BigDecimal z3 , BigDecimal x4 , BigDecimal y4 , BigDecimal z4 , float x12 , float y12 , float z12 , float x22 , float y22 , float z22 , float x32 , float y32 , float z32 , float x42 , float y42 , float z42 , GData1 parentFileRef , DatFile datFile ) { } GData5 ( Vertex v1 , Vertex v2 , Vertex v3 , Vertex v4 , GData1 parent , GColour c ) { } public GData5 ( Vertex v1 , Vertex v2 , Vertex v3 , Vertex v4 , GColour c , GData1 parent ) { } public GData5 ( GColour c , GData1 parent , Vertex v1 , Vertex v2 , Vertex v3 , Vertex v4 ) { } public GData5 ( final int colourNumber , float r , float g , float b , float a , Vertex v1 , Vertex v2 , Vertex v3 , Vertex v4 , GData1 parent , DatFile datFile ) { } @ Override public void draw ( Composite3D c3d ) { } @ Override public void drawRandomColours ( Composite3D c3d ) { } @ Override public void drawWhileAddCondlines ( Composite3D c3d ) { } @ Override public void drawBFC ( Composite3D c3d ) { } @ Override public void drawBFCuncertified ( Composite3D c3d ) { } @ Override public void drawBFC_backOnly ( Composite3D c3d ) { } @ Override public void drawBFC_Colour ( Composite3D c3d ) { } @ Override public void drawBFC_Textured ( Composite3D c3d ) { if ( GData . globalDrawObjects ) { final OpenGLRenderer r = c3d . getRenderer ( ) ; GL20 . glUniform1f ( r . getNormalSwitchLoc ( ) , ( ( GData . globalNegativeDeterminant ) ^ ( GData . globalInvertNext ) ? 1.0F : 0.0F ) ) ; GL20 . glUniform1f ( r . getNoTextureSwitch ( ) , 1.0F ) ; GL20 . glUniform1f ( r . getNoLightSwitch ( ) , 1.0F ) ; <START_BUG> GL20 . glUniform1f ( r . getCubeMapSwitch ( ) , 1.0F ) ; <END_BUG> if ( ! ( visible ) ) return ; if ( ! ( c3d . isDrawingSolidMaterials ( ) ) ) return ; float result ; float zoom = c3d . getZoom ( ) ; switch ( c3d . getLineMode ( ) ) { case 1 : result = 1.0F ; break ; case 2 : case 4 : return ; default : if ( CACHE_viewByProjection . containsKey ( parent ) ) { M = CACHE_viewByProjection . get ( parent ) ; } else { Matrix4f . mul ( c3d . getViewport ( ) , parent . productMatrix , M ) ; CACHE_viewByProjection . put ( parent , M ) ; } Matrix4f . transform ( M , A2 , A ) ; Matrix4f . transform ( M , B2 , B ) ; Matrix4f . transform ( M , C2 , C ) ; Matrix4f . transform ( M , D2 , D ) ; N . x = ( A . y ) - ( B . y ) ; N . y = ( B . x ) - ( A . x ) ; result = ( zoom // ( Vector4f . dot ( N , Vector4f . sub ( C , A , null ) ) ) ) * ( Vector4f . dot ( N , Vector4f . sub ( D , A , null ) ) ) ; break ; } if ( result > ( - 1.0E-20F ) ) { float r2 ; float g2 ; float b2 ; int cn ;

Fix:
GL20 . glUniform1f ( r . getCubeMapSwitch ( ) , 0.0F ) ;