@@ -554,6 +554,7 @@ p5.RendererGL = class RendererGL extends p5.Renderer {
554
554
this . executeRotateAndMove = false ;
555
555
556
556
this . specularShader = undefined ;
557
+ this . diffusedShader = undefined ;
557
558
this . _defaultLightShader = undefined ;
558
559
this . _defaultImmediateModeShader = undefined ;
559
560
this . _defaultNormalShader = undefined ;
@@ -1928,16 +1929,20 @@ p5.RendererGL = class RendererGL extends p5.Renderer {
1928
1929
let smallWidth = 200 ;
1929
1930
let width = smallWidth ;
1930
1931
let height = Math . floor ( smallWidth * ( input . height / input . width ) ) ;
1931
- newFramebuffer = this . _pInst . createFramebuffer ( ) ;
1932
+ newFramebuffer = this . _pInst . createFramebuffer ( {
1933
+ width, height, density : 1
1934
+ } ) ;
1932
1935
// create framebuffer is like making a new sketch, all functions on main
1933
1936
// sketch it would be available on framebuffer
1934
- newFramebuffer . draw ( ( ) => {
1935
- let irradiance = this . _pInst . createShader (
1937
+ if ( ! this . diffusedShader ) {
1938
+ this . diffusedShader = this . _pInst . createShader (
1936
1939
defaultShaders . imageLightVert ,
1937
1940
defaultShaders . imageLightDiffusedFrag
1938
1941
) ;
1939
- this . _pInst . shader ( irradiance ) ;
1940
- irradiance . setUniform ( 'environmentMap' , input ) ;
1942
+ }
1943
+ newFramebuffer . draw ( ( ) => {
1944
+ this . _pInst . shader ( this . diffusedShader ) ;
1945
+ this . diffusedShader . setUniform ( 'environmentMap' , input ) ;
1941
1946
this . _pInst . noStroke ( ) ;
1942
1947
this . _pInst . rectMode ( constants . CENTER ) ;
1943
1948
this . _pInst . noLights ( ) ;
@@ -1966,9 +1971,10 @@ p5.RendererGL = class RendererGL extends p5.Renderer {
1966
1971
const size = 512 ;
1967
1972
let tex ;
1968
1973
const levels = [ ] ;
1969
- const framebuffer = this . _pInst . createFramebuffer ( ) ;
1974
+ const framebuffer = this . _pInst . createFramebuffer ( {
1975
+ width : size , height : size , density : 1
1976
+ } ) ;
1970
1977
let count = Math . log ( size ) / Math . log ( 2 ) ;
1971
- framebuffer . pixelDensity ( 1 ) ;
1972
1978
if ( ! this . specularShader ) {
1973
1979
this . specularShader = this . _pInst . createShader (
1974
1980
defaultShaders . imageLightVert ,
0 commit comments