From 8c9d8b5c2aaa8fd8240987fd2441b9b370735a3a Mon Sep 17 00:00:00 2001 From: lanyi Date: Wed, 2 Feb 2022 09:35:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20''?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- basic.scrapeo | 19 + ingame-test.scrapeo | 133 ++++ ingame.scrapeo | 1593 +++++++++++++++++++++++++++++++++++++++++++ shell.scrapeo | 18 + 4 files changed, 1763 insertions(+) create mode 100644 basic.scrapeo create mode 100644 ingame-test.scrapeo create mode 100644 ingame.scrapeo create mode 100644 shell.scrapeo diff --git a/basic.scrapeo b/basic.scrapeo new file mode 100644 index 0000000..ded5dbf --- /dev/null +++ b/basic.scrapeo @@ -0,0 +1,19 @@ +# 1 "c:\\bf_ra3_qabuild_eala-build20\\ra3\\run\\shaders\\basic.scrape" + + + + + + +var camera Viewer + +proc main + setclearcolor 0.8 0.8 0 1 + setcleardepth 1.0 + clear + + setcamera Viewer + visibleobjects Frame + + renderbin Structure +endproc diff --git a/ingame-test.scrapeo b/ingame-test.scrapeo new file mode 100644 index 0000000..e586483 --- /dev/null +++ b/ingame-test.scrapeo @@ -0,0 +1,133 @@ +# 1 "c:\\bf_ra3_qabuild_eala-build20\\ra3\\run\\shaders\\ingame-test.scrape" + + + + + + + +var camera Viewer + + +var surface FrameBuffer color0 + + + +var texture FrameRenderTarget $WW3D.FrameBufferSize.x $WW3D.FrameBufferSize.y A16B16G16R16F_TILED + + + + +var shader PostEffectLookupTableShader PostFX_LookupTable.fx + +proc PostEffectLookupTable + beginevent UpdatePostFXLookupTable + + settarget 0 FrameBuffer + + settexture PostEffect FrameBufferTexture FrameRenderTarget + setshader PostEffectLookupTableShader ResolveOnly + renderquad + endevent UpdatePostFXLookupTable +endproc + +proc renderPostEffects + beginevent RenderPostEffects + + + callproc PostEffectLookupTable + endevent RenderPostEffects +endproc + + + + +proc InGame + + beginevent UpdateFrameBuffer + + setcamera Viewer + visibleobjects Frame + + setclearcolor 0 0 0 1 + setcleardepth 1.0 + + clear + + + settarget 0 FrameBuffer FrameRenderTarget + + renderTerrain + + renderRoads + + + renderbin TerrainLikeGroundObject + + + + renderTerrainTracks + + + renderbin Bridge + + renderProps + + renderUnits + + + renderbin Solid + + renderStructures + + + + + + + + + + + + + + renderWater + + + + renderbin Transparent + + renderTransparentOutlineObjects + + + + + + + + + setbool Particle ReallyRenderSoftParticles false + renderParticles + + + + renderLasers + + + + callproc renderPostEffects + + + + + renderIconLayers + renderUI + + renderDebugDisplays + + + endevent UpdateFrameBuffer + +endproc + diff --git a/ingame.scrapeo b/ingame.scrapeo new file mode 100644 index 0000000..22d6080 --- /dev/null +++ b/ingame.scrapeo @@ -0,0 +1,1593 @@ +# 1 "c:\\bf_ra3_qabuild_eala-build20\\ra3\\run\\shaders\\ingame.scrape" + + + + + + +var camera Viewer + +# 1 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/Common.scrapeh" 1 + + + + + + + + + + + + + + + + + + + + + + + +var surface FrameBuffer color0 +var surface DepthBuffer depth + + + var surface FrameRenderTarget edram $WW3D.FrameBufferSize.x $WW3D.FrameBufferSize.y $WW3D.FrameRenderTargetSurfaceFormat $WW3D.AntiAliasingMode + + + var surface FrameDepthBuffer edramdepth $WW3D.FrameBufferSizeIfAntiAliasing.x $WW3D.FrameBufferSizeIfAntiAliasing.y D24S8 $WW3D.AntiAliasingMode + + + + + + +proc updateFrameRenderTargetToUse + if WW3D IsHdrEnabled + setbool WW3D IsUsingFrameRenderTarget true + elif WW3D IsAntiAliasingEnabled + setbool WW3D IsUsingFrameRenderTarget true + else + setbool WW3D IsUsingFrameRenderTarget false + endif +endproc + +proc setFrameRenderTarget + if WW3D IsUsingFrameRenderTarget + settarget 0 FrameRenderTarget + else + settarget 0 FrameBuffer + endif +endproc + +proc setFrameDepthBuffer + if WW3D IsAntiAliasingEnabled + setdepth FrameDepthBuffer + else + setdepth DepthBuffer + endif +endproc + + + +proc renderBinsUnit + renderbin UnitPlayer0 + renderbin UnitPlayer1 + renderbin UnitPlayer2 + renderbin UnitPlayer3 + renderbin UnitPlayer4 + renderbin UnitPlayer5 + renderbin UnitPlayer6 + renderbin UnitPlayer7 + renderbin UnitPlayer8 + renderbin UnitPlayer9 + renderbin UnitPlayer10 + renderbin UnitPlayer11 + renderbin UnitPlayer12 + renderbin UnitPlayer13 + renderbin UnitPlayer14 + renderbin UnitPlayer15 + renderbin UnitPlayer16 + renderbin UnitPlayer17 + renderbin UnitPlayer18 + renderbin UnitPlayer19 +endproc + +proc renderBinsStaticSort + + + renderbin StaticSort4 + renderbin StaticSort3 + renderbin StaticSort2 + renderbin StaticSort1 +endproc + +proc renderBinsStructureOutline + renderbin StructureOutlineSelected + renderbin StructureOutlineHoverAttack + renderbin StructureOutlineHoverSelect +endproc + +proc renderBinsUnitOutline + renderbin UnitOutlineSelected + renderbin UnitOutlineHoverAttack + renderbin UnitOutlineHoverSelect +endproc + + + + + +var texture FXDistortionFractal FXDistortionFractal01 +var texture FXOceanCubeMap FXOceanCubeMap +var texture FXJapanBuildMask FXJapanBuildMask +var texture FXChronoRift FXChronoRift +var texture FXIronCurtain FXIronCurtain +var texture FXLightningTeslaHit FXLightningTeslaHit +var texture FXFilmLut FXFilmLut + +proc initCustomTextures + settexture WW3D FXDistortionFractal FXDistortionFractal + settexture WW3D FXOceanCubeMap FXOceanCubeMap + settexture WW3D FXJapanBuildMask FXJapanBuildMask + settexture WW3D FXChronoRift FXChronoRift + settexture WW3D FXIronCurtain FXIronCurtain + settexture WW3D FXLightningTeslaHit FXLightningTeslaHit + settexture PostEffect LookupTable.FilmTonemapping FXFilmLut +endproc + + +# 9 "c:\\bf_ra3_qabuild_eala-build20\\ra3\\run\\shaders\\ingame.scrape" 2 + +# 1 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/Shadow.scrapeh" 1 + + + + + + + + + + + + + +var texture ShadowMapTexture $Sas.Shadow[0].MapSize $Sas.Shadow[0].MapSize R32F + + + + + var surface ShadowMapDepthBuffer edramdepth $Sas.Shadow[0].MapSize $Sas.Shadow[0].MapSize D24S8 + + + + + + + + + +var camera ShadowMap + + +proc renderShadowCasters + if DebugToggle BaselineRendering.IsEnabled + if DebugToggle TerrainCaster.IsEnabled + renderTerrain + endif + endif + + + renderbin TerrainLikeGroundObject + + renderbin Bridge + + if DebugToggle BaselineRendering.IsEnabled + renderProps + endif + + beginevent RenderCasters_Units + callproc renderBinsUnit + callproc renderBinsUnitOutline + endevent RenderCasters_Units + + renderbin Solid + + if DebugToggle StructureCaster.IsEnabled + beginevent RenderCasters_Structures + renderbin Structure + callproc renderBinsStructureOutline + endevent RenderCasters_Structures + endif + + renderbin StaticSort5 + callproc renderBinsStaticSort + renderbin Transparent + renderTransparentOutlineObjects + +endproc + +proc updateShadowTexture + if Sas ShadowMappingEnabled + beginevent UpdateShadowMap + + settarget 0 ShadowMapTexture + setdepth ShadowMapDepthBuffer + + shadowMap.beginUpdate + beginShadowOverrideTechnique + + setclearcolor 1 1 1 1 + setcleardepth 1.0 + clear + + setcamera ShadowMap + visibleobjects ShadowMap + + callproc renderShadowCasters + + endShadowOverrideTechnique + shadowMap.endUpdate + + + + + + endevent UpdateShadowMap + endif +endproc + + +# 10 "c:\\bf_ra3_qabuild_eala-build20\\ra3\\run\\shaders\\ingame.scrape" 2 + +# 1 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/PostFX.scrapeh" 1 + + + + + + + + + + + +var texture PostEffectFrameBufferTexture $PostEffect.FrameBufferSize.x $PostEffect.FrameBufferSize.y $WW3D.FrameRenderTargetTextureFormat + + + + + + + + + + + + +proc copyFrameBufferToTexture + + + + if WW3D IsUsingFrameRenderTarget + stretchrect FrameRenderTarget PostEffectFrameBufferTexture + else + stretchrect FrameBuffer PostEffectFrameBufferTexture + endif + +endproc + +# 1 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/PostFX_LookupTable.scrapeh" 1 + + + + + + + + + + + + +var shader PostEffectLookupTableShader PostFX_LookupTable.fx + +proc PostEffectLookupTable + beginevent UpdatePostFXLookupTable + + if PostEffect LookupTable.IsEnabled + callproc copyFrameBufferToTexture + + settarget 0 FrameBuffer + setdepth DepthBuffer + + settexture PostEffect FrameBufferTexture PostEffectFrameBufferTexture + + setshader PostEffectLookupTableShader Default + renderquad + + else + + if WW3D IsUsingFrameRenderTarget + callproc copyFrameBufferToTexture + + settexture PostEffect FrameBufferTexture PostEffectFrameBufferTexture + + settarget 0 FrameBuffer + setdepth DepthBuffer + + setshader PostEffectLookupTableShader ResolveOnly + renderquad + endif + endif + + endevent UpdatePostFXLookupTable +endproc + + +# 37 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/PostFX.scrapeh" 2 + +# 1 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/PostFX_Distortion.scrapeh" 1 + + + + + + + + + + + + + +var texture DistortionOffsetTexture $PostEffect.FrameBufferSize.x $PostEffect.FrameBufferSize.y A8R8G8B8 + +var shader PostEffectDistortionShader PostFX_Distortion.fx + +proc PostEffectDistortion + if PostEffect Distortion.IsEnabled + beginevent UpdatePostFXDistortion + + callproc copyFrameBufferToTexture + + setclearcolor 0.5 0.5 1 1 + clearcolor + + renderbin Distorter + + renderbin Distorter 1 + + renderDistortionLasers + + + + + + if WW3D IsUsingFrameRenderTarget + stretchrect FrameRenderTarget DistortionOffsetTexture + else + stretchrect FrameBuffer DistortionOffsetTexture + endif + + + settexture PostEffect FrameBufferTexture PostEffectFrameBufferTexture + settexture PostEffect Distortion.DistortionOffsetTexture DistortionOffsetTexture + + setshader PostEffectDistortionShader + renderquad + + endevent UpdatePostFXDistortion + endif +endproc + + +# 38 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/PostFX.scrapeh" 2 + +# 1 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/PostFX_Bloom.scrapeh" 1 + + + + + + + + + + + + +var shader PostEffectBloomShader PostFX_Bloom.fx + + + + + + + + + + + + + +# 67 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/PostFX_Bloom.scrapeh" + + + + + +var texture BloomTextureHigh0 $PostEffect.Bloom.TextureSizeHigh.x $PostEffect.Bloom.TextureSizeHigh.y $PostEffect.Bloom.TextureFormat + + + var texture BloomTextureHigh1 $PostEffect.Bloom.TextureSizeHigh.x $PostEffect.Bloom.TextureSizeHigh.y $PostEffect.Bloom.TextureFormat + + + + + + + + +var texture BloomTextureMedium0 $PostEffect.Bloom.TextureSizeMedium.x $PostEffect.Bloom.TextureSizeMedium.y $PostEffect.Bloom.TextureFormat + + + var texture BloomTextureMedium1 $PostEffect.Bloom.TextureSizeMedium.x $PostEffect.Bloom.TextureSizeMedium.y $PostEffect.Bloom.TextureFormat + + + + + + + + +var texture BloomTextureLow0 $PostEffect.Bloom.TextureSizeLow.x $PostEffect.Bloom.TextureSizeLow.y $PostEffect.Bloom.TextureFormat + + + var texture BloomTextureLow1 $PostEffect.Bloom.TextureSizeLow.x $PostEffect.Bloom.TextureSizeLow.y $PostEffect.Bloom.TextureFormat + + + + + + + + +proc PostEffectBloom + if PostEffect Bloom.IsEnabled + beginevent UpdatePostFXBloom + + + + + + + callproc copyFrameBufferToTexture + + setdepth NULL + + + settexture PostEffect Bloom.SourceTexture PostEffectFrameBufferTexture + settosize PostEffect Bloom.SourceTextureSize PostEffectFrameBufferTexture + + settarget 0 BloomTextureHigh0 + settosize PostEffect Bloom.TargetTextureSize BloomTextureHigh0 + + setshader PostEffectBloomShader DownsampleInitial + renderquad + + + + settexture PostEffect Bloom.SourceTexture BloomTextureHigh0 + settosize PostEffect Bloom.SourceTextureSize BloomTextureHigh0 + + settarget 0 BloomTextureMedium0 + setshader PostEffectBloomShader Downsample4x4 + renderquad + + + + settexture PostEffect Bloom.SourceTexture BloomTextureMedium0 + settosize PostEffect Bloom.SourceTextureSize BloomTextureMedium0 + + settarget 0 BloomTextureLow0 + setshader PostEffectBloomShader Downsample4x4 + renderquad + + + + settexture PostEffect Bloom.SourceTexture BloomTextureLow0 + settosize PostEffect Bloom.SourceTextureSize BloomTextureLow0 + + settarget 0 BloomTextureLow1 + + setshader PostEffectBloomShader BlurGaussian11x11U + renderquad + + + settarget 0 BloomTextureLow0 + + settexture PostEffect Bloom.SourceTexture BloomTextureLow1 + settosize PostEffect Bloom.SourceTextureSize BloomTextureLow1 + + setshader PostEffectBloomShader BlurGaussian11x11V + renderquad + + + + settexture PostEffect FrameBufferTexture BloomTextureMedium0 + settexture PostEffect Bloom.SourceTexture BloomTextureLow0 + + settarget 0 BloomTextureMedium1 + + setshader PostEffectBloomShader Accumulate + renderquad + + + + settexture PostEffect Bloom.SourceTexture BloomTextureMedium1 + settosize PostEffect Bloom.SourceTextureSize BloomTextureMedium1 + + settarget 0 BloomTextureMedium0 + setshader PostEffectBloomShader BlurGaussian11x11U + renderquad + + + settexture PostEffect Bloom.SourceTexture BloomTextureMedium0 + settosize PostEffect Bloom.SourceTextureSize BloomTextureMedium0 + + settarget 0 BloomTextureMedium1 + setshader PostEffectBloomShader BlurGaussian11x11V + renderquad + + + + settexture PostEffect FrameBufferTexture BloomTextureHigh0 + settexture PostEffect Bloom.SourceTexture BloomTextureMedium1 + + settarget 0 BloomTextureHigh1 + setshader PostEffectBloomShader Accumulate + renderquad + + + + + settexture PostEffect Bloom.SourceTexture BloomTextureHigh1 + settosize PostEffect Bloom.SourceTextureSize BloomTextureHigh1 + + settarget 0 BloomTextureHigh0 + setshader PostEffectBloomShader BlurGaussian11x11U + renderquad + + + settexture PostEffect Bloom.SourceTexture BloomTextureHigh0 + settosize PostEffect Bloom.SourceTextureSize BloomTextureHigh0 + + settarget 0 BloomTextureHigh1 + setshader PostEffectBloomShader BlurGaussian11x11V + renderquad + + + + callproc setFrameRenderTarget + + + settexture PostEffect FrameBufferTexture PostEffectFrameBufferTexture + settexture PostEffect Bloom.SourceTexture BloomTextureHigh1 + + setshader PostEffectBloomShader AccumulateFinal + renderquad + + + + + + + + callproc setFrameDepthBuffer + + endevent UpdatePostFXBloom + endif +endproc + + +# 39 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/PostFX.scrapeh" 2 + + +proc renderPostEffects + beginevent RenderPostEffects + + + + + + + callproc PostEffectDistortion + callproc PostEffectBloom + callproc PostEffectLookupTable + endevent RenderPostEffects +endproc + + +# 11 "c:\\bf_ra3_qabuild_eala-build20\\ra3\\run\\shaders\\ingame.scrape" 2 + +# 1 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/DepthMap.scrapeh" 1 + + + + + + + + + + + + + +var texture DepthTexture $PostEffect.FrameBufferSize.x $PostEffect.FrameBufferSize.y R32F + + + + + + var texture DepthTextureLinear $PostEffect.FrameBufferSize.x $PostEffect.FrameBufferSize.y R32F + + + + + + + + + + + +var shader PostEffectLinearDepthShader PostFX_LinearDepth.fx + + +proc renderDepthCasters + renderTerrain + + renderbin TerrainLikeGroundObject + renderbin Bridge + renderProps + + beginevent RenderCasters_Units + callproc renderBinsUnit + callproc renderBinsUnitOutline + endevent RenderCasters_Units + + renderbin Solid + + beginevent RenderCasters_Structures + renderbin Structure + callproc renderBinsStructureOutline + endevent RenderCasters_Structures + + renderbin StaticSort5 + callproc renderBinsStaticSort + renderbin Transparent + renderTransparentOutlineObjects +endproc + +proc updateDepthMapReally + beginevent UpdateDepthMap + + + + + settarget 0 DepthTexture + + setdepth DepthBuffer + + beginDepthOverrideTechnique + + setclearcolor 1 1 1 1 + setcleardepth 1.0 + + + + + clear + + + setcamera Viewer + visibleobjects DepthMap + + callproc renderDepthCasters + + endDepthOverrideTechnique + + setshader PostEffectLinearDepthShader LinearDepth + +# 102 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/DepthMap.scrapeh" + + settarget 0 DepthTextureLinear + + settexture PostEffect DepthBufferTexture DepthTexture + + renderquad + + settexture WW3D DepthTexture DepthTextureLinear + + + endevent UpdateDepthMap +endproc + + +proc updateDepthMap + + if Water IsReflectionVisible + callproc updateDepthMapReally + elif Particle IsSoftParticlesEnabled + callproc updateDepthMapReally + endif +endproc + + +# 12 "c:\\bf_ra3_qabuild_eala-build20\\ra3\\run\\shaders\\ingame.scrape" 2 + +# 1 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/WaterReflection.scrapeh" 1 + + + + + + + + + + + + + + +var texture WaterReflectionTexture 512 512 $WW3D.FrameRenderTargetTextureFormat + + + + + + + +var camera Reflection + +proc updateWaterReflection + if Water IsReflectionVisible + beginevent UpdateWaterReflection + + + + setbool Particle ReallyRenderSoftParticles false + + setdepth DepthBuffer + settarget 0 WaterReflectionTexture + + setclearcolor 0 0 0 1 + setcleardepth 1.0 + clear + + setcamera Reflection + visibleobjects Reflection + + if DebugToggle BaselineRendering.IsEnabled + if DebugToggle TerrainReflection.IsEnabled + renderTerrain + endif + + + renderbin TerrainLikeGroundObject + endif + + renderbin Bridge + + beginevent RenderCasters_Units + callproc renderBinsUnit + callproc renderBinsUnitOutline + endevent RenderCasters_Units + + if DebugToggle BaselineRendering.IsEnabled + renderbin Solid + endif + + if DebugToggle BaselineRendering.IsEnabled + if DebugToggle StructureReflection.IsEnabled + beginevent RenderCasters_Structures + renderbin Structure + callproc renderBinsStructureOutline + endevent RenderCasters_Structures + endif + endif + + renderbin StaticSort5 + callproc renderBinsStaticSort + renderbin Transparent + renderParticles + renderTracers + renderLasers + renderConnectionLines + + + + + + settexture Water ReflectionTexture WaterReflectionTexture + + setbool Particle ReallyRenderSoftParticles true + + endevent UpdateWaterReflection + else + + endif +endproc + +proc updateWaterRefraction + if Water IsRefractionVisible + + + + + if WW3D IsUsingFrameRenderTarget + stretchrect FrameRenderTarget PostEffectFrameBufferTexture + else + stretchrect FrameBuffer PostEffectFrameBufferTexture + endif + + + settexture Water RefractionTexture PostEffectFrameBufferTexture + else + + endif +endproc + + +# 13 "c:\\bf_ra3_qabuild_eala-build20\\ra3\\run\\shaders\\ingame.scrape" 2 + +# 1 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/OceanDisplacement.scrapeh" 1 + + + + + + + + + + + + + + + + + + + + + + + + +var texture OceanDisplacementTexture 1024 1024 A16B16G16R16F + + + + + + var texture OceanDisplacementTexture2 1024 1024 A16B16G16R16F + + + + + + +var shader OceanDisplacementShader OceanDisplacement.fx + +var camera OceanDisplacement + + + +var texture StaticOceanDisplacementTexture Octave3_NRM + +proc updateOceanDisplacement + + settexture Water StaticDisplacementTexture StaticOceanDisplacementTexture + + + if Water IsReflectionVisible + beginevent UpdateWaterDisplacement + + setfloat Water DisplacementTextureSize 1024 + + settarget 0 OceanDisplacementTexture + setdepth NULL + + + + + setclearcolor 0 0 0 0 + + clearcolor + + setcamera OceanDisplacement + + renderWaterDisplacement + + renderbin OceanDisplacement + renderbin OceanDisplacement 1 + + setshader OceanDisplacementShader StaticDisplacement + renderquad + + settexture Water DisplacementTexture OceanDisplacementTexture + + + + + settarget 0 OceanDisplacementTexture2 + + + setshader OceanDisplacementShader BlurU + renderquad + + + + + settexture Water DisplacementTexture OceanDisplacementTexture2 + + settarget 0 OceanDisplacementTexture + + + setshader OceanDisplacementShader BlurV + renderquad + + + + + settexture Water DisplacementTexture OceanDisplacementTexture + + + endevent UpdateWaterDisplacement + endif + + + +endproc + + +# 14 "c:\\bf_ra3_qabuild_eala-build20\\ra3\\run\\shaders\\ingame.scrape" 2 + +# 1 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/UnderwaterDeferred.scrapeh" 1 + + + + + + + + +var shader UnderwaterDeferredShader UnderwaterDeferred.fx + +var texture DepthLutTexture FXDepthLut +var texture CausticsTexture FXCaustics + +proc renderUnderwaterDeferred + settexture Water DepthLutTexture DepthLutTexture + settexture Water CausticsTexture CausticsTexture + + if Water IsReflectionVisible + beginevent RenderUnderwaterDeferred + + setshader UnderwaterDeferredShader Tint + renderquad + + if DebugToggle RenderCaustics.IsEnabled + setshader UnderwaterDeferredShader Caustics + renderquad + endif + + endevent RenderUnderwaterDeferred + endif +endproc + + +# 15 "c:\\bf_ra3_qabuild_eala-build20\\ra3\\run\\shaders\\ingame.scrape" 2 + +# 1 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/Outlines.scrapeh" 1 + + + + + + + + + + +# 22 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/Outlines.scrapeh" + + + + + + + + + + + var texture OutlineTextureFill $WW3D.FrameBufferSize.x $WW3D.FrameBufferSize.y A8R8G8B8 + var surface OutlineRenderTargetFill edram $WW3D.FrameBufferSizeIfAntiAliasing.x $WW3D.FrameBufferSizeIfAntiAliasing.y A8R8G8B8 $WW3D.AntiAliasingMode + + var texture OutlineTexture $WW3D.Outline.TextureSize.x $WW3D.Outline.TextureSize.y A8R8G8B8 + + +# 52 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/Outlines.scrapeh" + + +var shader OutlinesShader Outlines.fx + +proc renderOutlines + if WW3D Outline.IsEnabled + beginevent RenderOutlines + + + + + + + + + + + + + + + + if WW3D IsAntiAliasingEnabled + settarget 0 OutlineRenderTargetFill + else + settarget 0 OutlineTextureFill + endif + + + + + + callproc setFrameDepthBuffer + + setclearcolor 0 0 0 0 + clearcolor + + setcamera Viewer + + + if WW3D Outline.IsSelectedBinPopulated + setshader OutlinesShader FillSelected + renderquad + endif + if WW3D Outline.IsHoverSelectBinPopulated + setshader OutlinesShader FillHoverSelect + renderquad + endif + if WW3D Outline.IsHoverAttackBinPopulated + setshader OutlinesShader FillHoverAttack + renderquad + endif + + + + + + if WW3D IsAntiAliasingEnabled + + stretchrect OutlineRenderTargetFill OutlineTextureFill + endif + + + settarget 0 OutlineTexture + setdepth NULL + + settexture WW3D Outline.Texture OutlineTextureFill + setshader OutlinesShader BlurBox + renderquad + + + + + + + + callproc setFrameRenderTarget + callproc setFrameDepthBuffer + + + + + + + + + + settexture WW3D Outline.Texture OutlineTexture + setshader OutlinesShader DrawWithStencil + renderquad + + endevent RenderOutlines + endif +endproc + + +# 16 "c:\\bf_ra3_qabuild_eala-build20\\ra3\\run\\shaders\\ingame.scrape" 2 + +# 1 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/RotateEnvironmentMap.scrapeh" 1 + + + + + + + + +# 1 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/RotateEnvironmentMap_Defs.scrapeh" 1 + + + + + + + + + +var texturecube EnvironmentSourceTextureObjects fromscope Terrain EnvironmentTexture +var texturecube EnvironmentSourceTextureWater fromscope WW3D FXOceanCubeMap + + + + + +var texturecube EnvironmentDestinationTextureObjects 128 128 $WW3D.EnvMapRenderTargetTextureFormat autogenmipmap +var texturecube EnvironmentDestinationTextureWater 128 128 $WW3D.EnvMapRenderTargetTextureFormat autogenmipmap + + + + + + + +var shader RotateEnvironmentMapShader RotateEnvironmentMap.fx + + +# 9 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/RotateEnvironmentMap.scrapeh" 2 + + +# 1 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/RotateEnvironmentMap_Water.scrapeh" 1 + + + + + + + + + + + + + + + +# 1 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/RotateEnvironmentMap_Proc.scrapeh" 1 + + + + + + + + + + + +proc doRotateEnvironmentMapWater + + beginevent DoRotateEnvironmentMap + + + settexture Environment SourceTexture EnvironmentSourceTextureWater + + setdepth NULL + + + + settarget 0 EnvironmentDestinationTextureWater 0 + setshader RotateEnvironmentMapShader CubeFace0 + renderquad + + + + + settarget 0 EnvironmentDestinationTextureWater 1 + setshader RotateEnvironmentMapShader CubeFace1 + renderquad + + + + + settarget 0 EnvironmentDestinationTextureWater 2 + setshader RotateEnvironmentMapShader CubeFace2 + renderquad + + + + + settarget 0 EnvironmentDestinationTextureWater 3 + setshader RotateEnvironmentMapShader CubeFace3 + renderquad + + + + + settarget 0 EnvironmentDestinationTextureWater 4 + setshader RotateEnvironmentMapShader CubeFace4 + renderquad + + + + + settarget 0 EnvironmentDestinationTextureWater 5 + setshader RotateEnvironmentMapShader CubeFace5 + renderquad + + + + + endevent DoRotateEnvironmentMap + +endproc +# 16 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/RotateEnvironmentMap_Water.scrapeh" 2 + + + + + + +# 11 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/RotateEnvironmentMap.scrapeh" 2 + +# 1 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/RotateEnvironmentMap_Objects.scrapeh" 1 + + + + + + + + + + + + + + +# 1 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/RotateEnvironmentMap_Proc.scrapeh" 1 + + + + + + + + + + + +proc doRotateEnvironmentMapObjects + + beginevent DoRotateEnvironmentMap + + + settexture Environment SourceTexture EnvironmentSourceTextureObjects + + setdepth NULL + + + + settarget 0 EnvironmentDestinationTextureObjects 0 + setshader RotateEnvironmentMapShader CubeFace0 + renderquad + + + + + settarget 0 EnvironmentDestinationTextureObjects 1 + setshader RotateEnvironmentMapShader CubeFace1 + renderquad + + + + + settarget 0 EnvironmentDestinationTextureObjects 2 + setshader RotateEnvironmentMapShader CubeFace2 + renderquad + + + + + settarget 0 EnvironmentDestinationTextureObjects 3 + setshader RotateEnvironmentMapShader CubeFace3 + renderquad + + + + + settarget 0 EnvironmentDestinationTextureObjects 4 + setshader RotateEnvironmentMapShader CubeFace4 + renderquad + + + + + settarget 0 EnvironmentDestinationTextureObjects 5 + setshader RotateEnvironmentMapShader CubeFace5 + renderquad + + + + + endevent DoRotateEnvironmentMap + +endproc +# 15 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/RotateEnvironmentMap_Objects.scrapeh" 2 + + + + + + +# 12 "c:/bf_ra3_qabuild_eala-build20/ra3/run/shaders/RotateEnvironmentMap.scrapeh" 2 + + + +proc doRotateEnvironmentMaps + + + if WW3D MustRefreshEnvironment + setbool WW3D MustRefreshEnvironment false + + setcamera Viewer + setGlobalLightInfo + callproc doRotateEnvironmentMapWater + + callproc doRotateEnvironmentMapObjects + + endif + + settexture Objects LightSpaceEnvironmentMap EnvironmentDestinationTextureObjects + settexture Water LightSpaceEnvironmentMap EnvironmentDestinationTextureWater + +endproc + + +# 17 "c:\\bf_ra3_qabuild_eala-build20\\ra3\\run\\shaders\\ingame.scrape" 2 + + + + + + + + + +proc InGame + + callproc initCustomTextures + + callproc updateFrameRenderTargetToUse + + + + + + + + callproc updateShadowTexture + + callproc doRotateEnvironmentMaps + callproc updateWaterReflection + + callproc updateOceanDisplacement + + callproc updateDepthMap + + + beginevent UpdateFrameBuffer + + callproc setFrameRenderTarget + callproc setFrameDepthBuffer + + setcamera Viewer + visibleobjects Frame + + setclearcolor 0 0 0 1 + setcleardepth 1.0 + + + + + clear + + + + if Sas ShadowMappingEnabled + settexture Sas Shadow[0].ShadowMap ShadowMapTexture + endif + + renderTerrain + + renderRoads + + + renderbin TerrainLikeGroundObject + + renderScorchMarks + + renderTerrainTracks + + + renderbin Bridge + + renderProps + + renderUnits + + + renderbin Solid + + renderStructures + + renderbin StaticSort5 + + + + if DebugToggle RenderUnderwater.IsEnabled + beginevent RenderUnderwater + + callproc renderUnderwaterDeferred + + + renderbin Underwater + renderbin Underwater 1 + endevent RenderUnderwater + endif + + callproc updateWaterRefraction + renderWater + + renderDecals + + renderbin Transparent + + renderTransparentOutlineObjects + + if DebugToggle RenderOutlines.IsEnabled + callproc renderOutlines + endif + + renderBehindBuildingMarkers + + callproc renderBinsStaticSort + + setbool Particle ReallyRenderSoftParticles true + if DebugToggle RenderParticles.IsEnabled + renderParticles + endif + + renderTerrainUI + renderTracers + renderLasers + renderConnectionLines + renderRain + + + + + + callproc renderPostEffects + + renderDebugSystems + renderTileFeedback + + renderIconLayers + renderUI + + renderDebugDisplays + + + + + endevent UpdateFrameBuffer +endproc + + + + +proc Editor + callproc initCustomTextures + + callproc updateFrameRenderTargetToUse + + callproc updateShadowTexture + callproc updateWaterReflection + callproc updateDepthMap + + beginevent UpdateFrameBuffer + + callproc setFrameRenderTarget + callproc setFrameDepthBuffer + + setcamera Viewer + visibleobjects Frame + + setclearcolor 1 1 1 1 + setcleardepth 1.0 + clear + + + if Sas ShadowMappingEnabled + settexture Sas Shadow[0].ShadowMap ShadowMapTexture + endif + + renderTerrain + + renderRoads + + + renderbin TerrainLikeGroundObject + + renderScorchMarks + + + renderbin Bridge + + renderProps + + renderUnits + + + renderbin Solid + + renderStructures + + renderbin StaticSort5 + + + callproc renderUnderwaterDeferred + + + renderbin Underwater + + callproc updateWaterRefraction + + renderWater + + renderDecals + + renderbin Transparent + + callproc renderOutlines + callproc renderBinsStaticSort + + renderTileFeedback + + renderEditorObjects + + callproc PostEffectBloom + callproc PostEffectLookupTable + + endevent UpdateFrameBuffer +endproc diff --git a/shell.scrapeo b/shell.scrapeo new file mode 100644 index 0000000..0ea40c8 --- /dev/null +++ b/shell.scrapeo @@ -0,0 +1,18 @@ +# 1 "c:\\bf_ra3_qabuild_eala-build20\\ra3\\run\\shaders\\shell.scrape" + + + + + + + + + +proc Shell + setclearcolor 0 0 0 1 + setcleardepth 1.0 + + clear + renderUI + renderDebugDisplays +endproc