… | |
… | |
852 | my $cell = $map->[$x + $xofs][$y + $yofs] |
852 | my $cell = $map->[$x + $xofs][$y + $yofs] |
853 | or next; |
853 | or next; |
854 | |
854 | |
855 | my $darkness = $cell->[0] * (1 / 255); |
855 | my $darkness = $cell->[0] * (1 / 255); |
856 | if ($darkness < 0) { |
856 | if ($darkness < 0) { |
857 | $darkness = $cell->[1] ? 0.2 : 0; |
857 | $darkness = $cell->[1] ? 0.1 : 0; |
858 | } |
858 | } |
859 | substr $lighting, $y * $sw4 + $x, 1, chr 255 - $darkness * 255; |
859 | substr $lighting, $y * $sw4 + $x, 1, chr 255 - $darkness * 255; |
860 | |
860 | |
861 | for my $num (grep $_, @$cell[1,2,3]) { |
861 | for my $num (grep $_, @$cell[1,2,3]) { |
862 | my $tex = $::CONN->{face}[$num]{texture} || next; |
862 | my $tex = $::CONN->{face}[$num]{texture} || next; |
… | |
… | |
895 | data => $lighting, |
895 | data => $lighting, |
896 | internalformat => GL_ALPHA, |
896 | internalformat => GL_ALPHA, |
897 | format => GL_ALPHA; |
897 | format => GL_ALPHA; |
898 | |
898 | |
899 | glBlendFunc GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA; |
899 | glBlendFunc GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA; |
900 | glColor 1, 1, 1, 1; |
900 | glColor 0.45, 0.45, 0.45, 1; |
901 | glTexEnv GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE; |
901 | glTexEnv GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE; |
902 | glBindTexture GL_TEXTURE_2D, $lighting->{name}; |
902 | glBindTexture GL_TEXTURE_2D, $lighting->{name}; |
903 | glTexParameter GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR; |
903 | glTexParameter GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR; |
904 | glBegin GL_QUADS; |
904 | glBegin GL_QUADS; |
905 | glTexCoord 0, 0; glVertex 0 , 0; |
905 | glTexCoord 0, 0; glVertex 0 , 0; |