Skip to content

Commit

Permalink
Provide thumbnail scene to each voxel asset
Browse files Browse the repository at this point in the history
  • Loading branch information
mik14a committed May 26, 2016
1 parent 2989e5d commit 4508616
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 9 deletions.
10 changes: 4 additions & 6 deletions Source/VOX4UEditor/Private/VoxelThumbnailRenderer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#include "VOX4UEditorPrivatePCH.h"
#include "VoxelThumbnailRenderer.h"
#include "EngineModule.h"
#include "Voxel.h"
#include "VoxelActor.h"

FVoxelThumbnailScene::FVoxelThumbnailScene()
Expand Down Expand Up @@ -48,19 +49,16 @@ void FVoxelThumbnailScene::GetViewMatrixParameters(const float InFOVDegrees, FVe
OutOrbitZoom = TargetDistance + ThumbnailInfo->OrbitZoom;
}

UVoxelThumbnailRenderer::UVoxelThumbnailRenderer()
: ThumbnailScene(nullptr)
{
}

void UVoxelThumbnailRenderer::Draw(UObject* Object, int32 X, int32 Y, uint32 Width, uint32 Height, FRenderTarget* Viewport, FCanvas* Canvas)
{
UVoxel* Voxel = Cast<UVoxel>(Object);
if (Voxel && !Voxel->IsPendingKill()) {
FVoxelThumbnailScene* ThumbnailScene = ThumbnailScenes.FindRef(Voxel);
if (!ThumbnailScene) {
ThumbnailScene = new FVoxelThumbnailScene();
ThumbnailScene->SetVoxel(Voxel);
ThumbnailScenes.Add(Voxel, ThumbnailScene);
}
ThumbnailScene->SetVoxel(Voxel);
ThumbnailScene->GetScene()->UpdateSpeedTreeWind(0.0);
FSceneViewFamilyContext ViewFamily(FSceneViewFamily::ConstructionValues(Viewport, ThumbnailScene->GetScene(), FEngineShowFlags(ESFIM_Game))
.SetWorldTimes(FApp::GetCurrentTime() - GStartTime, FApp::GetDeltaTime(), FApp::GetCurrentTime() - GStartTime));
Expand Down
4 changes: 1 addition & 3 deletions Source/VOX4UEditor/Private/VoxelThumbnailRenderer.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,10 @@ class UVoxelThumbnailRenderer : public UDefaultSizedThumbnailRenderer

public:

UVoxelThumbnailRenderer();

virtual void Draw(UObject* Object, int32 X, int32 Y, uint32 Width, uint32 Height, FRenderTarget* Viewport, FCanvas* Canvas) override;

private:

FVoxelThumbnailScene* ThumbnailScene;
TMap<UVoxel*, FVoxelThumbnailScene*> ThumbnailScenes;

};

0 comments on commit 4508616

Please sign in to comment.