… | |
… | |
1914 | |
1914 | |
1915 | my ($w, $h, $data) = $::MAP->draw ($sx, $sy, 0, 0, $sw + 1, $sh + 1); |
1915 | my ($w, $h, $data) = $::MAP->draw ($sx, $sy, 0, 0, $sw + 1, $sh + 1); |
1916 | |
1916 | |
1917 | if ($::CFG->{fow_enable}) { |
1917 | if ($::CFG->{fow_enable}) { |
1918 | if ($::CFG->{fow_smooth}) { # smooth fog of war |
1918 | if ($::CFG->{fow_smooth}) { # smooth fog of war |
1919 | glConvolutionParameter GL_CONVOLUTION_2D, GL_CONVOLUTION_BORDER_MODE, GL_CONSTANT_BORDER; |
1919 | glConvolutionParameter (GL_CONVOLUTION_2D, GL_CONVOLUTION_BORDER_MODE, GL_CONSTANT_BORDER); |
1920 | glConvolutionFilter2D |
1920 | glConvolutionFilter2D ( |
1921 | GL_CONVOLUTION_2D, |
1921 | GL_CONVOLUTION_2D, |
1922 | GL_ALPHA, |
1922 | GL_ALPHA, |
1923 | 3, 3, |
1923 | 3, 3, |
1924 | GL_ALPHA, GL_FLOAT, |
1924 | GL_ALPHA, GL_FLOAT, |
1925 | pack "f*", |
1925 | pack "f*", |
1926 | 0.1, 0.1, 0.1, |
1926 | 0.1, 0.1, 0.1, |
1927 | 0.1, 0.2, 0.1, |
1927 | 0.1, 0.2, 0.1, |
1928 | 0.1, 0.1, 0.1, |
1928 | 0.1, 0.1, 0.1, |
1929 | ; |
1929 | ); |
1930 | glEnable GL_CONVOLUTION_2D; |
1930 | glEnable GL_CONVOLUTION_2D; |
1931 | } |
1931 | } |
1932 | |
1932 | |
1933 | $self->{fow_texture} = new CFClient::Texture |
1933 | $self->{fow_texture} = new CFClient::Texture |
1934 | w => $w, |
1934 | w => $w, |
… | |
… | |
1964 | $self->{mapmap_texture} = |
1964 | $self->{mapmap_texture} = |
1965 | new CFClient::Texture |
1965 | new CFClient::Texture |
1966 | w => $w, |
1966 | w => $w, |
1967 | h => $h, |
1967 | h => $h, |
1968 | data => $::MAP->mapmap ($w, $h), |
1968 | data => $::MAP->mapmap ($w, $h), |
1969 | type => GL_UNSIGNED_INT_8_8_8_8_REV; |
1969 | type => $CFClient::GL_VERSION >= 1.2 ? GL_UNSIGNED_INT_8_8_8_8_REV : GL_UNSIGNED_BYTE; |
1970 | |
1970 | |
1971 | $self->{mapmap_texture}->draw_quad (100, 100); |
1971 | $self->{mapmap_texture}->draw_quad (100, 100); |
1972 | |
1972 | |
1973 | glDisable GL_TEXTURE_2D; |
1973 | glDisable GL_TEXTURE_2D; |
1974 | glDisable GL_BLEND; |
1974 | glDisable GL_BLEND; |