UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AnisotropyRendering.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "RHI.h"
7#include "RendererInterface.h"
8#include "MeshPassProcessor.h"
9
10class FScene;
11
12class FAnisotropyMeshProcessor : public FSceneRenderingAllocatorObject<FAnisotropyMeshProcessor>, public FMeshPassProcessor
13{
14public:
16 const FScene* Scene,
21 );
22
24
25 virtual void AddMeshBatch(
28 const FPrimitiveSceneProxy* RESTRICT PrimitiveSceneProxy,
30 ) override final;
31
33 const FSceneTexturesConfig& SceneTexturesConfig,
34 const FMaterial& Material,
35 const FPSOPrecacheVertexFactoryData& VertexFactoryData,
38
40 bool TryAddMeshBatch(
43 const FPrimitiveSceneProxy* RESTRICT PrimitiveSceneProxy,
45 const FMaterialRenderProxy& MaterialRenderProxy,
46 const FMaterial& Material);
47
48 bool Process(
49 const FMeshBatch& MeshBatch,
52 const FPrimitiveSceneProxy* RESTRICT PrimitiveSceneProxy,
53 const FMaterialRenderProxy& RESTRICT MaterialRenderProxy,
54 const FMaterial& RESTRICT MaterialResource,
55 ERasterizerFillMode MeshFillMode,
56 ERasterizerCullMode MeshCullMode
57 );
58};
59
bool ShouldRenderAnisotropicLighting(const FViewInfo &View)
Definition AnisotropyRendering.cpp:296
bool ShouldRenderAnisotropyPass(const FViewInfo &View)
Definition AnisotropyRendering.cpp:312
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
#define RESTRICT
Definition Platform.h:706
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ERasterizerCullMode
Definition RHIDefinitions.h:369
ERasterizerFillMode
Definition RHIDefinitions.h:358
Definition AnisotropyRendering.h:13
virtual void AddMeshBatch(const FMeshBatch &RESTRICT MeshBatch, uint64 BatchElementMask, const FPrimitiveSceneProxy *RESTRICT PrimitiveSceneProxy, int32 StaticMeshId=-1) override final
Definition AnisotropyRendering.cpp:151
FMeshPassProcessorRenderState PassDrawRenderState
Definition AnisotropyRendering.h:23
bool TryAddMeshBatch(const FMeshBatch &RESTRICT MeshBatch, uint64 BatchElementMask, const FPrimitiveSceneProxy *RESTRICT PrimitiveSceneProxy, int32 StaticMeshId, const FMaterialRenderProxy &MaterialRenderProxy, const FMaterial &Material)
Definition AnisotropyRendering.cpp:177
virtual void CollectPSOInitializers(const FSceneTexturesConfig &SceneTexturesConfig, const FMaterial &Material, const FPSOPrecacheVertexFactoryData &VertexFactoryData, const FPSOPrecacheParams &PreCacheParams, TArray< FPSOPrecacheData > &PSOInitializers) override final
Definition AnisotropyRendering.cpp:249
Definition MaterialRenderProxy.h:102
Definition MaterialShared.h:2058
Definition MeshPassProcessor.h:1670
Definition MeshPassProcessor.h:2199
const FScene *RESTRICT Scene
Definition MeshPassProcessor.h:2203
Definition PrimitiveSceneProxy.h:296
Definition SceneView.h:1425
Definition ScenePrivate.h:2875
Definition SceneRendering.h:1132
Definition ArrayView.h:139
Definition Array.h:670
Definition ConcurrentLinearAllocator.h:571
Type
Definition RHIFeatureLevel.h:20
Definition MeshBatch.h:371
Definition MeshPassProcessor.h:2118
Definition PSOPrecache.h:226
Definition PSOPrecache.h:30
Definition PSOPrecache.h:150
Definition SceneTexturesConfig.h:114