You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
88 lines
2.6 KiB
C++
88 lines
2.6 KiB
C++
// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
|
|
|
|
/*=============================================================================
|
|
ITextureFormatModule.h: Declares the ITextureFormatModule interface.
|
|
=============================================================================*/
|
|
|
|
#pragma once
|
|
|
|
|
|
/**
|
|
* IPhysXFormat, PhysX cooking abstraction
|
|
**/
|
|
class IPhysXFormat
|
|
{
|
|
public:
|
|
|
|
/**
|
|
* Checks whether parallel PhysX cooking is allowed.
|
|
*
|
|
* Note: This method is not currently used yet.
|
|
*
|
|
* @return true if this PhysX format can cook in parallel, false otherwise.
|
|
*/
|
|
virtual bool AllowParallelBuild( ) const
|
|
{
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Cooks the source convex data for the platform and stores the cooked data internally.
|
|
*
|
|
* @param Format - The desired format
|
|
* @param SrcBuffer - The source buffer
|
|
* @param OutBuffer - The resulting cooked data
|
|
*
|
|
* @return true if succeeded, false otherwise.
|
|
*/
|
|
virtual bool CookConvex( FName Format, const TArray<FVector>& SrcBuffer, TArray<uint8>& OutBuffer ) const = 0;
|
|
|
|
/**
|
|
* Cooks the source Tri-Mesh data for the platform and stores the cooked data internally.
|
|
*
|
|
* @param Format - The desired format.
|
|
* @param SrcBuffer - The source buffer.
|
|
* @param OutBuffer - The resulting cooked data.
|
|
*
|
|
* @return true if succeeded, false otherwise.
|
|
*/
|
|
virtual bool CookTriMesh( FName Format, const TArray<FVector>& SrcVertices, const TArray<struct FTriIndices>& SrcIndices, const TArray<uint16>& SrcMaterialIndices, const bool FlipNormals, TArray<uint8>& OutBuffer ) const = 0;
|
|
|
|
/**
|
|
* Cooks the source height field data for the platform and stores the cooked data internally.
|
|
*
|
|
* @param Format - The desired format
|
|
* @param HFSize - Size of height field [NumColumns, NumRows]
|
|
* @param Thickness - Sets how thick the height field surface is
|
|
* @param SrcBuffer - The source buffer
|
|
* @param OutBuffer - The resulting cooked data
|
|
*
|
|
* @return true if succeeded, false otherwise.
|
|
*/
|
|
virtual bool CookHeightField( FName Format, FIntPoint HFSize, float Thickness, const void* Samples, uint32 SamplesStride, TArray<uint8>& OutBuffer ) const = 0;
|
|
|
|
/**
|
|
* Gets the list of supported formats.
|
|
*
|
|
* @param OutFormats - Will hold the list of formats.
|
|
*/
|
|
virtual void GetSupportedFormats( TArray<FName>& OutFormats ) const = 0;
|
|
|
|
/**
|
|
* Gets the current version of the specified PhysX format.
|
|
*
|
|
* @param Format - The format to get the version for.
|
|
*
|
|
* @return Version number.
|
|
*/
|
|
virtual uint16 GetVersion( FName Format ) const = 0;
|
|
|
|
|
|
public:
|
|
|
|
/**
|
|
* Virtual destructor.
|
|
*/
|
|
virtual ~IPhysXFormat( ) { }
|
|
};
|