Skip to content

Commit

Permalink
fix: add scene/camera shaderData in blitter (#2558)
Browse files Browse the repository at this point in the history
  • Loading branch information
zhuxudong authored Feb 13, 2025
1 parent 48226f5 commit 4f833fb
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion packages/core/src/RenderPipeline/Blitter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ export class Blitter {
const blitMaterial = material || basicResources.blitMaterial;
const rhi = engine._hardwareRenderer;
const context = engine._renderContext;
const camera = context.camera;

// We not use projection matrix when blit, but we must modify flipProjection to make front face correct
context.flipProjection = !!destination;
Expand All @@ -66,14 +67,16 @@ export class Blitter {
const compileMacros = Shader._compileMacros;

ShaderMacroCollection.unionCollection(
context.camera._globalShaderMacro,
camera._globalShaderMacro,
blitMaterial.shaderData._macroCollection,
compileMacros
);
const program = pass._getShaderProgram(engine, compileMacros);

program.bind();
program.groupingOtherUniformBlock();
program.uploadAll(program.sceneUniformBlock, camera.scene.shaderData);
program.uploadAll(program.cameraUniformBlock, camera.shaderData);
program.uploadAll(program.rendererUniformBlock, rendererShaderData);
program.uploadAll(program.materialUniformBlock, blitMaterial.shaderData);
program.uploadUnGroupTextures();
Expand Down

0 comments on commit 4f833fb

Please sign in to comment.